aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Spells/SpellEffects.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp
index ebd6b78c590..f92369e8256 100644
--- a/src/server/game/Spells/SpellEffects.cpp
+++ b/src/server/game/Spells/SpellEffects.cpp
@@ -2098,6 +2098,10 @@ void Spell::EffectJump(uint32 i)
if (m_caster->isInFlight())
return;
+ // Instantly interrupt non melee spells being casted
+ if (m_caster->IsNonMeleeSpellCasted(true))
+ m_caster->InterruptNonMeleeSpells(true);
+
float x,y,z,o;
if (m_targets.getUnitTarget())
{
@@ -2125,6 +2129,10 @@ void Spell::EffectJumpDest(uint32 i)
if (m_caster->isInFlight())
return;
+ // Instantly interrupt non melee spells being casted
+ if (m_caster->IsNonMeleeSpellCasted(true))
+ m_caster->InterruptNonMeleeSpells(true);
+
// Init dest coordinates
float x,y,z,o;
if (m_targets.HasDst())
@@ -6324,6 +6332,10 @@ void Spell::EffectKnockBack(uint32 i)
if (!unitTarget)
return;
+ // Instantly interrupt non melee spells being casted
+ if (unitTarget->IsNonMeleeSpellCasted(true))
+ unitTarget->InterruptNonMeleeSpells(true);
+
// Typhoon
if (m_spellInfo->SpellFamilyName == SPELLFAMILY_DRUID && m_spellInfo->SpellFamilyFlags[1] & 0x01000000)
{