From 8715878a670c00b9a3f615c84316bc57e479187e Mon Sep 17 00:00:00 2001 From: Couls Date: Thu, 22 Aug 2019 16:51:07 -0400 Subject: [PATCH 1/2] Fix cardboard box walldash --- .../structures/crates_lockers/closets/cardboardbox.dm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm b/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm index 19e08c15bde..80bd65df74d 100644 --- a/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm +++ b/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm @@ -18,12 +18,14 @@ /obj/structure/closet/cardboard/relaymove(mob/user, direction) if(opened || move_delay || user.stat || user.stunned || user.weakened || user.paralysis || !isturf(loc) || !has_gravity(loc)) return - move_delay = 1 - if(step(src, direction)) + move_delay = TRUE + var/oldloc = loc + step(src, direction) + if(oldloc != loc) spawn(config.walk_speed) - move_delay = 0 + move_delay = FALSE else - move_delay = 0 + move_delay = FALSE /obj/structure/closet/cardboard/open() if(opened || !can_open()) From b1dd4d549608017c2819e7e1dc319570ce030b33 Mon Sep 17 00:00:00 2001 From: Couls Date: Thu, 29 Aug 2019 20:41:12 -0400 Subject: [PATCH 2/2] use fox's code --- .../structures/crates_lockers/closets/cardboardbox.dm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm b/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm index 80bd65df74d..f642960e52e 100644 --- a/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm +++ b/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm @@ -15,18 +15,20 @@ var/move_delay = 0 var/egged = 0 -/obj/structure/closet/cardboard/relaymove(mob/user, direction) - if(opened || move_delay || user.stat || user.stunned || user.weakened || user.paralysis || !isturf(loc) || !has_gravity(loc)) +/obj/structure/closet/cardboard/relaymove(mob/living/user, direction) + if(!istype(user) || opened || move_delay || user.incapacitated() || !isturf(loc) || !has_gravity(loc)) return move_delay = TRUE var/oldloc = loc step(src, direction) if(oldloc != loc) - spawn(config.walk_speed) - move_delay = FALSE + addtimer(CALLBACK(src, .proc/ResetMoveDelay), config.walk_speed) else move_delay = FALSE +/obj/structure/closet/cardboard/proc/ResetMoveDelay() + move_delay = FALSE + /obj/structure/closet/cardboard/open() if(opened || !can_open()) return 0