using Content.Shared.Inventory; using Content.Shared.Nutrition.Components; using Content.Shared.Nutrition.EntitySystems; using Robust.Shared.Prototypes; namespace Content.Shared.EntityConditions.Conditions.Body; /// /// A condition which passes if the specified entity has their mouth uncovered, generally meaning they're able to eat or drink. /// public sealed partial class MouthUncoveredEntityConditionSystem : EntityConditionSystem { [Dependency] private IngestionSystem _ingestion = default!; /// protected override void Condition(Entity entity, ref EntityConditionEvent args) { args.Result = _ingestion.HasMouthAvailable(entity, args.Condition.Slots); } } /// public sealed partial class MouthUncoveredCondition : EntityConditionBase { /// /// The slots to check for . /// [DataField] public SlotFlags Slots = SlotFlags.HEAD | SlotFlags.MASK; /// public override string EntityConditionGuidebookText(IPrototypeManager prototype) { return Loc.GetString("entity-condition-guidebook-mouth-uncovered-condition"); } }