aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormegamage <none@none>2008-12-25 21:38:08 -0600
committermegamage <none@none>2008-12-25 21:38:08 -0600
commit4365900bddd2da1dd83ee6e202c26806d39dbdde (patch)
tree1570041d53b2051a14f76306ec2995b00c1ad131 /src
parent56f8b5ee84129d775fb291b0baa062717e6faead (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.cpp11
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;