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)
|
NavTerrainFlag GetNavTerrain(float x, float y, float z)
|
||||||
{
|
{
|
||||||
LiquidData data;
|
ZLiquidStatus liquidStatus = _source.GetMap().GetLiquidStatus(_source.GetPhaseShift(), x, y, z, LiquidHeaderTypeFlags.AllLiquids, out LiquidData data, _source.GetCollisionHeight());
|
||||||
ZLiquidStatus liquidStatus = _source.GetMap().GetLiquidStatus(_source.GetPhaseShift(), x, y, z, LiquidHeaderTypeFlags.AllLiquids, out data, _source.GetCollisionHeight());
|
|
||||||
if (liquidStatus == ZLiquidStatus.NoWater)
|
if (liquidStatus == ZLiquidStatus.NoWater)
|
||||||
return NavTerrainFlag.Ground;
|
return NavTerrainFlag.Ground;
|
||||||
|
|
||||||
data.type_flags &= ~LiquidHeaderTypeFlags.DarkWater;
|
if (data.type_flags.HasFlag(LiquidHeaderTypeFlags.Water | LiquidHeaderTypeFlags.Ocean))
|
||||||
switch (data.type_flags)
|
return NavTerrainFlag.Water;
|
||||||
{
|
|
||||||
case LiquidHeaderTypeFlags.Water:
|
if (data.type_flags.HasFlag(LiquidHeaderTypeFlags.Magma | LiquidHeaderTypeFlags.Slime))
|
||||||
case LiquidHeaderTypeFlags.Ocean:
|
return NavTerrainFlag.MagmaSlime;
|
||||||
return NavTerrainFlag.Water;
|
|
||||||
case LiquidHeaderTypeFlags.Magma:
|
return NavTerrainFlag.Ground;
|
||||||
case LiquidHeaderTypeFlags.Slime:
|
|
||||||
return NavTerrainFlag.MagmaSlime;
|
|
||||||
default:
|
|
||||||
return NavTerrainFlag.Ground;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool InRange(Vector3 p1, Vector3 p2, float r, float h)
|
bool InRange(Vector3 p1, Vector3 p2, float r, float h)
|
||||||
|
|||||||
Reference in New Issue
Block a user