diff --git a/code/game/sound.dm b/code/game/sound.dm index 46bb795a00..db2ee47365 100644 --- a/code/game/sound.dm +++ b/code/game/sound.dm @@ -406,10 +406,14 @@ var/list/species_sound_map = list( /* * The following helper proc will select a species' default sounds - useful for if we're set to "Unset" - * Yes it's a one-line proc, but I wanted to reduce duplicated lines as much as possible. + * This is ONLY called by Unset, meaning we haven't chosen a species sound. */ /proc/select_default_species_sound(var/datum/preferences/pref) // Called in character setup. This is similar to check_gendered_sounds, except here we pull from the prefs. - var/datum/species/valid = coalesce(GLOB.all_species[pref.custom_base], GLOB.all_species[pref.species]) + // First, we determine if we're custom-choosing a body or if we're a base game species. + var/datum/species/valid = GLOB.all_species[pref.species] + if(valid.selects_bodytype == (SELECTS_BODYTYPE_CUSTOM || SELECTS_BODYTYPE_SHAPESHIFTER)) // Custom species or xenochimera handling here + valid = coalesce(GLOB.all_species[pref.custom_base], GLOB.all_species[pref.species]) + // Now we start getting our sounds. if(valid.gender_specific_species_sounds) // Do we have gender-specific sounds? if(pref.identifying_gender == FEMALE && valid.species_sounds_female) return valid.species_sounds_female diff --git a/code/modules/client/preference_setup/vore/02_size.dm b/code/modules/client/preference_setup/vore/02_size.dm index 0f123e14a6..8da3df6e56 100644 --- a/code/modules/client/preference_setup/vore/02_size.dm +++ b/code/modules/client/preference_setup/vore/02_size.dm @@ -296,7 +296,7 @@ var/oursound = get_species_sound(ourpref)["cough"] S = sound(pick(oursound)) if(pref.species_sound == "Unset") - oursound = get_species_sound(select_default_species_sound(user))["cough"] + oursound = get_species_sound(select_default_species_sound(pref))["cough"] S = sound(pick(oursound)) if(pref.species_sound == "None" || oursound == null) to_chat(user, "This set does not have cough sounds!") @@ -311,7 +311,7 @@ var/oursound = get_species_sound(ourpref)["sneeze"] S = sound(pick(oursound)) if(pref.species_sound == "Unset") - oursound = get_species_sound(select_default_species_sound(user))["sneeze"] + oursound = get_species_sound(select_default_species_sound(pref))["sneeze"] S = sound(pick(oursound)) if(pref.species_sound == "None" || oursound == null) to_chat(user, "This set does not have sneeze sounds!") @@ -326,7 +326,7 @@ var/oursound = get_species_sound(ourpref)["scream"] S = sound(pick(oursound)) if(pref.species_sound == "Unset") - oursound = get_species_sound(select_default_species_sound(user))["scream"] + oursound = get_species_sound(select_default_species_sound(pref))["scream"] S = sound(pick(oursound)) if(pref.species_sound == "None" || oursound == null) to_chat(user, "This set does not have scream sounds!") @@ -341,7 +341,7 @@ var/oursound = get_species_sound(ourpref)["pain"] S = sound(pick(oursound)) if(pref.species_sound == "Unset") - oursound = get_species_sound(select_default_species_sound(user))["pain"] + oursound = get_species_sound(select_default_species_sound(pref))["pain"] S = sound(pick(oursound)) if(pref.species_sound == "None" || oursound == null) to_chat(user, "This set does not have pain sounds!") @@ -356,7 +356,7 @@ var/oursound = get_species_sound(ourpref)["gasp"] S = sound(pick(oursound)) if(pref.species_sound == "Unset") - oursound = get_species_sound(select_default_species_sound(user))["gasp"] + oursound = get_species_sound(select_default_species_sound(pref))["gasp"] S = sound(pick(oursound)) if(pref.species_sound == "None" || oursound == null) to_chat(user, "This set does not have gasp sounds!") @@ -371,7 +371,7 @@ var/oursound = get_species_sound(ourpref)["death"] S = sound(pick(oursound)) if(pref.species_sound == "Unset") - oursound = get_species_sound(select_default_species_sound(user))["death"] + oursound = get_species_sound(select_default_species_sound(pref))["death"] S = sound(pick(oursound)) if(pref.species_sound == "None" || oursound == null) to_chat(user, "This set does not have death sounds!") diff --git a/code/modules/mob/living/carbon/human/species/station/station.dm b/code/modules/mob/living/carbon/human/species/station/station.dm index 437255541c..c63b1bf526 100644 --- a/code/modules/mob/living/carbon/human/species/station/station.dm +++ b/code/modules/mob/living/carbon/human/species/station/station.dm @@ -88,6 +88,7 @@ // CHOMPEdit: Reverted these back to Polaris, but commented them out. We're using species-specific sounds instead. // male_scream_sound = list ('sound/effects/mob_effects/una_scream1.ogg','sound/effects/mob_effects/una_scream2.ogg') // female_scream_sound = list ('sound/effects/mob_effects/una_scream1.ogg','sound/effects/mob_effects/una_scream2.ogg') + species_sounds = "Lizard" // Species sounds pain_verb_1p = list("hiss", "growl") // CHOMPEdit: Unathi pain emotes pain_verb_3p = list("hisses", "growls") // CHOMPEdit: Pain emotes