return;
}
- var mixtures = new GasMixture[7];
+ var mixtures = new GasMixture[8];
for (var i = 0; i < mixtures.Length; i++)
mixtures[i] = new GasMixture(Atmospherics.CellVolume) { Temperature = Atmospherics.T20C };
mixtures[6].AdjustMoles(Gas.Nitrogen, Atmospherics.NitrogenMolesStandard);
mixtures[6].Temperature = 235f; // Little colder than an actual freezer but gives a grace period to get e.g. themomachines set up, should keep warm for a few door openings
+ // 7: Nitrogen (101kpa) for vox rooms
+ mixtures[7].AdjustMoles(Gas.Nitrogen, Atmospherics.MolesCellStandard);
+
foreach (var arg in args)
{
if (!NetEntity.TryParse(arg, out var netEntity) || !TryGetEntity(netEntity, out var euid))
id: danger # just any gas you don't want at all
upperBound: !type:AlarmThresholdSetting
threshold: 0.0001
+
+- type: alarmThreshold
+ id: voxOxygen
+ upperBound: !type:AlarmThresholdSetting
+ threshold: 0.02 # 2%
+ upperWarnAround: !type:AlarmThresholdSetting
+ threshold: 0.5 # 1%
+
+- type: alarmThreshold
+ id: voxNitrogen
+ lowerBound: !type:AlarmThresholdSetting
+ threshold: 0.8 # danger below 80% nitrogen
+ lowerWarnAround: !type:AlarmThresholdSetting
+ threshold: 1.125 # warning below 90%
state: freeze
- type: AtmosFixMarker
mode: 6
+
+- type: entity
+ parent: AtmosFixNitrogenMarker
+ id: AtmosFixVoxMarker
+ suffix: Vox Atmosphere
+ description: "Nitrogen @ 101 kPa, 20C"
+ components:
+ - type: AtmosFixMarker
+ mode: 7
--- /dev/null
+- type: entity
+ abstract: true
+ parent: AirSensorBase
+ id: AirSensorVoxBase
+ suffix: Vox Atmosphere
+ components:
+ - type: AtmosMonitor
+ gasThresholdPrototypes:
+ Oxygen: voxOxygen
+ Nitrogen: voxNitrogen
+ CarbonDioxide: stationCO2
+ Plasma: stationPlasma
+ Tritium: stationTritium
+ WaterVapor: stationWaterVapor
+ Ammonia: stationAmmonia
+ NitrousOxide: stationNO
+ Frezon: danger
+
+- type: entity
+ parent: [AirSensorVoxBase, AirSensor]
+ id: AirSensorVox
+
+- type: entity
+ parent: [AirSensorVoxBase, GasVentPump]
+ id: GasVentPumpVox
+
+- type: entity
+ parent: [AirSensorVoxBase, GasVentScrubber]
+ id: GasVentScrubberVox
+ components:
+ - type: GasVentScrubber
+ wideNet: true # Air alarm with auto mode overrides filters with hardcoded defaults so default to widenet
+ filterGases:
+ - Oxygen # filter out oxygen as well as regular harmful gases
+ - CarbonDioxide
+ - Plasma
+ - Tritium
+ - WaterVapor
+ - Ammonia
+ - NitrousOxide
+ - Frezon
+
+# use this to prevent overriding filters with hardcoded defaults
+- type: entity
+ parent: AirAlarm
+ id: AirAlarmVox
+ suffix: Vox Atmosphere, auto mode disabled
+ components:
+ - type: AirAlarm
+ autoMode: false