diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp index a436e8418..a3c5f0d7c 100644 --- a/src/server/game/Entities/Object/Object.cpp +++ b/src/server/game/Entities/Object/Object.cpp @@ -1516,7 +1516,7 @@ void WorldObject::UpdateAllowedPositionZ(float x, float y, float& z, float* grou if (max_z > INVALID_HEIGHT) { - if (canSwim && unit->GetMap()->IsInWater(x, y, max_z - WATER_HEIGHT_TOLERANCE)) { + if (canSwim && unit->GetMap()->IsInWater(x, y, max_z - Z_OFFSET_FIND_HEIGHT)) { // do not allow creatures to walk on // water level while swimming max_z = max_z - GetMinHeightInWater(); @@ -3058,7 +3058,7 @@ uint64 WorldObject::GetTransGUID() const float WorldObject::GetMapHeight(float x, float y, float z, bool vmap/* = true*/, float distanceToSearch/* = DEFAULT_HEIGHT_SEARCH*/) const { if (z != MAX_HEIGHT) - z += GetCollisionHeight(); + z += Z_OFFSET_FIND_HEIGHT; return GetMap()->GetHeight(GetPhaseMask(), x, y, z, vmap, distanceToSearch); } @@ -3075,5 +3075,5 @@ float WorldObject::GetFloorZ() const if (!IsInWorld()) return m_staticFloorZ; - return std::max(m_staticFloorZ, GetMap()->GetGameObjectFloor(GetPhaseMask(), GetPositionX(), GetPositionY(), GetPositionZ() + GetCollisionHeight())); + return std::max(m_staticFloorZ, GetMap()->GetGameObjectFloor(GetPhaseMask(), GetPositionX(), GetPositionY(), GetPositionZ() + Z_OFFSET_FIND_HEIGHT)); } diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp index a35ee2cec..112b27cc4 100644 --- a/src/server/game/Maps/Map.cpp +++ b/src/server/game/Maps/Map.cpp @@ -1914,7 +1914,7 @@ float Map::GetWaterOrGroundLevel(uint32 phasemask, float x, float y, float z, fl if (const_cast(this)->GetGrid(x, y)) { // we need ground level (including grid height version) for proper return water level in point - float ground_z = GetHeight(phasemask, x, y, z + collisionHeight, true, 50.0f); + float ground_z = GetHeight(phasemask, x, y, z + Z_OFFSET_FIND_HEIGHT, true, 50.0f); if (ground) *ground = ground_z; diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h index 127f9d39c..63f15c885 100644 --- a/src/server/game/Miscellaneous/SharedDefines.h +++ b/src/server/game/Miscellaneous/SharedDefines.h @@ -12,7 +12,7 @@ #include float const GROUND_HEIGHT_TOLERANCE = 0.05f; // Extra tolerance to z position to check if it is in air or on ground. -float const WATER_HEIGHT_TOLERANCE = 0.5f; // Extra tolerance to z position to check if it is in water +constexpr float Z_OFFSET_FIND_HEIGHT = 0.5f; enum SpellEffIndex {