diff options
author | megamage <none@none> | 2008-12-25 21:38:08 -0600 |
---|---|---|
committer | megamage <none@none> | 2008-12-25 21:38:08 -0600 |
commit | 4365900bddd2da1dd83ee6e202c26806d39dbdde (patch) | |
tree | 1570041d53b2051a14f76306ec2995b00c1ad131 /src | |
parent | 56f8b5ee84129d775fb291b0baa062717e6faead (diff) |
*Fix the bug that make healing/damage spell do not work.
--HG--
branch : trunk
Diffstat (limited to 'src')
-rw-r--r-- | src/game/Spell.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index b6fca5a0597..a5da4e0fe78 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -5344,7 +5344,14 @@ int32 Spell::CalculateDamageDone(Unit *unit, const uint32 effectMask, float *mul { if (effectMask & (1<<i)) { - damage = CalculateDamage(i, NULL) * m_damageMultipliers[i]; + if(m_applyMultiplierMask & (1 << i)) + { + damage = CalculateDamage(i, NULL) * m_damageMultipliers[i]; + m_damageMultipliers[i] *= multiplier[i]; + } + else + damage = CalculateDamage(i, NULL); + switch(m_spellInfo->Effect[i]) { case SPELL_EFFECT_SCHOOL_DAMAGE: @@ -5360,8 +5367,6 @@ int32 Spell::CalculateDamageDone(Unit *unit, const uint32 effectMask, float *mul SpellDamageHeal(i); break; } - if ( m_applyMultiplierMask & (1 << i) ) - m_damageMultipliers[i] *= multiplier[i]; } } return m_damage; |