From 277e57683e894986c718889b6fbc225bec17b341 Mon Sep 17 00:00:00 2001 From: DrTuxedo <42353186+DrDiasyl@users.noreply.github.com> Date: Sun, 28 Jul 2024 00:33:28 +0500 Subject: [PATCH] Radio Sounds (#85115) ## About The Pull Request Now talking into radio and hearing radio messages produces a sound. Using LOUD-MODE makes a unique sound. https://github.com/user-attachments/assets/891d9b9a-5313-4aac-9fef-56d0a7286bf1 https://github.com/user-attachments/assets/112a3587-46ea-413e-89e4-2da7b54c3d62 **YOU CAN DISABLE IT IN THE GAME PREFERENCES** ## Why It's Good For The Game People REALLY tend to miss radio messages, especially from the heads. This makes it so they can hear when some interesting or important chatter is going on. Unless all of the heads of staff decide to dispute in the Common, subordinates will start noticing messages from their bosses in their channels more often. Also, these sounds are tickling my ears, in a good way. ## Changelog :cl: DrDiasyl aka DrTuxedo sound: Hearing and talking into the radio now produces a sound. Heads get a special sound. /:cl: --- code/game/machinery/telecomms/broadcasting.dm | 4 ++-- code/game/objects/items/devices/radio/radio.dm | 16 ++++++++++++++++ code/modules/client/preferences/sounds.dm | 6 ++++++ sound/misc/license.txt | 11 ++++++++++- sound/misc/radio_important.ogg | Bin 0 -> 5519 bytes sound/misc/radio_receive.ogg | Bin 0 -> 9343 bytes sound/misc/radio_talk.ogg | Bin 0 -> 9033 bytes .../features/game_preferences/sounds.tsx | 8 ++++++++ 8 files changed, 42 insertions(+), 3 deletions(-) create mode 100644 sound/misc/radio_important.ogg create mode 100644 sound/misc/radio_receive.ogg create mode 100644 sound/misc/radio_talk.ogg diff --git a/code/game/machinery/telecomms/broadcasting.dm b/code/game/machinery/telecomms/broadcasting.dm index 5887c776675..2c31dcbd989 100644 --- a/code/game/machinery/telecomms/broadcasting.dm +++ b/code/game/machinery/telecomms/broadcasting.dm @@ -78,7 +78,7 @@ datum/language/language, // the language of the message message, // the text content of the message spans, // the list of spans applied to the message - list/message_mods // the list of modification applied to the message. Whispering, singing, ect + list/message_mods, // the list of modification applied to the message. Whispering, singing, ect ) src.source = source src.frequency = frequency @@ -92,7 +92,7 @@ "compression" = rand(COMPRESSION_VOCAL_SIGNAL_MIN, COMPRESSION_VOCAL_SIGNAL_MAX), "language" = lang_instance.name, "spans" = spans, - "mods" = message_mods + "mods" = message_mods, ) levels = SSmapping.get_connected_levels(get_turf(source)) diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index d515929c197..373db4b21f5 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -351,6 +351,12 @@ signal.broadcast() return + + if(iscarbon(talking_movable)) + var/mob/living/carbon/talking_carbon = talking_movable + if(talking_carbon.client?.prefs.read_preference(/datum/preference/toggle/radio_noise)) + SEND_SOUND(talking_carbon, 'sound/misc/radio_talk.ogg') + // All radios make an attempt to use the subspace system first signal.send_to_receivers() @@ -422,6 +428,16 @@ SEND_SIGNAL(src, COMSIG_RADIO_RECEIVE_MESSAGE, data) flick_overlay_view(overlay_speaker_active, 5 SECONDS) + if(iscarbon(loc)) + var/mob/living/carbon/holder = loc + if(!holder.client?.prefs.read_preference(/datum/preference/toggle/radio_noise)) + return + + var/list/spans = data["spans"] + SEND_SOUND(holder, 'sound/misc/radio_receive.ogg') + if(SPAN_COMMAND in spans) + SEND_SOUND(holder, 'sound/misc/radio_important.ogg') + /obj/item/radio/ui_state(mob/user) return GLOB.inventory_state diff --git a/code/modules/client/preferences/sounds.dm b/code/modules/client/preferences/sounds.dm index f1778405665..4a0298132c2 100644 --- a/code/modules/client/preferences/sounds.dm +++ b/code/modules/client/preferences/sounds.dm @@ -116,3 +116,9 @@ category = PREFERENCE_CATEGORY_GAME_PREFERENCES savefile_key = "sound_elevator" savefile_identifier = PREFERENCE_PLAYER + +/// Controls hearing radio noise +/datum/preference/toggle/radio_noise + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "sound_radio_noise" + savefile_identifier = PREFERENCE_PLAYER diff --git a/sound/misc/license.txt b/sound/misc/license.txt index 69ef2992820..761a031d190 100644 --- a/sound/misc/license.txt +++ b/sound/misc/license.txt @@ -5,4 +5,13 @@ knuckles.ogg by CGEffex. Shortened and cut. https://freesound.org/people/CGEffex/sounds/93981/ airraid.ogg by Jwade722. Shortened and cut. -https://freesound.org/people/Jwade722/sounds/534550/ \ No newline at end of file +https://freesound.org/people/Jwade722/sounds/534550/ + +radio_talk.ogg by cs2975871. Shortened and cut. +https://freesound.org/people/cs2975871/sounds/514185/ + +radio_important.ogg by morganpurkis. +https://freesound.org/people/morganpurkis/sounds/392972/ + +radio_receive.ogg by JovianSounds. Shortened and cut. +https://freesound.org/people/JovianSounds/sounds/524205/ \ No newline at end of file diff --git a/sound/misc/radio_important.ogg b/sound/misc/radio_important.ogg new file mode 100644 index 0000000000000000000000000000000000000000..bb6f769d6129b4edc907521baa5425f8ea197b6a GIT binary patch literal 5519 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 PyV$4*l$q(r>B0X2`)_$T literal 0 HcmV?d00001 diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/game_preferences/sounds.tsx b/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/game_preferences/sounds.tsx index 6f0f81237e4..f190f6c2387 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/game_preferences/sounds.tsx +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/game_preferences/sounds.tsx @@ -108,3 +108,11 @@ export const sound_achievement: FeatureChoiced = { `, component: FeatureDropdownInput, }; + +export const sound_radio_noise: FeatureToggle = { + name: 'Enable radio noise', + category: 'SOUND', + description: + 'When enabled, hear sounds of talking and hearing radio chatter.', + component: CheckboxInput, +};