From 5884f24f6a9db257a28a148b02336b7b711d28ff Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Thu, 16 May 2013 17:29:58 -0700 Subject: [PATCH] Adjusting air alarm settings. "Scrubbing" is the default mode "Panic" empties the room "Fill" turns off the scrubbers and activates the vents in an effort to replace lost air "Cycle" will trigger first a panic siphon then a fill mode in order to empty a room of contaminants before refilling it from the supply pipes "Replacement" will turn on the panic siphon while continuing to add air into the room "Off" will disable all attached devices. (This is useful for breached areas) --- code/WorkInProgress/Mini/atmos_control.dm | 4 ++-- code/game/machinery/alarm.dm | 20 ++++++++++++++------ 2 files changed, 16 insertions(+), 8 deletions(-) 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)
  • "