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/GainStation13/code/obj/items/minor_items.dm b/GainStation13/code/obj/items/minor_items.dm index 32afc828..59b41b7f 100644 --- a/GainStation13/code/obj/items/minor_items.dm +++ b/GainStation13/code/obj/items/minor_items.dm @@ -143,3 +143,17 @@ icon_state = "ballgag" item_state = "ballgag" flags_inv = HIDEFACE + +/obj/item/service_sign + name = "service sign" + desc = "A sign that reads 'closed'" + icon = 'GainStation13/icons/obj/service_sign.dmi' + icon_state = "sign_closed" + +/obj/item/service_sign/attack_self() + if(icon_state == "sign_closed") + icon_state = "sign_open" + desc = "A sign that reads 'open'" + else + icon_state = "sign_closed" + desc = "A sign that reads 'closed'" diff --git a/GainStation13/icons/obj/service_sign.dmi b/GainStation13/icons/obj/service_sign.dmi new file mode 100644 index 00000000..76b89927 Binary files /dev/null and b/GainStation13/icons/obj/service_sign.dmi differ diff --git a/code/game/objects/effects/spiders.dm b/code/game/objects/effects/spiders.dm index 737247ac..e83c3e9a 100644 --- a/code/game/objects/effects/spiders.dm +++ b/code/game/objects/effects/spiders.dm @@ -41,6 +41,9 @@ else if(isliving(mover)) if(istype(mover.pulledby, /mob/living/simple_animal/hostile/poison/giant_spider)) return TRUE + if(mover.pulledby) + if(HAS_TRAIT(mover.pulledby, TRAIT_WEB_WEAVER)) + return TRUE if(prob(50)) to_chat(mover, "You get stuck in \the [src] for a moment.") return FALSE diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 53634aa6..cf9a916a 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -483,6 +483,8 @@ GLOBAL_LIST_INIT(cardboard_recipes, list ( \ new/datum/stack_recipe("colored yellow", /obj/item/storage/box/yellow), \ new/datum/stack_recipe("colored pink", /obj/item/storage/box/pink), \ new/datum/stack_recipe("colored purple", /obj/item/storage/box/purple), \ + null, \ + new/datum/stack_recipe("open/closed sign", /obj/item/service_sign), \ )) /obj/item/stack/sheet/cardboard //BubbleWrap //it's cardboard you fuck 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) diff --git a/hyperstation/code/modules/clothing/sizeaccessories.dm b/hyperstation/code/modules/clothing/sizeaccessories.dm index 9b617ee4..3d8f7764 100644 --- a/hyperstation/code/modules/clothing/sizeaccessories.dm +++ b/hyperstation/code/modules/clothing/sizeaccessories.dm @@ -83,6 +83,7 @@ icon = 'hyperstation/icons/obj/clothing/sizeaccessories.dmi' icon_state = "pendant" item_state = "pendant" + w_class = WEIGHT_CLASS_SMALL //Gainstation Edit: Small, not normal sized. //For neck items /obj/item/clothing/neck/syntech/equipped(mob/living/user, slot)