diff --git a/code/modules/keybindings/bindings_mob.dm b/code/modules/keybindings/bindings_mob.dm index 964ee65047..36b4775c34 100644 --- a/code/modules/keybindings/bindings_mob.dm +++ b/code/modules/keybindings/bindings_mob.dm @@ -61,16 +61,28 @@ if(client.keys_held["Ctrl"]) switch(SSinput.movement_keys[_key]) if(NORTH) - northface() + if(client.keys_held["Shift"]) + northshift() + else + northface() return if(SOUTH) - southface() + if(client.keys_held["Shift"]) + southshift() + else + southface() return if(WEST) - westface() + if(client.keys_held["Shift"]) + westshift() + else + westface() return if(EAST) - eastface() + if(client.keys_held["Shift"]) + eastshift() + else + eastface() return return ..() diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index a523c22d53..43f4b82add 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -706,6 +706,34 @@ GLOBAL_VAR_INIT(exploit_warn_spam_prevention, 0) client.last_turn = world.time + MOB_FACE_DIRECTION_DELAY return TRUE +/mob/verb/eastshift() + set hidden = TRUE + if(!canface()) + return FALSE + if(pixel_x <= 16) + pixel_x++ + +/mob/verb/westshift() + set hidden = TRUE + if(!canface()) + return FALSE + if(pixel_x >= -16) + pixel_x-- + +/mob/verb/northshift() + set hidden = TRUE + if(!canface()) + return FALSE + if(pixel_y >= 16) + pixel_y++ + +/mob/verb/southshift() + set hidden = TRUE + if(!canface()) + return FALSE + if(pixel_y <= -16) + pixel_y-- + /mob/proc/IsAdvancedToolUser()//This might need a rename but it should replace the can this mob use things check return FALSE