diff options
author | ille <ille000@gmx.de> | 2011-10-20 18:28:37 +0200 |
---|---|---|
committer | ille <ille000@gmx.de> | 2011-10-20 18:28:37 +0200 |
commit | 5514523a7c181c49b915b0b938c18f80c8a342c3 (patch) | |
tree | bf38bab5a4d0c9a3561d696cb7ca964069dea2d3 /src/server/game/Spells/SpellInfo.cpp | |
parent | ddec56b3e0ec2c2e36264b3ac080fd9ccde099df (diff) |
use effectMask to calculate mechanicMask in ModSpellDuration
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) |