From eea9b8b0efffe28edbd1bbac6bc7a1e6b4814075 Mon Sep 17 00:00:00 2001 From: psq95 Date: Fri, 14 Apr 2023 21:38:56 +0100 Subject: [PATCH] Add toggle for farting noises Add farting noises to Citadel toggles Add channel for farting noises Integrate fart sound effects into /proc/get_sfx Use similar pattern to vore noises --- GainStation13/code/modules/mob/living/brap.dm | 33 ++++--------------- code/__DEFINES/citadel_defines.dm | 6 ++-- code/__DEFINES/sound.dm | 10 +++--- code/game/sound.dm | 9 +++++ code/modules/client/preferences.dm | 7 ++-- .../code/modules/client/preferences.dm | 1 + .../modules/client/preferences_toggles.dm | 12 ++++++- 7 files changed, 40 insertions(+), 38 deletions(-) diff --git a/GainStation13/code/modules/mob/living/brap.dm b/GainStation13/code/modules/mob/living/brap.dm index b51e368b..762279ad 100644 --- a/GainStation13/code/modules/mob/living/brap.dm +++ b/GainStation13/code/modules/mob/living/brap.dm @@ -4,36 +4,17 @@ message = " " emote_type = EMOTE_AUDIBLE -/datum/emote/living/brap/select_message_type(mob/user) +/datum/emote/living/brap/select_message_type(var/mob/user) return pick("farts loudly!", "cuts a fat one!", "rips absolute ass!") - - -/datum/emote/living/brap/run_emote(mob/living/user, params) +/datum/emote/living/brap/run_emote(var/mob/living/user, params) if(!ishuman(user)) return FALSE - var/fartSoundChoice = rand(7) - switch(fartSoundChoice) - if(0) - playsound(user, 'GainStation13/sound/voice/brap3.ogg', 50, 1, -1) - if(1) - playsound(user, 'GainStation13/sound/voice/brap4.ogg', 50, 1, -1) - if(2) - playsound(user, 'GainStation13/sound/voice/brap2.ogg', 50, 1, -1) - if(3) - playsound(user, 'GainStation13/sound/voice/brap1.ogg', 50, 1, -1) - if(4) - playsound(user, 'GainStation13/sound/voice/brap5.ogg', 50, 1, -1) - if(5) - playsound(user, 'GainStation13/sound/voice/brap6.ogg', 50, 1, -1) - if(6) - playsound(user, 'GainStation13/sound/voice/brap7.ogg', 50, 1, -1) - if(7) - playsound(user, 'GainStation13/sound/voice/brap8.ogg', 50, 1, -1) + var/turf/source = get_turf(user) + var/sound/farting = sound(get_sfx("fart")) + for(var/mob/living/M in get_hearers_in_view(3, source)) + if(M.client && M.client.prefs.cit_toggles & FARTING_NOISES) + SEND_SOUND(M, farting) . = ..() - - - - diff --git a/code/__DEFINES/citadel_defines.dm b/code/__DEFINES/citadel_defines.dm index 859824ee..a1d95966 100644 --- a/code/__DEFINES/citadel_defines.dm +++ b/code/__DEFINES/citadel_defines.dm @@ -125,15 +125,17 @@ #define STAMINA_SOFTCRIT_TRADITIONAL 0 //same as STAMINA_SOFTCRIT except for the more traditional health calculations #define STAMINA_CRIT_TRADITIONAL -40 //ditto, but for STAMINA_CRIT -#define CRAWLUNDER_DELAY 30 //Delay for crawling under a standing mob +#define CRAWLUNDER_DELAY 30 //Delay for crawling under a standing mob //Citadel toggles because bitflag memes #define MEDIHOUND_SLEEPER (1<<0) #define EATING_NOISES (1<<1) #define DIGESTION_NOISES (1<<2) #define TRASH_FORCEFEED (1<<3) +#define FARTING_NOISES (1<<4) //GS13 -#define TOGGLES_CITADEL (EATING_NOISES|DIGESTION_NOISES) +//toggles on by default +#define TOGGLES_CITADEL (EATING_NOISES|DIGESTION_NOISES|FARTING_NOISES) //component stuff #define COMSIG_COMBAT_TOGGLED "combatmode_toggled" //called by combat mode toggle on all equipped items. args: (mob/user, combatmode) diff --git a/code/__DEFINES/sound.dm b/code/__DEFINES/sound.dm index ccee8f3c..0f702350 100644 --- a/code/__DEFINES/sound.dm +++ b/code/__DEFINES/sound.dm @@ -10,7 +10,6 @@ #define CHANNEL_BUZZ 1018 #define CHANNEL_BICYCLE 1017 - //CIT CHANNELS - TRY NOT TO REGRESS #define CHANNEL_PRED 1010 #define CHANNEL_DIGEST 1009 @@ -19,17 +18,16 @@ //Hyperstation Channels #define CHANNEL_REACTOR_ALERT 1007 // reactor sounds +//GS13 Channels +#define CHANNEL_BRAP 1006 //THIS SHOULD ALWAYS BE THE LOWEST ONE! //KEEP IT UPDATED - -#define CHANNEL_HIGHEST_AVAILABLE 1006 //CIT CHANGE - COMPENSATES FOR VORESOUND CHANNELS - +#define CHANNEL_HIGHEST_AVAILABLE 1005 #define SOUND_MINIMUM_PRESSURE 10 #define FALLOFF_SOUNDS 1 - //Ambience types #define GENERIC list('sound/ambience/ambigen1.ogg','sound/ambience/ambigen3.ogg',\ @@ -136,4 +134,4 @@ #define PICKUP_SOUND_VOLUME 40 #define DROP_SOUND_VOLUME 50 -#define YEET_SOUND_VOLUME 90 \ No newline at end of file +#define YEET_SOUND_VOLUME 90 diff --git a/code/game/sound.dm b/code/game/sound.dm index 11e02610..2e7d7552 100644 --- a/code/game/sound.dm +++ b/code/game/sound.dm @@ -227,4 +227,13 @@ if("slosh") soundin = pick('sound/effects/slosh1.ogg', 'sound/effects/slosh2.ogg') //END OF CIT CHANGES + if("fart") //GS13 + soundin = pick( 'GainStation13/sound/voice/brap1.ogg', + 'GainStation13/sound/voice/brap2.ogg', + 'GainStation13/sound/voice/brap3.ogg', + 'GainStation13/sound/voice/brap4.ogg', + 'GainStation13/sound/voice/brap5.ogg', + 'GainStation13/sound/voice/brap6.ogg', + 'GainStation13/sound/voice/brap7.ogg', + 'GainStation13/sound/voice/brap8.ogg') return soundin diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 18d631b6..9a3e240a 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -1021,6 +1021,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "Exhibitionist:[features["exhibitionist"] == TRUE ? "Yes" : "No"]
" dat += "Hear Vore Sounds: [(cit_toggles & EATING_NOISES) ? "Yes" : "No"]
" dat += "Hear Vore Digestion Sounds: [(cit_toggles & DIGESTION_NOISES) ? "Yes" : "No"]
" + dat += "Hear Fart Sounds: [(cit_toggles & FARTING_NOISES) ? "Yes" : "No"]
" dat += "Allow trash forcefeeding (requires Trashcan quirk) [(cit_toggles & TRASH_FORCEFEED) ? "Yes" : "No"]
" dat += "Lewdchem:[lewdchem == TRUE ? "Enabled" : "Disabled"]
" dat += "Widescreen: [widescreenpref ? "Enabled ([CONFIG_GET(string/default_view)])" : "Disabled (15x15)"]
" @@ -2797,14 +2798,14 @@ GLOBAL_LIST_EMPTY(preferences_datums) // Citadel edit - Prefs don't work outside of this. :c if("hound_sleeper") cit_toggles ^= MEDIHOUND_SLEEPER - if("toggleeatingnoise") cit_toggles ^= EATING_NOISES - if("toggledigestionnoise") cit_toggles ^= DIGESTION_NOISES - if("toggleforcefeedtrash") //gs13 added for flint + if("toggleforcefeedtrash") //GS13 cit_toggles ^= TRASH_FORCEFEED + if("togglefartingnoise") //GS13 + cit_toggles ^= FARTING_NOISES //END CITADEL EDIT if("ambientocclusion") diff --git a/modular_citadel/code/modules/client/preferences.dm b/modular_citadel/code/modules/client/preferences.dm index db072732..d56958c9 100644 --- a/modular_citadel/code/modules/client/preferences.dm +++ b/modular_citadel/code/modules/client/preferences.dm @@ -21,6 +21,7 @@ //vore prefs var/toggleeatingnoise = TRUE var/toggledigestionnoise = TRUE + var/togglefartingnoise = TRUE var/hound_sleeper = TRUE var/cit_toggles = TOGGLES_CITADEL diff --git a/modular_citadel/code/modules/client/preferences_toggles.dm b/modular_citadel/code/modules/client/preferences_toggles.dm index 350c19ab..84049e05 100644 --- a/modular_citadel/code/modules/client/preferences_toggles.dm +++ b/modular_citadel/code/modules/client/preferences_toggles.dm @@ -9,7 +9,6 @@ TOGGLE_CHECKBOX(/datum/verbs/menu/Settings/Sound, toggleeatingnoise)() /datum/verbs/menu/Settings/Sound/toggleeatingnoise/Get_checked(client/C) return C.prefs.cit_toggles & EATING_NOISES - TOGGLE_CHECKBOX(/datum/verbs/menu/Settings/Sound, toggledigestionnoise)() set name = "Toggle Digestion Noises" set category = "Preferences" @@ -21,6 +20,17 @@ TOGGLE_CHECKBOX(/datum/verbs/menu/Settings/Sound, toggledigestionnoise)() /datum/verbs/menu/Settings/Sound/toggledigestionnoise/Get_checked(client/C) return C.prefs.cit_toggles & DIGESTION_NOISES +TOGGLE_CHECKBOX(/datum/verbs/menu/Settings/Sound, togglefartingnoise)() + set name = "Toggle Farting Noises" + set category = "Preferences" + set desc = "Hear Farting noises" + usr.client.prefs.cit_toggles ^= FARTING_NOISES + usr.client.prefs.save_preferences() + usr.stop_sound_channel(CHANNEL_BRAP) + to_chat(usr, "You will [(usr.client.prefs.cit_toggles & FARTING_NOISES) ? "now" : "no longer"] hear farting noises.") +/datum/verbs/menu/Settings/Sound/togglefartingnoise/Get_checked(client/C) + return C.prefs.cit_toggles & FARTING_NOISES + TOGGLE_CHECKBOX(/datum/verbs/menu/Settings/Sound, togglehoundsleeper)() set name = "Toggle Voracious Hound Sleepers" set category = "Preferences"