diff options
author | megamage <none@none> | 2008-12-01 13:03:28 -0600 |
---|---|---|
committer | megamage <none@none> | 2008-12-01 13:03:28 -0600 |
commit | b192fb879c2f268ccdcbb8bbfc39df1c50a02867 (patch) | |
tree | fa76d550ebcd66c19fd8d77af6347b1d0c6b2dfd /src | |
parent | 42b9fabcfba0047a886b6294388ec140a39adb00 (diff) |
*Fix the bug that channeled spells interrupt self.
--HG--
branch : trunk
Diffstat (limited to 'src')
-rw-r--r-- | src/game/Spell.cpp | 12 |
1 files changed, 5 insertions, 7 deletions
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()) |