using Content.Server.Hands.Components; using Robust.Shared.GameObjects; using Robust.Shared.IoC; namespace Content.Server.AI.Operators.Inventory { public class DropEntityOperator : AiOperator { private readonly IEntity _owner; private readonly IEntity _entity; public DropEntityOperator(IEntity owner, IEntity entity) { _owner = owner; _entity = entity; } /// /// Requires EquipEntityOperator to put it in the active hand first /// /// /// public override Outcome Execute(float frameTime) { if (!IoCManager.Resolve().TryGetComponent(_owner.Uid, out HandsComponent? handsComponent)) { return Outcome.Failed; } return handsComponent.Drop(_entity) ? Outcome.Success : Outcome.Failed; } } }