From 025e9f80a520f861dadd7488d11c00b90d3bbc64 Mon Sep 17 00:00:00 2001 From: Wildkins Date: Wed, 28 Dec 2022 06:49:33 -0500 Subject: [PATCH] Fix intercoms again hopefully (#15458) --- code/game/objects/items/devices/radio/intercom.dm | 3 +++ code/game/objects/items/devices/radio/radio.dm | 5 +++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm index 45bd285d0d6..7f8615d6076 100644 --- a/code/game/objects/items/devices/radio/intercom.dm +++ b/code/game/objects/items/devices/radio/intercom.dm @@ -175,6 +175,9 @@ INVOKE_ASYNC(src, /obj/item/.proc/attack_self, user) /obj/item/device/radio/intercom/can_receive(input_frequency, list/levels) + if(!listening) + return FALSE + if(levels != RADIO_NO_Z_LEVEL_RESTRICTION) var/turf/position = get_turf(src) if(!istype(position) || !(position.z in levels)) diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index f695a0b55df..256fa359003 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -89,8 +89,6 @@ var/global/list/default_medbay_channels = list( SSradio.remove_object(src, frequency) if(new_frequency) frequency = new_frequency - - if(listening && on) radio_connection = SSradio.add_object(src, new_frequency, RADIO_CHAT) /obj/item/device/radio/Initialize() @@ -475,6 +473,9 @@ var/global/list/default_medbay_channels = list( /obj/item/device/radio/proc/can_receive(input_frequency, list/levels) // check if the radio can receive on the given frequency + if (!listening) + return + if (levels != RADIO_NO_Z_LEVEL_RESTRICTION) var/turf/position = get_turf(src) if (!position || !(position.z in levels))