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