diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/game/Unit.cpp | 11 |
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; } |