From 88b898b92c9b2cc885b4c7371192a8aef9ebda85 Mon Sep 17 00:00:00 2001 From: Eridium <6587064+Killyana@users.noreply.github.com> Date: Sun, 26 Apr 2020 21:25:54 +0200 Subject: Core/GameObject: Remove linked traps when the main GameObject is remo… (#24480) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Core/GameObject: Remove linked traps when the main GameObject is removed from from the world * Indentation (cherry picked from commit 7e9bc9599b14041ab841113c9dc3ed023ba26275) --- src/server/game/Entities/GameObject/GameObject.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index 302a67f9382..ffbc3ce98e3 100644 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -247,6 +247,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) @@ -1030,10 +1034,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(); -- cgit v1.2.3