diff options
Diffstat (limited to 'src/game/Spell.cpp')
-rw-r--r-- | src/game/Spell.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index 36d0da7cae0..4ebd405e16e 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -2108,7 +2108,7 @@ void Spell::prepare(SpellCastTargets * targets, Aura* triggeredByAura) } } -void Spell::cancel(bool report) +void Spell::cancel() { if(m_spellState == SPELL_STATE_FINISHED) return; @@ -2138,7 +2138,7 @@ void Spell::cancel(bool report) m_caster->RemoveAurasDueToCasterSpell(m_spellInfo->Id, m_caster->GetGUID()); SendChannelUpdate(0); SendInterrupted(0); - SendCastResult(report ? SPELL_FAILED_INTERRUPTED : SPELL_FAILED_DONT_REPORT); + SendCastResult(SPELL_FAILED_INTERRUPTED); } break; default: @@ -5248,6 +5248,9 @@ bool SpellEvent::Execute(uint64 e_time, uint32 p_time) // another non-melee non-delayed spell is casted now, abort m_Spell->cancel(); } + // Check if target of channeled spell still in range + else if (m_Spell->CheckRange(false)) + m_Spell->cancel(); else { // do the action (pass spell to channeling state) |