From 4af5412cb066c9105a6ccc23f7be81b1a42b1b8d Mon Sep 17 00:00:00 2001 From: PJB3005 Date: Sun, 14 Jun 2015 18:26:46 +0200 Subject: [PATCH] Fixes #4951 --- .../components/unary/outlet_injector.dm | 4 +- .../components/unary/vent_pump.dm | 2 +- .../components/unary/vent_scrubber.dm | 2 +- .../implementation/injectors.dm | 60 +++++++++---------- .../implementation/scrubbers.dm | 4 +- .../implementation/vent_pump.dm | 2 +- html/changelogs/PJB3005-muhAAC.yml | 3 +- 7 files changed, 39 insertions(+), 38 deletions(-) diff --git a/code/ATMOSPHERICS/components/unary/outlet_injector.dm b/code/ATMOSPHERICS/components/unary/outlet_injector.dm index 4404c6c6541..d5467ad6ee3 100644 --- a/code/ATMOSPHERICS/components/unary/outlet_injector.dm +++ b/code/ATMOSPHERICS/components/unary/outlet_injector.dm @@ -17,7 +17,7 @@ var/datum/radio_frequency/radio_connection level = 1 - + machine_flags = MULTITOOL_MENU /obj/machinery/atmospherics/unary/outlet_injector/update_icon() @@ -109,7 +109,7 @@ set_frequency(frequency) /obj/machinery/atmospherics/unary/outlet_injector/receive_signal(datum/signal/signal) - if(!signal.data["tag"] || (signal.data["tag"] != id_tag) || (signal.data["sigtype"]!="command")) + if(!signal.data["tag"] || (signal.data["tag"] != id_tag) || (signal.data["sigtype"]!="command") || (signal.data["type"] && signal.data["type"] != "injector")) return 0 if("power" in signal.data) diff --git a/code/ATMOSPHERICS/components/unary/vent_pump.dm b/code/ATMOSPHERICS/components/unary/vent_pump.dm index f2e9b7c442b..081287aca46 100644 --- a/code/ATMOSPHERICS/components/unary/vent_pump.dm +++ b/code/ATMOSPHERICS/components/unary/vent_pump.dm @@ -204,7 +204,7 @@ 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")) + if(!signal.data["tag"] || (signal.data["tag"] != id_tag) || (signal.data["sigtype"]!="command") || (signal.data["type"] && signal.data["type"] != "vent")) return 0 var/handled=0 diff --git a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm index 9599d308999..780079bd2a9 100644 --- a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm +++ b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm @@ -217,7 +217,7 @@ /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")) + if(!signal.data["tag"] || (signal.data["tag"] != id_tag) || (signal.data["sigtype"]!="command") || (signal.data["type"] && signal.data["type"] != "scrubber")) return 0 if(signal.data["power"] != null) diff --git a/code/modules/atmos_automation/implementation/injectors.dm b/code/modules/atmos_automation/implementation/injectors.dm index 736c2c0d6f2..703270ffbbc 100644 --- a/code/modules/atmos_automation/implementation/injectors.dm +++ b/code/modules/atmos_automation/implementation/injectors.dm @@ -4,41 +4,41 @@ //////////////////////////////////////////// /datum/automation/set_injector_power name = "Injector: Power" - var/injector=null - var/state=0 + var/injector = null + var/state = 0 - Export() - var/list/json = ..() - json["injector"]=injector - json["state"]=state - return json +/datum/automation/set_injector_power/Export() + var/list/json = ..() + json["injector"] = injector + json["state"] = state + return json - Import(var/list/json) - ..(json) - injector = json["injector"] - state = text2num(json["state"]) +/datum/automation/set_injector_power/Import(var/list/json) + ..(json) + injector = json["injector"] + state = text2num(json["state"]) - process() - if(injector) - parent.send_signal(list ("tag" = injector, "power"=state)) - return 0 +/datum/automation/set_injector_power/process() + if(injector) + parent.send_signal(list ("tag" = injector, "power" = state, "type" = "injector")) + return 0 - GetText() - return "Set injector [fmtString(injector)] power to [state ? "on" : "off"]." +/datum/automation/set_injector_power/GetText() + return "Set injector [fmtString(injector)] power to [state ? "on" : "off"]." - Topic(href,href_list) - if(href_list["toggle_state"]) - state = !state - parent.updateUsrDialog() - return 1 - if(href_list["set_injector"]) - var/list/injector_names=list() - for(var/obj/machinery/atmospherics/unary/outlet_injector/I in atmos_machines) - if(!isnull(I.id_tag) && I.frequency == parent.frequency) - injector_names|=I.id_tag - injector = input("Select an injector:", "Sensor Data", injector) as null|anything in injector_names - parent.updateUsrDialog() - return 1 +/datum/automation/set_injector_power/Topic(href,href_list) + if(href_list["toggle_state"]) + state = !state + parent.updateUsrDialog() + return 1 + if(href_list["set_injector"]) + var/list/injector_names=list() + for(var/obj/machinery/atmospherics/unary/outlet_injector/I in atmos_machines) + if(!isnull(I.id_tag) && I.frequency == parent.frequency) + injector_names|=I.id_tag + injector = input("Select an injector:", "Sensor Data", injector) as null|anything in injector_names + parent.updateUsrDialog() + return 1 /datum/automation/set_injector_rate name = "Injector: Rate" diff --git a/code/modules/atmos_automation/implementation/scrubbers.dm b/code/modules/atmos_automation/implementation/scrubbers.dm index 69e64f6de8e..6ab79b778b5 100644 --- a/code/modules/atmos_automation/implementation/scrubbers.dm +++ b/code/modules/atmos_automation/implementation/scrubbers.dm @@ -21,7 +21,7 @@ /datum/automation/set_scrubber_mode/process() if(scrubber) - parent.send_signal(list ("tag" = scrubber, "sigtype"="command", "scrubbing"=mode), RADIO_FROM_AIRALARM) + parent.send_signal(list ("tag" = scrubber, "sigtype"="command", "scrubbing" = mode), RADIO_FROM_AIRALARM) return 0 /datum/automation/set_scrubber_mode/GetText() @@ -64,7 +64,7 @@ /datum/automation/set_scrubber_power/process() if(scrubber) - parent.send_signal(list ("tag" = scrubber, "sigtype"="command", "power"=state), RADIO_FROM_AIRALARM) + parent.send_signal(list ("tag" = scrubber, "sigtype"="command", "power" = state, "type" = "scrubber"), RADIO_FROM_AIRALARM) /datum/automation/set_scrubber_power/GetText() return "Set Scrubber [fmtString(scrubber)] power to [state ? "on" : "off"]." diff --git a/code/modules/atmos_automation/implementation/vent_pump.dm b/code/modules/atmos_automation/implementation/vent_pump.dm index 0173077c9fe..eea180a71ca 100644 --- a/code/modules/atmos_automation/implementation/vent_pump.dm +++ b/code/modules/atmos_automation/implementation/vent_pump.dm @@ -86,7 +86,7 @@ /datum/automation/set_vent_pump_power/process() if(vent_pump) - parent.send_signal(list ("tag" = vent_pump, "power"=state), filter = (mode ? RADIO_ATMOSIA : RADIO_FROM_AIRALARM)) + parent.send_signal(list ("tag" = vent_pump, "power" = state, "type" = "vent"), filter = (mode ? RADIO_ATMOSIA : RADIO_FROM_AIRALARM)) /datum/automation/set_vent_pump_power/GetText() return "Set [mode ? "Dual-Port" : "Unary"] vent pump [fmtString(vent_pump)] power to [state ? "on" : "off"]." diff --git a/html/changelogs/PJB3005-muhAAC.yml b/html/changelogs/PJB3005-muhAAC.yml index 3e3d5fef33f..53b0b70f3c8 100644 --- a/html/changelogs/PJB3005-muhAAC.yml +++ b/html/changelogs/PJB3005-muhAAC.yml @@ -1,4 +1,5 @@ author: PJB3005 delete-after: true changes: - - bugfix: The AAC's vent pump mode & power automations can now interact with DP vents again. \ No newline at end of file + - bugfix: The AAC's vent pump mode & power automations can now interact with DP vents again. + - bugfix: The AAC's scrubber power automation will no longer toggle the power of vents with the same ID and frequency. \ No newline at end of file