using Content.Shared.Audio; using Content.Shared.FixedPoint; using Robust.Shared.Audio; using Robust.Shared.GameStates; namespace Content.Shared.Fluids; /// /// For entities that can clean up puddles /// [RegisterComponent, NetworkedComponent] public sealed partial class AbsorbentComponent : Component { public Dictionary Progress = new(); /// /// Name for solution container, that should be used for absorbed solution storage and as source of absorber solution. /// Default is 'absorbed'. /// [DataField] public string SolutionName = "absorbed"; /// /// How much solution we can transfer in one interaction. /// [DataField] public FixedPoint2 PickupAmount = FixedPoint2.New(100); [DataField] public SoundSpecifier PickupSound = new SoundPathSpecifier("/Audio/Effects/Fluids/watersplash.ogg") { Params = AudioParams.Default.WithVariation(SharedContentAudioSystem.DefaultVariation), }; [DataField] public SoundSpecifier TransferSound = new SoundPathSpecifier("/Audio/Effects/Fluids/slosh.ogg") { Params = AudioParams.Default.WithVariation(SharedContentAudioSystem.DefaultVariation).WithVolume(-3f), }; public static readonly SoundSpecifier DefaultTransferSound = new SoundPathSpecifier("/Audio/Effects/Fluids/slosh.ogg") { Params = AudioParams.Default.WithVariation(SharedContentAudioSystem.DefaultVariation).WithVolume(-3f), }; /// /// Marker that absorbent component owner should try to use 'absorber solution' to replace solution to be absorbed. /// Target solution will be simply consumed into container if set to false. /// [DataField] public bool UseAbsorberSolution = true; }