From b0c7497fcecca0bd58fb6292f64a31715a43201c Mon Sep 17 00:00:00 2001 From: Alan Date: Fri, 14 Aug 2026 00:17:29 +0000 Subject: [PATCH] Fix radio keys without spaces before message. (#32425) --- .../mob/living/simple_animal/parrot.dm | 10 +++++---- code/modules/mob/mob_say_base.dm | 21 +++++++++++++++---- 2 files changed, 23 insertions(+), 8 deletions(-) diff --git a/code/modules/mob/living/simple_animal/parrot.dm b/code/modules/mob/living/simple_animal/parrot.dm index 06ce29bd2f8..6e5b6e810c9 100644 --- a/code/modules/mob/living/simple_animal/parrot.dm +++ b/code/modules/mob/living/simple_animal/parrot.dm @@ -247,10 +247,12 @@ available_channels.Add(":n") if("Medical") available_channels.Add(":m") - if("Mining") - available_channels.Add(":d") - if("Cargo") - available_channels.Add(":q") + if("Supply") + available_channels.Add(":u") + if("Service") + available_channels.Add(":z") + if("Procedure") + available_channels.Add(":x") if(ears.translate_binary) available_channels.Add(":b") diff --git a/code/modules/mob/mob_say_base.dm b/code/modules/mob/mob_say_base.dm index 5cd9c03ecd8..9fa96103d2b 100644 --- a/code/modules/mob/mob_say_base.dm +++ b/code/modules/mob/mob_say_base.dm @@ -142,11 +142,24 @@ return standard_mode if(length(message) >= 2) - var/channel_prefix = trim_right(copytext_char(message, 1, 4)) - var/datum/language/L = GLOB.language_keys[channel_prefix] + var/channel_prefix_long = trim_right(copytext_char(message, 1, 4)) + var/channel_prefix_short = trim_right(copytext_char(message, 1, 3)) + + // Check languages first. Deconflict your language/radio keys if this causes problems. + var/datum/language/L = GLOB.language_keys[channel_prefix_long] if(L != null && can_speak_language(L)) - return null // Deconflict your language/radio keys if this causes problems. - return GLOB.department_radio_keys[channel_prefix] + return null + L = GLOB.language_keys[channel_prefix_short] + if(L != null && can_speak_language(L)) + return null + + // Now check radio keys. + var/radio_key = GLOB.department_radio_keys[channel_prefix_long] + if(radio_key != null) + return radio_key + radio_key = GLOB.department_radio_keys[channel_prefix_short] + if(radio_key != null) + return radio_key return null