Update 2.0

- Technical: All sounds are now using a masterlist that is indexed via keypairs, saving on overhead and copypaste.
- Technical continued: Rather than defining sounds per species, go to sound.dm, add a define, following the above, then add your key + pair to species_sounds_map - for instance, `"Mouse" = mouse_sounds`. Easy as that.
- All mobs refer to this list rather than defining their own pain/etc sounds.
- All mobs can override death sounds with death_sound_override set to the sound (or sounds) of their choice.
- Added the following sound options: Lizard, Metroid, Mouse, Raccoon, Slime, Spider, Teshari, Vox, Vulpine, Xeno
- If Species Sound is set to "Unset", it will automatically grab the correct sounds for your gender *and* species, if those exist.
- For developers: set `gender_specific_species_sounds` to TRUE on your species, and set `species_sounds_[gender]` (fill in gender with your chosen gender) for it to fetch these sounds.
- Species can now control the volume that their emote sounds play at. Refer to the added variables in `species.dm` for details.
- Cough/Sneeze/Scream/Pain/Gasp/Death sounds are all now standardized and use the same procs to fetch sounds, cutting down on copy/paste and reducing changes for things to go wrong.
- Fixed multiple smaller bugs, the details of which elude me, in regards to 1.0/Original
- Ported Xeno scream/roar/pain/death sounds from TGMC.
- Deathgasp actually plays your death sound (TBD if this is too spammy).
2.1
- Technical: Fixed a runtime in get_default_species_sounds where it was trying to fetch from dummy mob rather than the player's preferences.
- Fixed an error where chat would not display the "this set does not have 'x' sounds!" message.
This commit is contained in:
Rykka Stormheart
2023-03-01 23:54:35 -08:00
parent 2940d67c4d
commit 9c80b225aa
87 changed files with 391 additions and 757 deletions

View File

@@ -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"

View File

@@ -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

View File

@@ -124,7 +124,9 @@
// var/datum/species/selected_species = GLOB.all_species[pref.species]
// if(selected_species.selects_bodytype)
. += "<br>"
. += "<b>Species Injury Sounds:</b> <a href='?src=\ref[src];species_sound_options=1'>[pref.species_sound]</a><br>"
. += "<b>Species Sounds:</b> <a href='?src=\ref[src];species_sound_options=1'>[pref.species_sound]</a><br>"
. += "<a href='?src=\ref[src];cough_test=1'><b>Test Cough Sounds</b></a><br>"
. += "<a href='?src=\ref[src];sneeze_test=1'><b>Test Sneeze Sounds</b></a><br>"
. += "<a href='?src=\ref[src];scream_test=1'><b>Test Scream Sounds</b></a><br>"
. += "<a href='?src=\ref[src];pain_test=1'><b>Test Pain Sounds</b></a><br>"
. += "<a href='?src=\ref[src];gasp_test=1'><b>Test Gasp Sounds</b></a><br>"
@@ -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, "<span class='warning'>This set does not have scream sounds!</span>")
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, "<span class='warning'>This set does not have cough sounds!</span>")
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, "<span class='warning'>This set does not have sneeze sounds!</span>")
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, "<span class='warning'>This set does not have scream sounds!</span>")
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, "<span class='warning'>This species does not have scream sounds!</span>")
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, "<span class='warning'>This set does not have pain sounds!</span>")
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, "<span class='warning'>This set does not have pain sounds!</span>")
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, "<span class='warning'>This set does not have pain sounds!</span>")
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, "<span class='warning'>This species does not have pain sounds!</span>")
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, "<span class='warning'>This set does not have gasp sounds!</span>")
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, "<span class='warning'>This set does not have gasp sounds!</span>")
return TOPIC_REFRESH
if("None" || null)
to_chat(user, "<span class='warning'>This set does not have gasp sounds!</span>")
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, "<span class='warning'>This set does not have gasp sounds!</span>")
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, "<span class='warning'>This species does not have gasp sounds!</span>")
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, "<span class='warning'>This set does not have death sounds!</span>")
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, "<span class='warning'>This set does not have gasp sounds!</span>")
oursound = get_species_sound(select_default_species_sound(user))["death"]
S = sound(pick(oursound))
if(pref.species_sound == "None" || oursound == null)
to_chat(user, "<span class='warning'>This set does not have death sounds!</span>")
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, "<span class='warning'>This species does not have death sounds!</span>")
return TOPIC_REFRESH
S.frequency = pick(pref.voice_freq)
S.volume = 20
SEND_SOUND(user, S)
return TOPIC_REFRESH
*/
// CHOMPEdit End
return ..();

View File

@@ -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

View File

@@ -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 ..()

View File

@@ -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
)
*/

View File

@@ -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
)
*/
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
)

View File

@@ -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 ..()

View File

@@ -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)]"

View File

@@ -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)

View File

@@ -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)
qdel(H)

View File

@@ -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
body_temperature = T20C

View File

@@ -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

View File

@@ -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"

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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()

View File

@@ -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

View File

@@ -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)

View File

@@ -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")
..(new_loc, "Wolpin")

View File

@@ -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

View File

@@ -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; \

View File

@@ -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."

View File

@@ -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

View File

@@ -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

View File

@@ -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)
qdel(src)

View File

@@ -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
. = ..()

View File

@@ -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

View File

@@ -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

View File

@@ -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()
. = ..()

View File

@@ -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))

View File

@@ -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()

View File

@@ -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

View File

@@ -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

View File

@@ -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"

View File

@@ -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")

View File

@@ -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.

View File

@@ -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"])
. = ..()

View File

@@ -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.

View File

@@ -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

View File

@@ -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.

View File

@@ -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)

View File

@@ -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))

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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")

View File

@@ -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))

View File

@@ -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

View File

@@ -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

View File

@@ -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"

View File

@@ -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

View File

@@ -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"

View File

@@ -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!

View File

@@ -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!

View File

@@ -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!

View File

@@ -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!

View File

@@ -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
)

View File

@@ -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
)

View File

@@ -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"])
..()

View File

@@ -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

View File

@@ -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

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.