aboutsummaryrefslogtreecommitdiff
path: root/src/game/SpellEffects.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/SpellEffects.cpp')
-rw-r--r--src/game/SpellEffects.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp
index 208ae3759f8..a0ca82d7674 100644
--- a/src/game/SpellEffects.cpp
+++ b/src/game/SpellEffects.cpp
@@ -2744,7 +2744,12 @@ void Spell::EffectHealthLeech(uint32 i)
if(Player *modOwner = m_caster->GetSpellModOwner())
modOwner->ApplySpellMod(m_spellInfo->Id, SPELLMOD_MULTIPLE_VALUE, multiplier);
- int32 new_damage = int32(damage*multiplier);
+ // Do not apply multiplier to damage if it's Death Coil
+ int32 new_damage;
+ if (m_spellInfo->SpellFamilyFlags[0] & 0x80000)
+ new_damage = damage;
+ else
+ int32 new_damage = int32(damage*multiplier);
uint32 curHealth = unitTarget->GetHealth();
new_damage = m_caster->SpellNonMeleeDamageLog(unitTarget, m_spellInfo->Id, new_damage );
if(curHealth < new_damage)
@@ -2752,6 +2757,9 @@ void Spell::EffectHealthLeech(uint32 i)
if(m_caster->isAlive())
{
+ // Insead add it just to healing if it's Death Coil
+ if (m_spellInfo->SpellFamilyFlags[0] & 0x80000)
+ new_damage = int32(new_damage*multiplier);
new_damage = m_caster->SpellHealingBonus(m_caster, m_spellInfo, new_damage, HEAL);
m_caster->DealHeal(m_caster, uint32(new_damage), m_spellInfo);
}