From 6cc694f99098c7ba217bf7796261a74928d2f1ff Mon Sep 17 00:00:00 2001 From: hondacrx Date: Fri, 18 Feb 2022 13:26:17 -0500 Subject: [PATCH] Core/GameObject: Remove linked traps when the main GameObject is removed Port From (https://github.com/TrinityCore/TrinityCore/commit/88b898b92c9b2cc885b4c7371192a8aef9ebda85) --- Source/Game/Entities/GameObject/GameObject.cs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/Source/Game/Entities/GameObject/GameObject.cs b/Source/Game/Entities/GameObject/GameObject.cs index 05720f5b6..5a5310eaf 100644 --- a/Source/Game/Entities/GameObject/GameObject.cs +++ b/Source/Game/Entities/GameObject/GameObject.cs @@ -153,6 +153,12 @@ namespace Game.Entities if (m_model != null) if (GetMap().ContainsGameObjectModel(m_model)) GetMap().RemoveGameObjectModel(m_model); + + // If linked trap exists, despawn it + GameObject linkedTrap = GetLinkedTrap(); + if (linkedTrap != null) + linkedTrap.DespawnOrUnsummon(); + base.RemoveFromWorld(); if (m_spawnId != 0) @@ -938,11 +944,6 @@ namespace Game.Entities public void Delete() { - // If nearby linked trap exists, despawn it - GameObject linkedTrap = GetLinkedTrap(); - if (linkedTrap != null) - linkedTrap.DespawnOrUnsummon(); - SetLootState(LootState.NotReady); RemoveFromOwner();