aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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;