diff --git a/GainStation13/code/mechanics/fatness.dm b/GainStation13/code/mechanics/fatness.dm index 29370458..5ad4c6ed 100644 --- a/GainStation13/code/mechanics/fatness.dm +++ b/GainStation13/code/mechanics/fatness.dm @@ -52,6 +52,9 @@ else //If it's not being hidden fatness = fatness_real //Make their current fatness their real fatness + if(client?.prefs?.weight_gain_extreme) + xwg_resize() + return TRUE @@ -102,11 +105,21 @@ fatness_hidden = TRUE fatness_over = hide_amount fatness = fatness_over //To update a mob's fatness with the new amount to be shown immediately + if(client?.prefs?.weight_gain_extreme) + xwg_resize() return TRUE /mob/living/carbon/proc/fat_show() //If something that hides fatness is removed or expires, it'll call this method fatness_hidden = FALSE fatness = fatness_real //To update a mob's fatness with their real one immediately + if(client?.prefs?.weight_gain_extreme) + xwg_resize() return TRUE + +/mob/living/carbon/proc/xwg_resize() + var/xwg_size = sqrt(fatness/FATNESS_LEVEL_BLOB) + xwg_size = min(xwg_size, RESIZE_MACRO) + xwg_size = max(xwg_size, custom_body_size*0.01) + resize(xwg_size) diff --git a/GainStation13/code/modules/client/preferences/preferences.dm b/GainStation13/code/modules/client/preferences/preferences.dm index f7f591be..f8166f8f 100644 --- a/GainStation13/code/modules/client/preferences/preferences.dm +++ b/GainStation13/code/modules/client/preferences/preferences.dm @@ -13,6 +13,8 @@ var/weight_gain_magic = FALSE ///Weight gain from viruses var/weight_gain_viruses = FALSE + ///Extreme weight gain + var/weight_gain_extreme = FALSE ///Does the person wish to be involved with non-con weight gain events? var/noncon_weight_gain = FALSE diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 8702b594..0f509622 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -1059,6 +1059,7 @@ 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 += "Extreme Weight Gain:[weight_gain_extreme == TRUE ? "Enabled" : "Disabled"]
" //Add the Hyper stuff below here dat += "

Hyper Preferences

" @@ -2623,6 +2624,8 @@ GLOBAL_LIST_EMPTY(preferences_datums) weight_gain_magic = !weight_gain_magic if("weight_gain_viruses") weight_gain_viruses = !weight_gain_viruses + if("weight_gain_extreme") + weight_gain_extreme = !weight_gain_extreme if("noncon_weight_gain") noncon_weight_gain = !noncon_weight_gain if("max_fatness") diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index edf5db99..b87e0420 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -153,6 +153,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car S["weight_gain_magic"] >> weight_gain_magic S["weight_gain_viruses"] >> weight_gain_viruses S["weight_gain_weapons"] >> weight_gain_weapons + S["weight_gain_extreme"] >> weight_gain_extreme S["wg_rate"] >> wg_rate S["wl_rate"] >> wl_rate S["noncon_weight_gain"] >> noncon_weight_gain @@ -292,6 +293,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car WRITE_FILE(S["weight_gain_viruses"], weight_gain_viruses) WRITE_FILE(S["weight_gain_chems"], weight_gain_chems) WRITE_FILE(S["weight_gain_weapons"], weight_gain_weapons) + WRITE_FILE(S["weight_gain_extreme"], weight_gain_extreme) WRITE_FILE(S["wg_rate"], wg_rate) WRITE_FILE(S["wl_rate"], wl_rate) WRITE_FILE(S["noncon_weight_gain"], noncon_weight_gain)