Core/Maps: Fixed pathgenerator always returning NAV_GROUND from GetNavTerrain
Port From (https://github.com/TrinityCore/TrinityCore/commit/a24e3a9511d8b60baf51a4e81aa3e4731746ffe4)
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user