From b192fb879c2f268ccdcbb8bbfc39df1c50a02867 Mon Sep 17 00:00:00 2001 From: megamage Date: Mon, 1 Dec 2008 13:03:28 -0600 Subject: *Fix the bug that channeled spells interrupt self. --HG-- branch : trunk --- src/game/Spell.cpp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index 746336cdcce..e7ca6ff09c2 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -2347,6 +2347,11 @@ void Spell::prepare(SpellCastTargets * targets, Aura* triggeredByAura) cast(true); else { + // stealth must be removed at cast starting (at show channel bar) + // skip triggered spell (item equip spell casting and other not explicit character casts/item uses) + if(isSpellBreakStealth(m_spellInfo) ) + m_caster->RemoveAurasWithInterruptFlags(AURA_INTERRUPT_FLAG_CAST); + m_caster->SetCurrentCastedSpell( this ); m_selfContainer = &(m_caster->m_currentSpells[GetCurrentContainer()]); SendSpellStart(); @@ -2454,13 +2459,6 @@ void Spell::cast(bool skipCheck) FillTargetMap(); - // stealth must be removed at cast starting (at show channel bar) - // skip triggered spell (item equip spell casting and other not explicit character casts/item uses) - if ( !m_IsTriggeredSpell && isSpellBreakStealth(m_spellInfo) ) - { - m_caster->RemoveAurasWithInterruptFlags(AURA_INTERRUPT_FLAG_CAST); - } - // who did this hack? // Conflagrate - consumes immolate if ((m_spellInfo->TargetAuraState == AURA_STATE_IMMOLATE) && m_targets.getUnitTarget()) -- cgit v1.2.3