From 307a93839b2b6adfc0f6511a75dd82b9c5fb473f Mon Sep 17 00:00:00 2001 From: jackpoz Date: Tue, 15 Mar 2016 22:02:14 +0100 Subject: 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 (cherry picked from commit 912514c198bd0f59bd22c4a189692aff5244f697) --- src/server/game/Entities/Creature/Creature.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp index 477a5fd3a49..1d5482fa8ee 100644 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -1382,8 +1382,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); } } -- cgit v1.2.3