diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/GameObject/GameObject.cpp | 9 |
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); |