Merge pull request #247 from sheepishgoat/1222

a
This commit is contained in:
evilew
2024-08-25 20:25:34 +02:00
committed by GitHub
5 changed files with 54 additions and 36 deletions
@@ -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.
+9 -5
View File
@@ -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
+34 -28
View File
@@ -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)
+6 -2
View File
@@ -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)