From 67b9d0e275f90b53db0026c759a86e2b4dd19322 Mon Sep 17 00:00:00 2001 From: Alphas00 <154434082+Alphas00@users.noreply.github.com> Date: Sun, 26 May 2024 13:42:15 +0200 Subject: [PATCH] Fatten belly Tweak & Stuckage Pref Tweaked fatten mode vore belly, transfer amount to 2%, needs some fatness to work, won't make predator starve, just keep them hungry Added stuckage pref, it and XWG are now under "GS13 Gameplay Preferences" --- .../code/modules/client/preferences/preferences.dm | 2 ++ code/game/machinery/doors/airlock_types.dm | 6 +++--- code/modules/client/preferences.dm | 5 +++++ code/modules/client/preferences_savefile.dm | 2 ++ modular_citadel/code/modules/vore/eating/bellymodes_vr.dm | 8 +++++--- 5 files changed, 17 insertions(+), 6 deletions(-) diff --git a/GainStation13/code/modules/client/preferences/preferences.dm b/GainStation13/code/modules/client/preferences/preferences.dm index f8166f8f..c104c18a 100644 --- a/GainStation13/code/modules/client/preferences/preferences.dm +++ b/GainStation13/code/modules/client/preferences/preferences.dm @@ -15,6 +15,8 @@ var/weight_gain_viruses = FALSE ///Extreme weight gain var/weight_gain_extreme = FALSE + ///stuckage + var/stuckage = FALSE ///Does the person wish to be involved with non-con weight gain events? var/noncon_weight_gain = FALSE diff --git a/code/game/machinery/doors/airlock_types.dm b/code/game/machinery/doors/airlock_types.dm index 34107c32..c449eeed 100644 --- a/code/game/machinery/doors/airlock_types.dm +++ b/code/game/machinery/doors/airlock_types.dm @@ -12,7 +12,7 @@ if(!istype(L)) return ..() - if(L.fatness > 5000) + if(L.fatness > 5000 && L.client?.prefs?.stuckage) if(rand(1, 3) == 1) L.doorstuck = 1 L.visible_message("[L] gets stuck in the doorway!") @@ -22,7 +22,7 @@ L.Knockdown(1) return ..() - else if(L.fatness > 3000) + else if(L.fatness > 3000 && L.client?.prefs?.stuckage) if(rand(1, 5) == 1) L.doorstuck = 1 L.visible_message("[L] gets stuck in the doorway!") @@ -35,7 +35,7 @@ to_chat(L, "With great effort, you manage to squeeze your massive form through \the [src]. It's a tight fit, but you successfully navigate the narrow opening, barely avoiding getting stuck.") return ..() - else if(L.fatness > 1890) + else if(L.fatness > 1890 && L.client?.prefs?.stuckage) if(rand(1, 5) == 1) L.visible_message("[L]'s hips brush against the doorway...") to_chat(L, "As you pass through \the [src], you feel a slight brushing against your hips. The [src] frame accommodates your form, but it's a close fit..") diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 0fc618dd..a04265a6 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -1059,6 +1059,9 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "Weight Gain - Weapons:[weight_gain_weapons == TRUE ? "Enabled" : "Disabled"]
" dat += "Weight Gain - Magic:[weight_gain_magic == TRUE ? "Enabled" : "Disabled"]
" dat += "Weight Gain - Viruses:[weight_gain_viruses == TRUE ? "Enabled" : "Disabled"]
" + + dat += "

GS13 Gameplay Preferences

" + dat += "Stuckage (weight results in getting stuck in doors):[stuckage == TRUE ? "Enabled" : "Disabled"]
" dat += "Extreme Weight Gain (Sprite Size scales with weight):[weight_gain_extreme == TRUE ? "Enabled" : "Disabled"]
" //Add the Hyper stuff below here @@ -2628,6 +2631,8 @@ GLOBAL_LIST_EMPTY(preferences_datums) weight_gain_extreme = !weight_gain_extreme if("noncon_weight_gain") noncon_weight_gain = !noncon_weight_gain + if("stuckage") + stuckage = !stuckage if("max_fatness") var/pickedweight = input(user, "Choose your max fatness level, your weight will not go beyond this. None will let you gain without a limit", diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index b87e0420..22fea851 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -158,6 +158,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car S["wl_rate"] >> wl_rate S["noncon_weight_gain"] >> noncon_weight_gain S["max_weight"] >> max_weight + S["stuckage"] >> stuckage //try to fix any outdated data if necessfary @@ -298,6 +299,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car WRITE_FILE(S["wl_rate"], wl_rate) WRITE_FILE(S["noncon_weight_gain"], noncon_weight_gain) WRITE_FILE(S["max_weight"], max_weight) + WRITE_FILE(S["stuckage"], stuckage) return 1 diff --git a/modular_citadel/code/modules/vore/eating/bellymodes_vr.dm b/modular_citadel/code/modules/vore/eating/bellymodes_vr.dm index f52c6073..c85a27ee 100644 --- a/modular_citadel/code/modules/vore/eating/bellymodes_vr.dm +++ b/modular_citadel/code/modules/vore/eating/bellymodes_vr.dm @@ -70,9 +70,11 @@ for(var/mob/living/M in contents) var/mob/living/carbon/prey = M if(iscarbon(prey) && predator.fatness_real) - prey.adjust_fatness(predator.fatness_real * 0.01, FATTENING_TYPE_FOOD) - predator.adjust_fatness(-predator.fatness_real * 0.01, FATTENING_TYPE_FOOD) - predator.nutrition -= 5 + if(predator.fatness_real > 50) + prey.adjust_fatness(predator.fatness_real * 0.02, FATTENING_TYPE_FOOD) + predator.adjust_fatness(-predator.fatness_real * 0.02, FATTENING_TYPE_FOOD) + if(predator.nutrition > NUTRITION_LEVEL_HUNGRY) + predator.nutrition -= 3 preys_fatness += prey.fatness if(!predator.fat_hider || predator.fat_hider == src)