aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjackpoz <giacomopoz@gmail.com>2016-03-15 22:02:14 +0100
committerShauren <shauren.trinity@gmail.com>2016-04-09 17:10:24 +0200
commit307a93839b2b6adfc0f6511a75dd82b9c5fb473f (patch)
tree8fbaa79ddf8b2624a817c59a1ab49c98144b8ba9
parent94c33ea43c07010f52a1f546aef54275e1fffea6 (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 (cherry picked from commit 912514c198bd0f59bd22c4a189692aff5244f697)
-rw-r--r--src/server/game/Entities/Creature/Creature.cpp4
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 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);
}
}