diff options
Diffstat (limited to 'src/server/game/Spells/SpellInfo.cpp')
-rw-r--r-- | src/server/game/Spells/SpellInfo.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp index 543baa82789..972276c7d26 100644 --- a/src/server/game/Spells/SpellInfo.cpp +++ b/src/server/game/Spells/SpellInfo.cpp @@ -1735,6 +1735,17 @@ uint32 SpellInfo::GetEffectMechanicMask(uint8 effIndex) const return mask; } +uint32 SpellInfo::GetSpellMechanicMaskByEffectMask(uint32 effectMask) const +{ + uint32 mask = 0; + if (Mechanic) + mask |= 1<< Mechanic; + for (int i = 0; i < MAX_SPELL_EFFECTS; ++i) + if ((effectMask & (1 << i)) && Effects[i].Mechanic) + mask |= 1<< Effects[i].Mechanic; + return mask; +} + Mechanics SpellInfo::GetEffectMechanic(uint8 effIndex) const { if (Effects[effIndex].IsEffect() && Effects[effIndex].Mechanic) |