diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index e8273031673..8b2a0d33926 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -922,6 +922,10 @@ var/list/slot_equipment_priority = list( \ lying = 1 else lying = 1 + else if(buckled && (buckled.movable)) + anchored = 0 + canmove = 1 + lying = 0 else if( stat || weakened || paralysis || resting || sleeping || (status_flags & FAKEDEATH)) lying = 1 canmove = 0 @@ -957,36 +961,34 @@ var/list/slot_equipment_priority = list( \ drop_l_hand() drop_r_hand() -/mob/verb/eastface() - set hidden = 1 +/mob/proc/facedir(var/ndir) if(!canface()) return 0 - dir = EAST + dir = ndir + if(buckled && buckled.movable) + buckled.dir = ndir + buckled.handle_rotation() client.move_delay += movement_delay() return 1 +/mob/verb/eastface() + set hidden = 1 + return facedir(EAST) + + /mob/verb/westface() set hidden = 1 - if(!canface()) return 0 - dir = WEST - client.move_delay += movement_delay() - return 1 + return facedir(WEST) /mob/verb/northface() set hidden = 1 - if(!canface()) return 0 - dir = NORTH - client.move_delay += movement_delay() - return 1 + return facedir(NORTH) /mob/verb/southface() set hidden = 1 - if(!canface()) return 0 - dir = SOUTH - client.move_delay += movement_delay() - return 1 + return facedir(SOUTH) /mob/proc/IsAdvancedToolUser()//This might need a rename but it should replace the can this mob use things check