diff --git a/code/game/sound.dm b/code/game/sound.dm index 08685cb0a2..4635415058 100644 --- a/code/game/sound.dm +++ b/code/game/sound.dm @@ -265,6 +265,13 @@ 'sound/vore/sunesound/prey/death_07.ogg','sound/vore/sunesound/prey/death_08.ogg','sound/vore/sunesound/prey/death_09.ogg', 'sound/vore/sunesound/prey/death_10.ogg') //END VORESTATION EDIT + //CHOMPEdit Begin + if ("belches") soundin = pick( + 'sound/vore/belches/belch1.ogg','sound/vore/belches/belch2.ogg','sound/vore/belches/belch3.ogg','sound/vore/belches/belch4.ogg', + 'sound/vore/belches/belch5.ogg','sound/vore/belches/belch6.ogg','sound/vore/belches/belch7.ogg','sound/vore/belches/belch8.ogg', + 'sound/vore/belches/belch9.ogg','sound/vore/belches/belch10.ogg','sound/vore/belches/belch11.ogg','sound/vore/belches/belch12.ogg', + 'sound/vore/belches/belch13.ogg','sound/vore/belches/belch14.ogg','sound/vore/belches/belch15.ogg',) + //CHOMPEdit End if ("terminal_type") soundin = pick('sound/machines/terminal_button01.ogg', 'sound/machines/terminal_button02.ogg', 'sound/machines/terminal_button03.ogg', \ 'sound/machines/terminal_button04.ogg', 'sound/machines/terminal_button05.ogg', 'sound/machines/terminal_button06.ogg', \ diff --git a/code/modules/client/preference_setup/global/setting_datums.dm b/code/modules/client/preference_setup/global/setting_datums.dm index d500c18b6e..24ce8f1d33 100644 --- a/code/modules/client/preference_setup/global/setting_datums.dm +++ b/code/modules/client/preference_setup/global/setting_datums.dm @@ -98,14 +98,21 @@ var/list/_client_preferences_by_type key = "DIGEST_NOISES" enabled_description = "Noisy" disabled_description = "Silent" - +//CHOMPEdit; belching +/datum/client_preference/belch_noises + description = "Burping" + key = "BELCH_NOISES" + enabled_description = "Noisy" + disabled_description = "Silent" + enabled_by_default = FALSE +//CHOMPEdit end /datum/client_preference/emote_noises description = "Emote Noises" //MERP key = "EMOTE_NOISES" enabled_description = "Noisy" disabled_description = "Silent" /datum/client_preference/whisubtle_vis - description = "Whi/Subtles Ghost Visible" + description = "Whi/Subtles Ghost Visible" key = "WHISUBTLE_VIS" enabled_description = "Visible" disabled_description = "Hidden" @@ -152,7 +159,7 @@ var/list/_client_preferences_by_type key = "SOUND_AIRPUMP" enabled_description = "Audible" disabled_description = "Silent" - + /datum/client_preference/old_door_sounds description ="Old Door Sounds" key = "SOUND_OLDDOORS" diff --git a/code/modules/client/preferences_vr.dm b/code/modules/client/preferences_vr.dm index 783ee0c4ae..35d29d87df 100644 --- a/code/modules/client/preferences_vr.dm +++ b/code/modules/client/preferences_vr.dm @@ -40,6 +40,23 @@ feedback_add_details("admin_verb","TDigestNoise") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! +//CHOMPEdit: belching +/client/verb/toggle_belch_noises() + set name = "Audible belching" + set category = "Preferences" + set desc = "Toggles audible belches." + + var/pref_path = /datum/client_preference/belch_noises + + toggle_preference(pref_path) + + to_chat(src, "You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] hear belching.") + + SScharacter_setup.queue_preferences_save(prefs) + + feedback_add_details("admin_verb","TBelchNoise") +//CHOMPEdit End + /client/verb/toggle_emote_noises() set name = "Emote Noises" diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 26203c928f..53a6d8389d 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -982,6 +982,16 @@ var/growlmultiplier = 100 - (nutrition / 250 * 100) playsound(src, growlsound, vol = growlmultiplier, vary = 1, falloff = 0.1, ignore_walls = TRUE, preference = /datum/client_preference/digestion_noises) // VOREStation Edit End + //CHOMPEdit Begin + if(nutrition > 500 && noisy_full == TRUE) + var/belch_prob = 10 //Maximum belch prob. + if(nutrition < 4075) + belch_prob = ((nutrition-500)/3575)*20 //Scale belch prob with fullness if not already at max. If editing make sure the multiplier matches the max prob above. + if(prob(belch_prob)) + var/sound/belchsound = sound(get_sfx("belches")) + playsound(src, belchsound, vol = (30+(belch_prob*2)), vary = 1, falloff = 0.1, ignore_walls = TRUE, preference = /datum/client_preference/belch_noises) + custom_emote(AUDIBLE_MESSAGE, "belches.") //Don't know if this should stay, I'll leave in in for now. + //CHOMPEdit End // TODO: stomach and bloodstream organ. if(!isSynthetic()) diff --git a/code/modules/vore/eating/living_vr.dm b/code/modules/vore/eating/living_vr.dm index 381f4a1e84..fb42b37915 100644 --- a/code/modules/vore/eating/living_vr.dm +++ b/code/modules/vore/eating/living_vr.dm @@ -35,6 +35,7 @@ var/vis_height = 32 // Sprite height used for resize features. var/show_vore_fx = TRUE // Show belly fullscreens var/latejoin_vore = FALSE //CHOMPedit: If enabled, latejoiners can spawn into this, assuming they have a client + var/noisy_full = FALSE //CHOMPEdit: Enables belching when a mob has overeaten // // Hook for generic creation of stuff on new creatures diff --git a/code/modules/vore/eating/vorepanel_vr.dm b/code/modules/vore/eating/vorepanel_vr.dm index a2e176f1e5..35a3e667ad 100644 --- a/code/modules/vore/eating/vorepanel_vr.dm +++ b/code/modules/vore/eating/vorepanel_vr.dm @@ -279,6 +279,7 @@ //CHOMPedit start, liquid belly prefs "liq_rec" = host.receive_reagents, "liq_giv" = host.give_reagents, + "noisy_full" = host.noisy_full //Belching while full //CHOMPedit end ) @@ -510,6 +511,11 @@ host.client.prefs_vr.give_reagents = host.give_reagents unsaved_changes = TRUE return TRUE + //Belch code + if("toggle_noisy_full") + host.noisy_full = !host.noisy_full + unsaved_changes = TRUE + return TRUE //CHOMPedit end diff --git a/sound/vore/belches/belch1.ogg b/sound/vore/belches/belch1.ogg new file mode 100644 index 0000000000..875e1be1b1 Binary files /dev/null and b/sound/vore/belches/belch1.ogg differ diff --git a/sound/vore/belches/belch10.ogg b/sound/vore/belches/belch10.ogg new file mode 100644 index 0000000000..5b96e8f2c4 Binary files /dev/null and b/sound/vore/belches/belch10.ogg differ diff --git a/sound/vore/belches/belch11.ogg b/sound/vore/belches/belch11.ogg new file mode 100644 index 0000000000..d1ab4d425b Binary files /dev/null and b/sound/vore/belches/belch11.ogg differ diff --git a/sound/vore/belches/belch12.ogg b/sound/vore/belches/belch12.ogg new file mode 100644 index 0000000000..dfd6b6210f Binary files /dev/null and b/sound/vore/belches/belch12.ogg differ diff --git a/sound/vore/belches/belch13.ogg b/sound/vore/belches/belch13.ogg new file mode 100644 index 0000000000..1863c1d817 Binary files /dev/null and b/sound/vore/belches/belch13.ogg differ diff --git a/sound/vore/belches/belch14.ogg b/sound/vore/belches/belch14.ogg new file mode 100644 index 0000000000..8941c9b31f Binary files /dev/null and b/sound/vore/belches/belch14.ogg differ diff --git a/sound/vore/belches/belch15.ogg b/sound/vore/belches/belch15.ogg new file mode 100644 index 0000000000..8cb87ee579 Binary files /dev/null and b/sound/vore/belches/belch15.ogg differ diff --git a/sound/vore/belches/belch2.ogg b/sound/vore/belches/belch2.ogg new file mode 100644 index 0000000000..df18412d04 Binary files /dev/null and b/sound/vore/belches/belch2.ogg differ diff --git a/sound/vore/belches/belch3.ogg b/sound/vore/belches/belch3.ogg new file mode 100644 index 0000000000..5aae9d182d Binary files /dev/null and b/sound/vore/belches/belch3.ogg differ diff --git a/sound/vore/belches/belch4.ogg b/sound/vore/belches/belch4.ogg new file mode 100644 index 0000000000..a69f66b369 Binary files /dev/null and b/sound/vore/belches/belch4.ogg differ diff --git a/sound/vore/belches/belch5.ogg b/sound/vore/belches/belch5.ogg new file mode 100644 index 0000000000..c95bf30e0a Binary files /dev/null and b/sound/vore/belches/belch5.ogg differ diff --git a/sound/vore/belches/belch6.ogg b/sound/vore/belches/belch6.ogg new file mode 100644 index 0000000000..8e981f3b50 Binary files /dev/null and b/sound/vore/belches/belch6.ogg differ diff --git a/sound/vore/belches/belch7.ogg b/sound/vore/belches/belch7.ogg new file mode 100644 index 0000000000..70d5aab6c8 Binary files /dev/null and b/sound/vore/belches/belch7.ogg differ diff --git a/sound/vore/belches/belch8.ogg b/sound/vore/belches/belch8.ogg new file mode 100644 index 0000000000..1703c9999d Binary files /dev/null and b/sound/vore/belches/belch8.ogg differ diff --git a/sound/vore/belches/belch9.ogg b/sound/vore/belches/belch9.ogg new file mode 100644 index 0000000000..ffb092b1da Binary files /dev/null and b/sound/vore/belches/belch9.ogg differ diff --git a/tgui/packages/tgui/interfaces/VorePanel.js b/tgui/packages/tgui/interfaces/VorePanel.js index 6404770837..53a9c071de 100644 --- a/tgui/packages/tgui/interfaces/VorePanel.js +++ b/tgui/packages/tgui/interfaces/VorePanel.js @@ -163,6 +163,9 @@ const digestModeToPreyMode = { * * return tabIndex===4 ? null : ( * + * New preference added, noisy_full + * noisy_full enables belching when nutrition exceeds 500, very similar to the noisy preference. + * * That's everything so far. * */ @@ -939,6 +942,7 @@ const VoreUserPreferences = (props, context) => { step_mechanics_active, pickup_mechanics_active, noisy, + noisy_full, liq_rec, liq_giv, } = data.prefs; @@ -1074,6 +1078,18 @@ const VoreUserPreferences = (props, context) => { : "Click here to turn on hunger noises.")} content={noisy ? "Hunger Noises Enabled" : "Hunger Noises Disabled"} /> + +