From de0bbf405641e8284d24fe2e71a99e364f8e970a Mon Sep 17 00:00:00 2001 From: Malcrom Date: Mon, 24 Apr 2017 09:19:58 -0230 Subject: Core/Creature: Fixed ForcedDespawn --- src/server/game/Entities/Creature/Creature.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp index 3d6c0a25740..0e5f8ac4cbb 100644 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -1821,22 +1821,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); } -- cgit v1.2.3