using Content.Shared.Chemistry.Reagent; using Content.Shared.FixedPoint; using Robust.Shared.Prototypes; namespace Content.Shared.ReagentSpeed; /// /// Makes a device work faster by consuming reagents on each use. /// Other systems must use for this to do anything. /// [RegisterComponent, Access(typeof(ReagentSpeedSystem))] public sealed partial class ReagentSpeedComponent : Component { /// /// Solution that will be checked. /// Anything that isn't in Modifiers is left alone. /// [DataField(required: true)] public string Solution = string.Empty; /// /// How much reagent from the solution to use up for each use. /// This is per-modifier-reagent and not shared between them. /// [DataField] public FixedPoint2 Cost = 5; /// /// Reagents and how much they modify speed at full purity. /// Small number means faster large number means slower. /// [DataField(required: true)] public Dictionary, float> Modifiers = new(); }