From e86e640c5ae2d104eb333e8edda74f9606f8ba87 Mon Sep 17 00:00:00 2001 From: hondacrx Date: Sat, 30 Oct 2021 20:10:17 -0400 Subject: [PATCH] Core/Loot/Gameobject: Tempspawned Gameobjects after looting Port From (https://github.com/TrinityCore/TrinityCore/commit/8c9e5cd3f3200b378ff09a6822ceb2b5bd223e3c) --- Source/Game/Entities/GameObject/GameObject.cs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/Source/Game/Entities/GameObject/GameObject.cs b/Source/Game/Entities/GameObject/GameObject.cs index 565eb5751..2c6009cb2 100644 --- a/Source/Game/Entities/GameObject/GameObject.cs +++ b/Source/Game/Entities/GameObject/GameObject.cs @@ -802,8 +802,17 @@ namespace Game.Entities //! The GetOwnerGUID() check is mostly for compatibility with hacky scripts - 99% of the time summoning should be done trough spells. if (GetSpellId() != 0 || !GetOwnerGUID().IsEmpty()) { - SetRespawnTime(0); - Delete(); + //Don't delete spell spawned chests, which are not consumed on loot + if (m_respawnTime > 0 && GetGoType() == GameObjectTypes.Chest && !GetGoInfo().IsDespawnAtAction()) + { + UpdateObjectVisibility(); + SetLootState(LootState.Ready); + } + else + { + SetRespawnTime(0); + Delete(); + } return; }