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)
This commit is contained in:
SkyMarshal
2013-05-16 17:29:58 -07:00
parent 9d6f1328ed
commit 5884f24f6a
2 changed files with 16 additions and 8 deletions

View File

@@ -302,8 +302,8 @@ Nitrous Oxide
AALARM_MODE_REPLACEMENT = "<font color='red'>REPLACE AIR</font>",
AALARM_MODE_PANIC = "<font color='red'>PANIC</font>",
AALARM_MODE_CYCLE = "<font color='red'>CYCLE</font>",
AALARM_MODE_FILL = "<font color='red'>FILL</font>",
)
AALARM_MODE_FILL = "<font color='red'>FILL</font>",\
AALARM_MODE_OFF = "<font color='blue'>OFFF</font>",)
for (var/m=1,m<=modes.len,m++)
if (current.mode==m)
output += {"<li><A href='?src=\ref[src];alarm=\ref[current];mode=[m]'><b>[modes[m]]</b></A> (selected)</li>"}

View File

@@ -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: <span class='dl[plasma_dangerlevel]'>[plasma_percent]</span>%<br>
AALARM_MODE_REPLACEMENT = "<font color='blue'>REPLACE AIR</font>",\
AALARM_MODE_PANIC = "<font color='red'>PANIC</font>",\
AALARM_MODE_CYCLE = "<font color='red'>CYCLE</font>",\
AALARM_MODE_FILL = "<font color='red'>FILL</font>",)
AALARM_MODE_FILL = "<font color='green'>FILL</font>",\
AALARM_MODE_OFF = "<font color='blue'>OFFF</font>",)
for (var/m=1,m<=modes.len,m++)
if (mode==m)
output += "<li><A href='?src=\ref[src];mode=[m]'><b>[modes[m]]</b></A> (selected)</li>"