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");
}
}