From 5fa4faac38337da0f8c76316df2a4c4f325e47d9 Mon Sep 17 00:00:00 2001 From: jackpoz Date: Tue, 15 Mar 2016 22:02:14 +0100 Subject: [PATCH] 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 --- src/server/game/Entities/Creature/Creature.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp index cd9d96caed7..49d783d5151 100644 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -1377,8 +1377,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); } }