| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- using Content.Shared.Atmos.Monitor.Components;
- using Robust.Shared.Serialization;
- namespace Content.Shared.Atmos.Piping.Unary.Components
- {
- [Serializable, NetSerializable]
- public sealed class GasVentScrubberData : IAtmosDeviceData
- {
- public bool Enabled { get; set; }
- public bool Dirty { get; set; }
- public bool IgnoreAlarms { get; set; } = false;
- public HashSet<Gas> FilterGases { get; set; } = new(DefaultFilterGases);
- public ScrubberPumpDirection PumpDirection { get; set; } = ScrubberPumpDirection.Scrubbing;
- public float VolumeRate { get; set; } = 200f;
- public bool WideNet { get; set; } = false;
- public static HashSet<Gas> DefaultFilterGases = new()
- {
- Gas.CarbonDioxide,
- Gas.Plasma,
- Gas.Tritium,
- Gas.WaterVapor,
- Gas.Ammonia,
- Gas.NitrousOxide,
- Gas.Frezon
- };
- // Presets for 'dumb' air alarm modes
- public static GasVentScrubberData FilterModePreset = new GasVentScrubberData
- {
- Enabled = true,
- FilterGases = new(GasVentScrubberData.DefaultFilterGases),
- PumpDirection = ScrubberPumpDirection.Scrubbing,
- VolumeRate = 200f,
- WideNet = false
- };
- public static GasVentScrubberData WideFilterModePreset = new GasVentScrubberData
- {
- Enabled = true,
- FilterGases = new(GasVentScrubberData.DefaultFilterGases),
- PumpDirection = ScrubberPumpDirection.Scrubbing,
- VolumeRate = 200f,
- WideNet = true
- };
- public static GasVentScrubberData FillModePreset = new GasVentScrubberData
- {
- Enabled = false,
- Dirty = true,
- FilterGases = new(GasVentScrubberData.DefaultFilterGases),
- PumpDirection = ScrubberPumpDirection.Scrubbing,
- VolumeRate = 200f,
- WideNet = false
- };
- public static GasVentScrubberData PanicModePreset = new GasVentScrubberData
- {
- Enabled = true,
- Dirty = true,
- FilterGases = new(GasVentScrubberData.DefaultFilterGases),
- PumpDirection = ScrubberPumpDirection.Siphoning,
- VolumeRate = 200f,
- WideNet = false
- };
- public static GasVentScrubberData ReplaceModePreset = new GasVentScrubberData
- {
- Enabled = true,
- IgnoreAlarms = true,
- Dirty = true,
- FilterGases = new(GasVentScrubberData.DefaultFilterGases),
- PumpDirection = ScrubberPumpDirection.Siphoning,
- VolumeRate = 200f,
- WideNet = false
- };
- }
- [Serializable, NetSerializable]
- public enum ScrubberPumpDirection : sbyte
- {
- Siphoning = 0,
- Scrubbing = 1,
- }
- }
|