diff --git a/code/WorkInProgress/Mini/atmos_control.dm b/code/WorkInProgress/Mini/atmos_control.dm
index acca1bf7593..37282a90ecc 100644
--- a/code/WorkInProgress/Mini/atmos_control.dm
+++ b/code/WorkInProgress/Mini/atmos_control.dm
@@ -302,8 +302,8 @@ Nitrous Oxide
AALARM_MODE_REPLACEMENT = "REPLACE AIR",
AALARM_MODE_PANIC = "PANIC",
AALARM_MODE_CYCLE = "CYCLE",
- AALARM_MODE_FILL = "FILL",
- )
+ AALARM_MODE_FILL = "FILL",\
+ AALARM_MODE_OFF = "OFFF",)
for (var/m=1,m<=modes.len,m++)
if (current.mode==m)
output += {"
[modes[m]] (selected)"}
diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm
index e446f6bdb58..cdfde8afaf2 100644
--- a/code/game/machinery/alarm.dm
+++ b/code/game/machinery/alarm.dm
@@ -33,6 +33,7 @@
#define AALARM_MODE_PANIC 3 //constantly sucks all air
#define AALARM_MODE_CYCLE 4 //sucks off all air, then refill and switches to scrubbing
#define AALARM_MODE_FILL 5 //emergency fill
+#define AALARM_MODE_OFF 6 //Shuts it all down.
#define AALARM_SCREEN_MAIN 1
#define AALARM_SCREEN_VENT 2
@@ -339,9 +340,9 @@
switch(mode)
if(AALARM_MODE_SCRUBBING)
for(var/device_id in alarm_area.air_scrub_names)
- send_signal(device_id, list("power"= 1, "co2_scrub"= 1, "setting"= 1, "scrubbing"= 1, "panic_siphon"= 0) )
+ send_signal(device_id, list("power"= 1, "co2_scrub"= 1, "scrubbing"= 1, "panic_siphon"= 0) )
for(var/device_id in alarm_area.air_vent_names)
- send_signal(device_id, list("power"= 1, "checks"= 1, "setting"= 1, "set_external_pressure"= target_pressure) )
+ send_signal(device_id, list("power"= 1, "checks"= 1, "set_external_pressure"= target_pressure) )
if(AALARM_MODE_PANIC, AALARM_MODE_CYCLE)
for(var/device_id in alarm_area.air_scrub_names)
@@ -351,15 +352,21 @@
if(AALARM_MODE_REPLACEMENT)
for(var/device_id in alarm_area.air_scrub_names)
- send_signal(device_id, list("power"= 1, "co2_scrub"= 1, "setting"= 3, "scrubbing"= 1, "panic_siphon"= 0) )
+ send_signal(device_id, list("power"= 1, "panic_siphon"= 1) )
for(var/device_id in alarm_area.air_vent_names)
- send_signal(device_id, list("power"= 1, "checks"= 1, "setting"= 3, "set_external_pressure"= target_pressure) )
+ send_signal(device_id, list("power"= 1, "checks"= 1, "set_external_pressure"= target_pressure) )
if(AALARM_MODE_FILL)
for(var/device_id in alarm_area.air_scrub_names)
send_signal(device_id, list("power"= 0) )
for(var/device_id in alarm_area.air_vent_names)
- send_signal(device_id, list("power"= 1, "checks"= 1, "setting"= 3, "set_external_pressure"= target_pressure) )
+ send_signal(device_id, list("power"= 1, "checks"= 1, "set_external_pressure"= target_pressure) )
+
+ if(AALARM_MODE_OFF)
+ for(var/device_id in alarm_area.air_scrub_names)
+ send_signal(device_id, list("power"= 0) )
+ for(var/device_id in alarm_area.air_vent_names)
+ send_signal(device_id, list("power"= 0) )
proc/apply_danger_level(var/new_danger_level)
alarm_area.atmosalm = new_danger_level
@@ -817,7 +824,8 @@ Toxins: [plasma_percent]%
AALARM_MODE_REPLACEMENT = "REPLACE AIR",\
AALARM_MODE_PANIC = "PANIC",\
AALARM_MODE_CYCLE = "CYCLE",\
- AALARM_MODE_FILL = "FILL",)
+ AALARM_MODE_FILL = "FILL",\
+ AALARM_MODE_OFF = "OFFF",)
for (var/m=1,m<=modes.len,m++)
if (mode==m)
output += "[modes[m]] (selected)"