using Robust.Shared.Prototypes; namespace Content.Server.NPC.HTN.PrimitiveTasks.Operators.Specific; public sealed partial class EnsureComponentOperator : HTNOperator { [Dependency] private readonly IEntityManager _entMan = default!; /// /// Target entity to inject. /// [DataField(required: true)] public string TargetKey = string.Empty; /// /// Components to be added /// [DataField] public ComponentRegistry Components = new(); public override HTNOperatorStatus Update(NPCBlackboard blackboard, float frameTime) { if (!blackboard.TryGetValue(TargetKey, out var target, _entMan)) return HTNOperatorStatus.Failed; _entMan.AddComponents(target, Components); return HTNOperatorStatus.Finished; } }