* allow ai to understand if its handcuffed. * rerun tests they worky on local * Contained here in, a string of expletives about flaky tests. * on retrospect, default true is probably smorter. * do reviews * I forgor xml * more xml
27 lines
757 B
C#
27 lines
757 B
C#
using Content.Server.Cuffs;
|
|
using Content.Shared.Cuffs.Components;
|
|
|
|
namespace Content.Server.NPC.HTN.Preconditions;
|
|
|
|
public sealed partial class HandcuffedPrecondition : HTNPrecondition
|
|
{
|
|
[Dependency] private readonly IEntityManager _entManager = default!;
|
|
|
|
[DataField]
|
|
public bool ReactOnlyWhenFullyCuffed = true;
|
|
|
|
public override bool IsMet(NPCBlackboard blackboard)
|
|
{
|
|
var cuffable = _entManager.System<CuffableSystem>();
|
|
var owner = blackboard.GetValue<EntityUid>(NPCBlackboard.Owner);
|
|
|
|
if (!_entManager.TryGetComponent<CuffableComponent>(owner, out var cuffComp))
|
|
return false;
|
|
|
|
var target = (owner, cuffComp);
|
|
|
|
return cuffable.IsCuffed(target, ReactOnlyWhenFullyCuffed);
|
|
}
|
|
|
|
}
|