mirror of
https://github.com/KabKebab/GS13.git
synced 2026-07-09 23:21:02 +01:00
@@ -19,8 +19,10 @@
|
||||
var/blueberry_inflation = FALSE
|
||||
///Extreme weight gain
|
||||
var/weight_gain_extreme = FALSE
|
||||
///stuckage
|
||||
/// At what weight will you start to get stuck in airlocks?
|
||||
var/stuckage = FALSE
|
||||
/// At what weight will you start to break chairs?
|
||||
var/chair_breakage = FALSE
|
||||
/// Are items that only affect those at high weights able to affect the player?
|
||||
var/fatness_vulnerable = FALSE
|
||||
/// Similar to fatness_vulnerable, but with more extreme effects such as transformation/hypno.
|
||||
|
||||
@@ -12,7 +12,11 @@
|
||||
if(!istype(L))
|
||||
return ..()
|
||||
|
||||
if(L.fatness > 5000 && L.client?.prefs?.stuckage)
|
||||
var/stuckage_weight = L?.client?.prefs?.stuckage
|
||||
if(!stuckage_weight)
|
||||
return ..() // They aren't able to get stuck
|
||||
|
||||
if(L.fatness > (stuckage_weight * 2))
|
||||
if(rand(1, 3) == 1)
|
||||
L.doorstuck = 1
|
||||
L.visible_message("<span class'danger'>[L] gets stuck in the doorway!</span>")
|
||||
@@ -22,7 +26,7 @@
|
||||
L.Knockdown(1)
|
||||
return ..()
|
||||
|
||||
else if(L.fatness > 3000 && L.client?.prefs?.stuckage)
|
||||
else if(L.fatness > stuckage_weight)
|
||||
if(rand(1, 5) == 1)
|
||||
L.doorstuck = 1
|
||||
L.visible_message("<span class'danger'>[L] gets stuck in the doorway!</span>")
|
||||
@@ -35,13 +39,13 @@
|
||||
to_chat(L, "<span class='danger'>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.</span>")
|
||||
return ..()
|
||||
|
||||
else if(L.fatness > 1890 && L.client?.prefs?.stuckage)
|
||||
else if(L.fatness > (stuckage_weight / 2))
|
||||
if(rand(1, 5) == 1)
|
||||
L.visible_message("<span class'danger'>[L]'s hips brush against the doorway...</span>")
|
||||
to_chat(L, "<span class='danger'>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..</span>")
|
||||
return ..()
|
||||
else
|
||||
return ..()
|
||||
|
||||
return ..()
|
||||
|
||||
/obj/machinery/door/airlock/abandoned
|
||||
abandoned = TRUE
|
||||
|
||||
@@ -113,34 +113,40 @@
|
||||
|
||||
add_fingerprint(user)
|
||||
. = buckle_mob(M, check_loc = check_loc)
|
||||
if(.)
|
||||
if (M == user && M.fatness >= 3440 && istype(src, /obj/structure/chair)) //GS13 stuff - chair breaking mechanics
|
||||
M.visible_message(\
|
||||
"<span class='notice'>[M] slowly buckles [M.p_them()]self to [src]. their movements slow and deliberate. As [M] settles into the seat, a sudden, violent crash echoes through the air. [M]'s massive weight mercilessly crushes the poor [src], reducing it to pieces! </span>",\
|
||||
"<span class='notice'>You slowly try to buckle yourself to [src]. But it breaks under your massive ass!</span>",\
|
||||
"<span class='italics'>You hear metal clanking.</span>")
|
||||
playsound(loc, 'sound/effects/snap.ogg', 50, 1)
|
||||
playsound(loc, 'sound/effects/woodhit.ogg', 50, 1)
|
||||
playsound(loc, 'sound/effects/bodyfall4.ogg', 50, 1)
|
||||
// Destroy the src object
|
||||
src.Destroy()
|
||||
else if(M == user && M.fatness >= 1840)
|
||||
M.visible_message(\
|
||||
"<span class='notice'>[M] buckles [M.p_them()]self to the creaking [src]. The [src] protests audibly under the weight as [M]'s ample form settles onto its surface. .</span>",\
|
||||
"<span class='notice'>You buckle yourself to [src].The [src] is cracking and is barely able to hold your weight </span>",\
|
||||
"<span class='italics'>You hear metal clanking.</span>")
|
||||
playsound(loc, 'sound/effects/crossed.ogg', 50, 1)
|
||||
else if(M == user && M.fatness >= 840)
|
||||
M.visible_message(\
|
||||
"<span class='notice'>[M] buckles [M.p_them()]self to the creaking [src] as their weight spreads all over it.</span>",\
|
||||
"<span class='notice'>You buckle yourself to [src].The [src] is creaking as you shuffle a bit </span>",\
|
||||
"<span class='italics'>You hear metal clanking.</span>")
|
||||
playsound(loc, 'sound/effects/crossed.ogg', 50, 1)
|
||||
else
|
||||
M.visible_message(\
|
||||
"<span class='warning'>[user] buckles [M] to [src]!</span>",\
|
||||
"<span class='warning'>[user] buckles you to [src]!</span>",\
|
||||
"<span class='italics'>You hear metal clanking.</span>")
|
||||
if(!.)
|
||||
return
|
||||
|
||||
var/breaking_weight = M?.client?.prefs?.chair_breakage
|
||||
if(!breaking_weight || (M != user) || ((breaking_weight / 3) > M.fatness))
|
||||
M.visible_message(\
|
||||
"<span class='warning'>[user] buckles [M] to [src]!</span>",\
|
||||
"<span class='warning'>[user] buckles you to [src]!</span>",\
|
||||
"<span class='italics'>You hear metal clanking.</span>")
|
||||
return
|
||||
|
||||
if ((M.fatness >= breaking_weight) && istype(src, /obj/structure/chair)) //GS13 stuff - chair breaking mechanics
|
||||
M.visible_message(\
|
||||
"<span class='notice'>[M] slowly buckles [M.p_them()]self to [src]. their movements slow and deliberate. As [M] settles into the seat, a sudden, violent crash echoes through the air. [M]'s massive weight mercilessly crushes the poor [src], reducing it to pieces! </span>",\
|
||||
"<span class='notice'>You slowly try to buckle yourself to [src]. But it breaks under your massive ass!</span>",\
|
||||
"<span class='italics'>You hear metal clanking.</span>")
|
||||
playsound(loc, 'sound/effects/snap.ogg', 50, 1)
|
||||
playsound(loc, 'sound/effects/woodhit.ogg', 50, 1)
|
||||
playsound(loc, 'sound/effects/bodyfall4.ogg', 50, 1)
|
||||
// Destroy the src object
|
||||
src.Destroy()
|
||||
else if(M.fatness >= (breaking_weight / 2))
|
||||
M.visible_message(\
|
||||
"<span class='notice'>[M] buckles [M.p_them()]self to the creaking [src]. The [src] protests audibly under the weight as [M]'s ample form settles onto its surface. .</span>",\
|
||||
"<span class='notice'>You buckle yourself to [src].The [src] is cracking and is barely able to hold your weight </span>",\
|
||||
"<span class='italics'>You hear metal clanking.</span>")
|
||||
playsound(loc, 'sound/effects/crossed.ogg', 50, 1)
|
||||
else if(M.fatness >= (breaking_weight / 3))
|
||||
M.visible_message(\
|
||||
"<span class='notice'>[M] buckles [M.p_them()]self to the creaking [src] as their weight spreads all over it.</span>",\
|
||||
"<span class='notice'>You buckle yourself to [src].The [src] is creaking as you shuffle a bit </span>",\
|
||||
"<span class='italics'>You hear metal clanking.</span>")
|
||||
playsound(loc, 'sound/effects/crossed.ogg', 50, 1)
|
||||
|
||||
|
||||
/atom/movable/proc/user_unbuckle_mob(mob/living/buckled_mob, mob/user)
|
||||
var/mob/living/M = unbuckle_mob(buckled_mob)
|
||||
|
||||
@@ -1069,7 +1069,8 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
dat += "<b>Blueberry Inflation:</b><a href='?_src_=prefs;preference=blueberry_inflation'>[blueberry_inflation == TRUE ? "Enabled" : "Disabled"]</a><BR>"
|
||||
|
||||
dat += "<h2>GS13 Gameplay Preferences</h2>"
|
||||
dat += "<b>Stuckage (weight results in getting stuck in doors):</b><a href='?_src_=prefs;preference=stuckage'>[stuckage == TRUE ? "Enabled" : "Disabled"]</a><BR>"
|
||||
dat += "<b>Stuckage (at what weight will you get stuck in doors?):</b><a href='?_src_=prefs;preference=stuckage'>[stuckage == FALSE ? "Disabled" : stuckage]</a><BR>"
|
||||
dat += "<b>Chair Breakage (at what weight will you break chairs?):</b><a href='?_src_=prefs;preference=chair_breakage'>[chair_breakage == FALSE ? "Disabled" : chair_breakage]</a><BR>"
|
||||
dat += "This preference will allow items that work based on weight to work to you, <b>usually to your detriment.</b> <BR>"
|
||||
dat += "<b>Fatness Vulnerability:</b><a href='?_src_=prefs;preference=fatness_vulnerable'>[fatness_vulnerable == TRUE ? "Enabled" : "Disabled"]</a><BR>"
|
||||
dat += "This preference functions similar to the one before but allows for items with more drastic effects. <b>Do not enable this if you aren't okay with more drastic things happening to your character.</b><BR>"
|
||||
@@ -2669,11 +2670,14 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
if("bot_feeding")
|
||||
bot_feeding = !bot_feeding
|
||||
if("stuckage")
|
||||
stuckage = !stuckage
|
||||
stuckage = chose_weight("Choose the level of fatness where your weight will hinder your ability to go through airlocks? None will disable this alltogether", user)
|
||||
if("chair_breakage")
|
||||
chair_breakage = chose_weight("Choose the level of fatness where your weight will be too much for chairs to handle? None will disable this alltogether", user)
|
||||
if("fatness_vulnerable")
|
||||
fatness_vulnerable = !fatness_vulnerable
|
||||
if("extreme_fatness_vulnerable")
|
||||
extreme_fatness_vulnerable = !extreme_fatness_vulnerable
|
||||
|
||||
if("blueberry_inflation")
|
||||
blueberry_inflation = !blueberry_inflation
|
||||
if("max_fatness")
|
||||
|
||||
@@ -171,6 +171,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
|
||||
S["helplessness_clothing_back"] >> helplessness_clothing_back
|
||||
S["helplessness_no_buckle"] >> helplessness_no_buckle
|
||||
S["stuckage"] >> stuckage
|
||||
S["chair_breakage"] >> chair_breakage
|
||||
S["fatness_vulnerable"] >> fatness_vulnerable
|
||||
S["extreme_fatness_vulnerable"] >> extreme_fatness_vulnerable
|
||||
S["blueberry_inflation"] >> blueberry_inflation
|
||||
@@ -327,6 +328,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
|
||||
WRITE_FILE(S["helplessness_clothing_back"], helplessness_clothing_back)
|
||||
WRITE_FILE(S["helplessness_no_buckle"], helplessness_no_buckle)
|
||||
WRITE_FILE(S["stuckage"], stuckage)
|
||||
WRITE_FILE(S["chair_breakage"], chair_breakage)
|
||||
WRITE_FILE(S["fatness_vulnerable"], fatness_vulnerable)
|
||||
WRITE_FILE(S["extreme_fatness_vulnerable"], extreme_fatness_vulnerable)
|
||||
WRITE_FILE(S["blueberry_inflation"], blueberry_inflation)
|
||||
|
||||
Reference in New Issue
Block a user