1
0

AbsorbentComponent.cs 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. using Content.Shared.Audio;
  2. using Content.Shared.FixedPoint;
  3. using Robust.Shared.Audio;
  4. using Robust.Shared.GameStates;
  5. namespace Content.Shared.Fluids;
  6. /// <summary>
  7. /// For entities that can clean up puddles
  8. /// </summary>
  9. [RegisterComponent, NetworkedComponent]
  10. public sealed partial class AbsorbentComponent : Component
  11. {
  12. public const string SolutionName = "absorbed";
  13. public Dictionary<Color, float> Progress = new();
  14. /// <summary>
  15. /// How much solution we can transfer in one interaction.
  16. /// </summary>
  17. [DataField("pickupAmount")]
  18. public FixedPoint2 PickupAmount = FixedPoint2.New(100);
  19. [DataField("pickupSound")]
  20. public SoundSpecifier PickupSound = new SoundPathSpecifier("/Audio/Effects/Fluids/watersplash.ogg")
  21. {
  22. Params = AudioParams.Default.WithVariation(SharedContentAudioSystem.DefaultVariation),
  23. };
  24. [DataField("transferSound")] public SoundSpecifier TransferSound =
  25. new SoundPathSpecifier("/Audio/Effects/Fluids/slosh.ogg")
  26. {
  27. Params = AudioParams.Default.WithVariation(SharedContentAudioSystem.DefaultVariation).WithVolume(-3f),
  28. };
  29. public static readonly SoundSpecifier DefaultTransferSound =
  30. new SoundPathSpecifier("/Audio/Effects/Fluids/slosh.ogg")
  31. {
  32. Params = AudioParams.Default.WithVariation(SharedContentAudioSystem.DefaultVariation).WithVolume(-3f),
  33. };
  34. }