aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/game/SpellEffects.cpp19
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)