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