ExtinguishOnInteractComponent.cs 1.0 KB

1234567891011121314151617181920212223242526272829303132
  1. using Content.Shared.Alert;
  2. using Robust.Shared.Audio;
  3. namespace Content.Shared.Atmos.Components;
  4. /// <summary>
  5. /// Allows you to extinguish an object by interacting with it
  6. /// </summary>
  7. [RegisterComponent]
  8. public sealed partial class ExtinguishOnInteractComponent : Component
  9. {
  10. [DataField, ViewVariables(VVAccess.ReadWrite)]
  11. public SoundSpecifier? ExtinguishAttemptSound = new SoundPathSpecifier("/Audio/Items/candle_blowing.ogg");
  12. /// <summary>
  13. /// Extinguishing chance
  14. /// </summary>
  15. [DataField, ViewVariables(VVAccess.ReadWrite)]
  16. public float Probability = 0.9f;
  17. /// <summary>
  18. /// Number of fire stacks to be changed on successful interaction.
  19. /// </summary>
  20. // With positive values, the interaction will conversely fan the fire,
  21. // which is useful for any blacksmithing mechs
  22. [DataField, ViewVariables(VVAccess.ReadWrite)]
  23. public float StackDelta = -5.0f;
  24. [DataField]
  25. public LocId ExtinguishFailed = "candle-extinguish-failed";
  26. }
  27. public sealed partial class ResistFireAlertEvent : BaseAlertEvent;