mirror of
https://github.com/KabKebab/GS13.git
synced 2026-02-09 23:27:37 +00:00
101 lines
2.3 KiB
Plaintext
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()
|