diff options
Diffstat (limited to 'src')
| -rwxr-xr-x | src/server/game/Entities/Unit/Unit.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index b35ba61eb2f..f9bebe13ac1 100755 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -13301,6 +13301,9 @@ void Unit::RemoveFromWorld() void Unit::CleanupsBeforeDelete(bool finalCleanup) { + // This needs to be before RemoveFromWorld to make GetCaster() return a valid pointer on aura removal + InterruptNonMeleeSpells(true); + if (IsInWorld()) RemoveFromWorld(); @@ -13313,7 +13316,6 @@ void Unit::CleanupsBeforeDelete(bool finalCleanup) if (finalCleanup) m_cleanupDone = true; - InterruptNonMeleeSpells(true); m_Events.KillAllEvents(false); // non-delatable (currently casted spells) will not deleted now but it will deleted at call in Map::RemoveAllObjectsInRemoveList CombatStop(); ClearComboPointHolders(); |
