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