diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 751c827ee0c..61959ab49c5 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -858,15 +858,15 @@ note dizziness decrements automatically in the mob's Life() proc. canmove = 1 pixel_y = V.mob_offset_y else if(buckled) - if(buckled.buckle_lying != -1) - lying = buckled.buckle_lying - // var/movable is defined at /obj/structure/stool/bed level - // If we're buckled to something else, such as vines, assume it's stationary. - if (!istype(buckled) || !buckled.movable) anchored = 1 - canmove = 0 - else - anchored = 0 - canmove = 1 + anchored = 1 + canmove = 0 + if(istype(buckled)) + if(buckled.buckle_lying != -1) + lying = buckled.buckle_lying + if(buckled.buckle_movable) + anchored = 0 + canmove = 1 + else if( stat || weakened || paralysis || resting || sleeping || (status_flags & FAKEDEATH)) lying = 1 canmove = 0 diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index 1bf0e17e57e..47c3bb0f6cb 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -121,7 +121,7 @@ var/m_int = null//Living var/m_intent = "run"//Living var/lastKnownIP = null - var/obj/structure/bed/buckled = null//Living + var/obj/buckled = null//Living var/obj/item/l_hand = null//Living var/obj/item/r_hand = null//Living var/obj/item/weapon/back = null//Human/Monkey