diff options
author | megamage <none@none> | 2009-02-22 16:48:33 -0600 |
---|---|---|
committer | megamage <none@none> | 2009-02-22 16:48:33 -0600 |
commit | c9707d3c7f769b85a2e190c4ad395f34b76747cf (patch) | |
tree | 33f9a8c937c0036cbfee72353a2882e7bd87f1f1 /src/game/Unit.cpp | |
parent | 8c4d3fb1e4c9a969a907353dcb668c0a4b58bfeb (diff) |
*Do not interrupt possess auras on receiving damage.
--HG--
branch : trunk
Diffstat (limited to 'src/game/Unit.cpp')
-rw-r--r-- | src/game/Unit.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index f2e1867ac3c..2e4a552c8d0 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -4241,7 +4241,8 @@ bool Unit::AddAura(Aura *Aur) m_interruptableAuras.push_back(Aur); AddInterruptMask(Aur->GetSpellProto()->AuraInterruptFlags); } - if(Aur->GetSpellProto()->Attributes & SPELL_ATTR_BREAKABLE_BY_DAMAGE) + if((Aur->GetSpellProto()->Attributes & SPELL_ATTR_BREAKABLE_BY_DAMAGE) + && (Aur->GetModifier()->m_auraname != SPELL_AURA_MOD_POSSESS)) //only dummy aura is breakable { m_ccAuras.push_back(Aur); } @@ -4659,8 +4660,11 @@ void Unit::RemoveAura(AuraMap::iterator &i, AuraRemoveMode mode) UpdateInterruptMask(); } - if(Aur->GetSpellProto()->Attributes & SPELL_ATTR_BREAKABLE_BY_DAMAGE) + if((Aur->GetSpellProto()->Attributes & SPELL_ATTR_BREAKABLE_BY_DAMAGE) + && (Aur->GetModifier()->m_auraname != SPELL_AURA_MOD_POSSESS)) //only dummy aura is breakable + { m_ccAuras.remove(Aur); + } } // Set remove mode |