From aed68c1c2c69bfdadd9b77e3793c0f30e06a15fe Mon Sep 17 00:00:00 2001 From: Hubblenaut Date: Tue, 8 Jul 2014 04:48:21 +0200 Subject: [PATCH] Fixes canmove updating wrongly on movable chairs Conflicts: code/modules/mob/mob.dm --- code/modules/mob/mob.dm | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) 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