aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/game/Creature.cpp5
-rw-r--r--src/game/Player.cpp5
2 files changed, 10 insertions, 0 deletions
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);