using Content.Shared.FixedPoint; using Robust.Shared.Audio; namespace Content.Server._CP14.Alchemy; /// /// gradually rounds down all reagents in the specified solution /// [RegisterComponent, Access(typeof(CP14SolutionNormalizerSystem))] public sealed partial class CP14SolutionNormalizerComponent : Component { [DataField(required: true)] public string Solution = string.Empty; /// /// will round down any reagent in solution until it is divisible by this value /// [DataField] public float Factor = 0.25f; /// /// the reagent will flow gradually by the specified number until it becomes normalized /// [DataField] public FixedPoint2 LeakageQuantity = 0.05f; [DataField] public TimeSpan UpdateFrequency = TimeSpan.FromSeconds(4f); [DataField] public TimeSpan NextUpdateTime = TimeSpan.Zero; [DataField] public SoundSpecifier NormalizeSound = new SoundPathSpecifier("/Audio/Ambience/Objects/drain.ogg") { Params = AudioParams.Default.WithVariation(0.03f) }; }