using Content.Shared.Chemistry.Reagent; using Content.Shared.FixedPoint; using Robust.Shared.Audio; using Content.Shared.Whitelist; using Robust.Shared.Prototypes; using Robust.Shared.GameStates; namespace Content.Shared.Paint; /// /// Entity when used on another entity will paint target entity. /// [RegisterComponent, NetworkedComponent, AutoGenerateComponentState] [Access(typeof(SharedPaintSystem))] public sealed partial class PaintComponent : Component { /// /// Noise made when paint applied. /// [DataField] public SoundSpecifier Spray = new SoundPathSpecifier("/Audio/Effects/spray2.ogg"); /// /// Solution on the entity that contains the paint. /// [DataField] public string Solution = "drink"; /// /// How long the doafter will take. /// [DataField] public int Delay = 2; /// /// Reagent that will be used as paint. /// [DataField, AutoNetworkedField] public ProtoId Reagent = "SpaceGlue"; /// /// Color that the painting entity will instruct the painted entity to be. /// [DataField, AutoNetworkedField] public Color Color = Color.FromHex("#c62121"); [DataField, ViewVariables(VVAccess.ReadWrite)] public EntityWhitelist? Blacklist; /// /// Reagent consumption per use. /// [DataField] public FixedPoint2 ConsumptionUnit = FixedPoint2.New(5); /// /// Duration per unit /// [DataField] public TimeSpan DurationPerUnit = TimeSpan.FromSeconds(6); }