aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/game/Unit.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
index 316088d51bb..aa0e1dae0d1 100644
--- a/src/game/Unit.cpp
+++ b/src/game/Unit.cpp
@@ -4369,7 +4369,16 @@ void Unit::RemoveAllAurasOnDeath()
{
Aura const * aura = iter->second->GetBase();
if (!aura->IsPassive() && !aura->IsDeathPersistent())
- RemoveAura(iter, AURA_REMOVE_BY_DEATH);
+ _UnapplyAura(iter, AURA_REMOVE_BY_DEATH);
+ else
+ ++iter;
+ }
+
+ for (AuraMap::iterator iter = m_ownedAuras.begin(); iter != m_ownedAuras.end();)
+ {
+ Aura * aura = iter->second;
+ if (!aura->IsPassive() && !aura->IsDeathPersistent())
+ RemoveOwnedAura(iter, AURA_REMOVE_BY_DEATH);
else
++iter;
}