From a7d2db1c4b30e41f62ab472b59144b0d38d64e9a Mon Sep 17 00:00:00 2001 From: christiankabbalahexpert <83491949+christiankabbalahexpert@users.noreply.github.com> Date: Sat, 19 Aug 2023 19:37:05 +1000 Subject: [PATCH] Makes pixelshift better Ditto --- code/modules/keybindings/bindings_atom.dm | 2 +- code/modules/keybindings/bindings_client.dm | 2 +- code/modules/keybindings/bindings_mob.dm | 42 ++++++++++++--------- 3 files changed, 26 insertions(+), 20 deletions(-) diff --git a/code/modules/keybindings/bindings_atom.dm b/code/modules/keybindings/bindings_atom.dm index 4aac76bd..5f3e8792 100644 --- a/code/modules/keybindings/bindings_atom.dm +++ b/code/modules/keybindings/bindings_atom.dm @@ -15,4 +15,4 @@ movement_dir &= ~(NORTH|SOUTH) if((movement_dir & EAST) && (movement_dir & WEST)) movement_dir &= ~(EAST|WEST) - user.Move(get_step(src, movement_dir), movement_dir) \ No newline at end of file + user.Move(get_step(src, movement_dir), movement_dir) diff --git a/code/modules/keybindings/bindings_client.dm b/code/modules/keybindings/bindings_client.dm index 0b1e526d..3233005b 100644 --- a/code/modules/keybindings/bindings_client.dm +++ b/code/modules/keybindings/bindings_client.dm @@ -88,4 +88,4 @@ if(holder) holder.keyLoop(src) if(mob.focus) - mob.focus.keyLoop(src) \ No newline at end of file + mob.focus.keyLoop(src) diff --git a/code/modules/keybindings/bindings_mob.dm b/code/modules/keybindings/bindings_mob.dm index 1e97d4d3..069e23da 100644 --- a/code/modules/keybindings/bindings_mob.dm +++ b/code/modules/keybindings/bindings_mob.dm @@ -58,31 +58,20 @@ user.body_l_leg() return - if(client.keys_held["Ctrl"]) + //!shift for pixel shifting + if(client.keys_held["Ctrl"] && !client.keys_held["Shift"]) switch(SSinput.movement_keys[_key]) if(NORTH) - if(client.keys_held["Shift"]) - northshift() - else - northface() + northface() return if(SOUTH) - if(client.keys_held["Shift"]) - southshift() - else - southface() + southface() return if(WEST) - if(client.keys_held["Shift"]) - westshift() - else - westface() + westface() return if(EAST) - if(client.keys_held["Shift"]) - eastshift() - else - eastface() + eastface() return return ..() @@ -91,4 +80,21 @@ if("Alt") toggle_move_intent() return - return ..() \ No newline at end of file + return ..() + +/// Mostly used for pixel shift right now +/mob/keyLoop(client/user) + ..() //Oops! You need this to move, don't you? + if(user.keys_held["Ctrl"] && user.keys_held["Shift"]) + var/direction = NONE + for(var/_key in user.keys_held) + direction = direction | SSinput.movement_keys[_key] + switch(direction) + if(NORTH) + northshift() + if(SOUTH) + southshift() + if(WEST) + westshift() + if(EAST) + eastshift()