diff options
author | Eridium <6587064+Killyana@users.noreply.github.com> | 2020-04-26 21:25:54 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-26 21:25:54 +0200 |
commit | 7e9bc9599b14041ab841113c9dc3ed023ba26275 (patch) | |
tree | 699c13520b215ae5507ced51a453b6d687be027d /src | |
parent | e4476fab6eb8e9b712a9fa25c8db7b78ab22ddb7 (diff) |
Core/GameObject: Remove linked traps when the main GameObject is remo… (#24480)
* Core/GameObject: Remove linked traps when the main GameObject is removed from from the world
* Indentation
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/GameObject/GameObject.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index f3b86001aed..258ffe5f015 100644 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -241,6 +241,10 @@ void GameObject::RemoveFromWorld() if (GetMap()->ContainsGameObjectModel(*m_model)) GetMap()->RemoveGameObjectModel(*m_model); + // If linked trap exists, despawn it + if (GameObject* linkedTrap = GetLinkedTrap()) + linkedTrap->DespawnOrUnsummon(); + WorldObject::RemoveFromWorld(); if (m_spawnId) @@ -907,10 +911,6 @@ void GameObject::DespawnOrUnsummon(Milliseconds delay, Seconds forceRespawnTime) void GameObject::Delete() { - // If nearby linked trap exists, despawn it - if (GameObject* linkedTrap = GetLinkedTrap()) - linkedTrap->DespawnOrUnsummon(); - SetLootState(GO_NOT_READY); RemoveFromOwner(); |