Core/Maps: Fixed pathgenerator always returning NAV_GROUND from GetNavTerrain

Port From (https://github.com/TrinityCore/TrinityCore/commit/a24e3a9511d8b60baf51a4e81aa3e4731746ffe4)
This commit is contained in:
hondacrx
2024-02-04 13:48:05 -05:00
parent 64d80537ed
commit 85d4043217
@@ -893,23 +893,17 @@ namespace Game.Movement
NavTerrainFlag GetNavTerrain(float x, float y, float z)
{
LiquidData data;
ZLiquidStatus liquidStatus = _source.GetMap().GetLiquidStatus(_source.GetPhaseShift(), x, y, z, LiquidHeaderTypeFlags.AllLiquids, out data, _source.GetCollisionHeight());
ZLiquidStatus liquidStatus = _source.GetMap().GetLiquidStatus(_source.GetPhaseShift(), x, y, z, LiquidHeaderTypeFlags.AllLiquids, out LiquidData data, _source.GetCollisionHeight());
if (liquidStatus == ZLiquidStatus.NoWater)
return NavTerrainFlag.Ground;
data.type_flags &= ~LiquidHeaderTypeFlags.DarkWater;
switch (data.type_flags)
{
case LiquidHeaderTypeFlags.Water:
case LiquidHeaderTypeFlags.Ocean:
return NavTerrainFlag.Water;
case LiquidHeaderTypeFlags.Magma:
case LiquidHeaderTypeFlags.Slime:
return NavTerrainFlag.MagmaSlime;
default:
return NavTerrainFlag.Ground;
}
if (data.type_flags.HasFlag(LiquidHeaderTypeFlags.Water | LiquidHeaderTypeFlags.Ocean))
return NavTerrainFlag.Water;
if (data.type_flags.HasFlag(LiquidHeaderTypeFlags.Magma | LiquidHeaderTypeFlags.Slime))
return NavTerrainFlag.MagmaSlime;
return NavTerrainFlag.Ground;
}
bool InRange(Vector3 p1, Vector3 p2, float r, float h)