diff --git a/code/game/objects/buckling.dm b/code/game/objects/buckling.dm index 82564664fd4..40a8b9bb066 100644 --- a/code/game/objects/buckling.dm +++ b/code/game/objects/buckling.dm @@ -140,10 +140,16 @@ //Wrapper procs that handle sanity and user feedback /atom/movable/proc/user_buckle_mob(mob/living/M, mob/user, check_loc = TRUE) - if(!in_range(user, src) || !isturf(user.loc) || user.incapacitated() || M.anchored) + if(!Adjacent(user) || !Adjacent(M) || !isturf(user.loc) || user.incapacitated() || M.anchored) return FALSE add_fingerprint(user) + if (M != user) + M.visible_message("[user] starts buckling [M] to [src]!",\ + "[user] starts buckling you to [src]!",\ + "You hear metal clanking.") + if(!do_after(user, 3 SECONDS, TRUE, M)) + return FALSE . = buckle_mob(M, check_loc = check_loc) if(.) if(M == user) @@ -152,8 +158,7 @@ "You hear metal clanking.") else M.visible_message("[user] buckles [M] to [src]!",\ - "[user] buckles you to [src]!",\ - "You hear metal clanking.") + "[user] buckles you to [src]!") /atom/movable/proc/user_unbuckle_mob(mob/living/buckled_mob, mob/user) var/mob/living/M = unbuckle_mob(buckled_mob) diff --git a/code/game/objects/structures/beds_chairs/chair.dm b/code/game/objects/structures/beds_chairs/chair.dm index d9d9c44915c..827a1d2901c 100644 --- a/code/game/objects/structures/beds_chairs/chair.dm +++ b/code/game/objects/structures/beds_chairs/chair.dm @@ -249,6 +249,9 @@ usr.put_in_hands(C) qdel(src) +/obj/structure/chair/user_buckle_mob(mob/living/M, force, check_loc = FALSE) + return ..() + /obj/structure/chair/stool/bar name = "bar stool" desc = "It has some unsavory stains on it..."