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/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index 3fe39024..b9ddd659 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -197,9 +197,10 @@ #define TRAIT_CUM_PLUS "cum_plus" #define TRAIT_NEVER_CLONE "donotclone" #define TRAIT_COLDBLOODED "coldblooded" // Your body is literal room temperature. Does not make you immune to the temp. -#define TRAIT_FLIMSY "flimsy" //you have 20% less maxhealth -#define TRAIT_TRASHCAN "trashcan" //Im the TRASH MAN! (Shamlessly stolen from hyper for local trash eater, flint) - +#define TRAIT_FLIMSY "flimsy" //you have 20% less maxhealth +#define TRAIT_TRASHCAN "trashcan" //Im the TRASH MAN! (Shamlessly stolen from hyper for local trash eater, flint) +#define TRAIT_FAT_GOOD "fat_good" +#define TRAIT_FAT_BAD "fat_bad" //Hyper #define TRAIT_VIRILE "virile" //you have 20% more chance of impreg diff --git a/code/controllers/subsystem/processing/quirks.dm b/code/controllers/subsystem/processing/quirks.dm index 67745c90..619ba131 100644 --- a/code/controllers/subsystem/processing/quirks.dm +++ b/code/controllers/subsystem/processing/quirks.dm @@ -26,7 +26,8 @@ PROCESSING_SUBSYSTEM_DEF(quirks) list("Ananas Affinity","Ananas Aversion"), list("Alcohol Tolerance","Light Drinker"), list("Social Anxiety","Mute"), - list("Prosthetic Limb (Left Arm)","Prosthetic Limb (Right Arm)","Prosthetic Limb (Left Leg)","Prosthetic Limb (Right Leg)","Prosthetic Limb") + list("Prosthetic Limb (Left Arm)","Prosthetic Limb (Right Arm)","Prosthetic Limb (Left Leg)","Prosthetic Limb (Right Leg)","Prosthetic Limb"), + list("Fat Affinity","Fat Aversion") ) return ..() diff --git a/code/datums/components/mood.dm b/code/datums/components/mood.dm index f188c66c..ff0d5f9d 100644 --- a/code/datums/components/mood.dm +++ b/code/datums/components/mood.dm @@ -297,7 +297,10 @@ switch(L.fatness) if(FATNESS_LEVEL_FAT to INFINITY) - add_event(null, "fatness", /datum/mood_event/fat) + if(HAS_TRAIT(L, TRAIT_FAT_GOOD)) + add_event(null, "fatness", /datum/mood_event/fat_good) + else if(HAS_TRAIT(L, TRAIT_FAT_BAD)) + add_event(null, "fatness", /datum/mood_event/fat_bad) /datum/component/mood/proc/HandleNutrition(mob/living/L) switch(L.nutrition) diff --git a/code/datums/mood_events/needs_events.dm b/code/datums/mood_events/needs_events.dm index 79ce9d17..f4dde733 100644 --- a/code/datums/mood_events/needs_events.dm +++ b/code/datums/mood_events/needs_events.dm @@ -1,6 +1,10 @@ //nutrition -/datum/mood_event/fat - description = "I'm so fat...\n" //yay for fats! +/datum/mood_event/fat_bad + description = "I'm so fat...\n" + mood_change = -4 + +/datum/mood_event/fat_good + description = "I'm so fat!\n" mood_change = 4 /datum/mood_event/wellfed diff --git a/code/datums/traits/neutral.dm b/code/datums/traits/neutral.dm index e025626d..ae6d5d81 100644 --- a/code/datums/traits/neutral.dm +++ b/code/datums/traits/neutral.dm @@ -207,3 +207,19 @@ if(H) var/datum/species/species = H.dna.species species.disliked_food = initial(species.disliked_food) + +/datum/quirk/fatness_liker + name = "Fat Affinity" + desc = "You like being fat, alot, maybe even a little bit too much. Being fat gives you a bigger mood boost." + mob_trait = TRAIT_FAT_GOOD + value = 0 + category = CATEGORY_MOODS + medical_record_text = "Patient seems overly content with gaining weight." + +/datum/quirk/fatness_hater + name = "Fat Aversion" + desc = "You dislike being fat. Being fat brings your mood down, alot." + mob_trait = TRAIT_FAT_BAD + value = 0 + category = CATEGORY_MOODS + medical_record_text = "Patient seems distressed by gaining weight." 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 de4ad41f..9a3e240a 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -240,7 +240,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/unlock_content = 0 var/vip = 0 - //visable pins! + //visible pins! var/list/pins = list() var/list/ignoring = list() @@ -946,7 +946,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "Color:
" dat += "    Change
" dat += "Hide on Round-Start:[features["hide_belly"] == 1 ? "Yes" : "No"]" - dat += "Manual belly size change (Found in Climax menu):[features["inflatable_belly"] == 1 ? "Yes" : "No"]" + dat += "Inflation (climax with and manual belly size change in arousal menu):[features["inflatable_belly"] == 1 ? "Yes" : "No"]" dat += "" @@ -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/hyperstation/code/modules/arousal/arousalhud.dm b/hyperstation/code/modules/arousal/arousalhud.dm index 1b18f21e..36abaa74 100644 --- a/hyperstation/code/modules/arousal/arousalhud.dm +++ b/hyperstation/code/modules/arousal/arousalhud.dm @@ -11,7 +11,7 @@ for(var/obj/item/organ/genital/G in U.internal_organs) if(!G.nochange) if(!G.dontlist) - dat += "[G.mode == "hidden" ? "[G.name] (Hidden)" : (G.mode == "clothes" ? "[G.name] (Hidden by Clothes)" : (G.mode == "visable" ? "[G.name] (Visable)" : "[G.name] (Visable)"))]
" + dat += "[G.mode == "hidden" ? "[G.name] (Hidden)" : (G.mode == "clothes" ? "[G.name] (Hidden by Clothes)" : (G.mode == "visible" ? "[G.name] (Visible)" : "[G.name] (Visible)"))]
" dat += {"
Contexual Options

"} var/obj/item/organ/genital/penis/P = user.getorganslot("penis") @@ -40,7 +40,7 @@ var/obj/item/organ/genital/belly/Belly = user.getorganslot("belly") if(Belly) if(Belly.inflatable) - dat += "Decrease belly" + dat += "Decrease belly size" dat += "(Shrink your belly down a size)
" dat += "Increase belly size" dat += "(Bloat your belly up a size)
" 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"