Fix rat pathfinding (#12951)

Fixes https://github.com/space-wizards/space-station-14/issues/12950
This commit is contained in:
metalgearsloth
2022-12-10 20:31:02 +11:00
committed by GitHub
parent 0db20ee8be
commit f8a8b41976
4 changed files with 26 additions and 14 deletions

View File

@@ -11,6 +11,7 @@ using Content.Shared.NPC;
using Robust.Server.Player;
using Robust.Shared.Enums;
using Robust.Shared.Map;
using Robust.Shared.Physics;
using Robust.Shared.Physics.Components;
using Robust.Shared.Physics.Systems;
using Robust.Shared.Players;
@@ -43,6 +44,7 @@ namespace Content.Server.NPC.Pathfinding
[Dependency] private readonly IRobustRandom _random = default!;
[Dependency] private readonly DestructibleSystem _destructible = default!;
[Dependency] private readonly FixtureSystem _fixtures = default!;
[Dependency] private readonly SharedPhysicsSystem _physics = default!;
private ISawmill _sawmill = default!;
@@ -239,10 +241,9 @@ namespace Content.Server.NPC.Pathfinding
var layer = 0;
var mask = 0;
if (TryComp<PhysicsComponent>(entity, out var body))
if (TryComp<FixturesComponent>(entity, out var fixtures))
{
layer = body.CollisionLayer;
mask = body.CollisionMask;
(layer, mask) = _physics.GetHardCollision(entity, fixtures);
}
var request = new BFSPathRequest(maxRange, limit, start.Coordinates, flags, layer, mask, cancelToken);
@@ -386,10 +387,9 @@ namespace Content.Server.NPC.Pathfinding
var layer = 0;
var mask = 0;
if (TryComp<PhysicsComponent>(entity, out var body))
if (TryComp<FixturesComponent>(entity, out var fixtures))
{
layer = body.CollisionLayer;
mask = body.CollisionMask;
(layer, mask) = _physics.GetHardCollision(entity, fixtures);
}
return new AStarPathRequest(start, end, flags, range, layer, mask, cancelToken);