From 59586af421a82f96bb5af93d9ecbec2aa73c5cee Mon Sep 17 00:00:00 2001 From: maximius Date: Sat, 26 Sep 2009 12:28:48 -0700 Subject: *More logical to cause the damage -after- the fall, not before, lol. --HG-- branch : trunk --- src/game/Player.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/game/Player.cpp b/src/game/Player.cpp index d901ac45476..5ce152cd588 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -4461,15 +4461,16 @@ bool Player::FallGround(uint8 FallMode) if ((z_diff = fabs(ground_Z - z)) < 0.1f) return false; + GetMotionMaster()->MoveFall(ground_Z, EVENT_FALL_GROUND); + // Below formula for falling damage is from Player::HandleFall if(FallMode == 2 && z_diff >= 14.57f) { uint32 damage = std::min(GetMaxHealth(), (uint32)((0.018f*z_diff-0.2426f)*GetMaxHealth()*sWorld.getRate(RATE_DAMAGE_FALL))); if(damage > 0) EnvironmentalDamage(DAMAGE_FALL, damage); } - - GetMotionMaster()->MoveFall(ground_Z, EVENT_FALL_GROUND); - if(FallMode == 0) Unit::setDeathState(DEAD_FALLING); + else if(FallMode == 0) + Unit::setDeathState(DEAD_FALLING); return true; } -- cgit v1.2.3