mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-16 07:30:42 +01:00
Core/Maps: Fixed pathgenerator always returning NAV_GROUND from GetNavTerrain
This commit is contained in:
@@ -697,25 +697,20 @@ void PathGenerator::UpdateFilter()
|
||||
}
|
||||
}
|
||||
|
||||
NavTerrainFlag PathGenerator::GetNavTerrain(float x, float y, float z)
|
||||
NavTerrainFlag PathGenerator::GetNavTerrain(float x, float y, float z) const
|
||||
{
|
||||
LiquidData data;
|
||||
ZLiquidStatus liquidStatus = _source->GetMap()->GetLiquidStatus(_source->GetPhaseShift(), x, y, z, map_liquidHeaderTypeFlags::AllLiquids, &data, _source->GetCollisionHeight());
|
||||
if (liquidStatus == LIQUID_MAP_NO_WATER)
|
||||
return NAV_GROUND;
|
||||
|
||||
data.type_flags &= map_liquidHeaderTypeFlags::DarkWater;
|
||||
switch (data.type_flags)
|
||||
{
|
||||
case map_liquidHeaderTypeFlags::Water:
|
||||
case map_liquidHeaderTypeFlags::Ocean:
|
||||
return NAV_WATER;
|
||||
case map_liquidHeaderTypeFlags::Magma:
|
||||
case map_liquidHeaderTypeFlags::Slime:
|
||||
return NAV_MAGMA_SLIME;
|
||||
default:
|
||||
return NAV_GROUND;
|
||||
}
|
||||
if (data.type_flags.HasFlag(map_liquidHeaderTypeFlags::Water | map_liquidHeaderTypeFlags::Ocean))
|
||||
return NAV_WATER;
|
||||
|
||||
if (data.type_flags.HasFlag(map_liquidHeaderTypeFlags::Magma | map_liquidHeaderTypeFlags::Slime))
|
||||
return NAV_MAGMA_SLIME;
|
||||
|
||||
return NAV_GROUND;
|
||||
}
|
||||
|
||||
bool PathGenerator::HaveTile(const G3D::Vector3& p) const
|
||||
|
||||
@@ -132,7 +132,7 @@ class TC_GAME_API PathGenerator
|
||||
void BuildPointPath(float const* startPoint, float const* endPoint);
|
||||
void BuildShortcut();
|
||||
|
||||
NavTerrainFlag GetNavTerrain(float x, float y, float z);
|
||||
NavTerrainFlag GetNavTerrain(float x, float y, float z) const;
|
||||
void CreateFilter();
|
||||
void UpdateFilter();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user