Files
GS13/code/modules/keybindings/bindings_mob.dm
christiankabbalahexpert a7d2db1c4b Makes pixelshift better
Ditto
2023-08-19 22:57:13 +10:00

101 lines
2.3 KiB
Plaintext

// Technically the client argument is unncessary here since that SHOULD be src.client but let's not assume things
// All it takes is one badmin setting their focus to someone else's client to mess things up
// Or we can have NPC's send actual keypresses and detect that by seeing no client
/mob/key_down(_key, client/user)
switch(_key)
if("Delete", "H")
if(!pulling)
to_chat(src, "<span class='notice'>You are not pulling anything.</span>")
else
stop_pulling()
return
if("Insert", "G")
a_intent_change(INTENT_HOTKEY_RIGHT)
return
if("F")
a_intent_change(INTENT_HOTKEY_LEFT)
return
if("X", "Northeast") // Northeast is Page-up
swap_hand()
return
if("Y", "Z", "Southeast") // Southeast is Page-down
mode() // attack_self(). No idea who came up with "mode()"
return
if("Q", "Northwest") // Northwest is Home
var/obj/item/I = get_active_held_item()
if(!I)
to_chat(src, "<span class='warning'>You have nothing to drop in your hand!</span>")
else
dropItemToGround(I)
return
if("E")
quick_equip()
return
if("Alt")
toggle_move_intent()
return
//Bodypart selections
if("Numpad8")
user.body_toggle_head()
return
if("Numpad4")
user.body_r_arm()
return
if("Numpad5")
user.body_chest()
return
if("Numpad6")
user.body_l_arm()
return
if("Numpad1")
user.body_r_leg()
return
if("Numpad2")
user.body_groin()
return
if("Numpad3")
user.body_l_leg()
return
//!shift for pixel shifting
if(client.keys_held["Ctrl"] && !client.keys_held["Shift"])
switch(SSinput.movement_keys[_key])
if(NORTH)
northface()
return
if(SOUTH)
southface()
return
if(WEST)
westface()
return
if(EAST)
eastface()
return
return ..()
/mob/key_up(_key, client/user)
switch(_key)
if("Alt")
toggle_move_intent()
return
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()