From f1aeff5390770fa89e6d6a9ef62c90723e9764cb Mon Sep 17 00:00:00 2001 From: Aokromes Date: Fri, 14 Apr 2017 17:50:14 +0200 Subject: [PATCH] Core/Creature: Fixed ForcedDespawn By Malcrom --- src/server/game/Entities/Creature/Creature.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp index d80fdb9cdfa..f88f004a366 100644 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -1816,22 +1816,27 @@ void Creature::ForcedDespawn(uint32 timeMSToDespawn, Seconds const& forceRespawn return; } - if (IsAlive()) + if (forceRespawnTimer > Seconds::zero()) { - if (forceRespawnTimer > Seconds::zero()) + if (IsAlive()) { uint32 respawnDelay = m_respawnDelay; uint32 corpseDelay = m_corpseDelay; m_respawnDelay = forceRespawnTimer.count(); m_corpseDelay = 0; setDeathState(JUST_DIED); - m_respawnDelay = respawnDelay; m_corpseDelay = corpseDelay; } else - setDeathState(JUST_DIED); + { + m_corpseRemoveTime = time(NULL); + m_respawnTime = time(NULL) + forceRespawnTimer.count(); + } } + else + if (IsAlive()) + setDeathState(JUST_DIED); RemoveCorpse(false); }