diff --git a/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm b/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm
index d2fc8cbed43..0d7291a972f 100644
--- a/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm
+++ b/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm
@@ -110,7 +110,7 @@
radio_controller.remove_object(src, frequency)
frequency = new_frequency
if(frequency)
- radio_connection = radio_controller.add_object(src, frequency)
+ radio_connection = radio_controller.add_object(src, frequency, filter = RADIO_ATMOSIA)
broadcast_status()
if(!radio_connection)
@@ -129,7 +129,7 @@
signal.data["output"] = output_pressure_max
signal.data["external"] = external_pressure_bound
- radio_connection.post_signal(src, signal)
+ radio_connection.post_signal(src, signal, filter = RADIO_ATMOSIA)
return 1
@@ -143,7 +143,7 @@
set_frequency(frequency)
receive_signal(datum/signal/signal)
- if(signal.data["tag"] && (signal.data["tag"] != id))
+ if(!signal.data["tag"] || (signal.data["tag"] != id))
return 0
switch(signal.data["command"])
@@ -193,6 +193,7 @@
external_pressure_bound = number
- if(signal.data["tag"])
- spawn(5) broadcast_status()
+ //if(signal.data["tag"])
+ spawn(5)
+ broadcast_status()
update_icon()
\ No newline at end of file
diff --git a/code/ATMOSPHERICS/components/binary_devices/pump.dm b/code/ATMOSPHERICS/components/binary_devices/pump.dm
index 2fe3d0b12ce..99527a41b11 100644
--- a/code/ATMOSPHERICS/components/binary_devices/pump.dm
+++ b/code/ATMOSPHERICS/components/binary_devices/pump.dm
@@ -77,7 +77,7 @@ obj/machinery/atmospherics/binary/pump
radio_controller.remove_object(src, frequency)
frequency = new_frequency
if(frequency)
- radio_connection = radio_controller.add_object(src, frequency)
+ radio_connection = radio_controller.add_object(src, frequency, filter = RADIO_ATMOSIA)
broadcast_status()
if(!radio_connection)
@@ -92,7 +92,7 @@ obj/machinery/atmospherics/binary/pump
signal.data["power"] = on
signal.data["target_output"] = target_pressure
- radio_connection.post_signal(src, signal)
+ radio_connection.post_signal(src, signal, filter = RADIO_ATMOSIA)
return 1
interact(mob/user as mob)
@@ -114,7 +114,7 @@ obj/machinery/atmospherics/binary/pump
set_frequency(frequency)
receive_signal(datum/signal/signal)
- if(signal.data["tag"] && (signal.data["tag"] != id))
+ if(!signal.data["tag"] || (signal.data["tag"] != id))
return 0
switch(signal.data["command"])
@@ -132,8 +132,8 @@ obj/machinery/atmospherics/binary/pump
number = min(max(number, 0), ONE_ATMOSPHERE*50)
target_pressure = number
-
- broadcast_status()
+ spawn(5)
+ broadcast_status()
update_icon()
return
diff --git a/code/ATMOSPHERICS/components/binary_devices/volume_pump.dm b/code/ATMOSPHERICS/components/binary_devices/volume_pump.dm
index 32531686567..fa9e5278cb1 100644
--- a/code/ATMOSPHERICS/components/binary_devices/volume_pump.dm
+++ b/code/ATMOSPHERICS/components/binary_devices/volume_pump.dm
@@ -89,7 +89,7 @@ obj/machinery/atmospherics/binary/volume_pump
set_frequency(frequency)
receive_signal(datum/signal/signal)
- if(signal.data["tag"] && (signal.data["tag"] != id))
+ if(!signal.data["tag"] || (signal.data["tag"] != id))
return 0
switch(signal.data["command"])
@@ -108,6 +108,6 @@ obj/machinery/atmospherics/binary/volume_pump
transfer_rate = number
- if(signal.data["tag"])
- spawn(5) broadcast_status()
+ spawn(5)
+ broadcast_status()
update_icon()
\ No newline at end of file
diff --git a/code/ATMOSPHERICS/components/filter.dm b/code/ATMOSPHERICS/components/filter.dm
index 9f1ac6b0957..f65e4a0e28f 100644
--- a/code/ATMOSPHERICS/components/filter.dm
+++ b/code/ATMOSPHERICS/components/filter.dm
@@ -45,7 +45,7 @@ Filter types:
radio_controller.remove_object(src, frequency)
frequency = new_frequency
if(frequency)
- radio_connection = radio_controller.add_object(src, frequency)
+ radio_connection = radio_controller.add_object(src, frequency, RADIO_ATMOSIA)
New()
..()
diff --git a/code/ATMOSPHERICS/components/unary/outlet_injector.dm b/code/ATMOSPHERICS/components/unary/outlet_injector.dm
index d59a96eb60b..2efb9506729 100644
--- a/code/ATMOSPHERICS/components/unary/outlet_injector.dm
+++ b/code/ATMOSPHERICS/components/unary/outlet_injector.dm
@@ -95,7 +95,7 @@
set_frequency(frequency)
receive_signal(datum/signal/signal)
- if(signal.data["tag"] && (signal.data["tag"] != id))
+ if(!signal.data["tag"] || (signal.data["tag"] != id) || !signal.data["command"])
return 0
switch(signal.data["command"])
@@ -110,6 +110,7 @@
if("inject")
spawn inject()
+ return
if("set_volume_rate")
var/number = text2num(signal.data["parameter"])
@@ -117,8 +118,14 @@
volume_rate = number
- if(signal.data["tag"])
- spawn(5) broadcast_status()
+ if("status")
+ //broadcast_status
+
+ else
+ log_admin("DEBUG \[[world.timeofday]\]: outlet_injector/receive_signal: unknown command \"[signal.data["command"]]\"\n[signal.debug_print()]")
+ return
+ spawn(5)
+ broadcast_status()
update_icon()
hide(var/i) //to make the little pipe section invisible, the icon changes.
diff --git a/code/ATMOSPHERICS/components/unary/vent_pump.dm b/code/ATMOSPHERICS/components/unary/vent_pump.dm
index 564710a5be0..5de726a9972 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 = null
+ var/id_tag = null
var/on = 0
var/pump_direction = 1 //0 = siphoning, 1 = releasing
@@ -33,7 +33,9 @@
if (A.master)
A = A.master
area_uid = A.uid
- id = "\ref[src]"
+ if (!id_tag)
+ assign_uid()
+ id_tag = num2text(uid)
..()
high_volume
@@ -127,15 +129,17 @@
signal.transmission_method = 1 //radio signal
signal.source = src
- signal.data["area"] = src.area_uid
- signal.data["tag"] = src.id
- signal.data["device"] = "AVP"
- signal.data["power"] = on?("on"):("off")
- signal.data["direction"] = pump_direction?("release"):("siphon")
- signal.data["checks"] = pressure_checks
- signal.data["internal"] = internal_pressure_bound
- signal.data["external"] = external_pressure_bound
- signal.data["timestamp"] = air_master.current_cycle
+ signal.data = list(
+ "area" = src.area_uid,
+ "tag" = src.id_tag,
+ "device" = "AVP",
+ "power" = on?("on"):("off"),
+ "direction" = pump_direction?("release"):("siphon"),
+ "checks" = pressure_checks,
+ "internal" = internal_pressure_bound,
+ "external" = external_pressure_bound,
+ "timestamp" = air_master.current_cycle,
+ )
radio_connection.post_signal(src, signal, radio_filter_out)
@@ -153,7 +157,8 @@
update_icon()
receive_signal(datum/signal/signal)
- if(!signal.data["tag"] || (signal.data["tag"] != id))
+ //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["command"])
return 0
switch(signal.data["command"])
@@ -203,11 +208,17 @@
if("init")
name = signal.data["parameter"]
+ return
- if(signal.data["tag"])
- spawn(2)
- broadcast_status()
- update_icon()
+ if("status")
+ //broadcast_status
+
+ else
+ log_admin("DEBUG \[[world.timeofday]\]: vent_pump/receive_signal: unknown command \"[signal.data["command"]]\"\n[signal.debug_print()]")
+ return
+ spawn(2)
+ broadcast_status()
+ update_icon()
return
hide(var/i) //to make the little pipe section invisible, the icon changes.
diff --git a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm
index f1af3e73b6e..43e1b571fe7 100644
--- a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm
+++ b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm
@@ -28,7 +28,9 @@
if (A.master)
A = A.master
area_uid = A.uid
- id_tag = "\ref[src]"
+ if (!id_tag)
+ assign_uid()
+ id_tag = num2text(uid)
..()
update_icon()
@@ -54,16 +56,18 @@
var/datum/signal/signal = new
signal.transmission_method = 1 //radio signal
signal.source = src
- signal.data["area"] = area_uid
- signal.data["tag"] = id_tag
- signal.data["device"] = "AScr"
- signal.data["timestamp"] = air_master.current_cycle
- signal.data["on"] = on
- signal.data["scrubbing"] = scrubbing
- signal.data["panic"] = panic
- signal.data["filter_co2"] = scrub_CO2
- signal.data["filter_toxins"] = scrub_Toxins
- signal.data["filter_n2o"] = scrub_N2O
+ signal.data = list(
+ "area" = area_uid,
+ "tag" = id_tag,
+ "device" = "AScr",
+ "timestamp" = air_master.current_cycle,
+ "on" = on,
+ "scrubbing" = scrubbing,
+ "panic" = panic,
+ "filter_co2" = scrub_CO2,
+ "filter_toxins" = scrub_Toxins,
+ "filter_n2o" = scrub_N2O,
+ )
radio_connection.post_signal(src, signal, radio_filter_out)
return 1
@@ -154,8 +158,8 @@
*/
receive_signal(datum/signal/signal)
- if(!signal.data["tag"] || (signal.data["tag"] != id_tag))
- return ..()
+ if(!signal.data["tag"] || (signal.data["tag"] != id_tag) || !signal.data["command"])
+ return 0
switch(signal.data["command"])
if("toggle_power")
@@ -179,10 +183,17 @@
volume_rate = initial(volume_rate)
if("init")
name = signal.data["parameter"]
- if(signal.data["tag"])
- spawn(2)
- broadcast_status()
- update_icon()
+ return
+
+ if("status")
+ //broadcast_status
+
+ else
+ log_admin("DEBUG \[[world.timeofday]\]: vent_scrubber/receive_signal: unknown command \"[signal.data["command"]]\"\n[signal.debug_print()]")
+ return
+ spawn(2)
+ broadcast_status()
+ update_icon()
return
power_change()
diff --git a/code/ATMOSPHERICS/components/valve.dm b/code/ATMOSPHERICS/components/valve.dm
index 4ddbf49ccf5..f383927d2e3 100644
--- a/code/ATMOSPHERICS/components/valve.dm
+++ b/code/ATMOSPHERICS/components/valve.dm
@@ -265,7 +265,7 @@ obj/machinery/atmospherics/valve
radio_controller.remove_object(src, frequency)
frequency = new_frequency
if(frequency)
- radio_connection = radio_controller.add_object(src, frequency)
+ radio_connection = radio_controller.add_object(src, frequency, RADIO_ATMOSIA)
var/frequency = 0
var/id = null
@@ -277,7 +277,7 @@ obj/machinery/atmospherics/valve
set_frequency(frequency)
receive_signal(datum/signal/signal)
- if(signal.data["tag"] && (signal.data["tag"] != id))
+ if(!signal.data["tag"] || (signal.data["tag"] != id))
return 0
switch(signal.data["command"])
diff --git a/code/defines/obj/machinery.dm b/code/defines/obj/machinery.dm
index d95a0aa25ca..880f16ea478 100644
--- a/code/defines/obj/machinery.dm
+++ b/code/defines/obj/machinery.dm
@@ -12,6 +12,9 @@
active_power_usage = 0
power_channel = EQUIP
//EQUIP,ENVIRON or LIGHT
+ uid
+ global
+ gl_uid = 1
/obj/machinery/alarm
name = "alarm"
diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm
index 7e1a34193ce..e48d928009e 100644
--- a/code/game/area/areas.dm
+++ b/code/game/area/areas.dm
@@ -215,17 +215,13 @@
// called when power status changes
/area/proc/power_change()
-
-
for(var/area/RA in related)
for(var/obj/machinery/M in RA) // for each machine in the area
M.power_change() // reverify power status (to update icons etc.)
-
- RA.updateicon()
-
+ if (fire || eject || party)
+ RA.updateicon()
/area/proc/usage(var/chan)
-
var/used = 0
switch(chan)
if(LIGHT)
diff --git a/code/game/communications.dm b/code/game/communications.dm
index b4b4ab6ddf9..c2748c90a2d 100644
--- a/code/game/communications.dm
+++ b/code/game/communications.dm
@@ -5,7 +5,7 @@
Note that /obj/item/device/radio handles transmission using nonstandard way.
procs:
- add_object(obj/device as obj, var/new_frequency as num, var/filter as num|null = null)
+ add_object(obj/device as obj, var/new_frequency as num, var/filter as text|null = null)
Adds listening object.
parameters:
device - device receiving signals, must have proc receive_signal (see description below).
@@ -30,7 +30,7 @@
radio_frequency is a global object maintaining list of devices that listening specific frequency.
procs:
- post_signal(obj/source as obj|null, datum/signal/signal, var/filter as num|null = null, var/range as num|null = null)
+ post_signal(obj/source as obj|null, datum/signal/signal, var/filter as text|null = null, var/range as num|null = null)
Sends signal to all devices that wants such signal.
parameters:
source - object, emitted signal. Usually, devices will not receive their own signals.
@@ -114,16 +114,21 @@ var/const/SYND_FREQ = 1213
#define TRANSMISSION_RADIO 1
/* filters */
-var/const/RADIO_TO_AIRALARM = 1
-var/const/RADIO_FROM_AIRALARM = 2
-var/const/RADIO_CHAT = 3
+var/const/RADIO_TO_AIRALARM = "1"
+var/const/RADIO_FROM_AIRALARM = "2"
+var/const/RADIO_CHAT = "3"
+var/const/RADIO_ATMOSIA = "4"
+var/const/RADIO_NAVBEACONS = "5"
+var/const/RADIO_AIRLOCK = "6"
+var/const/RADIO_SECBOT = "7"
+var/const/RADIO_MULEBOT = "8"
var/global/datum/controller/radio/radio_controller
datum/controller/radio
var/list/datum/radio_frequency/frequencies = list()
- proc/add_object(obj/device as obj, var/new_frequency as num, var/filter = null as num|null)
+ proc/add_object(obj/device as obj, var/new_frequency as num, var/filter = null as text|null)
var/f_text = num2text(new_frequency)
var/datum/radio_frequency/frequency = frequencies[f_text]
@@ -157,19 +162,19 @@ datum/radio_frequency
var/list/list/obj/devices = list()
proc
- post_signal(obj/source as obj|null, datum/signal/signal, var/filter = null as num|null, var/range = null as num|null)
-// var/N=0
+ post_signal(obj/source as obj|null, datum/signal/signal, var/filter = null as text|null, var/range = null as num|null)
+ //log_admin("DEBUG \[[world.timeofday]\]: post_signal {source=\"[source]\", [signal.debug_print()], filter=[filter]}")
+// var/N_f=0
+// var/N_nf=0
// var/Nt=0
- var/filter_str = num2text(filter)
var/turf/start_point
if(range)
start_point = get_turf(source)
if(!start_point)
del(signal)
return 0
- if (filter)
- var/list/obj/devices_line = devices[filter_str]
- for(var/obj/device in devices_line)
+ if (filter) //here goes some copypasta. It is for optimisation. -rastaf0
+ for(var/obj/device in devices[filter])
if(device == source)
continue
if(range)
@@ -180,6 +185,18 @@ datum/radio_frequency
if(start_point.z!=end_point.z || get_dist(start_point, end_point) > range)
continue
device.receive_signal(signal, TRANSMISSION_RADIO, frequency)
+ for(var/obj/device in devices["_default"])
+ if(device == source)
+ continue
+ if(range)
+ var/turf/end_point = get_turf(device)
+ if(!end_point)
+ continue
+ //if(max(abs(start_point.x-end_point.x), abs(start_point.y-end_point.y)) <= range)
+ if(start_point.z!=end_point.z || get_dist(start_point, end_point) > range)
+ continue
+ device.receive_signal(signal, TRANSMISSION_RADIO, frequency)
+// N_f++
else
for (var/next_filter in devices)
// var/list/obj/DDD = devices[next_filter]
@@ -195,20 +212,21 @@ datum/radio_frequency
if(start_point.z!=end_point.z || get_dist(start_point, end_point) > range)
continue
device.receive_signal(signal, TRANSMISSION_RADIO, frequency)
-// N++
-// log_admin("DEBUG: post_signal(source=[source] ([source.x], [source.y]),filter=[filter]) frequency=[frequency], N=[N],Nt=[Nt]")
+// N_nf++
+// log_admin("DEBUG: post_signal(source=[source] ([source.x], [source.y], [source.z]),filter=[filter]) frequency=[frequency], N_f=[N_f], N_nf=[N_nf]")
del(signal)
- add_listener(obj/device as obj, var/filter as num|null)
+ add_listener(obj/device as obj, var/filter as text|null)
+ if (!filter)
+ filter = "_default"
//log_admin("add_listener(device=[device],filter=[filter]) frequency=[frequency]")
- var/filter_str = num2text(filter)
- var/list/obj/devices_line = devices[filter_str]
+ var/list/obj/devices_line = devices[filter]
if (!devices_line)
devices_line = new
- devices[filter_str] = devices_line
+ devices[filter] = devices_line
devices_line+=device
// var/list/obj/devices_line___ = devices[filter_str]
// var/l = devices_line___.len
@@ -217,7 +235,14 @@ datum/radio_frequency
remove_listener(obj/device)
for (var/devices_filter in devices)
- devices[devices_filter]-=device
+ var/list/devices_line = devices[devices_filter]
+ devices_line-=device
+ while (null in devices_line)
+ devices_line -= null
+ if (devices_line.len==0)
+ devices -= devices_filter
+ del(devices_line)
+
obj/proc
receive_signal(datum/signal/signal, receive_method, receive_param)
@@ -237,4 +262,12 @@ datum/signal
source = model.source
transmission_method = model.transmission_method
data = model.data
- encryption = model.encryption
\ No newline at end of file
+ encryption = model.encryption
+
+ proc/debug_print()
+ if (source)
+ . = "signal = {source = '[source]' ([source:x],[source:y],[source:z])\n"
+ else
+ . = "signal = {source = '[source]' ()\n"
+ for (var/i in data)
+ . += "data\[\"[i]\"\] = \"[data[i]]\"\n"
diff --git a/code/game/machinery/airlock_control.dm b/code/game/machinery/airlock_control.dm
index b0805525fd8..a3a9517a7db 100644
--- a/code/game/machinery/airlock_control.dm
+++ b/code/game/machinery/airlock_control.dm
@@ -59,7 +59,7 @@ obj/machinery/door/airlock
signal.data["door_status"] = density?("closed"):("open")
signal.data["lock_status"] = locked?("locked"):("unlocked")
- radio_connection.post_signal(src, signal, range = AIRLOCK_CONTROL_RANGE)
+ radio_connection.post_signal(src, signal, range = AIRLOCK_CONTROL_RANGE, filter = RADIO_AIRLOCK)
open(surpress_send)
. = ..()
@@ -74,7 +74,7 @@ obj/machinery/door/airlock
radio_controller.remove_object(src, frequency)
if(new_frequency)
frequency = new_frequency
- radio_connection = radio_controller.add_object(src, frequency)
+ radio_connection = radio_controller.add_object(src, frequency, RADIO_AIRLOCK)
initialize()
if(frequency)
@@ -119,7 +119,7 @@ obj/machinery/airlock_sensor
signal.data["tag"] = master_tag
signal.data["command"] = "cycle"
- radio_connection.post_signal(src, signal, range = AIRLOCK_CONTROL_RANGE)
+ radio_connection.post_signal(src, signal, range = AIRLOCK_CONTROL_RANGE, filter = RADIO_AIRLOCK)
flick("airlock_sensor_cycle", src)
process()
@@ -136,7 +136,7 @@ obj/machinery/airlock_sensor
signal.data["pressure"] = num2text(pressure)
- radio_connection.post_signal(src, signal, range = AIRLOCK_CONTROL_RANGE)
+ radio_connection.post_signal(src, signal, range = AIRLOCK_CONTROL_RANGE, filter = RADIO_AIRLOCK)
update_icon()
@@ -144,7 +144,7 @@ obj/machinery/airlock_sensor
set_frequency(new_frequency)
radio_controller.remove_object(src, frequency)
frequency = new_frequency
- radio_connection = radio_controller.add_object(src, frequency)
+ radio_connection = radio_controller.add_object(src, frequency, RADIO_AIRLOCK)
initialize()
set_frequency(frequency)
@@ -183,14 +183,14 @@ obj/machinery/access_button
signal.data["tag"] = master_tag
signal.data["command"] = command
- radio_connection.post_signal(src, signal, range = AIRLOCK_CONTROL_RANGE)
+ radio_connection.post_signal(src, signal, range = AIRLOCK_CONTROL_RANGE, filter = RADIO_AIRLOCK)
flick("access_button_cycle", src)
proc
set_frequency(new_frequency)
radio_controller.remove_object(src, frequency)
frequency = new_frequency
- radio_connection = radio_controller.add_object(src, frequency)
+ radio_connection = radio_controller.add_object(src, frequency, RADIO_AIRLOCK)
initialize()
set_frequency(frequency)
diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm
index e7d2846d738..b97ec81c5fa 100644
--- a/code/game/machinery/alarm.dm
+++ b/code/game/machinery/alarm.dm
@@ -43,7 +43,7 @@
return
if (signal.data["area"] != area_uid)
return
- if((!sensors[id_tag] && !vents[id_tag]))
+ if(!(id_tag in sensors) && !(id_tag in vents))
register_env_machine(id_tag, signal.data["device"])
if(signal.data["device"] == "AScr")
sensor_information[id_tag] = signal.data
diff --git a/code/game/machinery/atmo_control.dm b/code/game/machinery/atmo_control.dm
index 36e0a4f0c56..9d61fe411ba 100644
--- a/code/game/machinery/atmo_control.dm
+++ b/code/game/machinery/atmo_control.dm
@@ -55,14 +55,14 @@ obj/machinery/air_sensor
signal.data["toxins"] = 0
signal.data["nitrogen"] = 0
signal.data["carbon_dioxide"] = 0
- radio_connection.post_signal(src, signal)
+ radio_connection.post_signal(src, signal, filter = RADIO_ATMOSIA)
proc
set_frequency(new_frequency)
radio_controller.remove_object(src, frequency)
frequency = new_frequency
- radio_connection = radio_controller.add_object(src, frequency)
+ radio_connection = radio_controller.add_object(src, frequency, RADIO_ATMOSIA)
initialize()
set_frequency(frequency)
@@ -178,7 +178,7 @@ obj/machinery/computer/general_air_control
set_frequency(new_frequency)
radio_controller.remove_object(src, frequency)
frequency = new_frequency
- radio_connection = radio_controller.add_object(src, frequency)
+ radio_connection = radio_controller.add_object(src, frequency, RADIO_ATMOSIA)
initialize()
set_frequency(frequency)
@@ -254,9 +254,9 @@ Max Output Pressure: [output_pressure] kPa
"}
signal.source = src
signal.data["tag"] = input_tag
- signal.data["status"] = 1
+ signal.data["command"] = "status"
- radio_connection.post_signal(src, signal)
+ radio_connection.post_signal(src, signal, filter = RADIO_ATMOSIA)
if(href_list["in_toggle_injector"])
input_info = null
@@ -270,7 +270,7 @@ Max Output Pressure: [output_pressure] kPa
"}
signal.data["tag"] = input_tag
signal.data["command"] = "power_toggle"
- radio_connection.post_signal(src, signal)
+ radio_connection.post_signal(src, signal, filter = RADIO_ATMOSIA)
if(href_list["out_refresh_status"])
output_info = null
@@ -282,9 +282,9 @@ Max Output Pressure: [output_pressure] kPa
"}
signal.source = src
signal.data["tag"] = output_tag
- signal.data["status"] = 1
+ signal.data["command"] = "status"
- radio_connection.post_signal(src, signal)
+ radio_connection.post_signal(src, signal, filter = RADIO_ATMOSIA)
if(href_list["out_toggle_power"])
output_info = null
@@ -298,7 +298,7 @@ Max Output Pressure: [output_pressure] kPa
"}
signal.data["tag"] = output_tag
signal.data["command"] = "power_toggle"
- radio_connection.post_signal(src, signal)
+ radio_connection.post_signal(src, signal, filter = RADIO_ATMOSIA)
if(href_list["out_set_pressure"])
output_info = null
@@ -313,7 +313,7 @@ Max Output Pressure: [output_pressure] kPa
"}
signal.data["command"] = "set_internal_pressure"
signal.data["parameter"] = "[pressure_setting]"
- radio_connection.post_signal(src, signal)
+ radio_connection.post_signal(src, signal, filter = RADIO_ATMOSIA)
if(href_list["adj_pressure"])
var/change = text2num(href_list["adj_pressure"])
@@ -393,7 +393,7 @@ Max Output Pressure: [output_pressure] kPa
"}
else
signal.data["command"] = "power_off"
- radio_connection.post_signal(src, signal)
+ radio_connection.post_signal(src, signal, filter = RADIO_ATMOSIA)
..()
@@ -443,9 +443,9 @@ Rate: [volume_rate] L/sec
"}
signal.source = src
signal.data["tag"] = device_tag
- signal.data["status"] = 1
+ signal.data["command"] = "status"
- radio_connection.post_signal(src, signal)
+ radio_connection.post_signal(src, signal, filter = RADIO_ATMOSIA)
if(href_list["toggle_automation"])
automation = !automation
@@ -462,7 +462,7 @@ Rate: [volume_rate] L/sec
"}
signal.data["tag"] = device_tag
signal.data["command"] = "power_toggle"
- radio_connection.post_signal(src, signal)
+ radio_connection.post_signal(src, signal, filter = RADIO_ATMOSIA)
if(href_list["injection"])
if(!radio_connection)
@@ -475,7 +475,7 @@ Rate: [volume_rate] L/sec
"}
signal.data["tag"] = device_tag
signal.data["command"] = "inject"
- radio_connection.post_signal(src, signal)
+ radio_connection.post_signal(src, signal, filter = RADIO_ATMOSIA)
/obj/machinery/computer/atmos_alert
var/datum/radio_frequency/radio_connection
@@ -504,7 +504,7 @@ Rate: [volume_rate] L/sec
"}
set_frequency(new_frequency)
radio_controller.remove_object(src, receive_frequency)
receive_frequency = new_frequency
- radio_connection = radio_controller.add_object(src, receive_frequency)
+ radio_connection = radio_controller.add_object(src, receive_frequency, RADIO_ATMOSIA)
attack_hand(mob/user)
diff --git a/code/game/machinery/atmoalter/canister.dm b/code/game/machinery/atmoalter/canister.dm
index 097b3170857..4a1be3644ed 100644
--- a/code/game/machinery/atmoalter/canister.dm
+++ b/code/game/machinery/atmoalter/canister.dm
@@ -277,6 +277,20 @@ Release Pressure: -