From f74e98c79c29408dfb2a63290e42ed235f27b158 Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Wed, 27 Jan 2021 12:41:08 -0500 Subject: [PATCH] Fixes Scrubbers and Alarms (#15358) * Fixes Scrubbers and Alarms * true/false --- .../components/unary_devices/vent_pump.dm | 80 +++++-------- .../components/unary_devices/vent_scrubber.dm | 45 ++++---- code/game/machinery/alarm.dm | 105 +++++++++--------- tgui/packages/tgui/interfaces/AirAlarm.js | 2 +- tgui/packages/tgui/public/tgui.bundle.js | 2 +- 5 files changed, 100 insertions(+), 134 deletions(-) diff --git a/code/ATMOSPHERICS/components/unary_devices/vent_pump.dm b/code/ATMOSPHERICS/components/unary_devices/vent_pump.dm index d435420d62c..93652a7d7ee 100644 --- a/code/ATMOSPHERICS/components/unary_devices/vent_pump.dm +++ b/code/ATMOSPHERICS/components/unary_devices/vent_pump.dm @@ -236,86 +236,58 @@ /obj/machinery/atmospherics/unary/vent_pump/receive_signal(datum/signal/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(signal.data["purge"] != null) + if(!signal.data["tag"] || (signal.data["tag"] != id_tag) || (signal.data["sigtype"]!="command")) + return FALSE + + if("purge" in signal.data) pressure_checks &= ~1 pump_direction = 0 - if(signal.data["stabilize"] != null) + if("stabalize" in signal.data) pressure_checks |= 1 pump_direction = 1 - if(signal.data["power"] != null) + if("power" in signal.data) on = text2num(signal.data["power"]) - if(signal.data["power_toggle"] != null) + if("power_toggle" in signal.data) on = !on - if(signal.data["checks"] != null) - if(signal.data["checks"] == "default") - pressure_checks = pressure_checks_default - else - pressure_checks = text2num(signal.data["checks"]) + if("checks" in signal.data) + pressure_checks = text2num(signal.data["checks"]) - if(signal.data["checks_toggle"] != null) - pressure_checks = (pressure_checks?0:3) + if("checks_toggle" in signal.data) + pressure_checks = (pressure_checks ? 0 : 3) - if(signal.data["direction"] != null) + if("direction" in signal.data) pump_direction = text2num(signal.data["direction"]) - if(signal.data["set_internal_pressure"] != null) - if(signal.data["set_internal_pressure"] == "default") - internal_pressure_bound = internal_pressure_bound_default - else - internal_pressure_bound = between( - 0, - text2num(signal.data["set_internal_pressure"]), - ONE_ATMOSPHERE*50 - ) + if("set_internal_pressure" in signal.data) + internal_pressure_bound = clamp(text2num(signal.data["set_internal_pressure"]), 0, ONE_ATMOSPHERE * 50) - if(signal.data["set_external_pressure"] != null) - if(signal.data["set_external_pressure"] == "default") - external_pressure_bound = external_pressure_bound_default - else - external_pressure_bound = between( - 0, - text2num(signal.data["set_external_pressure"]), - ONE_ATMOSPHERE*50 - ) + if("set_external_pressure" in signal.data) + external_pressure_bound = clamp(text2num(signal.data["set_external_pressure"]), 0, ONE_ATMOSPHERE * 50) - if(signal.data["adjust_internal_pressure"] != null) - internal_pressure_bound = between( - 0, - internal_pressure_bound + text2num(signal.data["adjust_internal_pressure"]), - ONE_ATMOSPHERE*50 - ) + if("reset_external_pressure" in signal.data) + external_pressure_bound = ONE_ATMOSPHERE - if(signal.data["adjust_external_pressure"] != null) + if("adjust_internal_pressure" in signal.data) + internal_pressure_bound = clamp(internal_pressure_bound + text2num(signal.data["adjust_internal_pressure"]), 0, ONE_ATMOSPHERE * 50) + if("adjust_external_pressure" in signal.data) + external_pressure_bound = clamp(external_pressure_bound + text2num(signal.data["adjust_external_pressure"]), 0, ONE_ATMOSPHERE * 50) - external_pressure_bound = between( - 0, - external_pressure_bound + text2num(signal.data["adjust_external_pressure"]), - ONE_ATMOSPHERE*50 - ) - - if(signal.data["init"] != null) + if("init" in signal.data) name = signal.data["init"] return - if(signal.data["status"] != null) - spawn(2) - broadcast_status() + if("status" in signal.data) + broadcast_status() return //do not update_icon - //log_admin("DEBUG \[[world.timeofday]\]: vent_pump/receive_signal: unknown command \"[signal.data["command"]]\"\n[signal.debug_print()]") - spawn(2) - broadcast_status() + broadcast_status() update_icon() - return /obj/machinery/atmospherics/unary/vent_pump/can_crawl_through() return !welded diff --git a/code/ATMOSPHERICS/components/unary_devices/vent_scrubber.dm b/code/ATMOSPHERICS/components/unary_devices/vent_scrubber.dm index a81d5abeee2..c04ccd4233e 100644 --- a/code/ATMOSPHERICS/components/unary_devices/vent_scrubber.dm +++ b/code/ATMOSPHERICS/components/unary_devices/vent_scrubber.dm @@ -41,8 +41,6 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on on = TRUE - scrub_N2O = TRUE - scrub_Toxins = TRUE /obj/machinery/atmospherics/unary/vent_scrubber/New() ..() @@ -283,12 +281,12 @@ /obj/machinery/atmospherics/unary/vent_scrubber/receive_signal(datum/signal/signal) if(stat & (NOPOWER|BROKEN)) return - if(!signal.data["tag"] || (signal.data["tag"] != id_tag) || (signal.data["sigtype"]!="command")) - return 0 + if(!signal.data["tag"] || (signal.data["tag"] != id_tag) || (signal.data["sigtype"] != "command")) + return FALSE - if(signal.data["power"] != null) + if("power" in signal.data) on = text2num(signal.data["power"]) - if(signal.data["power_toggle"] != null) + if("power_toggle" in signal.data) on = !on if("widenet" in signal.data) @@ -296,49 +294,46 @@ if("toggle_widenet" in signal.data) widenet = !widenet - if(signal.data["scrubbing"] != null) + if("scrubbing" in signal.data) scrubbing = text2num(signal.data["scrubbing"]) - if(signal.data["toggle_scrubbing"]) + if("toggle_scrubbing" in signal.data) scrubbing = !scrubbing - if(signal.data["o2_scrub"] != null) + if("o2_scrub" in signal.data) scrub_O2 = text2num(signal.data["o2_scrub"]) - if(signal.data["toggle_o2_scrub"]) + if("toggle_o2_scrub" in signal.data) scrub_O2 = !scrub_O2 - if(signal.data["n2_scrub"] != null) + if("n2_scrub" in signal.data) scrub_N2 = text2num(signal.data["n2_scrub"]) - if(signal.data["toggle_n2_scrub"]) + if("toggle_n2_scrub" in signal.data) scrub_N2 = !scrub_N2 - if(signal.data["co2_scrub"] != null) + if("co2_scrub" in signal.data) scrub_CO2 = text2num(signal.data["co2_scrub"]) - if(signal.data["toggle_co2_scrub"]) + if("toggle_co2_scrub" in signal.data) scrub_CO2 = !scrub_CO2 - if(signal.data["tox_scrub"] != null) + if("tox_scrub" in signal.data) scrub_Toxins = text2num(signal.data["tox_scrub"]) - if(signal.data["toggle_tox_scrub"]) + if("toggle_tox_scrub" in signal.data) scrub_Toxins = !scrub_Toxins - if(signal.data["n2o_scrub"] != null) + if("n2o_scrub" in signal.data) scrub_N2O = text2num(signal.data["n2o_scrub"]) - if(signal.data["toggle_n2o_scrub"]) + if("toggle_n2o_scrub" in signal.data) scrub_N2O = !scrub_N2O - if(signal.data["init"] != null) + if("init" in signal.data) name = signal.data["init"] return - if(signal.data["status"] != null) - spawn(2) - broadcast_status() + if("status" in signal.data) + broadcast_status() return //do not update_icon - spawn(2) - broadcast_status() + broadcast_status() update_icon() - return /obj/machinery/atmospherics/unary/vent_scrubber/power_change() var/old_stat = stat diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm index 3c16c6197f4..c3c901da845 100644 --- a/code/game/machinery/alarm.dm +++ b/code/game/machinery/alarm.dm @@ -424,110 +424,109 @@ if(AALARM_MODE_SCRUBBING) for(var/device_id in alarm_area.air_scrub_names) send_signal(device_id, list( - "power"= 1, - "o2_scrub" = (preset==AALARM_PRESET_VOX), - "n2_scrub" = 0, - "co2_scrub"= 1, - "scrubbing"= 1, - "widenet"= 0, + "power" = TRUE, + "o2_scrub" = (preset == AALARM_PRESET_VOX), + "n2_scrub" = FALSE, + "co2_scrub" = TRUE, + "tox_scrub" = FALSE, + "n2o_scrub" = FALSE, + "scrubbing" = TRUE, + "widenet" = FALSE, )) for(var/device_id in alarm_area.air_vent_names) send_signal(device_id, list( - "power"= 1, - "checks"= 1, - "set_external_pressure"= ONE_ATMOSPHERE + "power" = TRUE, + "checks" = TRUE, + "set_external_pressure" = ONE_ATMOSPHERE )) if(AALARM_MODE_CONTAMINATED) for(var/device_id in alarm_area.air_scrub_names) send_signal(device_id, list( - "power"= 1, - "co2_scrub"= 1, - "tox_scrub"= 1, - "n2o_scrub"= 1, - "scrubbing"= 1, - "widenet"= 1, + "power" = TRUE, + "co2_scrub" = TRUE, + "tox_scrub" = TRUE, + "n2o_scrub" = TRUE, + "scrubbing" = TRUE, + "widenet" = TRUE, )) for(var/device_id in alarm_area.air_vent_names) send_signal(device_id, list( - "power"= 1, - "checks"= 1, - "set_external_pressure"= ONE_ATMOSPHERE + "power" = TRUE, + "checks" = TRUE, + "set_external_pressure" = ONE_ATMOSPHERE )) if(AALARM_MODE_VENTING) for(var/device_id in alarm_area.air_scrub_names) send_signal(device_id, list( - "power"= 1, - "widenet"= 0, - "scrubbing"= 0 + "power" = TRUE, + "widenet" = FALSE, + "scrubbing" = FALSE )) for(var/device_id in alarm_area.air_vent_names) send_signal(device_id, list( - "power"= 1, - "checks"= 1, - "set_external_pressure" = ONE_ATMOSPHERE*2 + "power" = TRUE, + "checks" = TRUE, + "set_external_pressure" = ONE_ATMOSPHERE * 2 )) if(AALARM_MODE_REFILL) for(var/device_id in alarm_area.air_scrub_names) send_signal(device_id, list( - "power"= 1, - "co2_scrub"= 1, - "tox_scrub"= 0, - "n2o_scrub"= 0, - "scrubbing"= 1, - "widenet"= 0, + "power" = TRUE, + "co2_scrub" = TRUE, + "tox_scrub" = FALSE, + "n2o_scrub" = FALSE, + "scrubbing" = TRUE, + "widenet" = FALSE, )) for(var/device_id in alarm_area.air_vent_names) send_signal(device_id, list( - "power"= 1, - "checks"= 1, - "set_external_pressure" = ONE_ATMOSPHERE*3 + "power" = TRUE, + "checks" = TRUE, + "set_external_pressure" = ONE_ATMOSPHERE * 3 )) - if( - AALARM_MODE_PANIC, - AALARM_MODE_REPLACEMENT - ) + if(AALARM_MODE_PANIC, + AALARM_MODE_REPLACEMENT) for(var/device_id in alarm_area.air_scrub_names) send_signal(device_id, list( - "power"= 1, - "widenet"= 1, - "scrubbing"= 0 + "power" = TRUE, + "widenet" = TRUE, + "scrubbing" = FALSE )) for(var/device_id in alarm_area.air_vent_names) send_signal(device_id, list( - "power"= 0 + "power" = FALSE )) - if( - AALARM_MODE_SIPHON - ) + if(AALARM_MODE_SIPHON) for(var/device_id in alarm_area.air_scrub_names) send_signal(device_id, list( - "power"= 1, - "widenet"= 0, - "scrubbing"= 0 + "power" = TRUE, + "widenet" = FALSE, + "scrubbing" = FALSE )) for(var/device_id in alarm_area.air_vent_names) send_signal(device_id, list( - "power"= 0 + "power" = FALSE )) if(AALARM_MODE_OFF) for(var/device_id in alarm_area.air_scrub_names) send_signal(device_id, list( - "power"= 0 + "power" = FALSE )) for(var/device_id in alarm_area.air_vent_names) send_signal(device_id, list( - "power"= 0 + "power" = FALSE )) if(AALARM_MODE_FLOOD) for(var/device_id in alarm_area.air_scrub_names) send_signal(device_id, list( - "power"=0 + "power" = FALSE )) for(var/device_id in alarm_area.air_vent_names) send_signal(device_id, list( - "power"= 1, - "checks"= 0, + "power" = TRUE, + "checks" = 2, + "set_internal_pressure" = FALSE )) /obj/machinery/alarm/proc/apply_danger_level() diff --git a/tgui/packages/tgui/interfaces/AirAlarm.js b/tgui/packages/tgui/interfaces/AirAlarm.js index 0069c760792..1237d7cda34 100644 --- a/tgui/packages/tgui/interfaces/AirAlarm.js +++ b/tgui/packages/tgui/interfaces/AirAlarm.js @@ -303,7 +303,7 @@ const AirAlarmScrubbersView = (props, context) => {