diff --git a/maplestation_modules/code/modules/mob/living/carbon/human/species_types/android.dm b/maplestation_modules/code/modules/mob/living/carbon/human/species_types/android.dm index 93868dfb600a..cd4835d8cb06 100644 --- a/maplestation_modules/code/modules/mob/living/carbon/human/species_types/android.dm +++ b/maplestation_modules/code/modules/mob/living/carbon/human/species_types/android.dm @@ -4,5 +4,6 @@ exotic_bloodtype = /datum/blood_type/oil /obj/item/organ/internal/tongue/robot - speech_sound_only_normal = TRUE speech_sound_list = list('goon/sound/voice/radio_ai.ogg' = 100) + speech_sound_list_question = null + speech_sound_list_exclamation = null diff --git a/maplestation_modules/code/modules/mob/living/carbon/human/species_types/felinid.dm b/maplestation_modules/code/modules/mob/living/carbon/human/species_types/felinid.dm index efbeff7a1196..55fe1c5a5a0a 100644 --- a/maplestation_modules/code/modules/mob/living/carbon/human/species_types/felinid.dm +++ b/maplestation_modules/code/modules/mob/living/carbon/human/species_types/felinid.dm @@ -1,9 +1,10 @@ // -- Felinid species additions -- /obj/item/organ/internal/tongue/cat - speech_sound_only_normal = TRUE speech_sound_list = list( 'maplestation_modules/sound/voice/meow1.ogg' = 50, 'maplestation_modules/sound/voice/meow2.ogg' = 50, 'maplestation_modules/sound/voice/meow3.ogg' = 50, ) + speech_sound_list_question = null + speech_sound_list_exclamation = null diff --git a/maplestation_modules/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm b/maplestation_modules/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm index 1fbdd956af28..f4d53b9a43d5 100644 --- a/maplestation_modules/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm +++ b/maplestation_modules/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm @@ -19,10 +19,11 @@ human.update_body(is_creating = TRUE) /obj/item/organ/internal/tongue/lizard - speech_sound_only_normal = TRUE // These sounds have been ported from Goonstation. speech_sound_list = list( 'maplestation_modules/sound/voice/lizard_1.ogg' = 80, 'maplestation_modules/sound/voice/lizard_2.ogg' = 80, 'maplestation_modules/sound/voice/lizard_3.ogg' = 80, ) + speech_sound_list_question = null + speech_sound_list_exclamation = null diff --git a/maplestation_modules/code/modules/mob/living/carbon/human/species_types/monkey.dm b/maplestation_modules/code/modules/mob/living/carbon/human/species_types/monkey.dm index 2429fa2a20d0..613650412116 100644 --- a/maplestation_modules/code/modules/mob/living/carbon/human/species_types/monkey.dm +++ b/maplestation_modules/code/modules/mob/living/carbon/human/species_types/monkey.dm @@ -1,5 +1,6 @@ // -- Monke species additions -- /obj/item/organ/internal/tongue/monkey - speech_sound_only_normal = TRUE speech_sound_list = list('maplestation_modules/sound/voice/monkey_1.ogg' = 90) + speech_sound_list_question = null + speech_sound_list_exclamation = null diff --git a/maplestation_modules/code/modules/mob/living/carbon/human/species_types/mothmen.dm b/maplestation_modules/code/modules/mob/living/carbon/human/species_types/mothmen.dm index fc22d110e0cf..9ce27c084406 100644 --- a/maplestation_modules/code/modules/mob/living/carbon/human/species_types/mothmen.dm +++ b/maplestation_modules/code/modules/mob/living/carbon/human/species_types/mothmen.dm @@ -3,9 +3,10 @@ species_pain_mod = 1.1 /obj/item/organ/internal/tongue/moth - speech_sound_only_normal = TRUE speech_sound_list = list( 'maplestation_modules/sound/voice/moff_1.ogg' = 80, 'maplestation_modules/sound/voice/moff_2.ogg' = 80, 'maplestation_modules/sound/voice/moff_3.ogg' = 80, ) + speech_sound_list_question = null + speech_sound_list_exclamation = null diff --git a/maplestation_modules/code/modules/mob/living/carbon/human/species_types/podpeople.dm b/maplestation_modules/code/modules/mob/living/carbon/human/species_types/podpeople.dm index d04e16ca864a..5116e35543b2 100644 --- a/maplestation_modules/code/modules/mob/living/carbon/human/species_types/podpeople.dm +++ b/maplestation_modules/code/modules/mob/living/carbon/human/species_types/podpeople.dm @@ -74,8 +74,9 @@ return perks /obj/item/organ/internal/tongue/pod - speech_sound_only_normal = TRUE speech_sound_list = list( 'maplestation_modules/sound/voice/pod.ogg' = 70, 'maplestation_modules/sound/voice/pod2.ogg' = 60, ) + speech_sound_list_question = null + speech_sound_list_exclamation = null diff --git a/maplestation_modules/code/modules/mob/living/speech_and_radio_sounds.dm b/maplestation_modules/code/modules/mob/living/speech_and_radio_sounds.dm index 7e5f9c64fc9b..c2965362f9ea 100644 --- a/maplestation_modules/code/modules/mob/living/speech_and_radio_sounds.dm +++ b/maplestation_modules/code/modules/mob/living/speech_and_radio_sounds.dm @@ -56,20 +56,21 @@ return ..() if(HAS_TRAIT(src, TRAIT_SIGN_LANG)) return null - var/obj/item/organ/internal/tongue/tongue = src?.get_organ_slot(ORGAN_SLOT_TONGUE) - if(isnull(tongue)) + var/obj/item/organ/internal/tongue/tongue = get_organ_slot(ORGAN_SLOT_TONGUE) + if(isnull(tongue) || !tongue.speech_sounds_enabled) return null - if(!tongue.speech_sounds_enabled) - return null - if(tongue.speech_sound_only_normal) - sound_type = SOUND_NORMAL switch(sound_type) - if(SOUND_NORMAL) - return string_assoc_list(tongue.speech_sound_list) if(SOUND_QUESTION) - return string_assoc_list(tongue.speech_sound_list_question) + if(length(tongue.speech_sound_list_question)) + return string_assoc_list(tongue.speech_sound_list_question) + if(SOUND_EXCLAMATION) - return string_assoc_list(tongue.speech_sound_list_exclamation) + if(length(tongue.speech_sound_list_exclamation)) + return string_assoc_list(tongue.speech_sound_list_exclamation) + + // sound type is normal, OR an unrecognized value, OR we don't have a question/exclamation sound + if(length(tongue.speech_sound_list)) + return string_assoc_list(tongue.speech_sound_list) return null /mob/living/basic/robot_customer/get_speech_sounds(sound_type) diff --git a/maplestation_modules/code/modules/surgery/organs/tongue.dm b/maplestation_modules/code/modules/surgery/organs/tongue.dm index 60c660ea646d..a1afa8eece0a 100644 --- a/maplestation_modules/code/modules/surgery/organs/tongue.dm +++ b/maplestation_modules/code/modules/surgery/organs/tongue.dm @@ -3,26 +3,24 @@ /obj/item/organ/internal/tongue /// Use speech sounds, if false, well, dont. var/speech_sounds_enabled = TRUE - /// If set to TRUE, use only the speech_sound_list variable and not question or exclamation sounds. - var/speech_sound_only_normal = FALSE - var/speech_sound_list = list( - 'goon/sound/voice/speak_1.ogg' = 120, - 'goon/sound/voice/speak_2.ogg' = 120, - 'goon/sound/voice/speak_3.ogg' = 120, - 'goon/sound/voice/speak_4.ogg' = 120, - ) - var/speech_sound_list_question = list( - 'goon/sound/voice/speak_1_ask.ogg' = 120, - 'goon/sound/voice/speak_2_ask.ogg' = 120, - 'goon/sound/voice/speak_3_ask.ogg' = 120, - 'goon/sound/voice/speak_4_ask.ogg' = 120, - ) - var/speech_sound_list_exclamation = list( - 'goon/sound/voice/speak_1_exclaim.ogg' = 120, - 'goon/sound/voice/speak_2_exclaim.ogg' = 120, - 'goon/sound/voice/speak_3_exclaim.ogg' = 120, - 'goon/sound/voice/speak_4_exclaim.ogg' = 120, - ) + var/list/speech_sound_list = list( + 'goon/sound/voice/speak_1.ogg' = 120, + 'goon/sound/voice/speak_2.ogg' = 120, + 'goon/sound/voice/speak_3.ogg' = 120, + 'goon/sound/voice/speak_4.ogg' = 120, + ) + var/list/speech_sound_list_question = list( + 'goon/sound/voice/speak_1_ask.ogg' = 120, + 'goon/sound/voice/speak_2_ask.ogg' = 120, + 'goon/sound/voice/speak_3_ask.ogg' = 120, + 'goon/sound/voice/speak_4_ask.ogg' = 120, + ) + var/list/speech_sound_list_exclamation = list( + 'goon/sound/voice/speak_1_exclaim.ogg' = 120, + 'goon/sound/voice/speak_2_exclaim.ogg' = 120, + 'goon/sound/voice/speak_3_exclaim.ogg' = 120, + 'goon/sound/voice/speak_4_exclaim.ogg' = 120, + ) /obj/item/organ/internal/tongue/get_possible_languages() return ..() + list( @@ -70,5 +68,5 @@ color = "#333333" // too lazy to make a sprite? just color it! speech_sound_list = list('maplestation_modules/sound/voice/shad1.ogg' = 55, 'maplestation_modules/sound/voice/shad2.ogg' = 55) - speech_sound_list_question = list('maplestation_modules/sound/voice/shad1.ogg' = 55, 'maplestation_modules/sound/voice/shad2.ogg' = 55) // same as regular speech sounds + speech_sound_list_question = null // same as regular speech sounds speech_sound_list_exclamation = list('maplestation_modules/sound/voice/shad_exclaim.ogg' = 55)