From 7e99e2f9cc00a341ebd6ba13883d9ec5003a8d18 Mon Sep 17 00:00:00 2001 From: thenecromancer Date: Sat, 6 Mar 2010 13:14:51 +0100 Subject: Send movement packet on creature/player death (expected for animation display, don't ask me why) Don't bother in case of flying creatures, as there's already something sent --HG-- branch : trunk --- src/game/Creature.cpp | 5 +++++ src/game/Player.cpp | 5 +++++ 2 files changed, 10 insertions(+) (limited to 'src/game') diff --git a/src/game/Creature.cpp b/src/game/Creature.cpp index 7aada79974d..4e6891ba5b9 100644 --- a/src/game/Creature.cpp +++ b/src/game/Creature.cpp @@ -1487,6 +1487,11 @@ void Creature::setDeathState(DeathState s) SetHealth(0); SetPower(getPowerType(),0); + // For some reason movement packet is always to be issued on death + // send if not going to fall down + if (!canFly() && !IsFlying()) + SendMonsterMove(GetPositionX(), GetPositionY(), GetPositionZ(), 0); + if ((canFly() || IsFlying()) && FallGround()) return; diff --git a/src/game/Player.cpp b/src/game/Player.cpp index 884820041b3..342e48d24ff 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -1448,6 +1448,11 @@ void Player::setDeathState(DeathState s) GetAchievementMgr().UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_DEATH_AT_MAP, 1); GetAchievementMgr().UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_DEATH, 1); GetAchievementMgr().UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_DEATH_IN_DUNGEON, 1); + + // For some reason movement packet is always to be issued on death + // send if not going to fall down + if (!IsFlying() || GetTransport()) + SendMonsterMove(GetPositionX(), GetPositionY(), GetPositionZ(), 0); } Unit::setDeathState(s); -- cgit v1.2.3