diff options
author | Malcrom <malcromdev@gmail.com> | 2017-04-24 09:19:58 -0230 |
---|---|---|
committer | Aokromes <Aokromes@users.noreply.github.com> | 2017-04-24 13:49:58 +0200 |
commit | de0bbf405641e8284d24fe2e71a99e364f8e970a (patch) | |
tree | 092b4cb41422670b313d751b7f2a9af855729763 | |
parent | d4759e43f1e16fbbdfd30889f5277690fb2a3896 (diff) |
Core/Creature: Fixed ForcedDespawn
-rw-r--r-- | src/server/game/Entities/Creature/Creature.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
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); } |