From 5ac37c7a78d36768e40111da04ee3014ab196e50 Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Wed, 13 Jun 2012 15:15:30 -0700 Subject: [PATCH] Final parts of the air alarm rewrite. --- .../components/unary/vent_pump.dm | 118 +++++------ .../components/unary/vent_scrubber.dm | 106 ++++------ code/WorkInProgress/Mini/atmos_control.dm | 49 +++-- code/game/machinery/alarm.dm | 198 +++++++----------- 4 files changed, 200 insertions(+), 271 deletions(-) diff --git a/code/ATMOSPHERICS/components/unary/vent_pump.dm b/code/ATMOSPHERICS/components/unary/vent_pump.dm index 969fe5542e8..2f7253f045c 100644 --- a/code/ATMOSPHERICS/components/unary/vent_pump.dm +++ b/code/ATMOSPHERICS/components/unary/vent_pump.dm @@ -7,7 +7,7 @@ level = 1 var/area_uid - var/id_tag = null + var/id_tag power_channel = ENVIRON var/on = 0 @@ -24,12 +24,6 @@ var/welded = 0 // Added for aliens -- TLE - var/frequency = 1439 - var/datum/radio_frequency/radio_connection - - var/radio_filter_out - var/radio_filter_in - New() var/area/A = get_area(loc) if (A.master) @@ -43,6 +37,12 @@ broadcast_status() ..() + Del() + var/area/alarm_area = get_area(src) + if(alarm_area && "\"[id_tag]\"" in alarm_area.master.air_vents) + alarm_area.master.air_vents.Remove("\"[id_tag]\"") + ..() + high_volume name = "Large Air Vent" @@ -50,6 +50,10 @@ ..() air_contents.volume = 1000 + initialize() + spawn(20) + broadcast_status() + update_icon() if(welded) icon_state = "[level == 1 && istype(loc, /turf/simulated) ? "h" : "" ]weld" @@ -66,6 +70,7 @@ process() ..() + broadcast_status() if(stat & (NOPOWER|BROKEN)) return if (!node) @@ -123,93 +128,76 @@ - //Radio remote control proc/broadcast_status() - var/datum/signal/signal = new - signal.transmission_method = 1 //radio signal - signal.source = src - - signal.data = list( - "area" = src.area_uid, - "tag" = src.id_tag, - "device" = "AVP", - "power" = on, - "direction" = pump_direction?("release"):("siphon"), - "checks" = pressure_checks, - "internal" = internal_pressure_bound, - "external" = external_pressure_bound, - "timestamp" = world.time, - "sigtype" = "status", - "setting" = pump_speed - ) - var/area/alarm_area = get_area(src) - if(alarm_area.master.master_air_alarm && alarm_area.master.master_air_alarm.master_is_operating()) - receive_signal(signal) + if(alarm_area.master.master_air_alarm) + if(!id_tag) + if(alarm_area.master.master_air_alarm) + alarm_area.master.master_air_alarm.register_env_machine(src) + world << "No ID, air alarm. New ID = [id_tag]" + else + world << "No ID, no air alarm." + else if(!"\"[id_tag]\"" in alarm_area.air_vents) + if(alarm_area.master.master_air_alarm) + alarm_area.master.master_air_alarm.register_env_machine(src) + world << "ID, air alarm. New ID = [id_tag]" + else + world << "ID = [id_tag], no air alarm." + else if(stat & (NOPOWER|BROKEN)) + alarm_area.master.air_vents.Remove("\"[id_tag]\"") + world << "Broken" else - for(var/area/A in alarm_area.related) - for(var/obj/machinery/alarm/AA in A) - receive_signal(signal) - - return 1 + world << "Trying to register (No alarm)" - receive_signal(datum/signal/signal) + proc/receive(var/list/signal) if(stat & (NOPOWER|BROKEN)) return - //log_admin("DEBUG \[[world.timeofday]\]: /obj/machinery/atmospherics/unary/vent_pump/receive_signal([signal.debug_print()])") - if(!signal.data["tag"] || (signal.data["tag"] != id_tag) || (signal.data["sigtype"]!="command")) - return 0 - if("purge" in signal.data) + if("purge" in signal) pressure_checks &= ~1 pump_direction = 0 - if("stabalize" in signal.data) + if("stabalize" in signal) pressure_checks |= 1 pump_direction = 1 - if("power" in signal.data) - on = text2num(signal.data["power"]) + if("power" in signal) + on = text2num(signal["power"]) - if("power_toggle" in signal.data) + if("power_toggle" in signal) on = !on - if("checks" in signal.data) - pressure_checks = text2num(signal.data["checks"]) + if("checks" in signal) + pressure_checks = text2num(signal["checks"]) - if("checks_toggle" in signal.data) + if("checks_toggle" in signal) pressure_checks = (pressure_checks?0:3) - if("direction" in signal.data) - pump_direction = text2num(signal.data["direction"]) + if("direction" in signal) + pump_direction = text2num(signal["direction"]) - if("set_internal_pressure" in signal.data) - internal_pressure_bound = between(0, text2num(signal.data["set_internal_pressure"]), ONE_ATMOSPHERE*50) + if("set_internal_pressure" in signal) + internal_pressure_bound = between(0, text2num(signal["set_internal_pressure"]), ONE_ATMOSPHERE*50) - if("set_external_pressure" in signal.data) - external_pressure_bound = between(0, text2num(signal.data["set_external_pressure"]), ONE_ATMOSPHERE*50) + if("set_external_pressure" in signal) + external_pressure_bound = between(0, text2num(signal["set_external_pressure"]), ONE_ATMOSPHERE*50) - if("adjust_internal_pressure" in signal.data) - internal_pressure_bound = between(0, text2num(signal.data["adjust_internal_pressure"]), ONE_ATMOSPHERE*50) + if("adjust_internal_pressure" in signal) + internal_pressure_bound = between(0, text2num(signal["adjust_internal_pressure"]), ONE_ATMOSPHERE*50) - if("adjust_external_pressure" in signal.data) - external_pressure_bound = between(0, text2num(signal.data["adjust_external_pressure"]), ONE_ATMOSPHERE*50) + if("adjust_external_pressure" in signal) + external_pressure_bound = between(0, text2num(signal["adjust_external_pressure"]), ONE_ATMOSPHERE*50) - if("init" in signal.data) - name = signal.data["init"] + if("init" in signal) + name = signal["init"] return - if("status" in signal.data) - spawn(2) - broadcast_status() - return //do not update_icon + if("setting" in signal) + pump_speed = text2num(signal["setting"]) - if("setting" in signal.data) - pump_speed = text2num(signal.data["setting"]) - - //log_admin("DEBUG \[[world.timeofday]\]: vent_pump/receive_signal: unknown command \"[signal.data["command"]]\"\n[signal.debug_print()]") + //log_admin("DEBUG \[[world.timeofday]\]: vent_pump/receive_signal: unknown command \"[signal["command"]]\"\n[signal.debug_print()]") spawn(2) broadcast_status() update_icon() diff --git a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm index f78826e400f..a26f82bc306 100644 --- a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm +++ b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm @@ -8,8 +8,6 @@ level = 1 var/id_tag = null - var/frequency = 1439 - var/datum/radio_frequency/radio_connection var/on = 0 var/scrubbing = 1 //0 = siphoning, 1 = scrubbing @@ -22,8 +20,6 @@ var/panic = 0 //is this scrubber panicked? var/area_uid - var/radio_filter_out - var/radio_filter_in New() var/area/A = get_area(loc) if (A.master) @@ -37,6 +33,16 @@ broadcast_status() ..() + Del() + var/area/alarm_area = get_area(src) + if(alarm_area && "\"[id_tag]\"" in alarm_area.master.air_scrubbers) + alarm_area.master.air_scrubbers.Remove("\"[id_tag]\"") + ..() + + initialize() + spawn(20) + broadcast_status() + update_icon() if(node && on && !(stat & (NOPOWER|BROKEN))) if(scrubbing) @@ -48,40 +54,26 @@ return proc/broadcast_status() - var/datum/signal/signal = new - signal.transmission_method = 1 //radio signal - signal.source = src - signal.data = list( - "area" = area_uid, - "tag" = id_tag, - "device" = "AScr", - "timestamp" = world.time, - "power" = on, - "scrubbing" = scrubbing, - "panic" = panic, - "filter_co2" = scrub_CO2, - "filter_toxins" = scrub_Toxins, - "filter_n2o" = scrub_N2O, - "sigtype" = "status", - "setting" = scrub_rate - ) var/area/alarm_area = get_area(src) - if(alarm_area.master.master_air_alarm && alarm_area.master.master_air_alarm.master_is_operating()) - receive_signal(signal) - else - for(var/area/A in alarm_area.related) - for(var/obj/machinery/alarm/AA in A) - receive_signal(signal) - - return 1 + if(alarm_area.master.master_air_alarm) + if(!id_tag) + if(alarm_area.master.master_air_alarm) + alarm_area.master.master_air_alarm.register_env_machine(src) + else if(!"\"[id_tag]\"" in alarm_area.air_scrubbers) + if(alarm_area.master.master_air_alarm) + alarm_area.master.master_air_alarm.register_env_machine(src) + else if(stat & (NOPOWER|BROKEN)) + alarm_area.master.air_scrubbers.Remove("\"[id_tag]\"") + return process() ..() + broadcast_status() if(stat & (NOPOWER|BROKEN)) return if (!node) on = 0 - //broadcast_status() + if(!on) return 0 @@ -150,19 +142,17 @@ return */ - receive_signal(datum/signal/signal) + proc/receive(var/list/signal) if(stat & (NOPOWER|BROKEN)) return - if(!signal.data["tag"] || (signal.data["tag"] != id_tag) || (signal.data["sigtype"]!="command")) - return 0 - if("power" in signal.data) - on = text2num(signal.data["power"]) - if("power_toggle" in signal.data) + if("power" in signal) + on = text2num(signal["power"]) + if("power_toggle" in signal) on = !on - if("panic_siphon" in signal.data) //must be before if("scrubbing" thing - panic = text2num(signal.data["panic_siphon"]) + if("panic_siphon" in signal) //must be before if("scrubbing" thing + panic = text2num(signal["panic_siphon"]) if(panic) on = 1 scrubbing = 0 @@ -170,7 +160,7 @@ else scrubbing = 1 volume_rate = initial(volume_rate) - if("toggle_panic_siphon" in signal.data) + if("toggle_panic_siphon" in signal) panic = !panic if(panic) on = 1 @@ -180,39 +170,33 @@ scrubbing = 1 volume_rate = initial(volume_rate) - if("scrubbing" in signal.data) - scrubbing = text2num(signal.data["scrubbing"]) - if("toggle_scrubbing" in signal.data) + if("scrubbing" in signal) + scrubbing = text2num(signal["scrubbing"]) + if("toggle_scrubbing" in signal) scrubbing = !scrubbing - if("co2_scrub" in signal.data) - scrub_CO2 = text2num(signal.data["co2_scrub"]) - if("toggle_co2_scrub" in signal.data) + if("co2_scrub" in signal) + scrub_CO2 = text2num(signal["co2_scrub"]) + if("toggle_co2_scrub" in signal) scrub_CO2 = !scrub_CO2 - if("tox_scrub" in signal.data) - scrub_Toxins = text2num(signal.data["tox_scrub"]) - if("toggle_tox_scrub" in signal.data) + if("tox_scrub" in signal) + scrub_Toxins = text2num(signal["tox_scrub"]) + if("toggle_tox_scrub" in signal) scrub_Toxins = !scrub_Toxins - if("n2o_scrub" in signal.data) - scrub_N2O = text2num(signal.data["n2o_scrub"]) - if("toggle_n2o_scrub" in signal.data) + if("n2o_scrub" in signal) + scrub_N2O = text2num(signal["n2o_scrub"]) + if("toggle_n2o_scrub" in signal) scrub_N2O = !scrub_N2O - if("init" in signal.data) - name = signal.data["init"] + if("init" in signal) + name = signal["init"] return - if("status" in signal.data) - spawn(2) - broadcast_status() - return //do not update_icon + if("setting" in signal) + scrub_rate = text2num(signal["setting"]) - if("setting" in signal.data) - scrub_rate = text2num(signal.data["setting"]) - -// log_admin("DEBUG \[[world.timeofday]\]: vent_scrubber/receive_signal: unknown command \"[signal.data["command"]]\"\n[signal.debug_print()]") spawn(2) broadcast_status() update_icon() diff --git a/code/WorkInProgress/Mini/atmos_control.dm b/code/WorkInProgress/Mini/atmos_control.dm index 8dae3d8fb85..9c06eb7013b 100644 --- a/code/WorkInProgress/Mini/atmos_control.dm +++ b/code/WorkInProgress/Mini/atmos_control.dm @@ -63,7 +63,7 @@ "panic_siphon", "scrubbing" ) - current.send_signal(device_id, list (href_list["command"] = text2num(href_list["val"]))) + current.send(device_id, list (href_list["command"] = text2num(href_list["val"]))) spawn(3) src.updateUsrDialog() //if("adjust_threshold") //was a good idea but required very wide window @@ -156,18 +156,19 @@ output += "ACTIVATE PANIC SYPHON IN AREA" if (AALARM_SCREEN_VENT) var/sensor_data = "" - if(current.alarm_area.air_vent_names.len) - for(var/id_tag in current.alarm_area.air_vent_names) - var/long_name = current.alarm_area.air_vent_names[id_tag] - var/list/data = current.alarm_area.air_vent_info[id_tag] + if(current.alarm_area.air_vents.len) + for(var/id_tag in current.alarm_area.air_vents) + var/obj/machinery/atmospherics/unary/vent_pump/data = current.alarm_area.air_vents[id_tag] + if(!data) + continue sensor_data += {" -[long_name]
+[id_tag]
Operating: -[data["power"]?"on":"off"] +[data.on?"on":"off"]
Pressure checks: -external -internal +external +internal
External pressure bound: - @@ -181,7 +182,7 @@ +
"} - if (data["direction"] == "siphon") + if (!data.pump_direction) sensor_data += {" Direction: siphoning @@ -193,33 +194,34 @@ siphoning output = {"Main menu
[sensor_data]"} if (AALARM_SCREEN_SCRUB) var/sensor_data = "" - if(current.alarm_area.air_scrub_names.len) - for(var/id_tag in current.alarm_area.air_scrub_names) - var/long_name = current.alarm_area.air_scrub_names[id_tag] - var/list/data = current.alarm_area.air_scrub_info[id_tag] + if(current.alarm_area.air_scrubbers.len) + for(var/id_tag in current.alarm_area.air_scrubbers) + var/obj/machinery/atmospherics/unary/vent_scrubber/data = current.alarm_area.air_scrubbers[id_tag] + if(!data) + continue sensor_data += {" -[long_name]
+[id_tag]
Operating: -[data["power"]?"on":"off"]
+[data.on?"on":"off"]
Type: -[data["scrubbing"]?"scrubbing":"syphoning"]
+[data.scrubbing?"scrubbing":"syphoning"]
"} if(data["scrubbing"]) sensor_data += {" Filtering: Carbon Dioxide -[data["filter_co2"]?"on":"off"]; +[data.scrub_CO2?"on":"off"]; Toxins -[data["filter_toxins"]?"on":"off"]; +[data.scrub_Toxins?"on":"off"]; Nitrous Oxide -[data["filter_n2o"]?"on":"off"] +[data.scrub_N2O?"on":"off"]
"} sensor_data += {" -Panic syphon: [data["panic"]?"PANIC SYPHON ACTIVATED":""] -Dea":"red'>A")]ctivate
+Panic syphon: [data.panic?"PANIC SYPHON ACTIVATED":""] +Dea":"red'>A")]ctivate

"} else @@ -234,7 +236,8 @@ Nitrous Oxide AALARM_MODE_SCRUBBING = "Filtering", AALARM_MODE_PANIC = "PANIC", AALARM_MODE_REPLACEMENT = "REPLACE AIR", - AALARM_MODE_FILL = "FILL" + AALARM_MODE_FILL = "FILL", + AALARM_MODE_CYCLE = "CYCLE" ) for (var/m=1,m<=modes.len,m++) if (current.mode==m) diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm index 82a322ff5c6..3393a2847b3 100644 --- a/code/game/machinery/alarm.dm +++ b/code/game/machinery/alarm.dm @@ -30,7 +30,8 @@ #define AALARM_MODE_SCRUBBING 1 #define AALARM_MODE_PANIC 2 //constantly sucks all air -#define AALARM_MODE_REPLACEMENT 3 //sucks off all air, then refill and swithes to scrubbing +#define AALARM_MODE_REPLACEMENT 5 //like scrubbing, but faster. +#define AALARM_MODE_CYCLE 3 //sucks off all air, then refill and swithes to scrubbing #define AALARM_MODE_FILL 4 //emergency fill #define AALARM_SCREEN_MAIN 1 @@ -48,10 +49,8 @@ //all air alarms in area are connected via magic /area var/obj/machinery/alarm/master_air_alarm - var/list/air_vent_names - var/list/air_scrub_names - var/list/air_vent_info - var/list/air_scrub_info + var/list/air_vents + var/list/air_scrubbers /obj/machinery/alarm name = "alarm" @@ -156,10 +155,13 @@ other_dangerlevel, temperature_dangerlevel) - if (old_danger_level != danger_level) apply_danger_level(danger_level) + if (mode==AALARM_MODE_CYCLE && environment_pressure world.time) - continue - send_signal(id_tag, list("status") ) - for(var/id_tag in alarm_area.air_scrub_names) - var/list/I = alarm_area.air_scrub_info[id_tag] - if (I && I["timestamp"]+AALARM_REPORT_TIMEOUT/2 > world.time) - continue - send_signal(id_tag, list("status") ) - + proc/register_env_machine(var/obj/machinery/source_machine) + if (istype(source_machine, /obj/machinery/atmospherics/unary/vent_pump)) + var/new_name = "[alarm_area] Vent Pump #[alarm_area.air_vents.len+1]" + alarm_area.air_vents += "\"[new_name]\"" + alarm_area.air_vents["\"[new_name]\""] = source_machine + source_machine:id_tag = new_name + source_machine.name = new_name + else if (istype(source_machine, /obj/machinery/atmospherics/unary/vent_scrubber)) + var/new_name = "[alarm_area] Air Scrubber #[alarm_area.air_scrubbers.len+1]" + alarm_area.air_scrubbers += "\"[new_name]\"" + alarm_area.air_scrubbers["\"[new_name]\""] = source_machine + source_machine:id_tag = new_name + source_machine.name = new_name + return proc/apply_mode() var/current_pressures = TLV["pressure"] var/target_pressure = (current_pressures[2] + current_pressures[3])/2 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) ) - 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) ) + for(var/device_id in alarm_area.air_scrubbers) + send(device_id, list("power"= 1, "co2_scrub"= 1, "setting"= 1, "scrubbing"= 1, "panic_siphon"= 0) ) + for(var/device_id in alarm_area.air_vents) + send(device_id, list("power"= 1, "checks"= 1, "setting"= 1, "set_external_pressure"= target_pressure) ) - if(AALARM_MODE_PANIC) - for(var/device_id in alarm_area.air_scrub_names) - 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"= 0) ) + if(AALARM_MODE_PANIC, AALARM_MODE_CYCLE) + for(var/device_id in alarm_area.air_scrubbers) + send(device_id, list("power"= 1, "panic_siphon"= 1) ) + for(var/device_id in alarm_area.air_vents) + send(device_id, list("power"= 0) ) 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"= 2, "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"= 2, "set_external_pressure"= target_pressure) ) + for(var/device_id in alarm_area.air_scrubbers) + send(device_id, list("power"= 1, "co2_scrub"= 1, "setting"= 2, "scrubbing"= 1, "panic_siphon"= 0) ) + for(var/device_id in alarm_area.air_vents) + send(device_id, list("power"= 1, "checks"= 1, "setting"= 2, "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"= 2, "set_external_pressure"= target_pressure) ) + for(var/device_id in alarm_area.air_scrubbers) + send(device_id, list("power"= 0) ) + for(var/device_id in alarm_area.air_vents) + send(device_id, list("power"= 1, "checks"= 1, "setting"= 2, "set_external_pressure"= target_pressure) ) proc/apply_danger_level(var/new_danger_level) alarm_area.atmosalm = new_danger_level @@ -553,7 +510,6 @@ if(!shorted) user << browse(return_text(user),"window=air_alarm") onclose(user, "air_alarm") - refresh_all() return @@ -679,21 +635,20 @@ Toxins: [plasma_percent]%
if (AALARM_SCREEN_VENT) var/sensor_data = "" - if(alarm_area.air_vent_names.len) - for(var/id_tag in alarm_area.air_vent_names) - var/long_name = alarm_area.air_vent_names[id_tag] - var/list/data = alarm_area.air_vent_info[id_tag] + if(alarm_area.air_vents.len) + for(var/id_tag in alarm_area.air_vents) + var/obj/machinery/atmospherics/unary/vent_pump/data = alarm_area.air_vents[id_tag] if(!data) - continue; + continue sensor_data += {" -[long_name]
+[id_tag]
Operating: -[data["power"]?"on":"off"] +[data.on?"on":"off"]
Pressure checks: -external -internal +external +internal
External pressure bound: - @@ -707,7 +662,7 @@ Toxins: [plasma_percent]%
+ (reset)
"} - if (data["direction"] == "siphon") + if (!data.pump_direction) sensor_data += {" Direction: siphoning @@ -721,35 +676,34 @@ siphoning if (AALARM_SCREEN_SCRUB) var/sensor_data = "" - if(alarm_area.air_scrub_names.len) - for(var/id_tag in alarm_area.air_scrub_names) - var/long_name = alarm_area.air_scrub_names[id_tag] - var/list/data = alarm_area.air_scrub_info[id_tag] + if(alarm_area.air_scrubbers.len) + for(var/id_tag in alarm_area.air_scrubbers) + var/obj/machinery/atmospherics/unary/vent_scrubber/data = alarm_area.air_scrubbers[id_tag] if(!data) continue sensor_data += {" -[long_name]
+[id_tag]
Operating: -[data["power"]?"on":"off"]
+[data.on ?"on":"off"]
Type: -[data["scrubbing"]?"scrubbing":"syphoning"]
+[data.scrubbing?"scrubbing":"syphoning"]
"} - if(data["scrubbing"]) + if(data.scrubbing) sensor_data += {" Filtering: Carbon Dioxide -[data["filter_co2"]?"on":"off"]; +[data.scrub_CO2?"on":"off"]; Toxins -[data["filter_toxins"]?"on":"off"]; +[data.scrub_Toxins?"on":"off"]; Nitrous Oxide -[data["filter_n2o"]?"on":"off"] +[data.scrub_N2O?"on":"off"]
"} sensor_data += {" -Panic syphon: [data["panic"]?"PANIC SYPHON ACTIVATED":"Disabled"] -Dea":"red'>A")]ctivate
+Panic syphon: [data.panic?"PANIC SYPHON ACTIVATED":"Disabled"] +Dea":"red'>A")]ctivate

"} else @@ -762,10 +716,11 @@ Nitrous Oxide var/list/modes = list( AALARM_MODE_SCRUBBING = "Filtering", AALARM_MODE_PANIC = "PANIC", - AALARM_MODE_REPLACEMENT = "REPLACE AIR", - AALARM_MODE_FILL = "FILL" + AALARM_MODE_REPLACEMENT = "REPLACE AIR", + AALARM_MODE_FILL = "FILL", + AALARM_MODE_CYCLE = "CYCLE", ) - for (var/m=1, m<=modes.len, m++) + for (var/m in modes) if (mode==m) output += "
  • [modes[m]] (selected)
  • " else @@ -835,8 +790,7 @@ table tr:first-child th:first-child { border: none;} if(href_list["command"]) var/device_id = href_list["id_tag"] switch(href_list["command"]) - if( - "power", + if( "power", "adjust_external_pressure", "set_external_pressure", "checks", @@ -846,7 +800,7 @@ table tr:first-child th:first-child { border: none;} "panic_siphon", "scrubbing") - send_signal(device_id, list(href_list["command"] = text2num(href_list["val"]) ) ) + send(device_id, list(href_list["command"] = text2num(href_list["val"]) ) ) if("set_threshold") var/env = href_list["env"]