aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/GameObject/GameObject.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp
index d12c8bae8de..38ef02307b6 100644
--- a/src/server/game/Entities/GameObject/GameObject.cpp
+++ b/src/server/game/Entities/GameObject/GameObject.cpp
@@ -919,13 +919,20 @@ void GameObject::Update(uint32 diff)
if (!m_respawnDelayTime)
return;
- if (!m_spawnedByDefault)
+ if (!m_spawnId)
{
m_respawnTime = 0;
Delete();
return;
}
+ if (!m_spawnedByDefault)
+ {
+ m_respawnTime = 0;
+ DestroyForNearbyPlayers();
+ return;
+ }
+
uint32 respawnDelay = m_respawnDelayTime;
if (uint32 scalingMode = sWorld->getIntConfig(CONFIG_RESPAWN_DYNAMICMODE))
GetMap()->ApplyDynamicModeRespawnScaling(this, this->m_spawnId, respawnDelay, scalingMode);