using Content.Shared.FixedPoint;
using Content.Shared.Nutrition.Prototypes;
using Content.Shared.Tag;
using Robust.Shared.GameStates;
using Robust.Shared.Prototypes;
namespace Content.Shared.Nutrition.Components;
///
/// Entities with this component occasionally spill some of the solution they're ingesting.
///
[RegisterComponent, NetworkedComponent, AutoGenerateComponentState]
public sealed partial class MessyDrinkerComponent : Component
{
[DataField, AutoNetworkedField]
public float SpillChance = 0.2f;
///
/// The amount of solution that is spilled when procs.
///
[DataField, AutoNetworkedField]
public FixedPoint2 SpillAmount = 1.0;
///
/// The types of food prototypes we can spill
///
[DataField, AutoNetworkedField]
public List> SpillableTypes = new List> { "Drink" };
///
/// Tag given to drinks that are immune to messy drinker.
/// For example, a spill-immune bottle.
///
[DataField, AutoNetworkedField]
public ProtoId? SpillImmuneTag = "MessyDrinkerImmune";
[DataField, AutoNetworkedField]
public LocId? SpillMessagePopup;
}