diff --git a/code/__defines/misc.dm b/code/__defines/misc.dm index ed8a687759..70453f57ce 100644 --- a/code/__defines/misc.dm +++ b/code/__defines/misc.dm @@ -439,7 +439,7 @@ GLOBAL_LIST_EMPTY(##LIST_NAME);\ #define VOLUME_CHANNEL_DOORS "Doors" #define VOLUME_CHANNEL_INSTRUMENTS "Instruments" #define VOLUME_CHANNEL_WEATHER "Weather" -#define VOLUME_CHANNEL_INJ_DEATH "Mob Injury Sounds" +#define VOLUME_CHANNEL_SPECIES_SOUNDS "Species Sounds" // Make sure you update this or clients won't be able to adjust the channel GLOBAL_LIST_INIT(all_volume_channels, list( @@ -450,7 +450,7 @@ GLOBAL_LIST_INIT(all_volume_channels, list( VOLUME_CHANNEL_DOORS, VOLUME_CHANNEL_INSTRUMENTS, VOLUME_CHANNEL_WEATHER, - VOLUME_CHANNEL_INJ_DEATH + VOLUME_CHANNEL_SPECIES_SOUNDS )) #define APPEARANCECHANGER_CHANGED_RACE "Race" diff --git a/code/game/sound.dm b/code/game/sound.dm index 1a88189962..46bb795a00 100644 --- a/code/game/sound.dm +++ b/code/game/sound.dm @@ -309,17 +309,25 @@ var/list/goon_speak_pugg_sound = list('sound/talksounds/goon/pugg.ogg', 'sound/t var/list/goon_speak_roach_sound = list('sound/talksounds/goon/roach.ogg', 'sound/talksounds/goon/roach_ask.ogg', 'sound/talksounds/goon/roach_exclaim.ogg') var/list/goon_speak_skelly_sound = list('sound/talksounds/goon/skelly.ogg', 'sound/talksounds/goon/skelly_ask.ogg', 'sound/talksounds/goon/skelly_exclaim.ogg') -// CHOMPEdit Start: Species Pain/Scream/Death sounds. This is probably inefficient, but I'm sure someone will yell at me or just do it better later:tm: -#define canine_sounds list("scream" = list('modular_chomp/sound/voice/scream/canine/wolf_scream.ogg', 'modular_chomp/sound/voice/scream/canine/wolf_scream2.ogg', 'modular_chomp/sound/voice/scream/canine/wolf_scream3.ogg', 'modular_chomp/sound/voice/scream/canine/wolf_scream4.ogg', 'modular_chomp/sound/voice/scream/canine/wolf_scream5.ogg', 'modular_chomp/sound/voice/scream/canine/wolf_scream6.ogg'), "pain" = list('modular_chomp/sound/voice/pain/canine/wolf_pain.ogg', 'modular_chomp/sound/voice/pain/canine/wolf_pain2.ogg', 'modular_chomp/sound/voice/pain/canine/wolf_pain3.ogg', 'modular_chomp/sound/voice/pain/canine/wolf_pain4.ogg'), "gasp" = list('modular_chomp/sound/voice/gasp/canine/wolf_gasp.ogg'), "death" = list('modular_chomp/sound/voice/death/canine/wolf_death1.ogg', 'modular_chomp/sound/voice/death/canine/wolf_death2.ogg', 'modular_chomp/sound/voice/death/canine/wolf_death3.ogg', 'modular_chomp/sound/voice/death/canine/wolf_death4.ogg', 'modular_chomp/sound/voice/death/canine/wolf_death5.ogg')) -#define feline_sounds list("scream" = list('modular_chomp/sound/voice/scream/feline/feline_scream.ogg'), "pain" = list('modular_chomp/sound/voice/pain/feline/feline_pain.ogg'), "gasp" = list('modular_chomp/sound/voice/gasp/feline/feline_gasp.ogg'), "death" = list('modular_chomp/sound/voice/death/feline/feline_death.ogg')) -#define cervine_sounds list("scream" = list('modular_chomp/sound/voice/scream/cervine/cervine_scream.ogg'), "pain" = null, "gasp" = null, "death" = list('modular_chomp/sound/voice/death/cervine/cervine_death.ogg')) -#define robot_sounds list("scream" = list('modular_chomp/sound/voice/scream_silicon.ogg', 'modular_chomp/sound/voice/android_scream.ogg', 'modular_chomp/sound/voice/scream/robotic/robot_scream1.ogg', 'modular_chomp/sound/voice/scream/robotic/robot_scream2.ogg', 'modular_chomp/sound/voice/scream/robotic/robot_scream3.ogg'), "pain" = list('modular_chomp/sound/voice/pain/robotic/robot_pain1.ogg', 'modular_chomp/sound/voice/pain/robotic/robot_pain2.ogg', 'modular_chomp/sound/voice/pain/robotic/robot_pain3.ogg'), "gasp" = null, "death" = list('modular_chomp/sound/voice/borg_deathsound.ogg')) -#define male_generic_sounds list("scream" = list('modular_chomp/sound/voice/scream/generic/male/male_scream_1.ogg', 'modular_chomp/sound/voice/scream/generic/male/male_scream_2.ogg', 'modular_chomp/sound/voice/scream/generic/male/male_scream_3.ogg', 'modular_chomp/sound/voice/scream/generic/male/male_scream_4.ogg', 'modular_chomp/sound/voice/scream/generic/male/male_scream_5.ogg', 'modular_chomp/sound/voice/scream/generic/male/male_scream_6.ogg'), "pain" = list('modular_chomp/sound/voice/pain/generic/male/male_pain_1.ogg', 'modular_chomp/sound/voice/pain/generic/male/male_pain_2.ogg', 'modular_chomp/sound/voice/pain/generic/male/male_pain_3.ogg', 'modular_chomp/sound/voice/pain/generic/male/male_pain_4.ogg', 'modular_chomp/sound/voice/pain/generic/male/male_pain_5.ogg', 'modular_chomp/sound/voice/pain/generic/male/male_pain_6.ogg', 'modular_chomp/sound/voice/pain/generic/male/male_pain_7.ogg', 'modular_chomp/sound/voice/pain/generic/male/male_pain_8.ogg'), "gasp" = list('modular_chomp/sound/voice/gasp/generic/male/male_gasp1.ogg', 'modular_chomp/sound/voice/gasp/generic/male/male_gasp2.ogg', 'modular_chomp/sound/voice/gasp/generic/male/male_gasp3.ogg'), "death" = list('modular_chomp/sound/voice/death/generic/male/male_death_1.ogg', 'modular_chomp/sound/voice/death/generic/male/male_death_2.ogg', 'modular_chomp/sound/voice/death/generic/male/male_death_3.ogg', 'modular_chomp/sound/voice/death/generic/male/male_death_4.ogg', 'modular_chomp/sound/voice/death/generic/male/male_death_5.ogg', 'modular_chomp/sound/voice/death/generic/male/male_death_6.ogg', 'modular_chomp/sound/voice/death/generic/male/male_death_7.ogg')) -#define female_generic_sounds list("scream" = list('modular_chomp/sound/voice/scream/generic/female/female_scream_1.ogg', 'modular_chomp/sound/voice/scream/generic/female/female_scream_2.ogg', 'modular_chomp/sound/voice/scream/generic/female/female_scream_3.ogg', 'modular_chomp/sound/voice/scream/generic/female/female_scream_4.ogg', 'modular_chomp/sound/voice/scream/generic/female/female_scream_5.ogg'), "pain" = list('modular_chomp/sound/voice/pain/generic/female/female_pain_1.ogg', 'modular_chomp/sound/voice/pain/generic/female/female_pain_2.ogg', 'modular_chomp/sound/voice/pain/generic/female/female_pain_3.ogg'), "gasp" = list('modular_chomp/sound/voice/gasp/generic/female/female_gasp1.ogg', 'modular_chomp/sound/voice/gasp/generic/female/female_gasp2.ogg'), "death" = list('modular_chomp/sound/voice/death/generic/female/female_death_1.ogg', 'modular_chomp/sound/voice/death/generic/female/female_death_2.ogg', 'modular_chomp/sound/voice/death/generic/female/female_death_3.ogg', 'modular_chomp/sound/voice/death/generic/female/female_death_4.ogg', 'modular_chomp/sound/voice/death/generic/female/female_death_5.ogg', 'modular_chomp/sound/voice/death/generic/female/female_death_6.ogg')) -#define spider_sounds list("scream" = list('sound/voice/spiderchitter.ogg'), "pain" = null, "gasp" = null, "death" = list('modular_chomp/sound/voice/death/spider/spider_death.ogg')) -#define mouse_sounds list("scream" = list('sound/effects/mouse_squeak_loud.ogg'), "pain" = list('sound/effects/mouse_squeak.ogg'), "gasp" = list('sound/effects/mouse_squeak.ogg'), "death" = list('sound/effects/mouse_squeak_loud.ogg')) -#define no_sounds list("scream" = null, "pain" = null, "gasp" = null, "death" = null) -#define use_default list("scream" = null, "pain" = null, "gasp" = null, "death" = null) +// CHOMPEdit Start: Species sounds. This is probably inefficient, but I'm sure someone will yell at me or just do it better later:tm: +#define canine_sounds list("cough" = null, "sneeze" = null, "scream" = list('modular_chomp/sound/voice/scream/canine/wolf_scream.ogg', 'modular_chomp/sound/voice/scream/canine/wolf_scream2.ogg', 'modular_chomp/sound/voice/scream/canine/wolf_scream3.ogg', 'modular_chomp/sound/voice/scream/canine/wolf_scream4.ogg', 'modular_chomp/sound/voice/scream/canine/wolf_scream5.ogg', 'modular_chomp/sound/voice/scream/canine/wolf_scream6.ogg'), "pain" = list('modular_chomp/sound/voice/pain/canine/wolf_pain.ogg', 'modular_chomp/sound/voice/pain/canine/wolf_pain2.ogg', 'modular_chomp/sound/voice/pain/canine/wolf_pain3.ogg', 'modular_chomp/sound/voice/pain/canine/wolf_pain4.ogg'), "gasp" = list('modular_chomp/sound/voice/gasp/canine/wolf_gasp.ogg'), "death" = list('modular_chomp/sound/voice/death/canine/wolf_death1.ogg', 'modular_chomp/sound/voice/death/canine/wolf_death2.ogg', 'modular_chomp/sound/voice/death/canine/wolf_death3.ogg', 'modular_chomp/sound/voice/death/canine/wolf_death4.ogg', 'modular_chomp/sound/voice/death/canine/wolf_death5.ogg')) +#define feline_sounds list("cough" = null, "sneeze" = null, "scream" = list('modular_chomp/sound/voice/scream/feline/feline_scream.ogg'), "pain" = list('modular_chomp/sound/voice/pain/feline/feline_pain.ogg'), "gasp" = list('modular_chomp/sound/voice/gasp/feline/feline_gasp.ogg'), "death" = list('modular_chomp/sound/voice/death/feline/feline_death.ogg')) +#define cervine_sounds list("cough" = null, "sneeze" = null, "scream" = list('modular_chomp/sound/voice/scream/cervine/cervine_scream.ogg'), "pain" = null, "gasp" = null, "death" = list('modular_chomp/sound/voice/death/cervine/cervine_death.ogg')) +#define robot_sounds list("cough" = list('sound/effects/mob_effects/m_machine_cougha.ogg', 'sound/effects/mob_effects/m_machine_coughb.ogg', 'sound/effects/mob_effects/m_machine_coughc.ogg'), "sneeze" = list('sound/effects/mob_effects/machine_sneeze.ogg'), "scream" = list('modular_chomp/sound/voice/scream_silicon.ogg', 'modular_chomp/sound/voice/android_scream.ogg', 'modular_chomp/sound/voice/scream/robotic/robot_scream1.ogg', 'modular_chomp/sound/voice/scream/robotic/robot_scream2.ogg', 'modular_chomp/sound/voice/scream/robotic/robot_scream3.ogg'), "pain" = list('modular_chomp/sound/voice/pain/robotic/robot_pain1.ogg', 'modular_chomp/sound/voice/pain/robotic/robot_pain2.ogg', 'modular_chomp/sound/voice/pain/robotic/robot_pain3.ogg'), "gasp" = null, "death" = list('modular_chomp/sound/voice/borg_deathsound.ogg')) +#define male_generic_sounds list("cough" = list('sound/effects/mob_effects/m_cougha.ogg','sound/effects/mob_effects/m_coughb.ogg', 'sound/effects/mob_effects/m_coughc.ogg'), "sneeze" = list('sound/effects/mob_effects/sneeze.ogg'), "scream" = list('modular_chomp/sound/voice/scream/generic/male/male_scream_1.ogg', 'modular_chomp/sound/voice/scream/generic/male/male_scream_2.ogg', 'modular_chomp/sound/voice/scream/generic/male/male_scream_3.ogg', 'modular_chomp/sound/voice/scream/generic/male/male_scream_4.ogg', 'modular_chomp/sound/voice/scream/generic/male/male_scream_5.ogg', 'modular_chomp/sound/voice/scream/generic/male/male_scream_6.ogg'), "pain" = list('modular_chomp/sound/voice/pain/generic/male/male_pain_1.ogg', 'modular_chomp/sound/voice/pain/generic/male/male_pain_2.ogg', 'modular_chomp/sound/voice/pain/generic/male/male_pain_3.ogg', 'modular_chomp/sound/voice/pain/generic/male/male_pain_4.ogg', 'modular_chomp/sound/voice/pain/generic/male/male_pain_5.ogg', 'modular_chomp/sound/voice/pain/generic/male/male_pain_6.ogg', 'modular_chomp/sound/voice/pain/generic/male/male_pain_7.ogg', 'modular_chomp/sound/voice/pain/generic/male/male_pain_8.ogg'), "gasp" = list('modular_chomp/sound/voice/gasp/generic/male/male_gasp1.ogg', 'modular_chomp/sound/voice/gasp/generic/male/male_gasp2.ogg', 'modular_chomp/sound/voice/gasp/generic/male/male_gasp3.ogg'), "death" = list('modular_chomp/sound/voice/death/generic/male/male_death_1.ogg', 'modular_chomp/sound/voice/death/generic/male/male_death_2.ogg', 'modular_chomp/sound/voice/death/generic/male/male_death_3.ogg', 'modular_chomp/sound/voice/death/generic/male/male_death_4.ogg', 'modular_chomp/sound/voice/death/generic/male/male_death_5.ogg', 'modular_chomp/sound/voice/death/generic/male/male_death_6.ogg', 'modular_chomp/sound/voice/death/generic/male/male_death_7.ogg')) +#define female_generic_sounds list("cough" = list('sound/effects/mob_effects/f_cougha.ogg','sound/effects/mob_effects/f_coughb.ogg'), "sneeze" = list('sound/effects/mob_effects/f_sneeze.ogg'), "scream" = list('modular_chomp/sound/voice/scream/generic/female/female_scream_1.ogg', 'modular_chomp/sound/voice/scream/generic/female/female_scream_2.ogg', 'modular_chomp/sound/voice/scream/generic/female/female_scream_3.ogg', 'modular_chomp/sound/voice/scream/generic/female/female_scream_4.ogg', 'modular_chomp/sound/voice/scream/generic/female/female_scream_5.ogg'), "pain" = list('modular_chomp/sound/voice/pain/generic/female/female_pain_1.ogg', 'modular_chomp/sound/voice/pain/generic/female/female_pain_2.ogg', 'modular_chomp/sound/voice/pain/generic/female/female_pain_3.ogg'), "gasp" = list('modular_chomp/sound/voice/gasp/generic/female/female_gasp1.ogg', 'modular_chomp/sound/voice/gasp/generic/female/female_gasp2.ogg'), "death" = list('modular_chomp/sound/voice/death/generic/female/female_death_1.ogg', 'modular_chomp/sound/voice/death/generic/female/female_death_2.ogg', 'modular_chomp/sound/voice/death/generic/female/female_death_3.ogg', 'modular_chomp/sound/voice/death/generic/female/female_death_4.ogg', 'modular_chomp/sound/voice/death/generic/female/female_death_5.ogg', 'modular_chomp/sound/voice/death/generic/female/female_death_6.ogg')) +#define spider_sounds list("cough" = null, "sneeze" = null, "scream" = list('sound/voice/spiderchitter.ogg'), "pain" = list('sound/voice/spiderchitter.ogg'), "gasp" = null, "death" = list('modular_chomp/sound/voice/death/spider/spider_death.ogg')) +#define mouse_sounds list("cough" = list('sound/effects/mouse_squeak.ogg'), "sneeze" = list('sound/effects/mouse_squeak.ogg'), "scream" = list('sound/effects/mouse_squeak_loud.ogg'), "pain" = list('sound/effects/mouse_squeak.ogg'), "gasp" = list('sound/effects/mouse_squeak.ogg'), "death" = list('sound/effects/mouse_squeak_loud.ogg')) +#define lizard_sounds list("cough" = null, "sneeze" = null, "scream" = list('sound/effects/mob_effects/una_scream1.ogg','sound/effects/mob_effects/una_scream2.ogg'), "pain" = list('modular_chomp/sound/voice/pain/lizard/lizard_pain.ogg'), "gasp" = null, "death" = list('modular_chomp/sound/voice/death/lizard/lizard_death.ogg')) +#define vox_sounds list("cough" = list('sound/voice/shriekcough.ogg'), "sneeze" = list('sound/voice/shrieksneeze.ogg'), "scream" = list('sound/voice/shriek1.ogg'), "pain" = list('sound/voice/shriek1.ogg'), "gasp" = null, "death" = null) +#define slime_sounds list("cough" = list('sound/effects/slime_squish.ogg'), "sneeze" = null, "scream" = null, "pain" = null, "gasp" = null, "death" = null) +#define xeno_sounds list("cough" = null, "sneeze" = null, "scream" = list('sound/effects/mob_effects/x_scream1.ogg','sound/effects/mob_effects/x_scream2.ogg','sound/effects/mob_effects/x_scream3.ogg'), "pain" = list('modular_chomp/sound/voice/pain/xeno/alien_roar1.ogg', 'modular_chomp/sound/voice/pain/xeno/alien_roar2.ogg', 'modular_chomp/sound/voice/pain/xeno/alien_roar3.ogg', 'modular_chomp/sound/voice/pain/xeno/alien_roar4.ogg', 'modular_chomp/sound/voice/pain/xeno/alien_roar5.ogg', 'modular_chomp/sound/voice/pain/xeno/alien_roar6.ogg', 'modular_chomp/sound/voice/pain/xeno/alien_roar7.ogg', 'modular_chomp/sound/voice/pain/xeno/alien_roar8.ogg', 'modular_chomp/sound/voice/pain/xeno/alien_roar9.ogg', 'modular_chomp/sound/voice/pain/xeno/alien_roar10.ogg', 'modular_chomp/sound/voice/pain/xeno/alien_roar11.ogg', 'modular_chomp/sound/voice/pain/xeno/alien_roar12.ogg'), "gasp" = list('modular_chomp/sound/voice/gasp/xeno/alien_hiss1.ogg'), "death" = list('modular_chomp/sound/voice/death/xeno/xeno_death.ogg', 'modular_chomp/sound/voice/death/xeno/xeno_death2.ogg')) +#define teshari_sounds list("cough" = list('sound/effects/mob_effects/tesharicougha.ogg','sound/effects/mob_effects/tesharicoughb.ogg'), "sneeze" = list('sound/effects/mob_effects/tesharisneeze.ogg'), "scream" = list('sound/effects/mob_effects/teshariscream.ogg'), "pain" = null, "gasp" = null, "death" = null) +#define raccoon_sounds list("cough" = null, "sneeze" = null, "scream" = list('sound/voice/raccoon.ogg'), "pain" = list('sound/voice/raccoon.ogg'), "gasp" = null, "death" = list('sound/voice/raccoon.ogg')) +#define metroid_sounds list("cough" = null, "sneeze" = null, "scream" = list('sound/metroid/metroidsee.ogg'), "pain" = list('sound/metroid/metroidsee.ogg'), "gasp" = null, "death" = list('sound/metroid/metroiddeath.ogg')) +#define vulpine_sounds list("cough" = null, "sneeze" = null, "scream" = list('modular_chomp/sound/voice/scream/vulpine/fox_yip1.ogg', 'modular_chomp/sound/voice/scream/vulpine/fox_yip2.ogg', 'modular_chomp/sound/voice/scream/vulpine/fox_yip3.ogg'), "pain" = list('modular_chomp/sound/voice/pain/vulpine/fox_pain1.ogg', 'modular_chomp/sound/voice/pain/vulpine/fox_pain2.ogg', 'modular_chomp/sound/voice/pain/vulpine/fox_pain3.ogg', 'modular_chomp/sound/voice/pain/vulpine/fox_pain4.ogg'), "gasp" = list('modular_chomp/sound/voice/gasp/canine/wolf_gasp.ogg'), "death" = list('modular_chomp/sound/voice/death/canine/wolf_death1.ogg', 'modular_chomp/sound/voice/death/canine/wolf_death2.ogg', 'modular_chomp/sound/voice/death/canine/wolf_death3.ogg', 'modular_chomp/sound/voice/death/canine/wolf_death4.ogg', 'modular_chomp/sound/voice/death/canine/wolf_death5.ogg')) +#define no_sounds list("cough" = null, "sneeze" = null, "scream" = null, "pain" = null, "gasp" = null, "death" = null) +#define use_default list("cough" = null, "sneeze" = null, "scream" = null, "pain" = null, "gasp" = null, "death" = null) /* * TBD Sound Defines below */ @@ -350,30 +358,82 @@ var/list/goon_speak_skelly_sound = list('sound/talksounds/goon/skelly.ogg', 'sou ) */ -var/list/species_sounds = list() +// Not sure we even really need this +// var/list/species_sounds = list() +// Global list containing all of our sound options. var/list/species_sound_map = list( "Canine" = canine_sounds, - "Feline" = feline_sounds, "Cervine" = cervine_sounds, - "Robotic" = robot_sounds, + "Feline" = feline_sounds, "Human Male" = male_generic_sounds, "Human Female" = female_generic_sounds, - "Spider" = spider_sounds, + "Lizard" = lizard_sounds, + "Metroid" = metroid_sounds, "Mouse" = mouse_sounds, + "Raccoon" = raccoon_sounds, + "Robotic" = robot_sounds, + "Slime" = slime_sounds, + "Spider" = spider_sounds, + "Teshari" = teshari_sounds, + "Vox" = vox_sounds, + "Vulpine" = vulpine_sounds, + "Xeno" = xeno_sounds, "None" = no_sounds, "Unset" = use_default ) +/* // Not sure we even really need this /hook/startup/proc/Init_species_sounds() // The entries we're checking over MUST have unique keys. for(var/i in species_sound_map) species_sounds |= species_sound_map[i] return 1 +*/ +/* + * Call this for when you need a sound from an already-identified list - IE, "Canine". pick() cannot parse procs. + * Indexes must be pre-calculated by the time it reaches here - for instance; + * var/mob/living/M = user + * get_species_sound(M.client.pref.species_sound)["scream"] will return get_species_sound("Robotic")["scream"] + * This can be paired with get_gendered_sound, like so: get_species_sound(get_gendered_sound(M))["emote"] <- get_gendered_sound will return whatever we have of the 3 valid options, and then get_species_sound will match that to the actual sound list. + * The get_species_sound proc will retrieve and return the list based on the key given - get_species_sound("Robotic")["scream"] will return list('modular_chomp/sound/voice/scream_silicon.ogg', 'modular_chomp/sound/voice/android_scream.ogg', etc) + * If you are adding new calls of this, follow the syntax of get_species_sound(species)["scream"] - you must attach ["emote"] to the end, outside the () + * If your species has a gendered sound, DON'T PANIC. Simply set the gender_specific_species_sounds var on the species to true, and when you call this, do it like so: + * get_species_sound(H.species.species_sounds_male)["emote"] // If we're male, and want an emote sound gendered correctly. +*/ /proc/get_species_sound(var/sounds) - /* - if(user.pref.species_sounds == "Unset") - return species_sound_map[coalesce(user.pref.custom_base, user.pref.species)] - */ return species_sound_map[sounds] + +/* + * 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. +*/ +/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]) + 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 + else if(pref.identifying_gender == MALE && valid.species_sounds_male) + return valid.species_sounds_male + else // Failsafe. Update if there's ever gendered sounds for HERM/Neuter/etc + return valid.species_sounds + else + return valid.species_sounds + +/proc/get_gendered_sound(var/mob/living/user) // Called anywhere we need gender-specific species sounds. Gets the gender-specific sound if one exists, but otherwise, will return the species-generic sound list. + var/mob/living/carbon/human/H = user + if(ishuman(H)) + if(H.species.gender_specific_species_sounds) // Do we have gender-specific sounds? + if(H.identifying_gender == FEMALE && H.species.species_sounds_female) + return H.species.species_sounds_female + else if(H.identifying_gender == MALE && H.species.species_sounds_male) + return H.species.species_sounds_male + else // Failsafe. Update if there's ever gendered sounds for HERM/Neuter/etc + return H.species.species_sounds + else + return H.species.species_sounds + else + return user.species_sounds + + // CHOMPEdit End diff --git a/code/modules/client/preference_setup/vore/02_size.dm b/code/modules/client/preference_setup/vore/02_size.dm index 7b3c1ae991..276034e29f 100644 --- a/code/modules/client/preference_setup/vore/02_size.dm +++ b/code/modules/client/preference_setup/vore/02_size.dm @@ -124,7 +124,9 @@ // var/datum/species/selected_species = GLOB.all_species[pref.species] // if(selected_species.selects_bodytype) . += "
" - . += "Species Injury Sounds: [pref.species_sound]
" + . += "Species Sounds: [pref.species_sound]
" + . += "Test Cough Sounds
" + . += "Test Sneeze Sounds
" . += "Test Scream Sounds
" . += "Test Pain Sounds
" . += "Test Gasp Sounds
" @@ -275,256 +277,101 @@ // CHOMPEdit Start: Pain/Scream/Death sounds else if(href_list["species_sound_options"]) // You shouldn't be able to see this option if you don't have the option to select a custom icon base, so we don't need to re-check for safety here. var/list/possible_species_sound_types = species_sound_map - testing("Loading species sound types for selection.") - var/choice = tgui_input_list(usr, "Which set of sounds would you like to use for your character's pain, death, gasp, and scream sounds?", "Species Sounds", possible_species_sound_types) + var/choice = tgui_input_list(usr, "Which set of sounds would you like to use for your character's species sounds? (Cough, Sneeze, Scream, Pain, Gasp, Death)", "Species Sounds", possible_species_sound_types) if(!choice) return TOPIC_REFRESH // No choice? Don't reset our selection else pref.species_sound = choice - testing("Setting species sound type to [choice].") return TOPIC_REFRESH - else if(href_list["scream_test"]) - var/datum/species/selected_species = GLOB.all_species[pref.species] - // if(selected_species.selects_bodytype) + else if(href_list["cough_test"]) var/sound/S - testing("About to test our voice. User is [user]. Our chosen species sound is [pref.species_sound].") - testing("Species Sound map returns [get_species_sound(pref.species_sound)].") - testing("We are fetching a sound, and will get [pick(species_sound_map[pref.species_sound["scream"]])].") - S = sound(pick(species_sound_map[pref.species_sound["scream"]])) - //S = sound(pick(get_species_sound(pref.species_sound["scream"]))) - /* - switch(pref.species_sound) - if("Canine") - S = sound(pick(canine_sounds["scream"])) - if("Feline") - S = sound(pick(feline_scream_sounds)) - if("Cervine") - S = sound(pick(cervine_scream_sounds)) - if("Generic/Human") - if(pref.identifying_gender == FEMALE) - S = sound(pick(female_generic_scream_sounds)) - else - S = sound(pick(male_generic_scream_sounds)) - if("Unset") - var/datum/species/os - if(!pref.custom_base) // Safety - os = selected_species - else - os = GLOB.all_species[pref.custom_base] - if(pref.identifying_gender == FEMALE) - S = sound(pick(os.female_scream_sound)) - else - S = sound(pick(os.male_scream_sound)) - if("Robotic") - S = sound(pick(robot_scream_sounds)) - if("None" || null) - to_chat(user, "This set does not have scream sounds!") - return TOPIC_REFRESH - */ + var/ourpref = pref.species_sound + var/oursound = get_species_sound(ourpref)["cough"] + S = sound(pick(oursound)) if(pref.species_sound == "Unset") - S = sound(pick(get_species_sound(coalesce(pref.species_sound, pref.custom_base, pref.species))["scream"])) - if(pref.species_sound == "None" || pref.species_sound["scream"] == null || S == null) + oursound = get_species_sound(select_default_species_sound(user))["cough"] + S = sound(pick(oursound)) + if(pref.species_sound == "None" || oursound == null) + to_chat(user, "This set does not have cough sounds!") + return TOPIC_REFRESH + S.frequency = pick(pref.voice_freq) + S.volume = 20 + SEND_SOUND(user, S) + return TOPIC_REFRESH + else if(href_list["sneeze_test"]) + var/sound/S + var/ourpref = pref.species_sound + 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"] + S = sound(pick(oursound)) + if(pref.species_sound == "None" || oursound == null) + to_chat(user, "This set does not have sneeze sounds!") + return TOPIC_REFRESH + S.frequency = pick(pref.voice_freq) + S.volume = 20 + SEND_SOUND(user, S) + return TOPIC_REFRESH + else if(href_list["scream_test"]) + var/sound/S + var/ourpref = pref.species_sound + 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"] + S = sound(pick(oursound)) + if(pref.species_sound == "None" || oursound == null) to_chat(user, "This set does not have scream sounds!") return TOPIC_REFRESH S.frequency = pick(pref.voice_freq) S.volume = 20 SEND_SOUND(user, S) return TOPIC_REFRESH - /* - else - var/sound/S - if(pref.identifying_gender == FEMALE) - S = sound(pick(selected_species.female_scream_sound)) - else - S = sound(pick(selected_species.male_scream_sound)) - if(S == null) - to_chat(user, "This species does not have scream sounds!") - return TOPIC_REFRESH - S.frequency = pick(pref.voice_freq) - S.volume = 20 - SEND_SOUND(user, S) - return TOPIC_REFRESH - */ - else if(href_list["pain_test"]) - var/datum/species/selected_species = GLOB.all_species[pref.species] - //if(selected_species.selects_bodytype) var/sound/S - S = sound(pick(species_sound_map[pref.species_sound["pain"]])) - //S = sound(pick(get_species_sound(pref.species_sound["pain"]))) - /* - switch(pref.species_sound) - if("Canine") - S = sound(pick(canine_pain_sounds)) - if("Feline") - S = sound(pick(feline_pain_sounds)) - if("Cervine") - to_chat(user, "This set does not have pain sounds!") - return TOPIC_REFRESH - if("Generic/Human") - if(pref.identifying_gender == FEMALE) - S = sound(pick(female_generic_pain_sounds)) - else - S = sound(pick(male_generic_pain_sounds)) - if("Unset") - var/datum/species/os - if(!pref.custom_base) // Safety - os = selected_species - else - os = GLOB.all_species[pref.custom_base] - if(pref.identifying_gender == FEMALE) - S = sound(pick(os.female_pain_sound)) - else - S = sound(pick(os.male_pain_sound)) - if("Robotic") - S = sound(pick(robot_pain_sounds)) - if("None" || null) - to_chat(user, "This set does not have pain sounds!") - return TOPIC_REFRESH - */ + var/ourpref = pref.species_sound + var/oursound = get_species_sound(ourpref)["pain"] + S = sound(pick(oursound)) if(pref.species_sound == "Unset") - S = sound(pick(get_species_sound(coalesce(pref.species_sound, pref.custom_base, pref.species))["pain"])) - if(pref.species_sound == "None" || pref.species_sound["pain"] == null || S == null) + oursound = get_species_sound(select_default_species_sound(user))["pain"] + S = sound(pick(oursound)) + if(pref.species_sound == "None" || oursound == null) to_chat(user, "This set does not have pain sounds!") return TOPIC_REFRESH S.frequency = pick(pref.voice_freq) S.volume = 20 SEND_SOUND(user, S) return TOPIC_REFRESH - /* - else - var/sound/S - if(pref.identifying_gender == FEMALE) - S = sound(pick(selected_species.female_pain_sound)) - else - S = sound(pick(selected_species.male_pain_sound)) - if(S == null) - to_chat(user, "This species does not have pain sounds!") - return TOPIC_REFRESH - S.frequency = pick(pref.voice_freq) - S.volume = 20 - SEND_SOUND(user, S) - return TOPIC_REFRESH - */ else if(href_list["gasp_test"]) - var/datum/species/selected_species = GLOB.all_species[pref.species] - // if(selected_species.selects_bodytype) var/sound/S - S = sound(pick(species_sound_map[pref.species_sound["gasp"]])) - //S = sound(pick(get_species_sound(pref.species_sound["gasp"]))) - /* - switch(pref.species_sound) - if("Canine") - S = sound(pick(canine_gasp_sounds)) - if("Feline") - S = sound(pick(feline_gasp_sounds)) - if("Cervine") - to_chat(user, "This set does not have gasp sounds!") - return TOPIC_REFRESH - if("Generic/Human") - if(pref.identifying_gender == FEMALE) - S = sound(pick(female_generic_gasp_sounds)) - else - S = sound(pick(male_generic_gasp_sounds)) - if("Unset") - var/datum/species/os - if(!pref.custom_base) // Safety - os = selected_species - else - os = GLOB.all_species[pref.custom_base] - if(pref.identifying_gender == FEMALE) - S = sound(pick(os.female_gasp_sound)) - else - S = sound(pick(os.male_gasp_sound)) - if("Robotic") - to_chat(user, "This set does not have gasp sounds!") - return TOPIC_REFRESH - if("None" || null) - to_chat(user, "This set does not have gasp sounds!") - return TOPIC_REFRESH - */ + var/ourpref = pref.species_sound + var/oursound = get_species_sound(ourpref)["gasp"] + S = sound(pick(oursound)) if(pref.species_sound == "Unset") - S = sound(pick(get_species_sound(coalesce(pref.species_sound, pref.custom_base, pref.species))["gasp"])) - if(pref.species_sound == "None" || pref.species_sound["gasp"] == null || S == null) + oursound = get_species_sound(select_default_species_sound(user))["gasp"] + S = sound(pick(oursound)) + if(pref.species_sound == "None" || oursound == null) to_chat(user, "This set does not have gasp sounds!") return TOPIC_REFRESH S.frequency = pick(pref.voice_freq) S.volume = 20 SEND_SOUND(user, S) return TOPIC_REFRESH - /* - else - var/sound/S - if(pref.identifying_gender == FEMALE) - S = sound(pick(selected_species.female_gasp_sound)) - else - S = sound(pick(selected_species.male_gasp_sound)) - if(S == null) - to_chat(user, "This species does not have gasp sounds!") - return TOPIC_REFRESH - S.frequency = pick(pref.voice_freq) - S.volume = 20 - SEND_SOUND(user, S) - return TOPIC_REFRESH - */ else if(href_list["death_test"]) - var/datum/species/selected_species = GLOB.all_species[pref.species] - // if(selected_species.selects_bodytype) var/sound/S - S = sound(pick(species_sound_map[pref.species_sound["death"]])) - // S = sound(pick(get_species_sound(pref.species_sound["death"]))) - /* - switch(pref.species_sound) - if("Canine") - S = sound(pick(canine_death_sounds)) - if("Feline") - S = sound(pick(feline_death_sounds)) - if("Cervine") - S = sound(pick(cervine_death_sounds)) - if("Generic/Human") - if(pref.identifying_gender == FEMALE) - S = sound(pick(female_generic_death_sounds)) - else - S = sound(pick(male_generic_death_sounds)) - if("Unset") - var/datum/species/os - if(!pref.custom_base) // Safety - os = selected_species - else - os = GLOB.all_species[pref.custom_base] - if(pref.identifying_gender == FEMALE) - S = sound(pick(os.female_death_sound)) - else - S = sound(pick(os.male_death_sound)) - if("Robotic") - S = sound(pick(robot_death_sounds)) - if("None" || null) - to_chat(user, "This set does not have death sounds!") - return TOPIC_REFRESH - */ + var/ourpref = pref.species_sound + var/oursound = get_species_sound(ourpref)["death"] + S = sound(pick(oursound)) if(pref.species_sound == "Unset") - S = sound(pick(get_species_sound(coalesce(pref.species_sound, pref.custom_base, pref.species))["death"])) - if(pref.species_sound == "None" || pref.species_sound["gasp"] == null || S == null) - to_chat(user, "This set does not have gasp sounds!") + oursound = get_species_sound(select_default_species_sound(user))["death"] + S = sound(pick(oursound)) + if(pref.species_sound == "None" || oursound == null) + to_chat(user, "This set does not have death sounds!") return TOPIC_REFRESH S.frequency = pick(pref.voice_freq) S.volume = 20 SEND_SOUND(user, S) return TOPIC_REFRESH - /* - else - var/sound/S - if(pref.identifying_gender == FEMALE) - S = sound(pick(selected_species.female_death_sound)) - else - S = sound(pick(selected_species.male_death_sound)) - if(S == null) - to_chat(user, "This species does not have death sounds!") - return TOPIC_REFRESH - S.frequency = pick(pref.voice_freq) - S.volume = 20 - SEND_SOUND(user, S) - return TOPIC_REFRESH - */ // CHOMPEdit End return ..(); diff --git a/code/modules/client/preference_setup/vore/07_traits.dm b/code/modules/client/preference_setup/vore/07_traits.dm index c6f1905f2c..a668d1f1e7 100644 --- a/code/modules/client/preference_setup/vore/07_traits.dm +++ b/code/modules/client/preference_setup/vore/07_traits.dm @@ -262,7 +262,11 @@ new_S.copy_species_sounds(new_S, pref.species_sound, pref.custom_base) // CHOMPEdit: Custom Scream/Death/Gasp/Pain Sounds */ // CHOMPEdit: Custom Scream/Death/Gasp/Pain Sounds. - new_S.species_sounds = coalesce(pref.species_sound, pref.custom_base, pref.species) + var/species_sounds_to_copy = pref.species_sound // What sounds are we using? + if(species_sounds_to_copy == "Unset") // Are we unset? + species_sounds_to_copy = select_default_species_sound(pref) // This will also grab gendered versions of the sounds, if they exist. + + new_S.species_sounds = species_sounds_to_copy // Now we send our sounds over to the mob if(pref.species == SPECIES_CUSTOM) //Statistics for this would be nice diff --git a/code/modules/emotes/definitions/audible_cough.dm b/code/modules/emotes/definitions/audible_cough.dm index 4e28d1db91..e30b0be3fd 100644 --- a/code/modules/emotes/definitions/audible_cough.dm +++ b/code/modules/emotes/definitions/audible_cough.dm @@ -12,41 +12,23 @@ emote_volume_synthetic = 50 conscious = FALSE - emote_sound_synthetic = list( - FEMALE = list( - 'sound/effects/mob_effects/f_machine_cougha.ogg', - 'sound/effects/mob_effects/f_machine_coughb.ogg' - ), - MALE = list( - 'sound/effects/mob_effects/m_machine_cougha.ogg', - 'sound/effects/mob_effects/m_machine_coughb.ogg', - 'sound/effects/mob_effects/m_machine_coughc.ogg' - ), - NEUTER = list( - 'sound/effects/mob_effects/m_machine_cougha.ogg', - 'sound/effects/mob_effects/m_machine_coughb.ogg', - 'sound/effects/mob_effects/m_machine_coughc.ogg' - ), - PLURAL = list( - 'sound/effects/mob_effects/m_machine_cougha.ogg', - 'sound/effects/mob_effects/m_machine_coughb.ogg', - 'sound/effects/mob_effects/m_machine_coughc.ogg' - ) - ) +// CHOMPEdit Start: Standardize Species Sounds + // emote_sound_synthetic = list() /decl/emote/audible/cough/get_emote_sound(var/atom/user) if(ishuman(user) && !check_synthetic(user)) var/mob/living/carbon/human/H = user - if(H.get_gender() == FEMALE) - if(length(H.species.female_cough_sounds)) - return list( - "sound" = H.species.female_cough_sounds, - "vol" = emote_volume - ) - else - if(length(H.species.male_cough_sounds)) - return list( - "sound" = H.species.male_cough_sounds, - "vol" = emote_volume - ) + var/vol = H.species.cough_volume + return list( + "sound" = get_species_sound(get_gendered_sound(H))["cough"], + "vol" = vol, + "volchannel" = VOLUME_CHANNEL_SPECIES_SOUNDS + ) + if(check_synthetic(user)) + return list( + "sound" = get_species_sound("Robotic")["cough"], + "vol" = emote_volume, + "volchannel" = VOLUME_CHANNEL_SPECIES_SOUNDS + ) +// CHOMPEdit End return ..() diff --git a/code/modules/emotes/definitions/audible_scream_ch.dm b/code/modules/emotes/definitions/audible_scream_ch.dm index 591fb31d73..91b3fbf85f 100644 --- a/code/modules/emotes/definitions/audible_scream_ch.dm +++ b/code/modules/emotes/definitions/audible_scream_ch.dm @@ -2,19 +2,12 @@ ..() if(ishuman(user)) var/mob/living/carbon/human/H = user - if(H.get_gender() == FEMALE) - return list( - "sound" = H.species.female_scream_sound, - "vol" = 60, + var/vol = H.species.scream_volume + return list( + "sound" = get_species_sound(get_gendered_sound(H))["scream"], + "vol" = vol, "exr" = 20, - "volchannel" = VOLUME_CHANNEL_INJ_DEATH - ) - else - return list( - "sound" = H.species.male_scream_sound, - "vol" = 60, - "exr" = 20, - "volchannel" = VOLUME_CHANNEL_INJ_DEATH + "volchannel" = VOLUME_CHANNEL_SPECIES_SOUNDS ) /* // Not sure if needed, screams are a carbon-only thing rn. else @@ -23,18 +16,18 @@ return list( "sound" = female_scream_sound, "vol" = 60, - "volchannel" = VOLUME_CHANNEL_INJ_DEATH + "volchannel" = VOLUME_CHANNEL_SPECIES_SOUNDS ) else if((M.get_gender() == MALE) && male_scream_sound) // If our mob has custom sounds per-gender defined, most won't. return list( "sound" = male_scream_sound, "vol" = 60, - "volchannel" = VOLUME_CHANNEL_INJ_DEATH + "volchannel" = VOLUME_CHANNEL_SPECIES_SOUNDS ) else return list( "sound" = scream_sound, "vol" = 60, - "volchannel" = VOLUME_CHANNEL_INJ_DEATH + "volchannel" = VOLUME_CHANNEL_SPECIES_SOUNDS ) */ diff --git a/code/modules/emotes/definitions/audible_scream_vr.dm b/code/modules/emotes/definitions/audible_scream_vr.dm index c063a87a17..a8635c0166 100644 --- a/code/modules/emotes/definitions/audible_scream_vr.dm +++ b/code/modules/emotes/definitions/audible_scream_vr.dm @@ -1,6 +1,8 @@ /decl/emote/audible/scream/get_emote_sound(var/atom/user) if(ishuman(user)) var/mob/living/carbon/human/H = user + // CHOMPEdit Start: Commenting out bc _ch calls parent. + /* if(H.get_gender() == FEMALE) return list( "sound" = H.species.female_scream_sound, @@ -10,4 +12,11 @@ return list( "sound" = H.species.male_scream_sound, "vol" = emote_volume - ) \ No newline at end of file + */ + var/vol = H.species.scream_volume + return list( + "sound" = get_species_sound(get_gendered_sound(H))["scream"], + "vol" = vol, + "exr" = 20, + "volchannel" = VOLUME_CHANNEL_SPECIES_SOUNDS + ) diff --git a/code/modules/emotes/definitions/audible_sneeze.dm b/code/modules/emotes/definitions/audible_sneeze.dm index a15cbaf46d..3d745fa1b7 100644 --- a/code/modules/emotes/definitions/audible_sneeze.dm +++ b/code/modules/emotes/definitions/audible_sneeze.dm @@ -2,12 +2,6 @@ key = "sneeze" emote_message_1p = "You sneeze." emote_message_3p = "sneezes." - emote_sound_synthetic = list( - FEMALE = 'sound/effects/mob_effects/machine_sneeze.ogg', - MALE = 'sound/effects/mob_effects/f_machine_sneeze.ogg', - NEUTER = 'sound/effects/mob_effects/f_machine_sneeze.ogg', - PLURAL = 'sound/effects/mob_effects/f_machine_sneeze.ogg' - ) emote_message_synthetic_1p = "You emit a robotic sneeze." emote_message_synthetic_1p_target = "You emit a robotic sneeze towards TARGET." emote_message_synthetic_3p = "emits a robotic sneeze." @@ -16,14 +10,13 @@ /decl/emote/audible/sneeze/get_emote_sound(var/atom/user) if(ishuman(user) && !check_synthetic(user)) var/mob/living/carbon/human/H = user - if(H.get_gender() == FEMALE) - return list( - "sound" = H.species.female_sneeze_sound, - "vol" = emote_volume - ) - else - return list( - "sound" = H.species.male_sneeze_sound, - "vol" = emote_volume + // CHOMPEdit Start: Standardize Species Sounds + var/vol = H.species.sneeze_volume + return list( + "sound" = get_species_sound(get_gendered_sound(H))["sneeze"], + "vol" = vol, + "exr" = 20, + "volchannel" = VOLUME_CHANNEL_SPECIES_SOUNDS ) + // CHOMPEdit End return ..() diff --git a/code/modules/emotes/definitions/human.dm b/code/modules/emotes/definitions/human.dm index b8571fa164..7addc1222c 100644 --- a/code/modules/emotes/definitions/human.dm +++ b/code/modules/emotes/definitions/human.dm @@ -4,12 +4,21 @@ /decl/emote/human/deathgasp key = "deathgasp" +/decl/emote/human/deathgasp/get_emote_sound(user) + var/mob/living/carbon/human/H = user + var/vol = H.species.death_volume + return list( + "sound" = get_species_sound(get_gendered_sound(H))["death"], + "vol" = vol, + "volchannel" = VOLUME_CHANNEL_SPECIES_SOUNDS + ) + /decl/emote/human/deathgasp/do_emote(mob/living/carbon/human/user) if(istype(user) && user.species.get_death_message(user) == DEATHGASP_NO_MESSAGE) to_chat(user, SPAN_WARNING("Your species has no deathgasp.")) return - . = ..() - + . = ..() + /decl/emote/human/deathgasp/get_emote_message_3p(var/mob/living/carbon/human/user) return "[user.species.get_death_message(user)]" diff --git a/code/modules/mob/living/carbon/human/death.dm b/code/modules/mob/living/carbon/human/death.dm index 0f0d2dc53d..0eb409370a 100644 --- a/code/modules/mob/living/carbon/human/death.dm +++ b/code/modules/mob/living/carbon/human/death.dm @@ -91,16 +91,8 @@ if(!gibbed && species.death_sound) playsound(src, species.death_sound, 80, 1, 1) */ - if(!gibbed && (species.male_death_sound || species.female_death_sound) && !isbelly(loc)) - var/gender = src.gender - if(gender == FEMALE) - playsound(src, pick(species.female_death_sound), 40, 1, 20, volume_channel = VOLUME_CHANNEL_INJ_DEATH) - else // Until we get more, sorry. :c - playsound(src, pick(species.male_death_sound), 40, 1, 20, volume_channel = VOLUME_CHANNEL_INJ_DEATH) - /* - if(HERM) // TBD if we ever get sounds for non male/female. Not a focus rn. - playsound(src, species.male_death_sound, 80, 1, 20) - */ + if(!gibbed && !isbelly(loc)) + playsound(src, pick(get_species_sound(get_gendered_sound(src))["death"]), src.species.death_volume, 1, 20, volume_channel = VOLUME_CHANNEL_SPECIES_SOUNDS) // CHOMPEdit End if(ticker && ticker.mode) diff --git a/code/modules/mob/living/carbon/human/species/outsider/shadow.dm b/code/modules/mob/living/carbon/human/species/outsider/shadow.dm index 8e129555b0..b49645029b 100644 --- a/code/modules/mob/living/carbon/human/species/outsider/shadow.dm +++ b/code/modules/mob/living/carbon/human/species/outsider/shadow.dm @@ -12,8 +12,9 @@ has_organ = list() siemens_coefficient = 0 - male_scream_sound = null //CHOMPedit It has no mouth yet it must scream - female_scream_sound = null //CHOMPedit + // CHOMPedit: No sounds for this species + // male_scream_sound = null //CHOMPedit It has no mouth yet it must scream + // female_scream_sound = null //CHOMPedit blood_color = "#CCCCCC" flesh_color = "#AAAAAA" @@ -33,4 +34,4 @@ /datum/species/shadow/handle_death(var/mob/living/carbon/human/H) spawn(1) new /obj/effect/decal/cleanable/ash(H.loc) - qdel(H) \ No newline at end of file + qdel(H) diff --git a/code/modules/mob/living/carbon/human/species/outsider/skeleton.dm b/code/modules/mob/living/carbon/human/species/outsider/skeleton.dm index ebc5237c08..14109882dc 100644 --- a/code/modules/mob/living/carbon/human/species/outsider/skeleton.dm +++ b/code/modules/mob/living/carbon/human/species/outsider/skeleton.dm @@ -15,8 +15,9 @@ spawn_flags = SPECIES_IS_RESTRICTED appearance_flags = null - male_scream_sound = null //CHOMPedit Screaming skeletons would be funny, but needs better sounds - female_scream_sound = null //CHOMPedit + // CHOMPedit: No sounds for this species + // male_scream_sound = null //CHOMPedit Screaming skeletons would be funny, but needs better sounds + // female_scream_sound = null //CHOMPedit show_ssd = null @@ -53,4 +54,4 @@ heat_level_2 = 3000 heat_level_3 = 4000 - body_temperature = T20C \ No newline at end of file + body_temperature = T20C diff --git a/code/modules/mob/living/carbon/human/species/outsider/vox.dm b/code/modules/mob/living/carbon/human/species/outsider/vox.dm index 29dae36b85..7a7844efe6 100644 --- a/code/modules/mob/living/carbon/human/species/outsider/vox.dm +++ b/code/modules/mob/living/carbon/human/species/outsider/vox.dm @@ -28,19 +28,16 @@ scream_verb_1p = "shriek" scream_verb_3p = "shrieks" - male_scream_sound = list('sound/voice/shriek1.ogg') // CHOMPEdit: List-ified - female_scream_sound = list('sound/voice/shriek1.ogg') // CHOMPEdit: List-ified - male_cough_sounds = list('sound/voice/shriekcough.ogg') - female_cough_sounds = list('sound/voice/shriekcough.ogg') - male_sneeze_sound = 'sound/voice/shrieksneeze.ogg' - female_sneeze_sound = 'sound/voice/shrieksneeze.ogg' - // CHOMPEdit Start: Missing Sounds, so limited/substitutes for this race. - male_gasp_sound = null - female_gasp_sound = null - male_pain_sound = list('sound/voice/shriek1.ogg') - female_pain_sound = list('sound/voice/shriek1.ogg') - male_death_sound = null - female_death_sound = null + pain_verb_1p = "shriek" + pain_verb_3p = "shrieks" + species_sounds = "Vox" + // CHOMPedit: Species Sounds Standardization + // male_scream_sound = list('sound/voice/shriek1.ogg') // CHOMPEdit: List-ified + // female_scream_sound = list('sound/voice/shriek1.ogg') // CHOMPEdit: List-ified + // male_cough_sounds = list('sound/voice/shriekcough.ogg') + // female_cough_sounds = list('sound/voice/shriekcough.ogg') + // male_sneeze_sound = 'sound/voice/shrieksneeze.ogg' + // female_sneeze_sound = 'sound/voice/shrieksneeze.ogg' // CHOMPEdit End warning_low_pressure = 50 diff --git a/code/modules/mob/living/carbon/human/species/shadekin/shadekin.dm b/code/modules/mob/living/carbon/human/species/shadekin/shadekin.dm index 2b8edb450f..836194f2e0 100644 --- a/code/modules/mob/living/carbon/human/species/shadekin/shadekin.dm +++ b/code/modules/mob/living/carbon/human/species/shadekin/shadekin.dm @@ -22,8 +22,8 @@ unarmed_types = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/claws/shadekin, /datum/unarmed_attack/bite/sharp/shadekin) rarity_value = 15 //INTERDIMENSIONAL FLUFFERS - male_scream_sound = null //CHOMPedit - female_scream_sound = null //CHOMPedit + // male_scream_sound = null //CHOMPedit + // female_scream_sound = null //CHOMPedit inherent_verbs = list(/mob/proc/adjust_hive_range) @@ -63,10 +63,10 @@ // has_glowing_eyes = TRUE //Applicable through neutral taits. death_message = "phases to somewhere far away!" - male_cough_sounds = null - female_cough_sounds = null - male_sneeze_sound = null - female_sneeze_sound = null + // male_cough_sounds = null + // female_cough_sounds = null + // male_sneeze_sound = null + // female_sneeze_sound = null speech_bubble_appearance = "ghost" diff --git a/code/modules/mob/living/carbon/human/species/species.dm b/code/modules/mob/living/carbon/human/species/species.dm index 20646a16f6..04cc78d436 100644 --- a/code/modules/mob/living/carbon/human/species/species.dm +++ b/code/modules/mob/living/carbon/human/species/species.dm @@ -80,12 +80,32 @@ //Soundy emotey things. var/scream_verb_1p = "scream" var/scream_verb_3p = "screams" + // CHOMPEdit Start: Overriding with our own species-specific sounds. + // If you're wanting to know where the lists are per-species, go to sound.dm + /* var/male_scream_sound = list('sound/effects/mob_effects/m_scream_1.ogg','sound/effects/mob_effects/m_scream_2.ogg','sound/effects/mob_effects/m_scream_3.ogg','sound/effects/mob_effects/m_scream_4.ogg') //CHOMpedit start : Added tgstation screams var/female_scream_sound = list('sound/effects/mob_effects/f_scream_1.ogg','sound/effects/mob_effects/f_scream_2.ogg','sound/effects/mob_effects/f_scream_3.ogg','sound/effects/mob_effects/f_scream_4.ogg') //CHOMPedit end var/male_cough_sounds = list('sound/effects/mob_effects/m_cougha.ogg','sound/effects/mob_effects/m_coughb.ogg', 'sound/effects/mob_effects/m_coughc.ogg') var/female_cough_sounds = list('sound/effects/mob_effects/f_cougha.ogg','sound/effects/mob_effects/f_coughb.ogg') var/male_sneeze_sound = 'sound/effects/mob_effects/sneeze.ogg' var/female_sneeze_sound = 'sound/effects/mob_effects/f_sneeze.ogg' + */ + /* Our base species sounds. + * Note that species_sounds is meant to be used in the place of gendered sound. + * If your species has gendered sounds, set 'gender_specific_species_sounds' to TRUE, and define your gendered sounds below. + */ + var/species_sounds = "None" + var/gender_specific_species_sounds = FALSE // This variable controls if our audible emotes pick based off of gender. Only humans have these so far. + var/species_sounds_male = "None" // Safely ignored if the above is set FALSE + var/species_sounds_female = "None" // Safely ignored if the above is set FALSE + var/cough_volume = 50 // Self-explanatory, define this separately on your species if the sound files are louder. + var/sneeze_volume = 50 // Self-explanatory, define this separately on your species if the sound files are louder. + var/scream_volume = 60 // Self-explanatory, define this separately on your species if the sound files are louder. + var/pain_volume = 50 // Self-explanatory, define this separately on your species if the sound files are louder. + var/gasp_volume = 50 // Self-explanatory, define this separately on your species if the sound files are louder. + var/death_volume = 50 // Self-explanatory, define this separately on your species if the sound files are louder. + // var/species_sounds_herm // If you want a custom sound played for other genders, just add them like so + // CHOMPEdit End // Combat/health/chem/etc. vars. var/total_health = 100 // How much damage the mob can take before entering crit. @@ -575,4 +595,3 @@ /datum/species/proc/post_spawn_special(mob/living/carbon/human/H) return - diff --git a/code/modules/mob/living/carbon/human/species/station/alraune.dm b/code/modules/mob/living/carbon/human/species/station/alraune.dm index 665408704a..74ad9920b4 100644 --- a/code/modules/mob/living/carbon/human/species/station/alraune.dm +++ b/code/modules/mob/living/carbon/human/species/station/alraune.dm @@ -17,8 +17,8 @@ base_species = SPECIES_ALRAUNE selects_bodytype = SELECTS_BODYTYPE_CUSTOM //VOREStation edit - male_scream_sound = null //CHOMPedit - female_scream_sound = null //CHOMPedit + // male_scream_sound = null //CHOMPedit + // female_scream_sound = null //CHOMPedit wikilink="https://wiki.chompstation13.net/index.php?title=Alraune" //CHOMPedit: add wiki link body_temperature = T20C diff --git a/code/modules/mob/living/carbon/human/species/station/blank_vr.dm b/code/modules/mob/living/carbon/human/species/station/blank_vr.dm index 0bee807c7e..b8b3fd357b 100644 --- a/code/modules/mob/living/carbon/human/species/station/blank_vr.dm +++ b/code/modules/mob/living/carbon/human/species/station/blank_vr.dm @@ -16,16 +16,8 @@ you select and set this species as your species. Please look at the VORE tab if you select this species." catalogue_data = list(/datum/category_item/catalogue/fauna/custom_species) - male_scream_sound = null //CHOMPedit These are going to be a hassle for custom species if not null - female_scream_sound = null //CHOMPedit - // CHOMPEdit Start: Missing Sounds, so none for this race. - male_gasp_sound = null - female_gasp_sound = null - male_pain_sound = null - female_pain_sound = null - male_death_sound = null - female_death_sound = null - // CHOMPEdit End + // male_scream_sound = null //CHOMPedit These are going to be a hassle for custom species if not null + // female_scream_sound = null //CHOMPedit name_language = null // Use the first-name last-name generator rather than a language scrambler min_age = 18 diff --git a/code/modules/mob/living/carbon/human/species/station/golem.dm b/code/modules/mob/living/carbon/human/species/station/golem.dm index 738ab468cd..f08eddeb8a 100644 --- a/code/modules/mob/living/carbon/human/species/station/golem.dm +++ b/code/modules/mob/living/carbon/human/species/station/golem.dm @@ -11,16 +11,8 @@ spawn_flags = SPECIES_IS_RESTRICTED siemens_coefficient = 0 - male_scream_sound = null //CHOMPedit - female_scream_sound = null //CHOMPedit - // CHOMPEdit Start: Missing Sounds, so none for this race. - male_gasp_sound = null - female_gasp_sound = null - male_pain_sound = null - female_pain_sound = null - male_death_sound = null - female_death_sound = null - // CHOMPEdit End + // male_scream_sound = null //CHOMPedit + // female_scream_sound = null //CHOMPedit assisted_langs = list() diff --git a/code/modules/mob/living/carbon/human/species/station/greyYW.dm b/code/modules/mob/living/carbon/human/species/station/greyYW.dm index 21a909d990..852186daef 100644 --- a/code/modules/mob/living/carbon/human/species/station/greyYW.dm +++ b/code/modules/mob/living/carbon/human/species/station/greyYW.dm @@ -27,16 +27,8 @@ darksight = 5 reagent_tag = IS_GREY - male_scream_sound = null //CHOMPedit - female_scream_sound = null //CHOMPedit - // CHOMPEdit Start: Missing Sounds, so none for this race. - male_gasp_sound = null - female_gasp_sound = null - male_pain_sound = null - female_pain_sound = null - male_death_sound = null - female_death_sound = null - // CHOMPEdit End + // male_scream_sound = null //CHOMPedit + // female_scream_sound = null //CHOMPedit min_age = 18 max_age = 130 diff --git a/code/modules/mob/living/carbon/human/species/station/monkey.dm b/code/modules/mob/living/carbon/human/species/station/monkey.dm index 5e71d724e1..6efc9b4220 100644 --- a/code/modules/mob/living/carbon/human/species/station/monkey.dm +++ b/code/modules/mob/living/carbon/human/species/station/monkey.dm @@ -22,16 +22,8 @@ tail = "chimptail" fire_icon_state = "monkey" - male_scream_sound = null //CHOMPedit - female_scream_sound = null //CHOMPedit - // CHOMPEdit Start: Missing Sounds, so none for this race. - male_gasp_sound = null - female_gasp_sound = null - male_pain_sound = null - female_pain_sound = null - male_death_sound = null - female_death_sound = null - // CHOMPEdit End + // male_scream_sound = null //CHOMPedit + // female_scream_sound = null //CHOMPedit unarmed_types = list(/datum/unarmed_attack/bite, /datum/unarmed_attack/claws) inherent_verbs = list(/mob/living/proc/ventcrawl) diff --git a/code/modules/mob/living/carbon/human/species/station/monkey_vr.dm b/code/modules/mob/living/carbon/human/species/station/monkey_vr.dm index 583d7798db..7e6546f84a 100644 --- a/code/modules/mob/living/carbon/human/species/station/monkey_vr.dm +++ b/code/modules/mob/living/carbon/human/species/station/monkey_vr.dm @@ -6,8 +6,8 @@ tail = null //The tail is part of its body due to tail using the "icons/effects/species.dmi" file. It must be null, or they'll have a chimp tail. greater_form = "Akula" default_language = "Skrellian" //Closest we have. - male_scream_sound = null //CHOMPedit - female_scream_sound = null //CHOMPedit + // male_scream_sound = null //CHOMPedit + // female_scream_sound = null //CHOMPedit /datum/species/monkey/sergal name = SPECIES_MONKEY_SERGAL @@ -16,8 +16,8 @@ deform = 'icons/mob/human_races/monkeys/r_sergaling_vr.dmi' tail = null default_language = LANGUAGE_SAGARU - male_scream_sound = null //CHOMPedit - female_scream_sound = null //CHOMPedit + // male_scream_sound = null //CHOMPedit + // female_scream_sound = null //CHOMPedit /datum/species/monkey/sparra name = SPECIES_MONKEY_NEVREAN @@ -27,8 +27,8 @@ icobase = 'icons/mob/human_races/monkeys/r_sparra_vr.dmi' deform = 'icons/mob/human_races/monkeys/r_sparra_vr.dmi' default_language = LANGUAGE_BIRDSONG - male_scream_sound = null //CHOMPedit - female_scream_sound = null //CHOMPedit + // male_scream_sound = null //CHOMPedit + // female_scream_sound = null //CHOMPedit /* Example from Polaris code @@ -58,8 +58,9 @@ flesh_color = "#966464" base_color = "#000000" tail = null - male_scream_sound = null //CHOMPedit - female_scream_sound = null //CHOMPedit + species_sounds = "Canine" + // male_scream_sound = null //CHOMPedit + // female_scream_sound = null //CHOMPedit //INSERT CODE HERE SO MONKEYS CAN BE SPAWNED. //Also, M was added to the end of the spawn names to signify that it's a monkey, since some names were conflicting. @@ -74,4 +75,4 @@ ..(new_loc, "Sparra") /mob/living/carbon/human/wolpin/New(var/new_loc) - ..(new_loc, "Wolpin") \ No newline at end of file + ..(new_loc, "Wolpin") diff --git a/code/modules/mob/living/carbon/human/species/station/prometheans.dm b/code/modules/mob/living/carbon/human/species/station/prometheans.dm index dc843d4ad2..8433d47e46 100644 --- a/code/modules/mob/living/carbon/human/species/station/prometheans.dm +++ b/code/modules/mob/living/carbon/human/species/station/prometheans.dm @@ -42,24 +42,17 @@ var/datum/species/shapeshifter/promethean/prometheans speech_bubble_appearance = "slime" - male_cough_sounds = list('sound/effects/slime_squish.ogg') - female_cough_sounds = list('sound/effects/slime_squish.ogg') + // male_cough_sounds = list('sound/effects/slime_squish.ogg') + // female_cough_sounds = list('sound/effects/slime_squish.ogg') + species_sounds = "Slime" min_age = 1 max_age = 16 economic_modifier = 3 - male_scream_sound = null //CHOMPedit - female_scream_sound = null //CHOMPedit - // CHOMPEdit Start: Missing Sounds, so none for this race. - male_gasp_sound = null - female_gasp_sound = null - male_pain_sound = null - female_pain_sound = null - male_death_sound = null - female_death_sound = null - // CHOMPEdit End + // male_scream_sound = null //CHOMPedit + // female_scream_sound = null //CHOMPedit gluttonous = 1 virus_immune = 1 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 1d170c78a3..437255541c 100644 --- a/code/modules/mob/living/carbon/human/species/station/station.dm +++ b/code/modules/mob/living/carbon/human/species/station/station.dm @@ -39,6 +39,13 @@ O_INTESTINE = /obj/item/organ/internal/intestine ) + // CHOMPEdit: Species Specific Sounds + species_sounds = "Human Male" + gender_specific_species_sounds = TRUE + species_sounds_male = "Human Male" + species_sounds_female = "Human Female" + // CHOMPEdit End + inherent_verbs = list( /mob/living/carbon/human/proc/tie_hair) @@ -78,8 +85,9 @@ economic_modifier = 10 - male_scream_sound = list ('sound/effects/mob_effects/una_scream1.ogg','sound/effects/mob_effects/una_scream2.ogg') //CHOMPedit added unathi scream - female_scream_sound = list ('sound/effects/mob_effects/una_scream1.ogg','sound/effects/mob_effects/una_scream2.ogg') //CHOMPedit + // 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') pain_verb_1p = list("hiss", "growl") // CHOMPEdit: Unathi pain emotes pain_verb_3p = list("hisses", "growls") // CHOMPEdit: Pain emotes @@ -209,15 +217,10 @@ economic_modifier = 10 - male_scream_sound = list('modular_chomp/sound/voice/scream/feline/feline_scream.ogg') //CHOMPedit: Scream sounds, finally, 3 years later. - female_scream_sound = list('modular_chomp/sound/voice/scream/feline/feline_scream.ogg') //CHOMPedit: Scream sounds, finally, 3 years later. - // CHOMPEdit Start: Gasp/Pain/Death Sounds - male_gasp_sound = list('modular_chomp/sound/voice/gasp/feline/feline_gasp.ogg') - female_gasp_sound = list('modular_chomp/sound/voice/gasp/feline/feline_gasp.ogg') - male_pain_sound = list('modular_chomp/sound/voice/pain/feline/feline_pain.ogg') - female_pain_sound = list('modular_chomp/sound/voice/pain/feline/feline_pain.ogg') - male_death_sound = list('modular_chomp/sound/voice/death/feline/feline_death.ogg') - female_death_sound = list('modular_chomp/sound/voice/death/feline/feline_death.ogg') + // CHOMPEdit Start: Species sounds + species_sounds = "Feline" + // male_scream_sound = list('modular_chomp/sound/voice/scream/feline/feline_scream.ogg') //CHOMPedit: Scream sounds, finally, 3 years later. + //female_scream_sound = list('modular_chomp/sound/voice/scream/feline/feline_scream.ogg') //CHOMPedit: Scream sounds, finally, 3 years later. pain_verb_1p = list("hiss", "growl", "yowl") // CHOMPEdit: Unathi pain emotes pain_verb_3p = list("hisses", "growls", "yowls") // CHOMPEdit: Pain emotes @@ -329,16 +332,8 @@ economic_modifier = 10 - male_scream_sound = null //CHOMPedit - female_scream_sound = null //CHOMPedit - // CHOMPEdit Start: Missing Sounds, so none for this race. - male_gasp_sound = null - female_gasp_sound = null - male_pain_sound = null - female_pain_sound = null - male_death_sound = null - female_death_sound = null - // CHOMPEdit End + // male_scream_sound = null //CHOMPedit + // female_scream_sound = null //CHOMPedit darksight = 4 flash_mod = 1.2 @@ -442,16 +437,8 @@ min_age = 16 max_age = 90 - male_scream_sound = null //CHOMPedit - female_scream_sound = null //CHOMPedit - // CHOMPEdit Start: Missing Sounds, so none for this race. - male_gasp_sound = null - female_gasp_sound = null - male_pain_sound = null - female_pain_sound = null - male_death_sound = null - female_death_sound = null - // CHOMPEdit End + // male_scream_sound = null //CHOMPedit + // female_scream_sound = null //CHOMPedit blurb = "The Zaddat are an Unathi client race only recently introduced to SolGov space. Having evolved on \ the high-pressure and post-apocalyptic world of Xohok, Zaddat require an environmental suit called a Shroud \ @@ -571,16 +558,9 @@ economic_modifier = 10 - male_scream_sound = null //CHOMPedit - female_scream_sound = null //CHOMPedit - // CHOMPEdit Start: Missing Sounds, so none for this race. - male_gasp_sound = null - female_gasp_sound = null - male_pain_sound = null - female_pain_sound = null - male_death_sound = null - female_death_sound = null - // CHOMPEdit End + // CHOMPEdit: For shits and giggles, I want someone to give the Diona plant sounds from like, WoW. lmao + // male_scream_sound = null //CHOMPedit + // female_scream_sound = null //CHOMPedit blurb = "Commonly referred to (erroneously) as 'plant people', the Dionaea are a strange space-dwelling collective \ species hailing from Epsilon Ursae Minoris. Each 'diona' is a cluster of numerous cat-sized organisms called nymphs; \ diff --git a/code/modules/mob/living/carbon/human/species/station/station_special_vr.dm b/code/modules/mob/living/carbon/human/species/station/station_special_vr.dm index 05ff087b6f..7b4d4563e4 100644 --- a/code/modules/mob/living/carbon/human/species/station/station_special_vr.dm +++ b/code/modules/mob/living/carbon/human/species/station/station_special_vr.dm @@ -35,16 +35,7 @@ min_age = 18 max_age = 80 - male_scream_sound = null //CHOMPedit - female_scream_sound = null //CHOMPedit - // CHOMPEdit Start: Missing Sounds, so none for this race. - male_gasp_sound = null - female_gasp_sound = null - male_pain_sound = null - female_pain_sound = null - male_death_sound = null - female_death_sound = null - // CHOMPEdit End + species_sounds = "Unset" // CHOMPEdit: Chimera get a default/safety of unset, going off their icon base if there's none overriding. blurb = "Some amalgamation of different species from across the universe,with extremely unstable DNA, making them unfit for regular cloners. \ Widely known for their voracious nature and violent tendencies when stressed or left unfed for long periods of time. \ @@ -365,16 +356,9 @@ min_age = 18 max_age = 80 - male_scream_sound = null //CHOMPedit - female_scream_sound = null //CHOMPedit - // CHOMPEdit Start: Missing Sounds, so none for this race. - male_gasp_sound = null - female_gasp_sound = null - male_pain_sound = null - female_pain_sound = null - male_death_sound = null - female_death_sound = null - // CHOMPEdit End + species_sounds = "Spider" + // male_scream_sound = null //CHOMPedit + // female_scream_sound = null //CHOMPedit blurb = "Vasilissans are a tall, lanky, spider like people. \ Each having four eyes, an extra four, large legs sprouting from their back, and a chitinous plating on their body, and the ability to spit webs \ @@ -453,15 +437,10 @@ min_age = 18 max_age = 200 - male_scream_sound = list('modular_chomp/sound/voice/scream/canine/wolf_scream.ogg','modular_chomp/sound/voice/scream/canine/wolf_scream2.ogg','modular_chomp/sound/voice/scream/canine/wolf_scream3.ogg','modular_chomp/sound/voice/scream/canine/wolf_scream4.ogg','modular_chomp/sound/voice/scream/canine/wolf_scream5.ogg','modular_chomp/sound/voice/scream/canine/wolf_scream6.ogg') //CHOMPedit: Scream sounds, finally, 3 years later. - female_scream_sound = list('modular_chomp/sound/voice/scream/canine/wolf_scream.ogg','modular_chomp/sound/voice/scream/canine/wolf_scream2.ogg','modular_chomp/sound/voice/scream/canine/wolf_scream3.ogg','modular_chomp/sound/voice/scream/canine/wolf_scream4.ogg','modular_chomp/sound/voice/scream/canine/wolf_scream5.ogg','modular_chomp/sound/voice/scream/canine/wolf_scream6.ogg') //CHOMPedit: Scream sounds, finally, 3 years later. - // CHOMPEdit Start: Add Pain/Gasp/Death sounds - male_pain_sound = list('modular_chomp/sound/voice/pain/canine/wolf_pain.ogg', 'modular_chomp/sound/voice/pain/canine/wolf_pain2.ogg', 'modular_chomp/sound/voice/pain/canine/wolf_pain3.ogg', 'modular_chomp/sound/voice/pain/canine/wolf_pain4.ogg') - female_pain_sound = list('modular_chomp/sound/voice/pain/canine/wolf_pain.ogg', 'modular_chomp/sound/voice/pain/canine/wolf_pain2.ogg', 'modular_chomp/sound/voice/pain/canine/wolf_pain3.ogg', 'modular_chomp/sound/voice/pain/canine/wolf_pain4.ogg') - male_gasp_sound = list('modular_chomp/sound/voice/gasp/canine/wolf_gasp.ogg') - female_gasp_sound = list('modular_chomp/sound/voice/gasp/canine/wolf_gasp.ogg') - male_death_sound = list('modular_chomp/sound/voice/death/canine/wolf_death1.ogg', 'modular_chomp/sound/voice/death/canine/wolf_death2.ogg', 'modular_chomp/sound/voice/death/canine/wolf_death3.ogg', 'modular_chomp/sound/voice/death/canine/wolf_death4.ogg', 'modular_chomp/sound/voice/death/canine/wolf_death5.ogg') - female_death_sound = list('modular_chomp/sound/voice/death/canine/wolf_death1.ogg', 'modular_chomp/sound/voice/death/canine/wolf_death2.ogg', 'modular_chomp/sound/voice/death/canine/wolf_death3.ogg', 'modular_chomp/sound/voice/death/canine/wolf_death4.ogg', 'modular_chomp/sound/voice/death/canine/wolf_death5.ogg') + // CHOMPEdit Start: Species Sounds + species_sounds = "Canine" + // male_scream_sound = null + // female_scream_sound = null // CHOMPEdit End blurb = "Big buff werewolves. These are a limited functionality event species that are not balanced for regular gameplay. Adminspawn only." diff --git a/code/modules/mob/living/carbon/human/species/station/station_vr.dm b/code/modules/mob/living/carbon/human/species/station/station_vr.dm index e9b93d75cd..097e95e4dc 100644 --- a/code/modules/mob/living/carbon/human/species/station/station_vr.dm +++ b/code/modules/mob/living/carbon/human/species/station/station_vr.dm @@ -21,16 +21,9 @@ min_age = 18 max_age = 110 - male_scream_sound = null //CHOMPedit - female_scream_sound = null //CHOMPedit - // CHOMPEdit Start: Missing Sounds, so none for this race. - male_gasp_sound = null - female_gasp_sound = null - male_pain_sound = null - female_pain_sound = null - male_death_sound = null - female_death_sound = null - // CHOMPEdit End + species_sounds = "Canine" // CHOMPEdit: Species sounds + // male_scream_sound = null //CHOMPedit + // female_scream_sound = null //CHOMPedit blurb = "There are two subspecies of Sergal; Southern and Northern. Northern sergals are a highly aggressive race \ that lives in the plains and tundra of their homeworld. They are characterized by long, fluffy fur bodies with cold colors; \ @@ -99,16 +92,8 @@ min_age = 18 max_age = 110 - male_scream_sound = null //CHOMPedit - female_scream_sound = null //CHOMPedit - // CHOMPEdit Start: Missing Sounds, so none for this race. - male_gasp_sound = null - female_gasp_sound = null - male_pain_sound = null - female_pain_sound = null - male_death_sound = null - female_death_sound = null - // CHOMPEdit End + // male_scream_sound = null //CHOMPedit + // female_scream_sound = null //CHOMPedit blurb = "The Akula are a species of amphibious humanoids like the Skrell, but have an appearance very similar to that of a shark. \ They were first discovered as a primitive race of underwater dwelling tribal creatures by the Skrell. At first they were not believed \ @@ -163,16 +148,9 @@ min_age = 18 max_age = 110 - male_scream_sound = null //CHOMPedit - female_scream_sound = null //CHOMPedit + // male_scream_sound = null //CHOMPedit + // female_scream_sound = null //CHOMPedit // CHOMPEdit Start: Missing Sounds, so none for this race. - male_gasp_sound = null - female_gasp_sound = null - male_pain_sound = null - female_pain_sound = null - male_death_sound = null - female_death_sound = null - // CHOMPEdit End blurb = "Nevreans are a race of avian and dinosaur-like creatures living on Tal. They belong to a group of races that hails from Eltus, \ in the Vilous system. Unlike sergals whom they share a star system with, their species is a very peaceful one. They possess remarkable \ @@ -221,16 +199,9 @@ min_age = 18 max_age = 110 - male_scream_sound = null //CHOMPedit - female_scream_sound = null //CHOMPedit - // CHOMPEdit Start: Missing Sounds, so none for this race. - male_gasp_sound = null - female_gasp_sound = null - male_pain_sound = null - female_pain_sound = null - male_death_sound = null - female_death_sound = null - // CHOMPEdit End + // male_scream_sound = null //CHOMPedit + // female_scream_sound = null //CHOMPedit + species_sounds = "Vulpine" // CHOMPEdit: Species Sounds blurb = "The fox-like Zorren are native to Virgo-Prime, however there are two distinct varieties of Zorren one with large ears and shorter fur, \ and the other with longer fur that is a bit more vibrant. The long-eared, short-furred Zorren have come to be known as Flatland Zorren as that \ @@ -287,18 +258,14 @@ inherent_verbs = list(/mob/living/carbon/human/proc/lick_wounds, /mob/living/carbon/human/proc/tie_hair) - male_scream_sound = list('modular_chomp/sound/voice/scream/canine/wolf_scream.ogg', 'modular_chomp/sound/voice/scream/canine/wolf_scream2.ogg', 'modular_chomp/sound/voice/scream/canine/wolf_scream3.ogg', 'modular_chomp/sound/voice/scream/canine/wolf_scream4.ogg', 'modular_chomp/sound/voice/scream/canine/wolf_scream5.ogg', 'modular_chomp/sound/voice/scream/canine/wolf_scream6.ogg') //CHOMPedit: Scream sounds, finally, 3 years later. - female_scream_sound = list('modular_chomp/sound/voice/scream/canine/wolf_scream.ogg', 'modular_chomp/sound/voice/scream/canine/wolf_scream2.ogg', 'modular_chomp/sound/voice/scream/canine/wolf_scream3.ogg', 'modular_chomp/sound/voice/scream/canine/wolf_scream4.ogg', 'modular_chomp/sound/voice/scream/canine/wolf_scream5.ogg', 'modular_chomp/sound/voice/scream/canine/wolf_scream6.ogg') //CHOMPedit: Scream sounds, finally, 3 years later. + // male_scream_sound = list('modular_chomp/sound/voice/scream/canine/wolf_scream.ogg', 'modular_chomp/sound/voice/scream/canine/wolf_scream2.ogg', 'modular_chomp/sound/voice/scream/canine/wolf_scream3.ogg', 'modular_chomp/sound/voice/scream/canine/wolf_scream4.ogg', 'modular_chomp/sound/voice/scream/canine/wolf_scream5.ogg', 'modular_chomp/sound/voice/scream/canine/wolf_scream6.ogg') //CHOMPedit: Scream sounds, finally, 3 years later. + // female_scream_sound = list('modular_chomp/sound/voice/scream/canine/wolf_scream.ogg', 'modular_chomp/sound/voice/scream/canine/wolf_scream2.ogg', 'modular_chomp/sound/voice/scream/canine/wolf_scream3.ogg', 'modular_chomp/sound/voice/scream/canine/wolf_scream4.ogg', 'modular_chomp/sound/voice/scream/canine/wolf_scream5.ogg', 'modular_chomp/sound/voice/scream/canine/wolf_scream6.ogg') //CHOMPedit: Scream sounds, finally, 3 years later. // CHOMPEdit Start: Add Pain/Gasp/Death sounds - male_pain_sound = list('modular_chomp/sound/voice/pain/canine/wolf_pain.ogg', 'modular_chomp/sound/voice/pain/canine/wolf_pain2.ogg', 'modular_chomp/sound/voice/pain/canine/wolf_pain3.ogg', 'modular_chomp/sound/voice/pain/canine/wolf_pain4.ogg') - female_pain_sound = list('modular_chomp/sound/voice/pain/canine/wolf_pain.ogg', 'modular_chomp/sound/voice/pain/canine/wolf_pain2.ogg', 'modular_chomp/sound/voice/pain/canine/wolf_pain3.ogg', 'modular_chomp/sound/voice/pain/canine/wolf_pain4.ogg') - male_gasp_sound = list('modular_chomp/sound/voice/gasp/canine/wolf_gasp.ogg') - female_gasp_sound = list('modular_chomp/sound/voice/gasp/canine/wolf_gasp.ogg') - male_death_sound = list('modular_chomp/sound/voice/death/canine/wolf_death1.ogg', 'modular_chomp/sound/voice/death/canine/wolf_death2.ogg', 'modular_chomp/sound/voice/death/canine/wolf_death3.ogg', 'modular_chomp/sound/voice/death/canine/wolf_death4.ogg', 'modular_chomp/sound/voice/death/canine/wolf_death5.ogg') - female_death_sound = list('modular_chomp/sound/voice/death/canine/wolf_death1.ogg', 'modular_chomp/sound/voice/death/canine/wolf_death2.ogg', 'modular_chomp/sound/voice/death/canine/wolf_death3.ogg', 'modular_chomp/sound/voice/death/canine/wolf_death4.ogg', 'modular_chomp/sound/voice/death/canine/wolf_death5.ogg') pain_verb_1p = list("yelp", "growl") pain_verb_3p = list("yelps", "growls") + species_sounds = "Canine" + // CHOMPEdit End //CHOMPStation Removal @@ -491,16 +458,6 @@ base_color = "#EECEB3" - male_scream_sound = null //CHOMPedit - female_scream_sound = null //CHOMPedit - // CHOMPEdit Start: Missing Sounds, so none for this race. - male_gasp_sound = null - female_gasp_sound = null - male_pain_sound = null - female_pain_sound = null - male_death_sound = null - female_death_sound = null - // CHOMPEdit End blurb = "An Avian species, coming from a distant planet, the Rapalas are the very proud race.\ Sol researchers have commented on them having a very close resemblance to the mythical race called 'Harpies',\ @@ -529,8 +486,8 @@ deform = 'icons/mob/human_races/r_shadekin_vr.dmi' tail = "tail" icobase_tail = 1 - male_scream_sound = null //CHOMPedit - female_scream_sound = null //CHOMPedit + // male_scream_sound = null //CHOMPedit + // female_scream_sound = null //CHOMPedit blurb = "Very little is known about these creatures. They appear to be largely mammalian in appearance. \ Seemingly very rare to encounter, there have been widespread myths of these creatures the galaxy over, \ but next to no verifiable evidence to their existence. However, they have recently been more verifiably \ @@ -589,10 +546,12 @@ //has_glowing_eyes = TRUE // Applicable through traits. + /* // CHOMPEdit: Not defined male_cough_sounds = null female_cough_sounds = null male_sneeze_sound = null female_sneeze_sound = null + */ speech_bubble_appearance = "ghost" @@ -653,16 +612,9 @@ min_age = 18 max_age = 80 - male_scream_sound = null //CHOMPedit - female_scream_sound = null //CHOMPedit - // CHOMPEdit Start: Missing Sounds, so none for this race. - male_gasp_sound = null - female_gasp_sound = null - male_pain_sound = null - female_pain_sound = null - male_death_sound = null - female_death_sound = null - // CHOMPEdit End + // male_scream_sound = null //CHOMPedit + // female_scream_sound = null //CHOMPedit + species_sounds = "Vulpine" // CHOMPEdit: Species Sounds //primitive_form = "" //We don't have fennec-monkey sprites. spawn_flags = SPECIES_IS_RESTRICTED @@ -695,16 +647,9 @@ min_age = 18 max_age = 80 - male_scream_sound = list('sound/effects/mob_effects/x_scream1.ogg','sound/effects/mob_effects/x_scream2.ogg','sound/effects/mob_effects/x_scream3.ogg') //CHOMPedit Scree - female_scream_sound = list('sound/effects/mob_effects/x_scream1.ogg','sound/effects/mob_effects/x_scream2.ogg','sound/effects/mob_effects/x_scream3.ogg') //CHOMPedit - // CHOMPEdit Start: Missing Sounds, so none for this race. - male_gasp_sound = null - female_gasp_sound = null - male_pain_sound = null - female_pain_sound = null - male_death_sound = null - female_death_sound = null - // CHOMPEdit End + species_sounds = "Xeno" + // male_scream_sound = list('sound/effects/mob_effects/x_scream1.ogg','sound/effects/mob_effects/x_scream2.ogg','sound/effects/mob_effects/x_scream3.ogg') //CHOMPedit Scree + // female_scream_sound = list('sound/effects/mob_effects/x_scream1.ogg','sound/effects/mob_effects/x_scream2.ogg','sound/effects/mob_effects/x_scream3.ogg') //CHOMPedit blurb = "Xenomorphs hybrids are a mixture of xenomorph DNA and some other humanoid species. \ Xenomorph hyrids mostly have had had their natural aggression removed due to the gene modification process \ @@ -754,6 +699,8 @@ catalogue_data = list(/datum/category_item/catalogue/fauna/altevian) + species_sounds = "Mouse" // CHOMPEdit: Species Sounds + spawn_flags = SPECIES_CAN_JOIN appearance_flags = HAS_HAIR_COLOR | HAS_LIPS | HAS_UNDERWEAR | HAS_SKIN_COLOR | HAS_EYE_COLOR diff --git a/code/modules/mob/living/carbon/human/species/station/teshari.dm b/code/modules/mob/living/carbon/human/species/station/teshari.dm index 72bc8f68d0..4931596e52 100644 --- a/code/modules/mob/living/carbon/human/species/station/teshari.dm +++ b/code/modules/mob/living/carbon/human/species/station/teshari.dm @@ -19,22 +19,16 @@ health_hud_intensity = 3 - male_cough_sounds = list('sound/effects/mob_effects/tesharicougha.ogg','sound/effects/mob_effects/tesharicoughb.ogg') - female_cough_sounds = list('sound/effects/mob_effects/tesharicougha.ogg','sound/effects/mob_effects/tesharicoughb.ogg') - male_sneeze_sound = 'sound/effects/mob_effects/tesharisneeze.ogg' - female_sneeze_sound = 'sound/effects/mob_effects/tesharisneeze.ogg' + // CHOMPEdit Start: Species Sounds + species_sounds = "Teshari" + // male_cough_sounds = list('sound/effects/mob_effects/tesharicougha.ogg','sound/effects/mob_effects/tesharicoughb.ogg') + // female_cough_sounds = list('sound/effects/mob_effects/tesharicougha.ogg','sound/effects/mob_effects/tesharicoughb.ogg') + // male_sneeze_sound = 'sound/effects/mob_effects/tesharisneeze.ogg' + // female_sneeze_sound = 'sound/effects/mob_effects/tesharisneeze.ogg' //CHOMPStation Add. Y'know I should probably just put this upstream. - male_scream_sound = 'sound/effects/mob_effects/teshariscream.ogg' - female_scream_sound = 'sound/effects/mob_effects/teshariscream.ogg' - // CHOMPEdit Start: Missing Sounds, so none for this race. - male_gasp_sound = null - female_gasp_sound = null - male_pain_sound = null - female_pain_sound = null - male_death_sound = null - female_death_sound = null - // CHOMPEdit End + // male_scream_sound = 'sound/effects/mob_effects/teshariscream.ogg' + // female_scream_sound = 'sound/effects/mob_effects/teshariscream.ogg' center_offset = 0 //CHOMPEdit //CHOMPStation Add End diff --git a/code/modules/mob/living/carbon/human/species/virtual_reality/avatar.dm b/code/modules/mob/living/carbon/human/species/virtual_reality/avatar.dm index c9254c0c9a..0054bbb623 100644 --- a/code/modules/mob/living/carbon/human/species/virtual_reality/avatar.dm +++ b/code/modules/mob/living/carbon/human/species/virtual_reality/avatar.dm @@ -18,10 +18,10 @@ assisted_langs = list() - male_cough_sounds = list('sound/effects/mob_effects/m_cougha.ogg','sound/effects/mob_effects/m_coughb.ogg', 'sound/effects/mob_effects/m_coughc.ogg') - female_cough_sounds = list('sound/effects/mob_effects/f_cougha.ogg','sound/effects/mob_effects/f_coughb.ogg') - male_sneeze_sound = 'sound/effects/mob_effects/sneeze.ogg' - female_sneeze_sound = 'sound/effects/mob_effects/f_sneeze.ogg' + // male_cough_sounds = list('sound/effects/mob_effects/m_cougha.ogg','sound/effects/mob_effects/m_coughb.ogg', 'sound/effects/mob_effects/m_coughc.ogg') + // female_cough_sounds = list('sound/effects/mob_effects/f_cougha.ogg','sound/effects/mob_effects/f_coughb.ogg') + // male_sneeze_sound = 'sound/effects/mob_effects/sneeze.ogg' + // female_sneeze_sound = 'sound/effects/mob_effects/f_sneeze.ogg' valid_transform_species = list(SPECIES_HUMAN, SPECIES_HUMAN_VATBORN, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_SKRELL, SPECIES_DIONA, SPECIES_TESHARI, SPECIES_VOX, SPECIES_MONKEY, SPECIES_SKELETON) @@ -127,4 +127,4 @@ if(I) unEquip(I,force = TRUE) release_vore_contents(include_absorbed = TRUE, silent = TRUE) - qdel(src) \ No newline at end of file + qdel(src) diff --git a/code/modules/mob/living/death.dm b/code/modules/mob/living/death.dm index c81c355617..722062803c 100644 --- a/code/modules/mob/living/death.dm +++ b/code/modules/mob/living/death.dm @@ -26,15 +26,12 @@ for(var/datum/soul_link/S as anything in shared_soul_links) S.sharer_died(gibbed) - // CHOMPStation Add: All mobs can play a death_sound if set. On carbons, this is going to be handled by species. - if(!gibbed && (male_death_sound || female_death_sound) && !isbelly(loc)) - var/gender = src.gender - if(gender == FEMALE) - playsound(src, pick(female_death_sound), 40, 1, 20, volume_channel = VOLUME_CHANNEL_INJ_DEATH) - else // Until we get more, sorry. :c - playsound(src, pick(male_death_sound), 40, 1, 20, volume_channel = VOLUME_CHANNEL_INJ_DEATH) - else if(!gibbed && death_sound && !isbelly(loc)) - playsound(src, pick(death_sound), 40, 1, 20, volume_channel = VOLUME_CHANNEL_INJ_DEATH) + // CHOMPStation Edit: All mobs can play a death_sound if set. On carbons, this is going to be handled by species. + if(!gibbed && !isbelly(loc)) + if(src.death_sound_override) // Do we override the death sounds from our species list - used by only a few specific mobs. If we do, do the next one instead + playsound(src, death_sound_override, 50, 1, 20, volume_channel = VOLUME_CHANNEL_SPECIES_SOUNDS) + else + playsound(src, pick(get_species_sound(get_gendered_sound(src))["death"]), 50, 1, 20, volume_channel = VOLUME_CHANNEL_SPECIES_SOUNDS) // CHOMPStation Add End . = ..() diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/_giant_spider.dm b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/_giant_spider.dm index 7bd021aa2d..213a5a80db 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/_giant_spider.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/_giant_spider.dm @@ -118,18 +118,10 @@ ) can_be_drop_prey = FALSE //CHOMP Add + species_sounds = "Spider" pain_emote_1p = list("chitter", "click") //CHOMP Add pain_emote_3p = list("chitters", "clicks") //CHOMP Add -// CHOMPAdd: Has to be done on Init or New, bc we can't set a var to a non-constant -/mob/living/simple_mob/animal/giant_spider/Initialize() - pain_sound = get_species_sound(spider_sounds["pain"]) - death_sound = get_species_sound(spider_sounds["death"]) - - . = ..() - -// CHOMPAdd End - /mob/living/simple_mob/animal/giant_spider/apply_melee_effects(var/atom/A) if(isliving(A)) var/mob/living/L = A diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/passive/mouse.dm b/code/modules/mob/living/simple_mob/subtypes/animal/passive/mouse.dm index eea43d2f5c..c9fe11b486 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/passive/mouse.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/passive/mouse.dm @@ -45,6 +45,7 @@ //CHOMP Addition: Added these vore variables in and swapped the booleans from their defaults too. can_be_drop_prey = TRUE can_be_drop_pred = FALSE + species_sounds = "Mouse" pain_emote_1p = list("squeak", "squik") // CHOMP Addition: Pain/etc sounds pain_emote_1p = list("squeaks", "squiks") // CHOMP Addition: Pain/etc sounds @@ -52,8 +53,6 @@ /mob/living/simple_mob/animal/passive/mouse/New() ..() - pain_sound = get_species_sound(mouse_sounds["pain"]) // CHOMP Addition: Pain/etc sounds - verbs += /mob/living/proc/ventcrawl verbs += /mob/living/proc/hide diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/passive/raccoon_ch.dm b/code/modules/mob/living/simple_mob/subtypes/animal/passive/raccoon_ch.dm index 68b4cd7192..01f8ddc569 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/passive/raccoon_ch.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/passive/raccoon_ch.dm @@ -33,10 +33,9 @@ vore_icons = SA_ICON_LIVING | SA_ICON_REST center_offset = 0 - pain_sound = list('sound/voice/raccoon.ogg') + species_sounds = "Raccoon" pain_emote_1p = list("chitter") pain_emote_3p = list("chitters") - death_sound = list('sound/voice/raccoon.ogg') /mob/living/simple_mob/animal/passive/raccoon_ch/Initialize() . = ..() diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/pets/dog.dm b/code/modules/mob/living/simple_mob/subtypes/animal/pets/dog.dm index 5032c9bb9a..e0be03396d 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/pets/dog.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/pets/dog.dm @@ -28,16 +28,10 @@ var/obj/item/inventory_back // CHOMPAdd: :c + species_sounds = "Canine" pain_emote_1p = list("yelp", "whine", "bark", "growl") pain_emote_3p = list("yelps", "whines", "barks", "growls") -// CHOMPAdd: Has to be done on Init or New, bc we can't set a var to a non-constant -/mob/living/simple_mob/animal/passive/dog/Initialize() - pain_sound = get_species_sound(canine_sounds["pain"]) - death_sound = get_species_sound(canine_sounds["death"]) - - . = ..() -// CHOMPAdd End /mob/living/simple_mob/animal/passive/dog/attackby(var/obj/item/O as obj, var/mob/user as mob) if(istype(O, /obj/item/weapon/newspaper)) diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/sif/racoon.dm b/code/modules/mob/living/simple_mob/subtypes/animal/sif/racoon.dm index 07241a97be..6ee3ca8d92 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/sif/racoon.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/sif/racoon.dm @@ -70,10 +70,9 @@ var/randomize_size = TRUE can_be_drop_prey = TRUE //CHOMP Add // CHOMPAdd: Pain/Death Sounds - pain_sound = list('sound/voice/raccoon.ogg') + species_sounds = "Raccoon" pain_emote_1p = list("chitter") pain_emote_3p = list("chitters") - death_sound = list('sound/voice/raccoon.ogg') /mob/living/simple_mob/animal/sif/sakimm/verb/remove_hat() diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/space/mouse_army_ch.dm b/code/modules/mob/living/simple_mob/subtypes/animal/space/mouse_army_ch.dm index acebd2dac7..2c1264c69b 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/space/mouse_army_ch.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/space/mouse_army_ch.dm @@ -64,14 +64,13 @@ var/rank //pyro, operative, ammo, stealth. more to come. Do not leave blank. can_be_drop_prey = FALSE //CHOMP Add + species_sounds = "Mouse" pain_emote_1p = list("squeak", "squik") // CHOMP Addition: Pain/etc sounds pain_emote_1p = list("squeaks", "squiks") // CHOMP Addition: Pain/etc sounds /mob/living/simple_mob/animal/space/mouse_army/New() ..() - pain_sound = get_species_sound(mouse_sounds["pain"]) // CHOMPAdd: Pain sounds - verbs += /mob/living/proc/ventcrawl verbs += /mob/living/proc/hide diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/vox.dm b/code/modules/mob/living/simple_mob/subtypes/animal/vox.dm index cb8baa8cd8..4cc3b416d1 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/vox.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/vox.dm @@ -9,7 +9,7 @@ max_n2 = 0 // CHOMPAdd: Pain sounds - pain_sound = list('sound/voice/shriek1.ogg') + species_sounds = "Vox" pain_emote_1p = list("shriek") pain_emote_3p = list("shrieks") // CHOMPAdd End diff --git a/code/modules/mob/living/simple_mob/subtypes/blob/blob.dm b/code/modules/mob/living/simple_mob/subtypes/blob/blob.dm index 7da6ffcbf5..c6e78d0520 100644 --- a/code/modules/mob/living/simple_mob/subtypes/blob/blob.dm +++ b/code/modules/mob/living/simple_mob/subtypes/blob/blob.dm @@ -32,7 +32,6 @@ can_be_drop_prey = FALSE //CHOMP Add can_pain_emote = FALSE // CHOMPEdit: Can't feel pain - death_sound = null // CHOMPEdit: Shouldn't trigger death sounds /mob/living/simple_mob/blob/speech_bubble_appearance() return "slime" diff --git a/code/modules/mob/living/simple_mob/subtypes/blob/spore.dm b/code/modules/mob/living/simple_mob/subtypes/blob/spore.dm index 3ddce6c5a0..96012ad12e 100644 --- a/code/modules/mob/living/simple_mob/subtypes/blob/spore.dm +++ b/code/modules/mob/living/simple_mob/subtypes/blob/spore.dm @@ -31,7 +31,6 @@ var/is_infesting = FALSE can_pain_emote = FALSE // CHOMPEdit: Can't feel pain - death_sound = null // CHOMPEdit: Shouldn't trigger death sounds /datum/say_list/spore emote_see = list("sways", "inflates briefly") diff --git a/code/modules/mob/living/simple_mob/subtypes/horror/horror .dm b/code/modules/mob/living/simple_mob/subtypes/horror/horror .dm index dcf781d20c..339a6ad606 100644 --- a/code/modules/mob/living/simple_mob/subtypes/horror/horror .dm +++ b/code/modules/mob/living/simple_mob/subtypes/horror/horror .dm @@ -5,7 +5,6 @@ icon_gib = "generic_gib" can_pain_emote = FALSE // CHOMPEdit: Can't feel pain - death_sound = null // CHOMPEdit: Shouldn't trigger death sounds /datum/ai_holder/simple_mob/horror hostile = TRUE // The majority of simplemobs are hostile, gaslamps are nice. diff --git a/code/modules/mob/living/simple_mob/subtypes/humanoid/humanoid_ch.dm b/code/modules/mob/living/simple_mob/subtypes/humanoid/humanoid_ch.dm index 192cd4f21f..8abf4fe5e1 100644 --- a/code/modules/mob/living/simple_mob/subtypes/humanoid/humanoid_ch.dm +++ b/code/modules/mob/living/simple_mob/subtypes/humanoid/humanoid_ch.dm @@ -2,13 +2,8 @@ /mob/living/simple_mob/humanoid pain_emote_1p = list("shout out in pain", "growl in pain", "grunt in pain", "gasp out in pain") pain_emote_3p = list("shouts out in pain", "growls in pain", "grunts in pain", "gasps out in pain") + species_sounds = "Human Male" // Yes, we should allow them to differ based on gender, but if someone's making a custom humanoid later:tm: - set your humanoid's species_sounds to match, or var-edit it after spawn. /mob/living/simple_mob/humanoid/Initialize() - pain_sound = get_species_sound(male_generic_sounds["pain"]) - female_pain_sound = get_species_sound(female_generic_sounds["pain"]) - male_pain_sound = get_species_sound(male_generic_sounds["pain"]) - death_sound = get_species_sound(male_generic_sounds["death"]) - male_death_sound = get_species_sound(male_generic_sounds["death"]) - female_death_sound = get_species_sound(female_generic_sounds["death"]) . = ..() diff --git a/code/modules/mob/living/simple_mob/subtypes/humanoid/posessed_ch.dm b/code/modules/mob/living/simple_mob/subtypes/humanoid/posessed_ch.dm index cb7ccffe66..861e83a0fb 100644 --- a/code/modules/mob/living/simple_mob/subtypes/humanoid/posessed_ch.dm +++ b/code/modules/mob/living/simple_mob/subtypes/humanoid/posessed_ch.dm @@ -48,7 +48,6 @@ say_list_type = /datum/say_list/possessed //Set to Null on silenced. can_pain_emote = FALSE - death_sound = null // corpse = /obj/effect/landmark/mobcorpse/possessed // Will eventually leave a full corpse with an activated RIG on it. But not yet. diff --git a/code/modules/mob/living/simple_mob/subtypes/illusion/illusion.dm b/code/modules/mob/living/simple_mob/subtypes/illusion/illusion.dm index e56a37fb41..75497a7b21 100644 --- a/code/modules/mob/living/simple_mob/subtypes/illusion/illusion.dm +++ b/code/modules/mob/living/simple_mob/subtypes/illusion/illusion.dm @@ -25,7 +25,6 @@ var/realistic = FALSE // If true, things like bullets and weapons will hit it, to be a bit more convincing from a distance. can_pain_emote = FALSE // CHOMPEdit: Hallucinations can't feel pain and shouldn't take damage anyways, but, sanity - death_sound = null // CHOMPEdit: Hallucinations shouldn't trigger death sounds anyways, but, sanity /mob/living/simple_mob/illusion/update_icon() // We don't want the appearance changing AT ALL unless by copy_appearance(). return diff --git a/code/modules/mob/living/simple_mob/subtypes/metroid/metBaseType.dm b/code/modules/mob/living/simple_mob/subtypes/metroid/metBaseType.dm index bc5cc64282..92b99b84f7 100644 --- a/code/modules/mob/living/simple_mob/subtypes/metroid/metBaseType.dm +++ b/code/modules/mob/living/simple_mob/subtypes/metroid/metBaseType.dm @@ -63,10 +63,9 @@ can_be_drop_prey = FALSE //CHOMP Add can_pain_emote = TRUE - pain_sound = list('sound/metroid/metroidsee.ogg') + species_sounds = "Metroid" pain_emote_1p = list("skree") pain_emote_3p = list("skrees") - death_sound = list('sound/metroid/metroiddeath.ogg') /mob/living/simple_mob/metroid/Initialize() nutrition = 100 //Have them start off pretty hungry still. diff --git a/code/modules/mob/living/simple_mob/subtypes/metroid/metTypes.dm b/code/modules/mob/living/simple_mob/subtypes/metroid/metTypes.dm index fe7a0be005..7a7c14dd4a 100644 --- a/code/modules/mob/living/simple_mob/subtypes/metroid/metTypes.dm +++ b/code/modules/mob/living/simple_mob/subtypes/metroid/metTypes.dm @@ -533,7 +533,7 @@ GLOBAL_VAR_INIT(queen_amount, 0) //We only gonna want 1 queen in the world. evo_limit = 2000 next = "/mob/living/simple_mob/metroid/juvenile/queen" - death_sound = list('sound/metroid/metroidomegadeath.ogg') + death_sound_override = list('sound/metroid/metroidomegadeath.ogg') // We override the death sound to play our custom here /mob/living/simple_mob/metroid/juvenile/omega/Initialize() playsound(src, 'sound/metroid/metroidomega.ogg', 100, 1) @@ -630,7 +630,7 @@ GLOBAL_VAR_INIT(queen_amount, 0) //We only gonna want 1 queen in the world. next = null is_queen = TRUE - death_sound = list('sound/metroid/metroidqueendeath.ogg') + death_sound_override = list('sound/metroid/metroidqueendeath.ogg') // We override the death sound to play our custom here /mob/living/simple_mob/metroid/juvenile/queen/Initialize() playsound(src, 'sound/metroid/metroidqueen.ogg', 100, 1) diff --git a/code/modules/mob/living/simple_mob/subtypes/occult/constructs/_construct.dm b/code/modules/mob/living/simple_mob/subtypes/occult/constructs/_construct.dm index 037d31d35b..08df5b4ad0 100644 --- a/code/modules/mob/living/simple_mob/subtypes/occult/constructs/_construct.dm +++ b/code/modules/mob/living/simple_mob/subtypes/occult/constructs/_construct.dm @@ -64,7 +64,6 @@ can_be_drop_prey = FALSE //CHOMP Add can_pain_emote = FALSE // CHOMPEdit: Can't feel pain - death_sound = null // CHOMPEdit: Shouldn't trigger death sounds /mob/living/simple_mob/construct/place_spell_in_hand(var/path) if(!path || !ispath(path)) diff --git a/code/modules/mob/living/simple_mob/subtypes/occult/creature.dm b/code/modules/mob/living/simple_mob/subtypes/occult/creature.dm index cbaafa3e22..738cd0f1e2 100644 --- a/code/modules/mob/living/simple_mob/subtypes/occult/creature.dm +++ b/code/modules/mob/living/simple_mob/subtypes/occult/creature.dm @@ -32,7 +32,6 @@ can_be_drop_prey = FALSE //CHOMP Add can_pain_emote = FALSE // CHOMPEdit: Can't feel pain - death_sound = null // CHOMPEdit: Shouldn't trigger death sounds // Strong Variant /mob/living/simple_mob/creature/strong diff --git a/code/modules/mob/living/simple_mob/subtypes/occult/faithless.dm b/code/modules/mob/living/simple_mob/subtypes/occult/faithless.dm index 52a122ae6d..86dccd8523 100644 --- a/code/modules/mob/living/simple_mob/subtypes/occult/faithless.dm +++ b/code/modules/mob/living/simple_mob/subtypes/occult/faithless.dm @@ -44,7 +44,6 @@ can_be_drop_prey = FALSE //CHOMP Add can_pain_emote = FALSE // CHOMPEdit: Can't feel pain - death_sound = null // CHOMPEdit: Shouldn't trigger death sounds /mob/living/simple_mob/faithless/Process_Spacemove(var/check_drift = 0) return 1 diff --git a/code/modules/mob/living/simple_mob/subtypes/occult/unknown.dm b/code/modules/mob/living/simple_mob/subtypes/occult/unknown.dm index 83d05d8fcd..78ca7d4831 100644 --- a/code/modules/mob/living/simple_mob/subtypes/occult/unknown.dm +++ b/code/modules/mob/living/simple_mob/subtypes/occult/unknown.dm @@ -43,7 +43,6 @@ can_be_drop_prey = FALSE //CHOMP Add can_pain_emote = FALSE // CHOMPEdit: Can't feel pain - death_sound = null // CHOMPEdit: Shouldn't trigger death sounds /obj/item/projectile/energy/slow_orb name = "TROJAN" @@ -320,7 +319,6 @@ ai_holder_type = /datum/ai_holder/simple_mob/ranged/aggressive/bossmob_glitch_fake can_pain_emote = FALSE // CHOMPEdit: Can't feel pain - death_sound = null // CHOMPEdit: Shouldn't trigger death sounds /mob/living/simple_mob/glitch_boss_fake/strong maxHealth = 100 diff --git a/code/modules/mob/living/simple_mob/subtypes/plant/tomato.dm b/code/modules/mob/living/simple_mob/subtypes/plant/tomato.dm index b5d833b973..5c8c6003e2 100644 --- a/code/modules/mob/living/simple_mob/subtypes/plant/tomato.dm +++ b/code/modules/mob/living/simple_mob/subtypes/plant/tomato.dm @@ -31,7 +31,6 @@ can_be_drop_prey = FALSE //CHOMP Add can_pain_emote = FALSE // CHOMPEdit: Can't feel pain and shouldn't take damage anyways, but, sanity - death_sound = null // CHOMPEdit: Shouldn't trigger death sounds anyways, but, sanity /decl/mob_organ_names/tomato hit_zones = list("flesh", "leaf", "mouth") diff --git a/code/modules/mob/living/simple_mob/subtypes/plant/tree.dm b/code/modules/mob/living/simple_mob/subtypes/plant/tree.dm index 5f48e3171c..db68032789 100644 --- a/code/modules/mob/living/simple_mob/subtypes/plant/tree.dm +++ b/code/modules/mob/living/simple_mob/subtypes/plant/tree.dm @@ -34,7 +34,6 @@ can_be_drop_prey = FALSE //CHOMP Add can_pain_emote = FALSE // CHOMPEdit: Can't feel pain and shouldn't take damage anyways, but, sanity - death_sound = null // CHOMPEdit: Shouldn't trigger death sounds anyways, but, sanity /mob/living/simple_mob/animal/space/tree/apply_melee_effects(var/atom/A) if(isliving(A)) diff --git a/code/modules/mob/living/simple_mob/subtypes/slime/slime.dm b/code/modules/mob/living/simple_mob/subtypes/slime/slime.dm index 1b886b920f..78b27372a4 100644 --- a/code/modules/mob/living/simple_mob/subtypes/slime/slime.dm +++ b/code/modules/mob/living/simple_mob/subtypes/slime/slime.dm @@ -85,7 +85,7 @@ var/list/_slime_default_emotes = list( can_be_drop_prey = FALSE //CHOMP Add // CHOMPAdd: Pain Sounds - pain_sound = 'sound/effects/slime_squish.ogg' + species_sounds = "Slime" pain_emote_1p = list("squish", "squelch") pain_emote_3p = list("squishes", "squelches") // CHOMPAdd End diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/fennec.dm b/code/modules/mob/living/simple_mob/subtypes/vore/fennec.dm index 77c44f2176..94b5780f32 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/fennec.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/fennec.dm @@ -53,13 +53,7 @@ // CHOMPAdd: :c pain_emote_1p = list("yelp", "whine", "bark", "growl") pain_emote_3p = list("yelps", "whines", "barks", "growls") - -/mob/living/simple_mob/vore/fennec/Initialize() - pain_sound = get_species_sound(canine_sounds["pain"]) - death_sound = get_species_sound(canine_sounds["death"]) - - . = ..() -// CHOMPAdd End + species_sounds = "Vulpine" // Activate Noms! /mob/living/simple_mob/vore/fennec diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/goia_ch.dm b/code/modules/mob/living/simple_mob/subtypes/vore/goia_ch.dm index b2467bfde4..b4a63adb93 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/goia_ch.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/goia_ch.dm @@ -29,6 +29,7 @@ vore_icons = SA_ICON_LIVING | SA_ICON_REST // CHOMPAdd: Don't think its checked, but just in case + species_sounds = "Canine" pain_emote_1p = list("yelp", "whine", "bark", "growl") pain_emote_3p = list("yelps", "whines", "barks", "growls") @@ -55,8 +56,6 @@ color = "#ff9f00" if(9) color = "#393939" - pain_sound = get_species_sound(canine_sounds["pain"]) // CHOMPAdd: Pain - death_sound = get_species_sound(canine_sounds["death"]) // CHOMPAdd: Pain /mob/living/simple_mob/otie/zorgoia/feral //gets the pet2tame feature. starts out hostile tho so get gamblin' name = "agressive zorgoia" diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/greatwolf.dm b/code/modules/mob/living/simple_mob/subtypes/vore/greatwolf.dm index 29ab3c228f..aac01fc1af 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/greatwolf.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/greatwolf.dm @@ -42,15 +42,10 @@ can_be_drop_prey = FALSE //CHOMP Add // CHOMPAdd: :c + species_sounds = "Canine" pain_emote_1p = list("yelp", "whine", "bark", "growl") pain_emote_3p = list("yelps", "whines", "barks", "growls") - -/mob/living/simple_mob/vore/greatwolf/Initialize() - pain_sound = get_species_sound(canine_sounds["pain"]) - death_sound = get_species_sound(canine_sounds["death"]) - - . = ..() -// CHOMPAdd End + // CHOMPAdd End /mob/living/simple_mob/vore/greatwolf diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/leopardmander_ch.dm b/code/modules/mob/living/simple_mob/subtypes/vore/leopardmander_ch.dm index b775036594..fb2565b004 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/leopardmander_ch.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/leopardmander_ch.dm @@ -50,15 +50,10 @@ can_be_drop_prey = FALSE //CHOMP Add // CHOMPAdd: :c + species_sounds = "Canine" // Argue about whether it should have canine or feline later pain_emote_1p = list("yelp", "whine", "bark", "growl") pain_emote_3p = list("yelps", "whines", "barks", "growls") - -/mob/living/simple_mob/vore/leopardmander/Initialize() - pain_sound = get_species_sound(canine_sounds["pain"]) - death_sound = get_species_sound(canine_sounds["death"]) - - . = ..() -// CHOMPAdd End + // CHOMPAdd End /datum/category_item/catalogue/fauna/leopardmander name = "Sivian Fauna - Va'aen Drake" diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/otie.dm b/code/modules/mob/living/simple_mob/subtypes/vore/otie.dm index 1d43792a60..799bf66503 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/otie.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/otie.dm @@ -49,15 +49,10 @@ can_be_drop_prey = FALSE //CHOMP Add // CHOMPAdd: :c + species_sounds = "Canine" pain_emote_1p = list("yelp", "whine", "bark", "growl") pain_emote_3p = list("yelps", "whines", "barks", "growls") - -/mob/living/simple_mob/otie/Initialize() - pain_sound = get_species_sound(canine_sounds["pain"]) - death_sound = get_species_sound(canine_sounds["death"]) - - . = ..() -// CHOMPAdd End + // CHOMPAdd End // Activate Noms! diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/panther.dm b/code/modules/mob/living/simple_mob/subtypes/vore/panther.dm index c1100c6ab2..15c4e21700 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/panther.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/panther.dm @@ -44,15 +44,10 @@ can_be_drop_prey = FALSE //CHOMP Add // CHOMPAdd: :c + species_sounds = "Feline" pain_emote_1p = list("yowl", "growl") pain_emote_3p = list("yowls", "growls") - -/mob/living/simple_mob/vore/aggressive/panther/Initialize() - pain_sound = get_species_sound(feline_sounds["pain"]) - death_sound = get_species_sound(feline_sounds["death"]) - - . = ..() -// CHOMPAdd End + // CHOMPAdd End // Activate Noms! diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/wolf.dm b/code/modules/mob/living/simple_mob/subtypes/vore/wolf.dm index 770e3ca479..450955ca01 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/wolf.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/wolf.dm @@ -35,15 +35,10 @@ can_be_drop_prey = FALSE //CHOMP Add // CHOMPAdd: :c + species_sounds = "Canine" pain_emote_1p = list("yelp", "whine", "bark", "growl") pain_emote_3p = list("yelps", "whines", "barks", "growls") - -/mob/living/simple_mob/animal/wolf/Initialize() - pain_sound = get_species_sound(canine_sounds["pain"]) - death_sound = get_species_sound(canine_sounds["death"]) - - . = ..() -// CHOMPAdd End + // CHOMPAdd End // Activate Noms! diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/wolfgirl.dm b/code/modules/mob/living/simple_mob/subtypes/vore/wolfgirl.dm index 3fddd37946..55ca77dae4 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/wolfgirl.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/wolfgirl.dm @@ -26,15 +26,10 @@ can_be_drop_prey = FALSE //CHOMP Add // CHOMPAdd: :c + species_sounds = "Canine" pain_emote_1p = list("yelp", "whine", "bark", "growl") pain_emote_3p = list("yelps", "whines", "barks", "growls") - -/mob/living/simple_mob/vore/wolfgirl/Initialize() - pain_sound = get_species_sound(canine_sounds["pain"]) - death_sound = get_species_sound(canine_sounds["death"]) - - . = ..() -// CHOMPAdd End + // CHOMPAdd End // Activate Noms! diff --git a/modular_chomp/code/modules/emotes/definitions/audiable.dm b/modular_chomp/code/modules/emotes/definitions/audiable.dm index c215ecc0e9..b01c5c2f37 100644 --- a/modular_chomp/code/modules/emotes/definitions/audiable.dm +++ b/modular_chomp/code/modules/emotes/definitions/audiable.dm @@ -12,17 +12,10 @@ /decl/emote/audible/gasp/get_emote_sound(var/atom/user) ..() var/mob/living/carbon/human/H = user - if(H.get_gender() == FEMALE) - return list( - "sound" = H.species.female_gasp_sound, - "vol" = 60, - "exr" = 10, - "volchannel" = VOLUME_CHANNEL_INJ_DEATH - ) - else - return list( - "sound" = H.species.male_gasp_sound, - "vol" = 60, - "exr" = 10, - "volchannel" = VOLUME_CHANNEL_INJ_DEATH + // CHOMPEdit: Standardize Species Sounds Getters + var/vol = H.species.gasp_volume + return list( + "sound" = get_species_sound(get_gendered_sound(H))["gasp"], + "vol" = vol, + "volchannel" = VOLUME_CHANNEL_SPECIES_SOUNDS ) diff --git a/modular_chomp/code/modules/emotes/definitions/audible_pain.dm b/modular_chomp/code/modules/emotes/definitions/audible_pain.dm index 76620c89b9..6a9ef0f319 100644 --- a/modular_chomp/code/modules/emotes/definitions/audible_pain.dm +++ b/modular_chomp/code/modules/emotes/definitions/audible_pain.dm @@ -27,37 +27,18 @@ ..() if(ishuman(user)) var/mob/living/carbon/human/H = user - if(H.get_gender() == FEMALE) - return list( - "sound" = H.species.female_pain_sound, - "vol" = 60, - "exr" = 10, - "volchannel" = VOLUME_CHANNEL_INJ_DEATH - ) - else - return list( - "sound" = H.species.male_pain_sound, - "vol" = 60, - "exr" = 10, - "volchannel" = VOLUME_CHANNEL_INJ_DEATH + var/vol = H.species.pain_volume + return list( + "sound" = get_species_sound(get_gendered_sound(H))["pain"], + "vol" = vol, + "exr" = 20, + "volchannel" = VOLUME_CHANNEL_SPECIES_SOUNDS ) else var/mob/living/M = user - if((M.get_gender() == FEMALE) && M.female_pain_sound) // If our mob has custom sounds per-gender defined, most won't. - return list( - "sound" = M.female_pain_sound, - "vol" = 80, - "volchannel" = VOLUME_CHANNEL_INJ_DEATH - ) - else if((M.get_gender() == MALE) && M.male_pain_sound) // If our mob has custom sounds per-gender defined, most won't. - return list( - "sound" = M.male_pain_sound, - "vol" = 80, - "volchannel" = VOLUME_CHANNEL_INJ_DEATH - ) - else - return list( - "sound" = M.pain_sound, - "vol" = 80, - "volchannel" = VOLUME_CHANNEL_INJ_DEATH + return list( + "sound" = get_species_sound(get_gendered_sound(M))["pain"], + "vol" = 50, + "exr" = 20, + "volchannel" = VOLUME_CHANNEL_SPECIES_SOUNDS ) diff --git a/modular_chomp/code/modules/mob/living/carbon/human/species/species.dm b/modular_chomp/code/modules/mob/living/carbon/human/species/species.dm index eaff08ae00..5fdf4d4e35 100644 --- a/modular_chomp/code/modules/mob/living/carbon/human/species/species.dm +++ b/modular_chomp/code/modules/mob/living/carbon/human/species/species.dm @@ -19,17 +19,6 @@ var/digi_allowed = FALSE var/vanity_base_fit //when shapeshifting using vanity_copy_to, this allows you to have add something so they can go back to their original species fit - var/species_sounds - - male_scream_sound = null - female_scream_sound = null - var/male_gasp_sound = null - var/female_gasp_sound = null - var/male_pain_sound = null - var/female_pain_sound = null - var/male_death_sound = null - var/female_death_sound = null - // Handles non-standard eyes when using a species that utilizes a custom base icon set. // Eye data is stored in the head organ, and this needs to be handled specially. /datum/species/proc/handle_base_eyes(var/mob/living/carbon/human/H, var/custom_base) @@ -61,14 +50,3 @@ for(var/datum/trait/env_trait in env_traits) env_trait.handle_environment_special(H) return - -/datum/species/New() - male_scream_sound = get_species_sound(male_generic_sounds["scream"]) - female_scream_sound = get_species_sound(female_generic_sounds["scream"]) - male_gasp_sound = get_species_sound(male_generic_sounds["gasp"]) - female_gasp_sound = get_species_sound(female_generic_sounds["gasp"]) - male_pain_sound = get_species_sound(male_generic_sounds["pain"]) - female_pain_sound = get_species_sound(female_generic_sounds["pain"]) - male_death_sound = get_species_sound(male_generic_sounds["death"]) - female_death_sound = get_species_sound(female_generic_sounds["death"]) - ..() diff --git a/modular_chomp/code/modules/mob/living/carbon/human/species/station/protean/protean_species.dm b/modular_chomp/code/modules/mob/living/carbon/human/species/station/protean/protean_species.dm index 0a2bfb640c..0e5f76d4dd 100644 --- a/modular_chomp/code/modules/mob/living/carbon/human/species/station/protean/protean_species.dm +++ b/modular_chomp/code/modules/mob/living/carbon/human/species/station/protean/protean_species.dm @@ -30,8 +30,8 @@ breath_type = null poison_type = null - male_scream_sound = null - female_scream_sound = null + // male_scream_sound = null + // female_scream_sound = null virus_immune = 1 blood_volume = 0 @@ -58,14 +58,7 @@ rarity_value = 5 - female_scream_sound = list('modular_chomp/sound/voice/scream_silicon.ogg', 'modular_chomp/sound/voice/android_scream.ogg', 'modular_chomp/sound/voice/scream/robotic/robot_scream1.ogg', 'modular_chomp/sound/voice/scream/robotic/robot_scream2.ogg', 'modular_chomp/sound/voice/scream/robotic/robot_scream3.ogg') - male_scream_sound = list('modular_chomp/sound/voice/scream_silicon.ogg', 'modular_chomp/sound/voice/android_scream.ogg', 'modular_chomp/sound/voice/scream/robotic/robot_scream1.ogg', 'modular_chomp/sound/voice/scream/robotic/robot_scream2.ogg', 'modular_chomp/sound/voice/scream/robotic/robot_scream3.ogg') - male_gasp_sound = null // Missing gasp sounds - female_gasp_sound = null // Missing gasp sounds - male_pain_sound = list('modular_chomp/sound/voice/pain/robotic/robot_pain1.ogg', 'modular_chomp/sound/voice/pain/robotic/robot_pain2.ogg', 'modular_chomp/sound/voice/pain/robotic/robot_pain3.ogg') - female_pain_sound = list('modular_chomp/sound/voice/pain/robotic/robot_pain1.ogg', 'modular_chomp/sound/voice/pain/robotic/robot_pain2.ogg', 'modular_chomp/sound/voice/pain/robotic/robot_pain3.ogg') - male_death_sound = list('modular_chomp/sound/voice/borg_deathsound.ogg') - female_death_sound = list('modular_chomp/sound/voice/borg_deathsound.ogg') + species_sounds = "Robotic" crit_mod = 4 //Unable to go crit var/obj/item/weapon/rig/protean/OurRig diff --git a/modular_chomp/code/modules/mob/living/living.dm b/modular_chomp/code/modules/mob/living/living.dm index 40eafd3768..0d66775d9b 100644 --- a/modular_chomp/code/modules/mob/living/living.dm +++ b/modular_chomp/code/modules/mob/living/living.dm @@ -22,17 +22,13 @@ Maybe later, gotta figure out a way to click yourself when in a locker etc. * TBD: Maybe port over from species to mob? */ var/can_pain_emote = TRUE - var/pain_sound = null - var/female_pain_sound = null - var/male_pain_sound = null var/pain_emote_1p = null var/pain_emote_3p = null + var/species_sounds = "None" // By default, we have nothing. + var/death_sound_override = null /* // Not sure if needed, screams aren't a carbon thing rn. var/scream_sound = null var/female_scream_sound = null var/male_scream_sound = null var/scream_emote = null */ - var/death_sound = null - var/male_death_sound = null - var/female_death_sound = null diff --git a/modular_chomp/sound/voice/death/lizard/lizard_death.ogg b/modular_chomp/sound/voice/death/lizard/lizard_death.ogg new file mode 100644 index 0000000000..d42db48374 Binary files /dev/null and b/modular_chomp/sound/voice/death/lizard/lizard_death.ogg differ diff --git a/modular_chomp/sound/voice/death/xeno/xeno_death.ogg b/modular_chomp/sound/voice/death/xeno/xeno_death.ogg new file mode 100644 index 0000000000..3762b1e683 Binary files /dev/null and b/modular_chomp/sound/voice/death/xeno/xeno_death.ogg differ diff --git a/modular_chomp/sound/voice/death/xeno/xeno_death2.ogg b/modular_chomp/sound/voice/death/xeno/xeno_death2.ogg new file mode 100644 index 0000000000..9cb00d374d Binary files /dev/null and b/modular_chomp/sound/voice/death/xeno/xeno_death2.ogg differ diff --git a/modular_chomp/sound/voice/gasp/xeno/alien_hiss1.ogg b/modular_chomp/sound/voice/gasp/xeno/alien_hiss1.ogg new file mode 100644 index 0000000000..f29323687b Binary files /dev/null and b/modular_chomp/sound/voice/gasp/xeno/alien_hiss1.ogg differ diff --git a/modular_chomp/sound/voice/pain/lizard/lizard_pain.ogg b/modular_chomp/sound/voice/pain/lizard/lizard_pain.ogg new file mode 100644 index 0000000000..8b1bca088c Binary files /dev/null and b/modular_chomp/sound/voice/pain/lizard/lizard_pain.ogg differ diff --git a/modular_chomp/sound/voice/pain/vulpine/fox_pain1.ogg b/modular_chomp/sound/voice/pain/vulpine/fox_pain1.ogg new file mode 100644 index 0000000000..e3bf86e69f Binary files /dev/null and b/modular_chomp/sound/voice/pain/vulpine/fox_pain1.ogg differ diff --git a/modular_chomp/sound/voice/pain/vulpine/fox_pain2.ogg b/modular_chomp/sound/voice/pain/vulpine/fox_pain2.ogg new file mode 100644 index 0000000000..d45d568757 Binary files /dev/null and b/modular_chomp/sound/voice/pain/vulpine/fox_pain2.ogg differ diff --git a/modular_chomp/sound/voice/pain/vulpine/fox_pain3.ogg b/modular_chomp/sound/voice/pain/vulpine/fox_pain3.ogg new file mode 100644 index 0000000000..611a99d849 Binary files /dev/null and b/modular_chomp/sound/voice/pain/vulpine/fox_pain3.ogg differ diff --git a/modular_chomp/sound/voice/pain/vulpine/fox_pain4.ogg b/modular_chomp/sound/voice/pain/vulpine/fox_pain4.ogg new file mode 100644 index 0000000000..d94dfefc05 Binary files /dev/null and b/modular_chomp/sound/voice/pain/vulpine/fox_pain4.ogg differ diff --git a/modular_chomp/sound/voice/pain/xeno/alien_roar1.ogg b/modular_chomp/sound/voice/pain/xeno/alien_roar1.ogg new file mode 100644 index 0000000000..302ebf8104 Binary files /dev/null and b/modular_chomp/sound/voice/pain/xeno/alien_roar1.ogg differ diff --git a/modular_chomp/sound/voice/pain/xeno/alien_roar10.ogg b/modular_chomp/sound/voice/pain/xeno/alien_roar10.ogg new file mode 100644 index 0000000000..1672c58d3e Binary files /dev/null and b/modular_chomp/sound/voice/pain/xeno/alien_roar10.ogg differ diff --git a/modular_chomp/sound/voice/pain/xeno/alien_roar11.ogg b/modular_chomp/sound/voice/pain/xeno/alien_roar11.ogg new file mode 100644 index 0000000000..6a3f694d0c Binary files /dev/null and b/modular_chomp/sound/voice/pain/xeno/alien_roar11.ogg differ diff --git a/modular_chomp/sound/voice/pain/xeno/alien_roar12.ogg b/modular_chomp/sound/voice/pain/xeno/alien_roar12.ogg new file mode 100644 index 0000000000..aa7c0064b1 Binary files /dev/null and b/modular_chomp/sound/voice/pain/xeno/alien_roar12.ogg differ diff --git a/modular_chomp/sound/voice/pain/xeno/alien_roar2.ogg b/modular_chomp/sound/voice/pain/xeno/alien_roar2.ogg new file mode 100644 index 0000000000..c670730c4f Binary files /dev/null and b/modular_chomp/sound/voice/pain/xeno/alien_roar2.ogg differ diff --git a/modular_chomp/sound/voice/pain/xeno/alien_roar3.ogg b/modular_chomp/sound/voice/pain/xeno/alien_roar3.ogg new file mode 100644 index 0000000000..73da74d97a Binary files /dev/null and b/modular_chomp/sound/voice/pain/xeno/alien_roar3.ogg differ diff --git a/modular_chomp/sound/voice/pain/xeno/alien_roar4.ogg b/modular_chomp/sound/voice/pain/xeno/alien_roar4.ogg new file mode 100644 index 0000000000..e5c7a6b985 Binary files /dev/null and b/modular_chomp/sound/voice/pain/xeno/alien_roar4.ogg differ diff --git a/modular_chomp/sound/voice/pain/xeno/alien_roar5.ogg b/modular_chomp/sound/voice/pain/xeno/alien_roar5.ogg new file mode 100644 index 0000000000..4f96d740c0 Binary files /dev/null and b/modular_chomp/sound/voice/pain/xeno/alien_roar5.ogg differ diff --git a/modular_chomp/sound/voice/pain/xeno/alien_roar6.ogg b/modular_chomp/sound/voice/pain/xeno/alien_roar6.ogg new file mode 100644 index 0000000000..868e926f77 Binary files /dev/null and b/modular_chomp/sound/voice/pain/xeno/alien_roar6.ogg differ diff --git a/modular_chomp/sound/voice/pain/xeno/alien_roar7.ogg b/modular_chomp/sound/voice/pain/xeno/alien_roar7.ogg new file mode 100644 index 0000000000..5deec41a04 Binary files /dev/null and b/modular_chomp/sound/voice/pain/xeno/alien_roar7.ogg differ diff --git a/modular_chomp/sound/voice/pain/xeno/alien_roar8.ogg b/modular_chomp/sound/voice/pain/xeno/alien_roar8.ogg new file mode 100644 index 0000000000..70564ea3d0 Binary files /dev/null and b/modular_chomp/sound/voice/pain/xeno/alien_roar8.ogg differ diff --git a/modular_chomp/sound/voice/pain/xeno/alien_roar9.ogg b/modular_chomp/sound/voice/pain/xeno/alien_roar9.ogg new file mode 100644 index 0000000000..1bec52faa0 Binary files /dev/null and b/modular_chomp/sound/voice/pain/xeno/alien_roar9.ogg differ diff --git a/modular_chomp/sound/voice/scream/vulpine/fox_yip1.ogg b/modular_chomp/sound/voice/scream/vulpine/fox_yip1.ogg new file mode 100644 index 0000000000..3feea0a467 Binary files /dev/null and b/modular_chomp/sound/voice/scream/vulpine/fox_yip1.ogg differ diff --git a/modular_chomp/sound/voice/scream/vulpine/fox_yip2.ogg b/modular_chomp/sound/voice/scream/vulpine/fox_yip2.ogg new file mode 100644 index 0000000000..8478eee546 Binary files /dev/null and b/modular_chomp/sound/voice/scream/vulpine/fox_yip2.ogg differ diff --git a/modular_chomp/sound/voice/scream/vulpine/fox_yip3.ogg b/modular_chomp/sound/voice/scream/vulpine/fox_yip3.ogg new file mode 100644 index 0000000000..974f597bbd Binary files /dev/null and b/modular_chomp/sound/voice/scream/vulpine/fox_yip3.ogg differ