diff options
-rw-r--r-- | src/game/SpellEffects.cpp | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index 94352859334..4824b260334 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -2009,9 +2009,22 @@ void Spell::EffectForceCast(uint32 i) } if (damage) - unitTarget->CastCustomSpell(unitTarget, spellInfo->Id, &damage, NULL, NULL, true, NULL, NULL, m_originalCasterGUID); - else - unitTarget->CastSpell(unitTarget, spellInfo, true, NULL, NULL, m_originalCasterGUID); + { + if(m_spellInfo->EffectBasePoints[i] > 0) + { + switch(m_spellInfo->Id) + { + case 52588: unitTarget->RemoveAura(damage); break; + } + } + else + { + unitTarget->CastCustomSpell(unitTarget, spellInfo->Id, &damage, NULL, NULL, true, NULL, NULL, m_originalCasterGUID); + return; + } + } + + unitTarget->CastSpell(unitTarget, spellInfo, true, NULL, NULL, m_originalCasterGUID); } void Spell::EffectTriggerSpell(uint32 i) |