aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEridium <6587064+Killyana@users.noreply.github.com>2020-04-26 21:25:54 +0200
committerGitHub <noreply@github.com>2020-04-26 21:25:54 +0200
commit7e9bc9599b14041ab841113c9dc3ed023ba26275 (patch)
tree699c13520b215ae5507ced51a453b6d687be027d /src
parente4476fab6eb8e9b712a9fa25c8db7b78ab22ddb7 (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.cpp8
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();