diff --git a/code/ATMOSPHERICS/atmospherics.dm b/code/ATMOSPHERICS/atmospherics.dm index be820b9b6a1..6198ecc530f 100644 --- a/code/ATMOSPHERICS/atmospherics.dm +++ b/code/ATMOSPHERICS/atmospherics.dm @@ -63,6 +63,12 @@ Pipelines + Other Objects -> Pipe network QDEL_NULL(pipe_image) //we have to qdel it, or it might keep a ref somewhere else return ..() +/obj/machinery/atmospherics/set_frequency(new_frequency) + SSradio.remove_object(src, frequency) + frequency = new_frequency + if(frequency) + radio_connection = SSradio.add_object(src, frequency, RADIO_ATMOSIA) + // Icons/overlays/underlays /obj/machinery/atmospherics/update_icon() var/turf/T = get_turf(loc) diff --git a/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm b/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm index e3da9ae0bc1..11e9897136f 100644 --- a/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm +++ b/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm @@ -23,9 +23,8 @@ var/input_pressure_min = 0 var/output_pressure_max = 0 - var/frequency = ATMOS_VENTSCRUB + frequency = ATMOS_VENTSCRUB var/id_tag = null - var/datum/radio_frequency/radio_connection settagwhitelist = list("id_tag") @@ -160,13 +159,6 @@ air_update_turf() return 1 -//Radio remote control -/obj/machinery/atmospherics/binary/dp_vent_pump/proc/set_frequency(new_frequency) - SSradio.remove_object(src, frequency) - frequency = new_frequency - if(frequency) - radio_connection = SSradio.add_object(src, frequency, filter = RADIO_ATMOSIA) - /obj/machinery/atmospherics/binary/dp_vent_pump/proc/broadcast_status() if(!radio_connection) return 0 diff --git a/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm b/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm index ae099bf6d36..c8a156991ff 100644 --- a/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm +++ b/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm @@ -12,9 +12,7 @@ var/on = 0 var/target_pressure = ONE_ATMOSPHERE - var/frequency = 0 var/id = null - var/datum/radio_frequency/radio_connection /obj/machinery/atmospherics/binary/passive_gate/atmos_init() ..() @@ -69,13 +67,6 @@ parent2.update = 1 return 1 -//Radio remote control -/obj/machinery/atmospherics/binary/passive_gate/proc/set_frequency(new_frequency) - SSradio.remove_object(src, frequency) - frequency = new_frequency - if(frequency) - radio_connection = SSradio.add_object(src, frequency, filter = RADIO_ATMOSIA) - /obj/machinery/atmospherics/binary/passive_gate/proc/broadcast_status() if(!radio_connection) return 0 diff --git a/code/ATMOSPHERICS/components/binary_devices/pump.dm b/code/ATMOSPHERICS/components/binary_devices/pump.dm index 5178507bbc4..7f758afc02e 100644 --- a/code/ATMOSPHERICS/components/binary_devices/pump.dm +++ b/code/ATMOSPHERICS/components/binary_devices/pump.dm @@ -24,9 +24,7 @@ Thus, the two variables affect pump operation are set in New(): var/on = 0 var/target_pressure = ONE_ATMOSPHERE - var/frequency = 0 var/id = null - var/datum/radio_frequency/radio_connection /obj/machinery/atmospherics/binary/pump/CtrlClick(mob/living/user) if(!istype(user) || user.incapacitated()) @@ -120,13 +118,6 @@ Thus, the two variables affect pump operation are set in New(): parent2.update = 1 return 1 -//Radio remote control -/obj/machinery/atmospherics/binary/pump/proc/set_frequency(new_frequency) - SSradio.remove_object(src, frequency) - frequency = new_frequency - if(frequency) - radio_connection = SSradio.add_object(src, frequency, filter = RADIO_ATMOSIA) - /obj/machinery/atmospherics/binary/pump/proc/broadcast_status() if(!radio_connection) return 0 diff --git a/code/ATMOSPHERICS/components/binary_devices/valve.dm b/code/ATMOSPHERICS/components/binary_devices/valve.dm index 0f36a749722..dd43bee7b4f 100644 --- a/code/ATMOSPHERICS/components/binary_devices/valve.dm +++ b/code/ATMOSPHERICS/components/binary_devices/valve.dm @@ -68,9 +68,8 @@ desc = "A digitally controlled valve." icon = 'icons/atmos/digital_valve.dmi' - var/frequency = ATMOS_VENTSCRUB + frequency = ATMOS_VENTSCRUB var/id_tag = null - var/datum/radio_frequency/radio_connection settagwhitelist = list("id_tag") /obj/machinery/atmospherics/binary/valve/digital/Destroy() @@ -105,12 +104,6 @@ if(!powered()) icon_state = "valve[open]nopower" -/obj/machinery/atmospherics/binary/valve/digital/proc/set_frequency(new_frequency) - SSradio.remove_object(src, frequency) - frequency = new_frequency - if(frequency) - radio_connection = SSradio.add_object(src, frequency, RADIO_ATMOSIA) - /obj/machinery/atmospherics/binary/valve/digital/atmos_init() ..() if(frequency) diff --git a/code/ATMOSPHERICS/components/binary_devices/volume_pump.dm b/code/ATMOSPHERICS/components/binary_devices/volume_pump.dm index 12079341143..8277e140ace 100644 --- a/code/ATMOSPHERICS/components/binary_devices/volume_pump.dm +++ b/code/ATMOSPHERICS/components/binary_devices/volume_pump.dm @@ -24,9 +24,7 @@ Thus, the two variables affect pump operation are set in New(): var/on = 0 var/transfer_rate = 200 - var/frequency = 0 var/id = null - var/datum/radio_frequency/radio_connection /obj/machinery/atmospherics/binary/volume_pump/CtrlClick(mob/living/user) if(!istype(user) || user.incapacitated()) @@ -123,12 +121,6 @@ Thus, the two variables affect pump operation are set in New(): return 1 -/obj/machinery/atmospherics/binary/volume_pump/proc/set_frequency(new_frequency) - SSradio.remove_object(src, frequency) - frequency = new_frequency - if(frequency) - radio_connection = SSradio.add_object(src, frequency) - /obj/machinery/atmospherics/binary/volume_pump/proc/broadcast_status() if(!radio_connection) return 0 diff --git a/code/ATMOSPHERICS/components/trinary_devices/filter.dm b/code/ATMOSPHERICS/components/trinary_devices/filter.dm old mode 100755 new mode 100644 index d248a2e7285..9fd4e00f299 --- a/code/ATMOSPHERICS/components/trinary_devices/filter.dm +++ b/code/ATMOSPHERICS/components/trinary_devices/filter.dm @@ -21,10 +21,6 @@ var/target_pressure = ONE_ATMOSPHERE /// The type of gas we want to filter. Valid values that go here are from the `FILTER` defines at the top of the file. var/filter_type = FILTER_TOXINS - /// The frequency of the filter. Used with `radio_connection`. - var/frequency = NONE - /// A reference to the filter's `datum/radio_frequency`. - var/datum/radio_frequency/radio_connection /// A list of available filter options. Used with `tgui_data`. var/list/filter_list = list( "Nothing" = FILTER_NOTHING, @@ -85,12 +81,6 @@ icon_state = "mmap" flipped = 1 -/obj/machinery/atmospherics/trinary/filter/proc/set_frequency(new_frequency) - SSradio.remove_object(src, frequency) - frequency = new_frequency - if(frequency) - radio_connection = SSradio.add_object(src, frequency, RADIO_ATMOSIA) - /obj/machinery/atmospherics/trinary/filter/update_icon() ..() diff --git a/code/ATMOSPHERICS/components/trinary_devices/tvalve.dm b/code/ATMOSPHERICS/components/trinary_devices/tvalve.dm index 31039a412d5..656f80dddf5 100644 --- a/code/ATMOSPHERICS/components/trinary_devices/tvalve.dm +++ b/code/ATMOSPHERICS/components/trinary_devices/tvalve.dm @@ -104,9 +104,7 @@ desc = "A digitally controlled valve." icon = 'icons/atmos/digital_tvalve.dmi' - var/frequency = 0 var/id = null - var/datum/radio_frequency/radio_connection /obj/machinery/atmospherics/trinary/tvalve/digital/Destroy() if(SSradio) @@ -135,7 +133,7 @@ /obj/machinery/atmospherics/trinary/tvalve/digital/update_icon() ..() - + if(!powered()) icon_state = "tvalvenopower" @@ -150,13 +148,6 @@ return ..() -//Radio remote control -/obj/machinery/atmospherics/trinary/tvalve/digital/proc/set_frequency(new_frequency) - SSradio.remove_object(src, frequency) - frequency = new_frequency - if(frequency) - radio_connection = SSradio.add_object(src, frequency, RADIO_ATMOSIA) - /obj/machinery/atmospherics/trinary/tvalve/digital/atmos_init() ..() if(frequency) diff --git a/code/ATMOSPHERICS/components/unary_devices/outlet_injector.dm b/code/ATMOSPHERICS/components/unary_devices/outlet_injector.dm index a312a28b36e..8a2e383a710 100644 --- a/code/ATMOSPHERICS/components/unary_devices/outlet_injector.dm +++ b/code/ATMOSPHERICS/components/unary_devices/outlet_injector.dm @@ -18,10 +18,7 @@ var/volume_rate = 50 - var/frequency = 0 var/id - var/id_tag = null - var/datum/radio_frequency/radio_connection Mtoollink = 1 settagwhitelist = list("id_tag") @@ -98,12 +95,6 @@ flick("inject", src) -/obj/machinery/atmospherics/unary/outlet_injector/proc/set_frequency(new_frequency) - SSradio.remove_object(src, frequency) - frequency = new_frequency - if(frequency) - radio_connection = SSradio.add_object(src, frequency) - /obj/machinery/atmospherics/unary/outlet_injector/proc/broadcast_status() if(!radio_connection) return 0 @@ -120,7 +111,7 @@ "sigtype" = "status" ) - radio_connection.post_signal(src, signal) + radio_connection.post_signal(src, signal, RADIO_ATMOSIA) return 1 diff --git a/code/ATMOSPHERICS/components/unary_devices/unary_base.dm b/code/ATMOSPHERICS/components/unary_devices/unary_base.dm index 14c93dd0490..08af292d62e 100644 --- a/code/ATMOSPHERICS/components/unary_devices/unary_base.dm +++ b/code/ATMOSPHERICS/components/unary_devices/unary_base.dm @@ -2,7 +2,7 @@ dir = SOUTH initialize_directions = SOUTH layer = TURF_LAYER+0.1 - + var/id_tag var/datum/gas_mixture/air_contents var/obj/machinery/atmospherics/node diff --git a/code/ATMOSPHERICS/components/unary_devices/vent_pump.dm b/code/ATMOSPHERICS/components/unary_devices/vent_pump.dm index b2f575b2a57..0b603c482d4 100644 --- a/code/ATMOSPHERICS/components/unary_devices/vent_pump.dm +++ b/code/ATMOSPHERICS/components/unary_devices/vent_pump.dm @@ -17,7 +17,6 @@ var/area/initial_loc var/area_uid - var/id_tag = null req_one_access_txt = "24;10" @@ -40,8 +39,7 @@ var/welded = 0 // Added for aliens -- TLE var/weld_burst_pressure = 50 * ONE_ATMOSPHERE //the (internal) pressure at which welded covers will burst off - var/frequency = ATMOS_VENTSCRUB - var/datum/radio_frequency/radio_connection + frequency = ATMOS_VENTSCRUB Mtoollink = 1 var/radio_filter_out @@ -181,7 +179,7 @@ //Radio remote control -/obj/machinery/atmospherics/unary/vent_pump/proc/set_frequency(new_frequency) +/obj/machinery/atmospherics/unary/vent_pump/set_frequency(new_frequency) SSradio.remove_object(src, frequency) frequency = new_frequency if(frequency) @@ -233,7 +231,7 @@ radio_filter_out = frequency==ATMOS_VENTSCRUB?(RADIO_TO_AIRALARM):null if(frequency) set_frequency(frequency) - src.broadcast_status() + broadcast_status() /obj/machinery/atmospherics/unary/vent_pump/receive_signal(datum/signal/signal) if(stat & (NOPOWER|BROKEN)) diff --git a/code/ATMOSPHERICS/components/unary_devices/vent_scrubber.dm b/code/ATMOSPHERICS/components/unary_devices/vent_scrubber.dm index 474b6c1b7f5..b11efce27a9 100644 --- a/code/ATMOSPHERICS/components/unary_devices/vent_scrubber.dm +++ b/code/ATMOSPHERICS/components/unary_devices/vent_scrubber.dm @@ -15,9 +15,8 @@ can_unwrench = 1 var/area/initial_loc - var/id_tag = null - var/frequency = ATMOS_VENTSCRUB - var/datum/radio_frequency/radio_connection + + frequency = ATMOS_VENTSCRUB var/list/turf/simulated/adjacent_turfs = list() @@ -135,7 +134,7 @@ else add_underlay(T,, dir) -/obj/machinery/atmospherics/unary/vent_scrubber/proc/set_frequency(new_frequency) +/obj/machinery/atmospherics/unary/vent_scrubber/set_frequency(new_frequency) SSradio.remove_object(src, frequency) frequency = new_frequency radio_connection = SSradio.add_object(src, frequency, radio_filter_in) diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm index 8142a2dd3e8..e9661508cf3 100644 --- a/code/game/machinery/alarm.dm +++ b/code/game/machinery/alarm.dm @@ -83,8 +83,8 @@ armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 100, "bomb" = 0, "bio" = 100, "rad" = 100, "fire" = 90, "acid" = 30) resistance_flags = FIRE_PROOF siemens_strength = 1 + frequency = ATMOS_VENTSCRUB var/alarm_id = null - var/frequency = ATMOS_VENTSCRUB //var/skipprocess = 0 //Experimenting var/alarm_frequency = ATMOS_FIRE_FREQ var/remote_control = TRUE @@ -113,8 +113,6 @@ var/target_temperature = T20C var/regulating_temperature = 0 - var/datum/radio_frequency/radio_connection - var/list/TLV = list() var/report_danger_level = TRUE @@ -395,7 +393,7 @@ continue send_signal(id_tag, list("status") ) -/obj/machinery/alarm/proc/set_frequency(new_frequency) +/obj/machinery/alarm/set_frequency(new_frequency) SSradio.remove_object(src, frequency) frequency = new_frequency radio_connection = SSradio.add_object(src, frequency, RADIO_TO_AIRALARM) diff --git a/code/game/machinery/atmo_control.dm b/code/game/machinery/atmo_control.dm index 3f5fbc374a6..1a08002c9db 100644 --- a/code/game/machinery/atmo_control.dm +++ b/code/game/machinery/atmo_control.dm @@ -10,7 +10,7 @@ var/bolts = 1 var/id_tag - var/frequency = ATMOS_VENTSCRUB + frequency = ATMOS_VENTSCRUB Mtoollink = 1 settagwhitelist = list("id_tag") @@ -25,8 +25,6 @@ // 16 for nitrogen concentration // 32 for carbon dioxide concentration - var/datum/radio_frequency/radio_connection - /obj/machinery/air_sensor/update_icon() icon_state = "gsensor[on]" @@ -120,8 +118,7 @@ signal.data["sigtype"]="status" radio_connection.post_signal(src, signal, filter = RADIO_ATMOSIA) - -/obj/machinery/air_sensor/proc/set_frequency(new_frequency) +/obj/machinery/air_sensor/set_frequency(new_frequency) SSradio.remove_object(src, frequency) frequency = new_frequency radio_connection = SSradio.add_object(src, frequency, RADIO_ATMOSIA) @@ -148,13 +145,12 @@ name = "Computer" - var/frequency = ATMOS_VENTSCRUB + frequency = ATMOS_VENTSCRUB var/show_sensors=1 var/list/sensors = list() Mtoollink = 1 var/list/sensor_information = list() - var/datum/radio_frequency/radio_connection /obj/machinery/computer/general_air_control/Destroy() if(SSradio) @@ -268,10 +264,10 @@ return output -/obj/machinery/computer/general_air_control/proc/set_frequency(new_frequency) - SSradio.remove_object(src, frequency) - frequency = new_frequency - radio_connection = SSradio.add_object(src, frequency, RADIO_ATMOSIA) +/obj/machinery/computer/general_air_control/set_frequency(new_frequency) + SSradio.remove_object(src, frequency) + frequency = new_frequency + radio_connection = SSradio.add_object(src, frequency, RADIO_ATMOSIA) /obj/machinery/computer/general_air_control/Initialize() ..() @@ -405,24 +401,29 @@ return dat -/obj/machinery/computer/general_air_control/large_tank_control/linkWith(mob/user, obj/O, list/context) - if(context["slot"]=="input" && is_type_in_list(O,input_linkable)) +/obj/machinery/computer/general_air_control/large_tank_control/linkWith(mob/user, obj/machinery/atmospherics/unary/O, list/context) + if(!is_type_in_list(O, input_linkable)) + return FALSE + + if(context["slot"] == "input") + input_tag = O.id_tag input_info = null - if(istype(O,/obj/machinery/atmospherics/unary/vent_pump)) - send_signal(list("tag"=input_tag, - "direction"=1, // Release - "checks" =0 // No pressure checks. + if(istype(O, /obj/machinery/atmospherics/unary/vent_pump)) + send_signal(list("tag" = input_tag, + "direction" = 1, // Release + "checks" = 0 // No pressure checks. )) - return 1 - if(context["slot"]=="output" && is_type_in_list(O,output_linkable)) - output_tag = O:id_tag + return TRUE + + if(context["slot"] == "output") + output_tag = O.id_tag output_info = null - if(istype(O,/obj/machinery/atmospherics/unary/vent_pump)) - send_signal(list("tag"=output_tag, - "direction"=0, // Siphon - "checks" =2 // Internal pressure checks. + if(istype(O, /obj/machinery/atmospherics/unary/vent_pump)) + send_signal(list("tag" = output_tag, + "direction" = 0, // Siphon + "checks" = 2 // Internal pressure checks. )) - return 1 + return TRUE /obj/machinery/computer/general_air_control/large_tank_control/unlinkFrom(mob/user, obj/O) if("id_tag" in O.vars) diff --git a/code/game/machinery/atmoalter/meter.dm b/code/game/machinery/atmoalter/meter.dm index a20b47b30db..7c72c9e2b09 100644 --- a/code/game/machinery/atmoalter/meter.dm +++ b/code/game/machinery/atmoalter/meter.dm @@ -11,7 +11,7 @@ max_integrity = 150 armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 100, "bomb" = 0, "bio" = 100, "rad" = 100, "fire" = 40, "acid" = 0) power_channel = ENVIRON - var/frequency = ATMOS_DISTRO_FREQ + frequency = ATMOS_DISTRO_FREQ var/id var/id_tag use_power = IDLE_POWER_USE diff --git a/code/game/machinery/buttons.dm b/code/game/machinery/buttons.dm index 5ec4206734c..035739ba90f 100644 --- a/code/game/machinery/buttons.dm +++ b/code/game/machinery/buttons.dm @@ -18,9 +18,6 @@ active_power_usage = 4 resistance_flags = LAVA_PROOF | FIRE_PROOF var/range = 7 - - var/datum/radio_frequency/radio_connection - var/frequency = 0 var/logic_id_tag = "default" //Defines the ID tag to send logic signals to, so you don't have to unlink from doors and stuff var/logic_connect = 0 //Set this to allow the button to send out logic signals when pressed in addition to normal stuff @@ -45,7 +42,7 @@ ..() set_frequency(frequency) -/obj/machinery/driver_button/proc/set_frequency(new_frequency) +/obj/machinery/driver_button/set_frequency(new_frequency) SSradio.remove_object(src, frequency) frequency = new_frequency radio_connection = SSradio.add_object(src, frequency, RADIO_LOGIC) diff --git a/code/game/machinery/computer/atmos_alert.dm b/code/game/machinery/computer/atmos_alert.dm index 0be4aa0449b..2dd237e838f 100644 --- a/code/game/machinery/computer/atmos_alert.dm +++ b/code/game/machinery/computer/atmos_alert.dm @@ -10,7 +10,6 @@ var/list/priority_alarms = list() var/list/minor_alarms = list() var/receive_frequency = ATMOS_FIRE_FREQ - var/datum/radio_frequency/radio_connection /obj/machinery/computer/atmos_alert/Initialize(mapload) . = ..() @@ -57,7 +56,7 @@ . = TRUE update_icon() -/obj/machinery/computer/atmos_alert/proc/set_frequency(new_frequency) +/obj/machinery/computer/atmos_alert/set_frequency(new_frequency) SSradio.remove_object(src, receive_frequency) receive_frequency = new_frequency radio_connection = SSradio.add_object(src, receive_frequency, RADIO_ATMOSIA) diff --git a/code/game/machinery/doors/airlock_control.dm b/code/game/machinery/doors/airlock_control.dm index 8113a9caace..47e6e4dc85b 100644 --- a/code/game/machinery/doors/airlock_control.dm +++ b/code/game/machinery/doors/airlock_control.dm @@ -3,9 +3,7 @@ // This code allows for airlocks to be controlled externally by setting an id_tag and comm frequency (disables ID access) /obj/machinery/door/airlock var/id_tag - var/frequency var/shockedby = list() - var/datum/radio_frequency/radio_connection var/cur_command = null //the command the door is currently attempting to complete /obj/machinery/door/airlock/process() @@ -125,7 +123,7 @@ send_status(1) return -/obj/machinery/door/airlock/proc/set_frequency(new_frequency) +/obj/machinery/door/airlock/set_frequency(new_frequency) SSradio.remove_object(src, frequency) if(new_frequency) frequency = new_frequency @@ -155,11 +153,9 @@ var/id_tag var/master_tag - var/frequency = 1379 + frequency = 1379 var/command = "cycle" - var/datum/radio_frequency/radio_connection - var/on = 1 var/alert = 0 var/previousPressure @@ -202,7 +198,7 @@ update_icon() -/obj/machinery/airlock_sensor/proc/set_frequency(new_frequency) +/obj/machinery/airlock_sensor/set_frequency(new_frequency) SSradio.remove_object(src, frequency) frequency = new_frequency radio_connection = SSradio.add_object(src, frequency, RADIO_AIRLOCK) @@ -236,11 +232,8 @@ power_channel = ENVIRON var/master_tag - var/frequency = AIRLOCK_FREQ + frequency = AIRLOCK_FREQ var/command = "cycle" - - var/datum/radio_frequency/radio_connection - var/on = 1 /obj/machinery/access_button/update_icon() @@ -275,7 +268,7 @@ radio_connection.post_signal(src, signal, range = AIRLOCK_CONTROL_RANGE, filter = RADIO_AIRLOCK) flick("access_button_cycle", src) -/obj/machinery/access_button/proc/set_frequency(new_frequency) +/obj/machinery/access_button/set_frequency(new_frequency) SSradio.remove_object(src, frequency) frequency = new_frequency radio_connection = SSradio.add_object(src, frequency, RADIO_AIRLOCK) diff --git a/code/game/machinery/embedded_controller/embedded_controller_base.dm b/code/game/machinery/embedded_controller/embedded_controller_base.dm index 5e4f8b8ad3a..47ff67c0935 100644 --- a/code/game/machinery/embedded_controller/embedded_controller_base.dm +++ b/code/game/machinery/embedded_controller/embedded_controller_base.dm @@ -46,9 +46,8 @@ var/id_tag //var/radio_power_use = 50 //power used to xmit signals - var/frequency = 1379 + frequency = 1379 var/radio_filter = null - var/datum/radio_frequency/radio_connection resistance_flags = FIRE_PROOF | ACID_PROOF /obj/machinery/embedded_controller/radio/Initialize() @@ -78,7 +77,7 @@ else qdel(signal) -/obj/machinery/embedded_controller/radio/proc/set_frequency(new_frequency) +/obj/machinery/embedded_controller/radio/set_frequency(new_frequency) SSradio.remove_object(src, frequency) frequency = new_frequency radio_connection = SSradio.add_object(src, frequency, radio_filter) diff --git a/code/game/machinery/lightswitch.dm b/code/game/machinery/lightswitch.dm index 53995f420d9..f2262b99859 100644 --- a/code/game/machinery/lightswitch.dm +++ b/code/game/machinery/lightswitch.dm @@ -13,8 +13,6 @@ // luminosity = 1 settagwhitelist = list("logic_id_tag") var/light_connect = 1 //Allows the switch to control lights in its associated areas. When set to 0, using the switch won't affect the lights. - var/datum/radio_frequency/radio_connection - var/frequency = 0 var/logic_id_tag = "default" //Defines the ID tag to send logic signals to. var/logic_connect = 0 //Set this to allow the switch to send out logic signals. @@ -48,7 +46,7 @@ ..() set_frequency(frequency) -/obj/machinery/light_switch/proc/set_frequency(new_frequency) +/obj/machinery/light_switch/set_frequency(new_frequency) SSradio.remove_object(src, frequency) frequency = new_frequency radio_connection = SSradio.add_object(src, frequency, RADIO_LOGIC) diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm index ad164fe720a..9745a01c875 100644 --- a/code/game/machinery/machinery.dm +++ b/code/game/machinery/machinery.dm @@ -120,6 +120,10 @@ Class Procs: var/list/settagwhitelist // (Init this list if needed) WHITELIST OF VARIABLES THAT THE set_tag HREF CAN MODIFY, DON'T PUT SHIT YOU DON'T NEED ON HERE, AND IF YOU'RE GONNA USE set_tag (format_tag() proc), ADD TO THIS LIST. atom_say_verb = "beeps" var/siemens_strength = 0.7 // how badly will it shock you? + /// The frequency on which the machine can communicate. Used with `/datum/radio_frequency`. + var/frequency = NONE + /// A reference to a `datum/radio_frequency`. Gives the machine the ability to interact with things using radio signals. + var/datum/radio_frequency/radio_connection /obj/machinery/Initialize(mapload) if(!armor) @@ -165,6 +169,9 @@ Class Procs: /obj/machinery/proc/locate_machinery() return +/obj/machinery/proc/set_frequency() + return + /obj/machinery/process() // If you dont use process or power why are you here return PROCESS_KILL @@ -194,7 +201,7 @@ Class Procs: use_power(active_power_usage,power_channel, 1) return 1 -/obj/machinery/proc/multitool_topic(var/mob/user,var/list/href_list,var/obj/O) +/obj/machinery/proc/multitool_topic(mob/user, list/href_list, obj/O) if("set_id" in href_list) if(!("id_tag" in vars)) warning("set_id: [type] has no id_tag var.") @@ -214,7 +221,7 @@ Class Procs: if(newfreq) if(findtext(num2text(newfreq), ".")) newfreq *= 10 // shift the decimal one place - src:frequency = sanitize_frequency(newfreq, RADIO_LOW_FREQ, RADIO_HIGH_FREQ) + set_frequency(sanitize_frequency(newfreq, RADIO_LOW_FREQ, RADIO_HIGH_FREQ)) return TRUE return FALSE diff --git a/code/game/machinery/magnet.dm b/code/game/machinery/magnet.dm index d713817ca06..dd2ef029d57 100644 --- a/code/game/machinery/magnet.dm +++ b/code/game/machinery/magnet.dm @@ -181,7 +181,7 @@ anchored = 1.0 use_power = IDLE_POWER_USE idle_power_usage = 45 - var/frequency = AIRLOCK_FREQ + frequency = AIRLOCK_FREQ var/code = 0 var/list/magnets = list() var/title = "Magnetic Control Console" @@ -195,8 +195,6 @@ var/moving = 0 // 1 if scheduled to loop var/looping = 0 // 1 if looping - var/datum/radio_frequency/radio_connection - /obj/machinery/magnetic_controller/New() ..() diff --git a/code/game/machinery/status_display.dm b/code/game/machinery/status_display.dm index a3fdf5adfd9..b8b9af9ad95 100644 --- a/code/game/machinery/status_display.dm +++ b/code/game/machinery/status_display.dm @@ -30,7 +30,7 @@ var/index1 // display index for scrolling messages or 0 if non-scrolling var/index2 - var/frequency = DISPLAY_FREQ // radio frequency + frequency = DISPLAY_FREQ // radio frequency var/friendc = 0 // track if Friend Computer mode var/ignore_friendc = 0