diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/game/Unit.cpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index 6d2eb1ec4cc..ef2570ddc9a 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -4662,13 +4662,6 @@ void Unit::RemoveAura(AuraMap::iterator &i, AuraRemoveMode mode) Aur->SetStackAmount(0); Aur->_RemoveAura(); - delete Aur; - - if(caster_channeled) - RemoveAurasAtChanneledTarget (AurSpellInfo); - - if(statue) - statue->UnSummon(); if(mode != AURA_REMOVE_BY_STACK) { @@ -4684,6 +4677,14 @@ void Unit::RemoveAura(AuraMap::iterator &i, AuraRemoveMode mode) } } + delete Aur; + + if(caster_channeled) + RemoveAurasAtChanneledTarget (AurSpellInfo); + + if(statue) + statue->UnSummon(); + // only way correctly remove all auras from list if( m_Auras.empty() ) i = m_Auras.end(); |