aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/game/Spell.cpp3
-rw-r--r--src/game/Unit.cpp1
2 files changed, 3 insertions, 1 deletions
diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp
index 64e9ba04bcc..da6d67a3c6c 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 ade913d8c26..a6dae99b7ef 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);
}
}