Bandaid medibots (#11718)

This commit is contained in:
metalgearsloth
2022-10-13 21:36:29 +11:00
committed by GitHub
parent 8e1d599656
commit fa59983bd9
11 changed files with 67 additions and 14 deletions

View File

@@ -280,6 +280,21 @@ namespace Content.Server.NPC.Pathfinding
return distance;
}
public async Task<PathResultEvent> GetPath(
EntityUid entity,
EntityUid target,
float range,
CancellationToken cancelToken,
PathFlags flags = PathFlags.None)
{
if (!TryComp<TransformComponent>(entity, out var xform) ||
!TryComp<TransformComponent>(target, out var targetXform))
return new PathResultEvent(PathResult.NoPath, new Queue<PathPoly>());
var request = GetRequest(entity, xform.Coordinates, targetXform.Coordinates, range, cancelToken, flags);
return await GetPath(request);
}
public async Task<PathResultEvent> GetPath(
EntityUid entity,
EntityCoordinates start,
@@ -385,16 +400,21 @@ namespace Content.Server.NPC.Pathfinding
{
var flags = PathFlags.None;
if (blackboard.TryGetValue<bool>(NPCBlackboard.NavPry, out var pry))
if (blackboard.TryGetValue<bool>(NPCBlackboard.NavPry, out var pry) && pry)
{
flags |= PathFlags.Prying;
}
if (blackboard.TryGetValue<bool>(NPCBlackboard.NavSmash, out var smash))
if (blackboard.TryGetValue<bool>(NPCBlackboard.NavSmash, out var smash) && smash)
{
flags |= PathFlags.Smashing;
}
if (blackboard.TryGetValue<bool>(NPCBlackboard.NavInteract, out var interact) && interact)
{
flags |= PathFlags.Interact;
}
return flags;
}