using Content.Shared.StatusEffectNew; using Robust.Shared.Prototypes; namespace Content.Server.NPC.HTN.Preconditions; /// /// Returns true if entity have specified status effect /// public sealed partial class HasStatusEffectPrecondition : HTNPrecondition { private StatusEffectsSystem _statusEffects = default!; [DataField(required: true)] public EntProtoId StatusEffect; public override void Initialize(IEntitySystemManager sysManager) { base.Initialize(sysManager); _statusEffects = sysManager.GetEntitySystem(); } public override bool IsMet(NPCBlackboard blackboard) { var owner = blackboard.GetValue(NPCBlackboard.Owner); return _statusEffects.HasStatusEffect(owner, StatusEffect); } }