From c41b1b6a19e3189c3274376f7adee4b05a4c0183 Mon Sep 17 00:00:00 2001 From: evilew Date: Mon, 19 Feb 2024 00:12:14 +0100 Subject: [PATCH] chair breakage mechanics - by VV --- code/game/objects/buckling.dm | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/code/game/objects/buckling.dm b/code/game/objects/buckling.dm index 4351a82c..f45755bb 100644 --- a/code/game/objects/buckling.dm +++ b/code/game/objects/buckling.dm @@ -1,5 +1,4 @@ - /atom/movable var/can_buckle = 0 var/buckle_lying = -1 //bed-like behaviour, forces mob.lying = buckle_lying if != -1 @@ -108,18 +107,35 @@ /atom/movable/proc/post_unbuckle_mob(mob/living/M) //Wrapper procs that handle sanity and user feedback -/atom/movable/proc/user_buckle_mob(mob/living/M, mob/user, check_loc = TRUE) +/atom/movable/proc/user_buckle_mob(mob/living/carbon/M, mob/user, check_loc = TRUE) if(!in_range(user, src) || !isturf(user.loc) || user.incapacitated() || M.anchored) return FALSE add_fingerprint(user) . = buckle_mob(M, check_loc = check_loc) if(.) - if(M == user) + if (M == user && M.fatness >= 3440 && istype(src, /obj/structure/chair)) //GS13 stuff - chair breaking mechanics M.visible_message(\ - "[M] buckles [M.p_them()]self to [src].",\ - "You buckle yourself to [src].",\ + "[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! ",\ + "You slowly try to buckle yourself to [src]. But it breaks under your massive ass!",\ "You hear metal clanking.") + 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(\ + "[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. .",\ + "You buckle yourself to [src].The [src] is cracking and is barely able to hold your weight ",\ + "You hear metal clanking.") + playsound(loc, 'sound/effects/crossed.ogg', 50, 1) + else if(M == user && M.fatness >= 840) + M.visible_message(\ + "[M] buckles [M.p_them()]self to the creaking [src] as their weight spreads all over it.",\ + "You buckle yourself to [src].The [src] is creaking as you shuffle a bit ",\ + "You hear metal clanking.") + playsound(loc, 'sound/effects/crossed.ogg', 50, 1) else M.visible_message(\ "[user] buckles [M] to [src]!",\