aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2025-10-01 00:42:13 +0200
committerShauren <shauren.trinity@gmail.com>2025-10-01 00:42:13 +0200
commit234dd5f26b045518f2f67cc434acc8b978607cd6 (patch)
treed401f057e24ef685fa6437eb0262c610beca62f1
parent50b8b1fbc58cd7f390c99e0083fc356dd5e4a582 (diff)
Core/Auras: Implemented new proc ppm modifier - SPELL_PPM_MOD_AURA
-rw-r--r--src/server/game/DataStores/DBCEnums.h3
-rw-r--r--src/server/game/Spells/SpellInfo.cpp6
2 files changed, 8 insertions, 1 deletions
diff --git a/src/server/game/DataStores/DBCEnums.h b/src/server/game/DataStores/DBCEnums.h
index 6e2c3806d8a..dc68d9fc594 100644
--- a/src/server/game/DataStores/DBCEnums.h
+++ b/src/server/game/DataStores/DBCEnums.h
@@ -2287,7 +2287,8 @@ enum SpellProcsPerMinuteModType
SPELL_PPM_MOD_SPEC = 4,
SPELL_PPM_MOD_RACE = 5,
SPELL_PPM_MOD_ITEM_LEVEL = 6,
- SPELL_PPM_MOD_BATTLEGROUND = 7
+ SPELL_PPM_MOD_BATTLEGROUND = 7,
+ SPELL_PPM_MOD_AURA = 8
};
constexpr std::size_t MAX_POWERS_PER_SPELL = 5;
diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp
index 3c6d3f6504e..4eaca9be938 100644
--- a/src/server/game/Spells/SpellInfo.cpp
+++ b/src/server/game/Spells/SpellInfo.cpp
@@ -4366,6 +4366,12 @@ float SpellInfo::CalcProcPPM(Unit* caster, int32 itemLevel) const
ppm *= 1.0f + mod->Coeff;
break;
}
+ case SPELL_PPM_MOD_AURA:
+ {
+ if (caster->HasAura(mod->Param))
+ ppm *= 1.0f + mod->Coeff;
+ break;
+ }
default:
break;
}