diff options
author | jackpoz <giacomopoz@gmail.com> | 2016-03-15 22:02:14 +0100 |
---|---|---|
committer | jackpoz <giacomopoz@gmail.com> | 2016-03-15 22:02:14 +0100 |
commit | 912514c198bd0f59bd22c4a189692aff5244f697 (patch) | |
tree | 1a0b968179a3a36f6442d0b9754b6a154242f91c /src | |
parent | 3e7b7e415e3abdad9bde459c83cb25548130b1f6 (diff) |
Core/Creatures: Fix dead creatures spawn position on restart
Fix dead flying creatures ignoring being spawned below the floor in instances on server restart because of not taking into account vmap height.
Fix #16777
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Creature/Creature.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp index 9562f8424c1..c677a467ddc 100644 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -1357,8 +1357,8 @@ bool Creature::LoadCreatureFromDB(ObjectGuid::LowType spawnId, Map* map, bool ad m_deathState = DEAD; if (CanFly()) { - float tz = map->GetHeight(GetPhaseMask(), data->posX, data->posY, data->posZ, false); - if (data->posZ - tz > 0.1f) + float tz = map->GetHeight(GetPhaseMask(), data->posX, data->posY, data->posZ, true, MAX_FALL_DISTANCE); + if (data->posZ - tz > 0.1f && Trinity::IsValidMapCoord(tz)) Relocate(data->posX, data->posY, tz); } } |