ArtifactGasTriggerComponent.cs 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. using Content.Shared.Atmos;
  2. namespace Content.Server.Xenoarchaeology.XenoArtifacts.Triggers.Components;
  3. /// <summary>
  4. /// Activates artifact when it surrounded by certain gas.
  5. /// </summary>
  6. [RegisterComponent]
  7. public sealed partial class ArtifactGasTriggerComponent : Component
  8. {
  9. /// <summary>
  10. /// List of possible activation gases to pick on startup.
  11. /// </summary>
  12. [DataField("possibleGas")]
  13. public List<Gas> PossibleGases = new()
  14. {
  15. Gas.Oxygen,
  16. Gas.Plasma,
  17. Gas.Nitrogen,
  18. Gas.CarbonDioxide,
  19. Gas.Ammonia,
  20. Gas.NitrousOxide
  21. };
  22. /// <summary>
  23. /// Gas id that will activate artifact.
  24. /// </summary>
  25. [DataField("gas")]
  26. [ViewVariables(VVAccess.ReadWrite)]
  27. public Gas? ActivationGas;
  28. /// <summary>
  29. /// How many moles of gas should be present in room to activate artifact.
  30. /// </summary>
  31. [DataField("moles")]
  32. [ViewVariables(VVAccess.ReadWrite)]
  33. public float ActivationMoles = Atmospherics.MolesCellStandard * 0.1f;
  34. }