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
This commit is contained in:
psq95
2023-04-14 21:38:56 +01:00
parent d35dce0925
commit eea9b8b0ef
7 changed files with 40 additions and 38 deletions
+7 -26
View File
@@ -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)
. = ..()
+4 -2
View File
@@ -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)
+4 -6
View File
@@ -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
#define YEET_SOUND_VOLUME 90
+9
View File
@@ -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
+4 -3
View File
@@ -1021,6 +1021,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
dat += "<b>Exhibitionist:</b><a href='?_src_=prefs;preference=exhibitionist'>[features["exhibitionist"] == TRUE ? "Yes" : "No"]</a><BR>"
dat += "<b>Hear Vore Sounds:</b> <a href='?_src_=prefs;preference=toggleeatingnoise'>[(cit_toggles & EATING_NOISES) ? "Yes" : "No"]</a><br>"
dat += "<b>Hear Vore Digestion Sounds:</b> <a href='?_src_=prefs;preference=toggledigestionnoise'>[(cit_toggles & DIGESTION_NOISES) ? "Yes" : "No"]</a><br>"
dat += "<b>Hear Fart Sounds:</b> <a href='?_src_=prefs;preference=togglefartingnoise'>[(cit_toggles & FARTING_NOISES) ? "Yes" : "No"]</a><br>"
dat += "<b>Allow trash forcefeeding (requires Trashcan quirk)</b> <a href='?_src_=prefs;preference=toggleforcefeedtrash'>[(cit_toggles & TRASH_FORCEFEED) ? "Yes" : "No"]</a><br>"
dat += "<b>Lewdchem:</b><a href='?_src_=prefs;preference=lewdchem'>[lewdchem == TRUE ? "Enabled" : "Disabled"]</a><BR>"
dat += "<b>Widescreen:</b> <a href='?_src_=prefs;preference=widescreenpref'>[widescreenpref ? "Enabled ([CONFIG_GET(string/default_view)])" : "Disabled (15x15)"]</a><br>"
@@ -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")
@@ -21,6 +21,7 @@
//vore prefs
var/toggleeatingnoise = TRUE
var/toggledigestionnoise = TRUE
var/togglefartingnoise = TRUE
var/hound_sleeper = TRUE
var/cit_toggles = TOGGLES_CITADEL
@@ -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"