*Fix the bug that channeled spells interrupt self.

--HG--
branch : trunk
This commit is contained in:
megamage
2008-12-01 13:03:28 -06:00
parent 42b9fabcfb
commit b192fb879c

View File

@@ -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())