aboutsummaryrefslogtreecommitdiff
path: root/src/game/Unit.cpp
diff options
context:
space:
mode:
authormegamage <none@none>2009-02-22 17:35:14 -0600
committermegamage <none@none>2009-02-22 17:35:14 -0600
commit107218fe44c5a45023950f11ee3562abfcdd2c95 (patch)
tree5a3aae5c74723b26cd016596199674af81fa1355 /src/game/Unit.cpp
parent7190332fcea1dcc6ed8ce59c6bfb542522775e35 (diff)
parent90d5e05aafff0f3dabd294811b4f82b024317a4a (diff)
*Merge.
--HG-- branch : trunk
Diffstat (limited to 'src/game/Unit.cpp')
-rw-r--r--src/game/Unit.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
index 3db5e89e04e..43a8712fcfc 100644
--- a/src/game/Unit.cpp
+++ b/src/game/Unit.cpp
@@ -3744,7 +3744,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);
}
@@ -4109,8 +4110,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