Files
tbd-station-14/Content.Shared/Atmos/Piping/Unary/Components/SharedVentScrubberComponent.cs
Kara ad97580727 Rename Miasma to Ammonia (#22791)
* Rename Miasma to Ammonia

* Namespace changes

* Map change????? why
2023-12-20 21:19:50 -07:00

87 lines
2.8 KiB
C#

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,
}
}