From c9707d3c7f769b85a2e190c4ad395f34b76747cf Mon Sep 17 00:00:00 2001 From: megamage Date: Sun, 22 Feb 2009 16:48:33 -0600 Subject: *Do not interrupt possess auras on receiving damage. --HG-- branch : trunk --- src/game/Unit.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src') 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 -- cgit v1.2.3