Sound Update: Pain/Scream/Gasp/Death Sounds

This PR adds the following sounds;
Death sounds
Scream sounds
Pain sounds
Gasp sounds

The sounds are organized into a category under character setup - navigate to the VORE tab and select one based on your preference. If Unset, or not chosen, it will default to whatever the icon base is for your species - for instance, Vulpkanin will get the Canine sounds.

Sounds are grouped into 4 major lists so far, with plans for more once I get more files;
Canine (Scream/Gasp/Death/Pain)
Feline (Scream/Gasp/Death/Pain)
Cervine (Scream/Death only)
Generic/Human (Scream/Gasp/Death/Pain)

Vulpkanin use Canine sounds. Tajaran use Feline. Humans get Generic/Human. Cervine is unset on any species, allowed to be taken by customs.
Vox have a pain sound.

This also enables **pain** emotes. These can be manually done with *pain, or triggered automatically on taking an injury. The pain trigger respects species pain mods - for instance, if you have Major Pain Tolerance, you'll hear yourself growl in pain far less than someone who has Intolerance.

Pain is **not** triggered by spicy food or hallucinations, as those two add halloss on directly. Only effects that apply damage will add on pain.

You can test out these sounds in the Character Setup panel. See [here](https://streamable.com/o9wr9g), and here:
![](https://i.imgur.com/JhbH6r3.png)

A demonstration of human sounds is available [here](https://streamable.com/hqwpel).
Canine sounds [here](https://streamable.com/41d0oj)
Demonstrations of it during combat [here](https://streamable.com/y4nxea) and [here](https://streamable.com/gj2gl3).

These can be muted by navigating to Sound and setting the Mob Injury Sounds variable, seen here:
![](https://i.imgur.com/4zblNmd.png)

Species that currently lack sounds have had their audible sounds disabled to prevent jarring human noises from playing on non-human species. This can be overridden upon request, but for now, it will serve as hopeful inspiration to encourage additional files.
This commit is contained in:
Rykka Stormheart
2023-02-27 19:28:05 -08:00
parent 65637c3fc9
commit 6a837244da
94 changed files with 609 additions and 45 deletions

View File

@@ -439,6 +439,7 @@ GLOBAL_LIST_EMPTY(##LIST_NAME);\
#define VOLUME_CHANNEL_DOORS "Doors" #define VOLUME_CHANNEL_DOORS "Doors"
#define VOLUME_CHANNEL_INSTRUMENTS "Instruments" #define VOLUME_CHANNEL_INSTRUMENTS "Instruments"
#define VOLUME_CHANNEL_WEATHER "Weather" #define VOLUME_CHANNEL_WEATHER "Weather"
#define VOLUME_CHANNEL_INJ_DEATH "Mob Injury Sounds"
// Make sure you update this or clients won't be able to adjust the channel // Make sure you update this or clients won't be able to adjust the channel
GLOBAL_LIST_INIT(all_volume_channels, list( GLOBAL_LIST_INIT(all_volume_channels, list(
@@ -448,7 +449,8 @@ GLOBAL_LIST_INIT(all_volume_channels, list(
VOLUME_CHANNEL_VORE, VOLUME_CHANNEL_VORE,
VOLUME_CHANNEL_DOORS, VOLUME_CHANNEL_DOORS,
VOLUME_CHANNEL_INSTRUMENTS, VOLUME_CHANNEL_INSTRUMENTS,
VOLUME_CHANNEL_WEATHER VOLUME_CHANNEL_WEATHER,
VOLUME_CHANNEL_INJ_DEATH
)) ))
#define APPEARANCECHANGER_CHANGED_RACE "Race" #define APPEARANCECHANGER_CHANGED_RACE "Race"

View File

@@ -308,3 +308,39 @@ var/list/goon_speak_pug_sound = list('sound/talksounds/goon/pug.ogg', 'sound/tal
var/list/goon_speak_pugg_sound = list('sound/talksounds/goon/pugg.ogg', 'sound/talksounds/goon/pugg_ask.ogg', 'sound/talksounds/goon/pugg_exclaim.ogg') var/list/goon_speak_pugg_sound = list('sound/talksounds/goon/pugg.ogg', 'sound/talksounds/goon/pugg_ask.ogg', 'sound/talksounds/goon/pugg_exclaim.ogg')
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_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') 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:
var/list/canine_scream_sounds = 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')
var/list/canine_pain_sounds = 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')
var/list/canine_gasp_sounds = list('modular_chomp/sound/voice/gasp/canine/wolf_gasp.ogg')
var/list/canine_death_sounds = 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')
var/list/feline_scream_sounds = list('modular_chomp/sound/voice/scream/feline/feline_scream.ogg')
var/list/feline_pain_sounds = list('modular_chomp/sound/voice/pain/feline/feline_pain.ogg')
var/list/feline_gasp_sounds = list('modular_chomp/sound/voice/gasp/feline/feline_gasp.ogg')
var/list/feline_death_sounds = list('modular_chomp/sound/voice/death/feline/feline_death.ogg')
var/list/cervine_scream_sounds = list('modular_chomp/sound/voice/scream/cervine/cervine_scream.ogg')
// var/list/cervine_pain_sounds = list() // Doesn't exist
// var/list/cervine_gasp_sounds = list() // Doesn't exist
var/list/cervine_death_sounds = list('modular_chomp/sound/voice/death/cervine/cervine_death.ogg')
// var/list/avian_scream_sounds = list() // TBD
// var/list/avian_pain_sounds = list() // TBD
// var/list/avian_death_sounds = list() // TBD
var/list/male_generic_scream_sounds = 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')
var/list/male_generic_pain_sounds = 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')
var/list/male_generic_gasp_sounds = 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')
var/list/male_generic_death_sounds = 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')
var/list/female_generic_scream_sounds = 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')
var/list/female_generic_pain_sounds = 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')
var/list/female_generic_gasp_sounds = list('modular_chomp/sound/voice/gasp/generic/female/female_gasp1.ogg', 'modular_chomp/sound/voice/gasp/generic/female/female_gasp2.ogg')
var/list/female_generic_death_sounds = 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')
/*
var/list/vulpine_scream_sounds = list()
var/list/vulpine_pain_sounds = list()
var/list/vulpine_gasp_sounds = list()
var/list/vulpine_death_sounds = list()
var/list/lizard_scream_sounds = list('sound/effects/mob_effects/una_scream1.ogg','sound/effects/mob_effects/una_scream2.ogg')
var/list/lizard_pain_sounds = list()
var/list/lizard_gasp_sounds = list()
var/list/lizard_death_sounds = list()
*/
// CHOMPEdit End

View File

@@ -18,6 +18,7 @@
var/voice_freq = 42500 //CHOMPEdit - Why was the default 0 var/voice_freq = 42500 //CHOMPEdit - Why was the default 0
var/voice_sound = "goon speak 1" //CHOMPEdit - Changed the default voice to one less jarring var/voice_sound = "goon speak 1" //CHOMPEdit - Changed the default voice to one less jarring
var/custom_speech_bubble = "default" var/custom_speech_bubble = "default"
var/species_sound = "Unset" // CHOMPEdit: Use default species pain/scream sounds based off icon base if none set, override otherwise
// Definition of the stuff for Sizing // Definition of the stuff for Sizing
/datum/category_item/player_setup_item/vore/size /datum/category_item/player_setup_item/vore/size
@@ -34,6 +35,7 @@
S["voice_freq"] >> pref.voice_freq S["voice_freq"] >> pref.voice_freq
S["voice_sound"] >> pref.voice_sound S["voice_sound"] >> pref.voice_sound
S["custom_speech_bubble"] >> pref.custom_speech_bubble S["custom_speech_bubble"] >> pref.custom_speech_bubble
S["species_sound"] >> pref.species_sound // CHOMPEdit
/datum/category_item/player_setup_item/vore/size/save_character(var/savefile/S) /datum/category_item/player_setup_item/vore/size/save_character(var/savefile/S)
S["size_multiplier"] << pref.size_multiplier S["size_multiplier"] << pref.size_multiplier
@@ -45,6 +47,7 @@
S["voice_freq"] << pref.voice_freq S["voice_freq"] << pref.voice_freq
S["voice_sound"] << pref.voice_sound S["voice_sound"] << pref.voice_sound
S["custom_speech_bubble"] << pref.custom_speech_bubble S["custom_speech_bubble"] << pref.custom_speech_bubble
S["species_sound"] << pref.species_sound // CHOMPEdit
/datum/category_item/player_setup_item/vore/size/sanitize_character() /datum/category_item/player_setup_item/vore/size/sanitize_character()
@@ -59,6 +62,8 @@
pref.size_multiplier = initial(pref.size_multiplier) pref.size_multiplier = initial(pref.size_multiplier)
if(!(pref.custom_speech_bubble in selectable_speech_bubbles)) if(!(pref.custom_speech_bubble in selectable_speech_bubbles))
pref.custom_speech_bubble = "default" pref.custom_speech_bubble = "default"
if(!(pref.species_sound)) // CHOMPEdit
pref.species_sound = "Unset" // CHOMPEdit
/datum/category_item/player_setup_item/vore/size/copy_to_mob(var/mob/living/carbon/human/character) /datum/category_item/player_setup_item/vore/size/copy_to_mob(var/mob/living/carbon/human/character)
character.weight = pref.weight_vr character.weight = pref.weight_vr
@@ -107,10 +112,23 @@
. += "<b>Scale:</b> <a href='?src=\ref[src];size_multiplier=1'>[round(pref.size_multiplier*100)]%</a><br>" . += "<b>Scale:</b> <a href='?src=\ref[src];size_multiplier=1'>[round(pref.size_multiplier*100)]%</a><br>"
. += "<b>Scaled Appearance:</b> <a [pref.fuzzy ? "" : ""] href='?src=\ref[src];toggle_fuzzy=1'><b>[pref.fuzzy ? "Fuzzy" : "Sharp"]</b></a><br>" . += "<b>Scaled Appearance:</b> <a [pref.fuzzy ? "" : ""] href='?src=\ref[src];toggle_fuzzy=1'><b>[pref.fuzzy ? "Fuzzy" : "Sharp"]</b></a><br>"
. += "<b>Scaling Center:</b> <a [pref.offset_override ? "" : ""] href='?src=\ref[src];toggle_offset_override=1'><b>[pref.offset_override ? "Odd" : "Even"]</b></a><br>" //CHOMPEdit . += "<b>Scaling Center:</b> <a [pref.offset_override ? "" : ""] href='?src=\ref[src];toggle_offset_override=1'><b>[pref.offset_override ? "Odd" : "Even"]</b></a><br>" //CHOMPEdit
. += "<br>" // CHOMPEdit: Fancy:tm:
. += "<b>Mob Speech/Noise Customization</b>" // CHOMPEdit: Fancy:tm:
. += "<br>" // CHOMPEdit
. += "<b>Voice Frequency:</b> <a href='?src=\ref[src];voice_freq=1'>[pref.voice_freq]</a><br>" . += "<b>Voice Frequency:</b> <a href='?src=\ref[src];voice_freq=1'>[pref.voice_freq]</a><br>"
. += "<b>Voice Sounds:</b> <a href='?src=\ref[src];voice_sounds_list=1'>[pref.voice_sound]</a><br>" . += "<b>Voice Sounds:</b> <a href='?src=\ref[src];voice_sounds_list=1'>[pref.voice_sound]</a><br>"
. += "<a href='?src=\ref[src];voice_test=1'><b>Test Selected Voice</b></a><br>" . += "<a href='?src=\ref[src];voice_test=1'><b>Test Selected Voice</b></a><br>"
. += "<b>Custom Speech Bubble:</b> <a href='?src=\ref[src];customize_speech_bubble=1'>[pref.custom_speech_bubble]</a><br>" . += "<b>Custom Speech Bubble:</b> <a href='?src=\ref[src];customize_speech_bubble=1'>[pref.custom_speech_bubble]</a><br>"
// CHOMPEdit Start: Pain/Scream/Death Custom Sounds
var/datum/species/selected_species = GLOB.all_species[pref.species]
if(selected_species.selects_bodytype)
. += "<br>"
. += "<b>Species Sounds:</b> <a href='?src=\ref[src];species_sound_options=1'>[pref.species_sound]</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>"
. += "<a href='?src=\ref[src];death_test=1'><b>Test Death Sounds</b></a><br>"
// CHOMPEdit End: Pain/Scream/Death Custom Sounds
. += "<br>" . += "<br>"
. += "<b>Relative Weight:</b> <a href='?src=\ref[src];weight=1'>[pref.weight_vr]</a><br>" . += "<b>Relative Weight:</b> <a href='?src=\ref[src];weight=1'>[pref.weight_vr]</a><br>"
. += "<b>Weight Gain Rate:</b> <a href='?src=\ref[src];weight_gain=1'>[pref.weight_gain]</a><br>" . += "<b>Weight Gain Rate:</b> <a href='?src=\ref[src];weight_gain=1'>[pref.weight_gain]</a><br>"
@@ -203,8 +221,10 @@
"goon speak roach", "goon speak roach",
"goon speak skelly") "goon speak skelly")
var/choice = tgui_input_list(usr, "Which set of sounds would you like to use for your character's speech sounds?", "Voice Sounds", possible_voice_types) var/choice = tgui_input_list(usr, "Which set of sounds would you like to use for your character's speech sounds?", "Voice Sounds", possible_voice_types)
if(!choice) if(!pref.voice_sound)
pref.voice_sound = "goon speak 1" //CHOMPEdit - Defaults voice to a less jarring sound pref.voice_sound = "goon speak 1" //CHOMPEdit - Defaults voice to a less jarring sound
else if(!choice)
return TOPIC_REFRESH // CHOMPEdit
else else
pref.voice_sound = choice pref.voice_sound = choice
return TOPIC_REFRESH return TOPIC_REFRESH
@@ -250,5 +270,172 @@
S.frequency = pick(pref.voice_freq) S.frequency = pick(pref.voice_freq)
S.volume = 50 S.volume = 50
SEND_SOUND(user, S) SEND_SOUND(user, S)
return TOPIC_REFRESH // CHOMPEdit
// 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 = list(
"Unset",
"Generic/Human",
"Canine",
"Feline",
"Cervine")
//"Vulpine") TBD! Need moar sounds. :3
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)
if(!choice)
return TOPIC_REFRESH // No choice? Don't reset our selection
else
pref.species_sound = 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)
var/sound/S
switch(pref.species_sound)
if("Canine")
S = sound(pick(canine_scream_sounds))
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 = 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))
S.frequency = pick(pref.voice_freq)
S.volume = 20
SEND_SOUND(user, S)
return TOPIC_REFRESH
else
var/sound/S
var/datum/species/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))
S.frequency = pick(pref.voice_freq)
S.volume = 20
SEND_SOUND(user, S)
return TOPIC_REFRESH
return ..(); else if(href_list["pain_test"])
var/datum/species/selected_species = GLOB.all_species[pref.species]
if(selected_species.selects_bodytype)
var/sound/S
switch(pref.species_sound)
if("Canine")
S = sound(pick(canine_pain_sounds))
if("Feline")
S = sound(pick(feline_pain_sounds))
if("Cervine")
to_chat("<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 = 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))
S.frequency = pick(pref.voice_freq)
S.volume = 20
SEND_SOUND(user, S)
return TOPIC_REFRESH
else
var/sound/S
var/datum/species/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))
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
switch(pref.species_sound)
if("Canine")
S = sound(pick(canine_gasp_sounds))
if("Feline")
S = sound(pick(feline_gasp_sounds))
if("Cervine")
to_chat("<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 = 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))
S.frequency = pick(pref.voice_freq)
S.volume = 20
SEND_SOUND(user, S)
return TOPIC_REFRESH
else
var/sound/S
var/datum/species/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))
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
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 = 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))
S.frequency = pick(pref.voice_freq)
S.volume = 20
SEND_SOUND(user, S)
return TOPIC_REFRESH
else
var/sound/S
var/datum/species/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))
S.frequency = pick(pref.voice_freq)
S.volume = 20
SEND_SOUND(user, S)
return TOPIC_REFRESH
// CHOMPEdit End
return ..();

View File

@@ -257,6 +257,9 @@
//Any additional non-trait settings can be applied here //Any additional non-trait settings can be applied here
new_S.blood_color = pref.blood_color new_S.blood_color = pref.blood_color
if(pref.species_sound && new_S.selects_bodytype && pref.custom_base) // CHOMPEdit: Custom Scream/Death/Gasp/Pain Sounds. Don't try to do this if it doesn't exist, we aren't a custom species, and we don't have a custom base.
new_S.copy_species_sounds(new_S, pref.species_sound, pref.custom_base) // CHOMPEdit: Custom Scream/Death/Gasp/Pain Sounds
if(pref.species == SPECIES_CUSTOM) if(pref.species == SPECIES_CUSTOM)
//Statistics for this would be nice //Statistics for this would be nice
var/english_traits = english_list(new_S.traits, and_text = ";", comma_text = ";") var/english_traits = english_list(new_S.traits, and_text = ";", comma_text = ";")

View File

@@ -4,10 +4,14 @@
if(H.get_gender() == FEMALE) if(H.get_gender() == FEMALE)
return list( return list(
"sound" = H.species.female_scream_sound, "sound" = H.species.female_scream_sound,
"vol" = emote_volume "vol" = 60,
"exr" = 20,
"volchannel" = VOLUME_CHANNEL_INJ_DEATH
) )
else else
return list( return list(
"sound" = H.species.male_scream_sound, "sound" = H.species.male_scream_sound,
"vol" = emote_volume "vol" = 60,
) "exr" = 20,
"volchannel" = VOLUME_CHANNEL_INJ_DEATH
)

View File

@@ -29,8 +29,8 @@ var/global/list/emotes_by_key
var/emote_message_radio_synthetic // As above, but for synthetics. var/emote_message_radio_synthetic // As above, but for synthetics.
var/emote_message_muffled // A message to show if the emote is audible and the user is muzzled. var/emote_message_muffled // A message to show if the emote is audible and the user is muzzled.
var/list/emote_sound // A sound for the emote to play. var/list/emote_sound // A sound for the emote to play.
// Can either be a single sound, a list of sounds to pick from, or an // Can either be a single sound, a list of sounds to pick from, or an
// associative array of gender to single sounds/a list of sounds. // associative array of gender to single sounds/a list of sounds.
var/list/emote_sound_synthetic // As above, but used when check_synthetic() is true. var/list/emote_sound_synthetic // As above, but used when check_synthetic() is true.
var/emote_volume = 50 // Volume of sound to play. var/emote_volume = 50 // Volume of sound to play.
@@ -42,7 +42,7 @@ var/global/list/emotes_by_key
var/check_range // falsy, or a range outside which the emote will not work var/check_range // falsy, or a range outside which the emote will not work
var/conscious = TRUE // Do we need to be awake to emote this? var/conscious = TRUE // Do we need to be awake to emote this?
var/emote_range = 0 // If >0, restricts emote visibility to viewers within range. var/emote_range = 0 // If >0, restricts emote visibility to viewers within range.
var/sound_preferences = list(/datum/client_preference/emote_noises) // Default emote sound_preferences is just emote_noises. Belch emote overrides this list for pref-checks. var/sound_preferences = list(/datum/client_preference/emote_noises) // Default emote sound_preferences is just emote_noises. Belch emote overrides this list for pref-checks.
var/sound_vary = FALSE var/sound_vary = FALSE
@@ -187,12 +187,12 @@ var/global/list/emotes_by_key
if(islist(sound_to_play) && length(sound_to_play)) if(islist(sound_to_play) && length(sound_to_play))
sound_to_play = pick(sound_to_play) sound_to_play = pick(sound_to_play)
if(sound_to_play) if(sound_to_play)
//CHOMPEdit Add - Preference for variable pitch //CHOMPEdit Add - Preference for variable pitch + Extra range argument
if(istype(user, /mob)) if(istype(user, /mob))
var/mob/u = user var/mob/u = user
playsound(user.loc, sound_to_play, use_sound["vol"], u.is_preference_enabled(/datum/client_preference/random_emote_pitch) && sound_vary, frequency = u.voice_freq, preference = sound_preferences) //CHOMPEdit playsound(user.loc, sound_to_play, use_sound["vol"], u.is_preference_enabled(/datum/client_preference/random_emote_pitch) && sound_vary, extrarange = use_sound["exr"], frequency = u.voice_freq, preference = sound_preferences, volume_channel = use_sound["volchannel"]) //CHOMPEdit
else else
playsound(user.loc, sound_to_play, use_sound["vol"], sound_vary, frequency = null, preference = sound_preferences) //VOREStation Add - Preference playsound(user.loc, sound_to_play, use_sound["vol"], sound_vary, extrarange = use_sound["exr"], frequency = null, preference = sound_preferences, volume_channel = use_sound["volchannel"]) //VOREStation Add - Preference // CHOMPEdit: volume channel + range
//CHOMPEdit End - Previous line used to be outside an if/else before the edit. //CHOMPEdit End - Previous line used to be outside an if/else before the edit.
/decl/emote/proc/mob_can_use(var/mob/user) /decl/emote/proc/mob_can_use(var/mob/user)

View File

@@ -87,8 +87,21 @@
if(O.client && O.client.is_preference_enabled(/datum/client_preference/show_dsay)) if(O.client && O.client.is_preference_enabled(/datum/client_preference/show_dsay))
to_chat(O, "<span class='deadsay'><b>[src]</b> has died in <b>[get_area(src)]</b>. [ghost_follow_link(src, O)] </span>") to_chat(O, "<span class='deadsay'><b>[src]</b> has died in <b>[get_area(src)]</b>. [ghost_follow_link(src, O)] </span>")
/* // CHOMPEdit Start: Replacing this with our own death sounds. :3
if(!gibbed && species.death_sound) if(!gibbed && species.death_sound)
playsound(src, species.death_sound, 80, 1, 1) 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)
*/
// CHOMPEdit End
if(ticker && ticker.mode) if(ticker && ticker.mode)
sql_report_death(src) sql_report_death(src)

View File

@@ -173,7 +173,8 @@ var/list/_human_default_emotes = list(
/decl/emote/audible/croak_skrell, /decl/emote/audible/croak_skrell,
//VOREStation Add End //VOREStation Add End
//CHOMP Add start //CHOMP Add start
/decl/emote/audible/prbt2 /decl/emote/audible/prbt2,
/decl/emote/audible/pain
//CHOMP Add end //CHOMP Add end
) )

View File

@@ -614,6 +614,20 @@ This function restores all organs.
if(organ.take_damage(0, damage, sharp, edge, used_weapon)) if(organ.take_damage(0, damage, sharp, edge, used_weapon))
UpdateDamageIcon() UpdateDamageIcon()
// CHOMPEdit: Pain Emotes!
var/pain_noise = (damage * species.pain_mod) // Halve the incoming, then multiply it by our mod. 50 damage becomes 25 x 0.6 on highest strength, meaning prob 15. 50 x 1.4 means prob 35, etc.
switch(damage)
if(0 to 25)
if(prob(pain_noise) && !isbelly(loc)) // No pain noises inside bellies.
emote("pain")
if(26 to 50)
if(prob(pain_noise * 1.5) && !isbelly(loc)) // No pain noises inside bellies.
emote("pain")
if(51 to INFINITY)
if(prob(pain_noise * 3) && !isbelly(loc)) // More likely, most severe damage. No pain noises inside bellies.
emote("pain")
// CHOMPEdit End
// Will set our damageoverlay icon to the next level, which will then be set back to the normal level the next mob.Life(). // Will set our damageoverlay icon to the next level, which will then be set back to the normal level the next mob.Life().
updatehealth() updatehealth()
BITSET(hud_updateflag, HEALTH_HUD) BITSET(hud_updateflag, HEALTH_HUD)

View File

@@ -28,12 +28,20 @@
scream_verb_1p = "shriek" scream_verb_1p = "shriek"
scream_verb_3p = "shrieks" scream_verb_3p = "shrieks"
male_scream_sound = 'sound/voice/shriek1.ogg' male_scream_sound = list('sound/voice/shriek1.ogg') // CHOMPEdit: List-ified
female_scream_sound = 'sound/voice/shriek1.ogg' female_scream_sound = list('sound/voice/shriek1.ogg') // CHOMPEdit: List-ified
male_cough_sounds = list('sound/voice/shriekcough.ogg') male_cough_sounds = list('sound/voice/shriekcough.ogg')
female_cough_sounds = list('sound/voice/shriekcough.ogg') female_cough_sounds = list('sound/voice/shriekcough.ogg')
male_sneeze_sound = 'sound/voice/shrieksneeze.ogg' male_sneeze_sound = 'sound/voice/shrieksneeze.ogg'
female_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
// CHOMPEdit End
warning_low_pressure = 50 warning_low_pressure = 50
hazard_low_pressure = 0 hazard_low_pressure = 0

View File

@@ -18,6 +18,14 @@
male_scream_sound = null //CHOMPedit These are going to be a hassle for custom species if not null male_scream_sound = null //CHOMPedit These are going to be a hassle for custom species if not null
female_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
name_language = null // Use the first-name last-name generator rather than a language scrambler name_language = null // Use the first-name last-name generator rather than a language scrambler
min_age = 18 min_age = 18

View File

@@ -13,6 +13,14 @@
male_scream_sound = null //CHOMPedit male_scream_sound = null //CHOMPedit
female_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
assisted_langs = list() assisted_langs = list()
@@ -38,4 +46,4 @@
H.mind.special_role = "Golem" H.mind.special_role = "Golem"
H.real_name = "adamantine golem ([rand(1, 1000)])" H.real_name = "adamantine golem ([rand(1, 1000)])"
H.name = H.real_name H.name = H.real_name
..() ..()

View File

@@ -29,6 +29,14 @@
male_scream_sound = null //CHOMPedit male_scream_sound = null //CHOMPedit
female_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
min_age = 18 min_age = 18
max_age = 130 max_age = 130

View File

@@ -24,6 +24,14 @@
male_scream_sound = null //CHOMPedit male_scream_sound = null //CHOMPedit
female_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
unarmed_types = list(/datum/unarmed_attack/bite, /datum/unarmed_attack/claws) unarmed_types = list(/datum/unarmed_attack/bite, /datum/unarmed_attack/claws)
inherent_verbs = list(/mob/living/proc/ventcrawl) inherent_verbs = list(/mob/living/proc/ventcrawl)

View File

@@ -52,6 +52,14 @@ var/datum/species/shapeshifter/promethean/prometheans
male_scream_sound = null //CHOMPedit male_scream_sound = null //CHOMPedit
female_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
gluttonous = 1 gluttonous = 1
virus_immune = 1 virus_immune = 1

View File

@@ -77,10 +77,13 @@
max_age = 260 max_age = 260
economic_modifier = 10 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 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 female_scream_sound = list ('sound/effects/mob_effects/una_scream1.ogg','sound/effects/mob_effects/una_scream2.ogg') //CHOMPedit
pain_verb_1p = list("hiss", "growl") // CHOMPEdit: Unathi pain emotes
pain_verb_3p = list("hisses", "growls") // CHOMPEdit: Pain emotes
blurb = "A heavily reptillian species, Unathi hail from the \ blurb = "A heavily reptillian species, Unathi hail from the \
Uuosa-Eso system, which roughly translates to 'burning mother'.<br/><br/>Coming from a harsh, inhospitable \ Uuosa-Eso system, which roughly translates to 'burning mother'.<br/><br/>Coming from a harsh, inhospitable \
planet, they mostly hold ideals of honesty, virtue, proficiency and bravery above all \ planet, they mostly hold ideals of honesty, virtue, proficiency and bravery above all \
@@ -206,8 +209,19 @@
economic_modifier = 10 economic_modifier = 10
male_scream_sound = null //CHOMPedit male_scream_sound = list('modular_chomp/sound/voice/scream/feline/feline_scream.ogg') //CHOMPedit: Scream sounds, finally, 3 years later.
female_scream_sound = null //CHOMPedit 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')
pain_verb_1p = list("hiss", "growl", "yowl") // CHOMPEdit: Unathi pain emotes
pain_verb_3p = list("hisses", "growls", "yowls") // CHOMPEdit: Pain emotes
// CHOMPEdit End
blurb = "The Tajaran are a mammalian species resembling roughly felines, hailing from Meralar in the Rarkajar system. \ blurb = "The Tajaran are a mammalian species resembling roughly felines, hailing from Meralar in the Rarkajar system. \
While reaching to the stars independently from outside influences, the humans engaged them in peaceful trade contact \ While reaching to the stars independently from outside influences, the humans engaged them in peaceful trade contact \
@@ -317,6 +331,14 @@
male_scream_sound = null //CHOMPedit male_scream_sound = null //CHOMPedit
female_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
darksight = 4 darksight = 4
flash_mod = 1.2 flash_mod = 1.2
@@ -422,6 +444,14 @@
male_scream_sound = null //CHOMPedit male_scream_sound = null //CHOMPedit
female_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 = "The Zaddat are an Unathi client race only recently introduced to SolGov space. Having evolved on \ 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 \ the high-pressure and post-apocalyptic world of Xohok, Zaddat require an environmental suit called a Shroud \
@@ -543,6 +573,14 @@
male_scream_sound = null //CHOMPedit male_scream_sound = null //CHOMPedit
female_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 = "Commonly referred to (erroneously) as 'plant people', the Dionaea are a strange space-dwelling collective \ 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; \ species hailing from Epsilon Ursae Minoris. Each 'diona' is a cluster of numerous cat-sized organisms called nymphs; \

View File

@@ -37,6 +37,14 @@
male_scream_sound = null //CHOMPedit male_scream_sound = null //CHOMPedit
female_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 = "Some amalgamation of different species from across the universe,with extremely unstable DNA, making them unfit for regular cloners. \ 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. \ Widely known for their voracious nature and violent tendencies when stressed or left unfed for long periods of time. \
@@ -359,6 +367,14 @@
male_scream_sound = null //CHOMPedit male_scream_sound = null //CHOMPedit
female_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 = "Vasilissans are a tall, lanky, spider like people. \ 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 \ 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 \
@@ -437,8 +453,16 @@
min_age = 18 min_age = 18
max_age = 200 max_age = 200
male_scream_sound = null //CHOMPedit 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 = null //CHOMPedit 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 End
blurb = "Big buff werewolves. These are a limited functionality event species that are not balanced for regular gameplay. Adminspawn only." blurb = "Big buff werewolves. These are a limited functionality event species that are not balanced for regular gameplay. Adminspawn only."
@@ -473,4 +497,3 @@
BP_L_FOOT = list("path" = /obj/item/organ/external/foot), BP_L_FOOT = list("path" = /obj/item/organ/external/foot),
BP_R_FOOT = list("path" = /obj/item/organ/external/foot/right) BP_R_FOOT = list("path" = /obj/item/organ/external/foot/right)
) )

View File

@@ -23,6 +23,14 @@
male_scream_sound = null //CHOMPedit male_scream_sound = null //CHOMPedit
female_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 = "There are two subspecies of Sergal; Southern and Northern. Northern sergals are a highly aggressive race \ 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; \ that lives in the plains and tundra of their homeworld. They are characterized by long, fluffy fur bodies with cold colors; \
@@ -33,7 +41,7 @@
lifespan, but due to their lust for violence, only a handful have ever survived beyond the age of 80, such as the infamous and \ lifespan, but due to their lust for violence, only a handful have ever survived beyond the age of 80, such as the infamous and \
legendary General Rain Silves who is claimed to have lived to 5000." legendary General Rain Silves who is claimed to have lived to 5000."
//CHOMPStation Removal //CHOMPStation Removal
// wikilink="https://www.yawn.ocry.com/Sergal" // wikilink="https://www.yawn.ocry.com/Sergal"
catalogue_data = list(/datum/category_item/catalogue/fauna/sergal) catalogue_data = list(/datum/category_item/catalogue/fauna/sergal)
@@ -93,6 +101,14 @@
male_scream_sound = null //CHOMPedit male_scream_sound = null //CHOMPedit
female_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 = "The Akula are a species of amphibious humanoids like the Skrell, but have an appearance very similar to that of a shark. \ 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 \ They were first discovered as a primitive race of underwater dwelling tribal creatures by the Skrell. At first they were not believed \
@@ -102,7 +118,7 @@
surviving in open air for long periods of time. However, Akula even today still require a high humidity environment to avoid drying out \ surviving in open air for long periods of time. However, Akula even today still require a high humidity environment to avoid drying out \
after a few days, which would make life on an arid world like Virgo-Prime nearly impossible if it were not for Skrellean technology to aid them." after a few days, which would make life on an arid world like Virgo-Prime nearly impossible if it were not for Skrellean technology to aid them."
//CHOMPStation Removal //CHOMPStation Removal
// wikilink="https://www.yawn.ocry.com/Akula" // wikilink="https://www.yawn.ocry.com/Akula"
catalogue_data = list(/datum/category_item/catalogue/fauna/akula) catalogue_data = list(/datum/category_item/catalogue/fauna/akula)
@@ -149,6 +165,14 @@
male_scream_sound = null //CHOMPedit male_scream_sound = null //CHOMPedit
female_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, \ 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 \ in the Vilous system. Unlike sergals whom they share a star system with, their species is a very peaceful one. They possess remarkable \
@@ -199,6 +223,14 @@
male_scream_sound = null //CHOMPedit male_scream_sound = null //CHOMPedit
female_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 = "The fox-like Zorren are native to Virgo-Prime, however there are two distinct varieties of Zorren one with large ears and shorter fur, \ 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 \ 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 \
@@ -255,27 +287,38 @@
inherent_verbs = list(/mob/living/carbon/human/proc/lick_wounds, inherent_verbs = list(/mob/living/carbon/human/proc/lick_wounds,
/mob/living/carbon/human/proc/tie_hair) /mob/living/carbon/human/proc/tie_hair)
male_scream_sound = null //CHOMPedit 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 = null //CHOMPedit 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")
// CHOMPEdit End
//CHOMPStation Removal //CHOMPStation Removal
// wikilink="https://wiki.vore-station.net/Backstory#Vulpkanin" // wikilink="https://wiki.vore-station.net/Backstory#Vulpkanin"
catalogue_data = list(/datum/category_item/catalogue/fauna/vulpkanin) catalogue_data = list(/datum/category_item/catalogue/fauna/vulpkanin)
//Furry fox-like animals shouldn't start freezing at 5 degrees celsius. //Furry fox-like animals shouldn't start freezing at 5 degrees celsius.
//Minor cold is resisted, but not severe frost. //Minor cold is resisted, but not severe frost.
cold_discomfort_level = 263 //Not as good at surviving the frost as tajara, but still better than humans. cold_discomfort_level = 263 //Not as good at surviving the frost as tajara, but still better than humans.
cold_level_1 = 243 //Default 260, other values remain at default. Starts taking damage at -30 celsius. Default tier 2 is -70 and tier 3 is -150 cold_level_1 = 243 //Default 260, other values remain at default. Starts taking damage at -30 celsius. Default tier 2 is -70 and tier 3 is -150
breath_cold_level_1 = 220 // Default 240, lower is better. breath_cold_level_1 = 220 // Default 240, lower is better.
//While foxes can survive in deserts, that's handled by zorren. It's a good contrast that our vulp find heat a little uncomfortable. //While foxes can survive in deserts, that's handled by zorren. It's a good contrast that our vulp find heat a little uncomfortable.
heat_discomfort_level = 295 //Just above standard 20 C to avoid heat message spam, same as Taj heat_discomfort_level = 295 //Just above standard 20 C to avoid heat message spam, same as Taj
heat_level_1 = 345 //Default 360 heat_level_1 = 345 //Default 360
heat_level_2 = 390 //Default 400 heat_level_2 = 390 //Default 400
heat_level_3 = 900 //Default 1000 heat_level_3 = 900 //Default 1000
@@ -296,7 +339,7 @@
min_age = 18 min_age = 18
max_age = 110 max_age = 110
heat_discomfort_strings = list( heat_discomfort_strings = list(
"Your fur prickles in the heat.", "Your fur prickles in the heat.",
"You feel uncomfortably warm.", "You feel uncomfortably warm.",
@@ -380,7 +423,7 @@
min_age = 18 min_age = 18
wikilink="https://wiki.chompstation13.net/index.php?title=Diona" //CHOMPedit wikilink="https://wiki.chompstation13.net/index.php?title=Diona" //CHOMPedit
genders = list(MALE, FEMALE, PLURAL, NEUTER) genders = list(MALE, FEMALE, PLURAL, NEUTER)
//CHOMPedit start //CHOMPedit start
/datum/species/shapeshifter/promethean /datum/species/shapeshifter/promethean
spawn_flags = SPECIES_CAN_JOIN spawn_flags = SPECIES_CAN_JOIN
@@ -417,7 +460,7 @@
tail_animation = 'icons/mob/species/vox/tail.dmi' tail_animation = 'icons/mob/species/vox/tail.dmi'
deform = 'icons/mob/human_races/r_def_vox_old.dmi' deform = 'icons/mob/human_races/r_def_vox_old.dmi'
color_mult = 1 color_mult = 1
descriptors = list( descriptors = list(
/datum/mob_descriptor/vox_markings = 0 /datum/mob_descriptor/vox_markings = 0
) )
@@ -450,13 +493,21 @@
male_scream_sound = null //CHOMPedit male_scream_sound = null //CHOMPedit
female_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.\ 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',\ Sol researchers have commented on them having a very close resemblance to the mythical race called 'Harpies',\
who are known for having massive winged arms and talons as feet. They've been clocked at speeds of over 35 miler per hour chasing the planet's many fish-like fauna.\ who are known for having massive winged arms and talons as feet. They've been clocked at speeds of over 35 miler per hour chasing the planet's many fish-like fauna.\
The Rapalan's home-world 'Verita' is a strangely habitable gas giant, while no physical earth exists, there are fertile floating islands orbiting around the planet from past asteroid activity." The Rapalan's home-world 'Verita' is a strangely habitable gas giant, while no physical earth exists, there are fertile floating islands orbiting around the planet from past asteroid activity."
//CHOMPStation Removal //CHOMPStation Removal
// wikilink="https://www.yawn.ocry.com/Rapala" // wikilink="https://www.yawn.ocry.com/Rapala"
catalogue_data = list(/datum/category_item/catalogue/fauna/rapala) catalogue_data = list(/datum/category_item/catalogue/fauna/rapala)
@@ -486,7 +537,7 @@
documented in the Virgo system, following a mining bombardment of Virgo 3. The crew of NSB Adephagia have \ documented in the Virgo system, following a mining bombardment of Virgo 3. The crew of NSB Adephagia have \
taken to calling these creatures 'Shadekin', and the name has generally stuck and spread. " //TODO: Something more fitting for black-eyes taken to calling these creatures 'Shadekin', and the name has generally stuck and spread. " //TODO: Something more fitting for black-eyes
//CHOMPStation Removal //CHOMPStation Removal
// wikilink = "https://wiki.vore-station.net/Shadekin" // wikilink = "https://wiki.vore-station.net/Shadekin"
catalogue_data = list(/datum/category_item/catalogue/fauna/shadekin) catalogue_data = list(/datum/category_item/catalogue/fauna/shadekin)
@@ -604,6 +655,14 @@
male_scream_sound = null //CHOMPedit male_scream_sound = null //CHOMPedit
female_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
//primitive_form = "" //We don't have fennec-monkey sprites. //primitive_form = "" //We don't have fennec-monkey sprites.
spawn_flags = SPECIES_IS_RESTRICTED spawn_flags = SPECIES_IS_RESTRICTED
@@ -638,6 +697,14 @@
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 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 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
blurb = "Xenomorphs hybrids are a mixture of xenomorph DNA and some other humanoid species. \ 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 \ Xenomorph hyrids mostly have had had their natural aggression removed due to the gene modification process \

View File

@@ -27,6 +27,14 @@
//CHOMPStation Add. Y'know I should probably just put this upstream. //CHOMPStation Add. Y'know I should probably just put this upstream.
male_scream_sound = 'sound/effects/mob_effects/teshariscream.ogg' male_scream_sound = 'sound/effects/mob_effects/teshariscream.ogg'
female_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
center_offset = 0 //CHOMPEdit center_offset = 0 //CHOMPEdit
//CHOMPStation Add End //CHOMPStation Add End

View File

@@ -7,4 +7,22 @@
emote_message_3p = "prbts." emote_message_3p = "prbts."
emote_message_1p_target = "You prbt at TARGET." emote_message_1p_target = "You prbt at TARGET."
emote_message_3p_target = "prbts at TARGET." emote_message_3p_target = "prbts at TARGET."
emote_sound = 'sound/voice/prbt2.ogg' emote_sound = 'sound/voice/prbt2.ogg'
/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
)

View File

@@ -0,0 +1,34 @@
/decl/emote/audible/pain
key = "pain"
emote_message_1p = "You yell in pain!"
emote_message_3p = "yells in pain!"
/decl/emote/audible/pain/get_emote_message_1p(var/atom/user, var/atom/target, var/extra_params)
if(ishuman(user))
var/mob/living/carbon/human/H = user
return "You [pick(H.species.pain_verb_1p)] in pain!"
. = ..()
/decl/emote/audible/pain/get_emote_message_3p(var/atom/user, var/atom/target, var/extra_params)
if(ishuman(user))
var/mob/living/carbon/human/H = user
return "[pick(H.species.pain_verb_3p)] in pain!"
. = ..()
/decl/emote/audible/pain/get_emote_sound(var/atom/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
)

View File

@@ -19,6 +19,15 @@
var/digi_allowed = FALSE 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/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
male_scream_sound = 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')
female_scream_sound = 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')
var/male_gasp_sound = 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')
var/female_gasp_sound = list('modular_chomp/sound/voice/gasp/generic/female/female_gasp1.ogg', 'modular_chomp/sound/voice/gasp/generic/female/female_gasp2.ogg')
var/male_pain_sound = 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')
var/female_pain_sound = 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')
var/male_death_sound = 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')
var/female_death_sound = 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')
// Handles non-standard eyes when using a species that utilizes a custom base icon set. // 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. // 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) /datum/species/proc/handle_base_eyes(var/mob/living/carbon/human/H, var/custom_base)
@@ -49,4 +58,4 @@
/datum/species/handle_environment_special(var/mob/living/carbon/human/H) /datum/species/handle_environment_special(var/mob/living/carbon/human/H)
for(var/datum/trait/env_trait in env_traits) for(var/datum/trait/env_trait in env_traits)
env_trait.handle_environment_special(H) env_trait.handle_environment_special(H)
return return

View File

@@ -0,0 +1,48 @@
/datum/species/proc/copy_species_sounds(var/datum/species/S, var/species_sounds, var/custom_base)
switch(species_sounds)
if("Canine")
S.male_scream_sound = canine_scream_sounds
S.female_scream_sound = canine_scream_sounds
S.male_gasp_sound = canine_gasp_sounds
S.female_gasp_sound = canine_gasp_sounds
S.male_pain_sound = canine_pain_sounds
S.female_pain_sound = canine_pain_sounds
S.male_death_sound = canine_death_sounds
S.female_death_sound = canine_death_sounds
if("Feline")
S.male_scream_sound = feline_scream_sounds
S.female_scream_sound = feline_scream_sounds
S.male_gasp_sound = feline_gasp_sounds
S.female_gasp_sound = feline_gasp_sounds
S.male_pain_sound = feline_pain_sounds
S.female_pain_sound = feline_pain_sounds
S.male_death_sound = feline_death_sounds
S.female_death_sound = feline_death_sounds
if("Cervine")
S.male_scream_sound = cervine_scream_sounds
S.female_scream_sound = cervine_scream_sounds
S.male_gasp_sound = null
S.female_gasp_sound = null
S.male_pain_sound = null
S.female_pain_sound = null
S.male_death_sound = cervine_death_sounds
S.female_death_sound = cervine_death_sounds
if("Generic/Human")
S.male_scream_sound = male_generic_scream_sounds
S.female_scream_sound = female_generic_scream_sounds
S.male_gasp_sound = male_generic_gasp_sounds
S.female_gasp_sound = female_generic_gasp_sounds
S.male_pain_sound = male_generic_pain_sounds
S.female_pain_sound = female_generic_pain_sounds
S.male_death_sound = male_generic_death_sounds
S.female_death_sound = female_generic_death_sounds
if("Unset") // If our users haven't set anything, pick the sounds based off our custom base - Vulp gets canine, etc etc.
var/datum/species/os = GLOB.all_species[custom_base]
S.male_scream_sound = os.male_scream_sound
S.female_scream_sound = os.female_scream_sound
S.male_gasp_sound = os.male_gasp_sound
S.female_gasp_sound = os.female_gasp_sound
S.male_pain_sound = os.male_pain_sound
S.female_pain_sound = os.female_pain_sound
S.male_death_sound = os.male_death_sound
S.female_death_sound = os.female_death_sound

View File

@@ -58,8 +58,14 @@
rarity_value = 5 rarity_value = 5
female_scream_sound = 'modular_chomp/sound/voice/scream_silicon.ogg' 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 = 'modular_chomp/sound/voice/scream_silicon.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')
crit_mod = 4 //Unable to go crit crit_mod = 4 //Unable to go crit
var/obj/item/weapon/rig/protean/OurRig var/obj/item/weapon/rig/protean/OurRig

View File

@@ -1,6 +1,10 @@
//Any species commented out here must be made restricted elsewhere. They are kept here for easy reference of what we disabled. //Any species commented out here must be made restricted elsewhere. They are kept here for easy reference of what we disabled.
//Note that at the time of this PR we are simply disabling everything new to discuss keeping versus scrapping later. //Note that at the time of this PR we are simply disabling everything new to discuss keeping versus scrapping later.
/datum/species
var/pain_verb_1p = list("shout", "growl", "grunt", "gasp")
var/pain_verb_3p = list("shouts", "growls", "grunts", "gasps")
///datum/species/zaddat ///datum/species/zaddat
// spawn_flags = SPECIES_IS_RESTRICTED //Species has been enabled elsewhere. // spawn_flags = SPECIES_IS_RESTRICTED //Species has been enabled elsewhere.
@@ -77,4 +81,3 @@
/datum/species/protean /datum/species/protean
digi_allowed = TRUE digi_allowed = TRUE

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.

View File

@@ -4566,6 +4566,7 @@
#include "modular_chomp\code\modules\datums\supplypacks\munitions.dm" #include "modular_chomp\code\modules\datums\supplypacks\munitions.dm"
#include "modular_chomp\code\modules\datums\supplypacks\science.dm" #include "modular_chomp\code\modules\datums\supplypacks\science.dm"
#include "modular_chomp\code\modules\emotes\definitions\audiable.dm" #include "modular_chomp\code\modules\emotes\definitions\audiable.dm"
#include "modular_chomp\code\modules\emotes\definitions\audible_pain.dm"
#include "modular_chomp\code\modules\food\drinkgglass\metaglass.dm" #include "modular_chomp\code\modules\food\drinkgglass\metaglass.dm"
#include "modular_chomp\code\modules\food\food\drinks\bottle.dm" #include "modular_chomp\code\modules\food\food\drinks\bottle.dm"
#include "modular_chomp\code\modules\mining\shelter_atoms_ch.dm" #include "modular_chomp\code\modules\mining\shelter_atoms_ch.dm"
@@ -4583,6 +4584,7 @@
#include "modular_chomp\code\modules\mob\living\carbon\human\update_icons.dm" #include "modular_chomp\code\modules\mob\living\carbon\human\update_icons.dm"
#include "modular_chomp\code\modules\mob\living\carbon\human\species\species.dm" #include "modular_chomp\code\modules\mob\living\carbon\human\species\species.dm"
#include "modular_chomp\code\modules\mob\living\carbon\human\species\species_shapeshift_ch.dm" #include "modular_chomp\code\modules\mob\living\carbon\human\species\species_shapeshift_ch.dm"
#include "modular_chomp\code\modules\mob\living\carbon\human\species\species_vr.dm"
#include "modular_chomp\code\modules\mob\living\carbon\human\species\outsider\vox.dm" #include "modular_chomp\code\modules\mob\living\carbon\human\species\outsider\vox.dm"
#include "modular_chomp\code\modules\mob\living\carbon\human\species\station\prommie_blob.dm" #include "modular_chomp\code\modules\mob\living\carbon\human\species\station\prommie_blob.dm"
#include "modular_chomp\code\modules\mob\living\carbon\human\species\station\station.dm" #include "modular_chomp\code\modules\mob\living\carbon\human\species\station\station.dm"