From c95cb1003a949a706949db63a3eaace955459899 Mon Sep 17 00:00:00 2001 From: megamage Date: Sun, 16 Nov 2008 17:42:29 -0600 Subject: [PATCH] *Do not let CC spells interrupt themselves. --HG-- branch : trunk --- src/game/Spell.cpp | 3 +++ src/game/Unit.cpp | 1 - 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index 64e9ba04bc..da6d67a3c6 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -996,6 +996,9 @@ void Spell::DoSpellHitOnUnit(Unit *unit, const uint32 effectMask) } unit->RemoveAurasWithInterruptFlags(AURA_INTERRUPT_FLAG_HITBYSPELL); + //TODO: find a better way to judge CC auras + if(m_spellInfo->Attributes & SPELL_ATTR_BREAKABLE_BY_DAMAGE) + unit->RemoveAurasWithInterruptFlags(AURA_INTERRUPT_FLAG_CC); } else { diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index ade913d8c2..a6dae99b7e 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -3782,7 +3782,6 @@ bool Unit::AddAura(Aura *Aur) if(Aur->GetSpellProto()->Attributes & SPELL_ATTR_BREAKABLE_BY_DAMAGE) { m_ccAuras.push_back(Aur); - RemoveAurasWithInterruptFlags(AURA_INTERRUPT_FLAG_CC); } }