Files
Bubberstation/code/datums/keybinding/mob.dm
Tom 6435018ba7 Add logging for manually changing your targeted zone (#72814) (#20787)
* Add logging for manually changing your targeted zone (#72814)

See title.
Surgery hud is exempt from this.

Requested by @Mothblocks

Signed-off-by: GitHub <noreply@github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: dragomagol <66640614+dragomagol@users.noreply.github.com>

* Delete 

---------

Signed-off-by: GitHub <noreply@github.com>
Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: dragomagol <66640614+dragomagol@users.noreply.github.com>
2023-04-26 10:44:01 -07:00

220 lines
6.6 KiB
Plaintext

/datum/keybinding/mob
category = CATEGORY_HUMAN
weight = WEIGHT_MOB
/datum/keybinding/mob/stop_pulling
hotkey_keys = list("H", "Delete")
name = "stop_pulling"
full_name = "Stop pulling"
description = ""
keybind_signal = COMSIG_KB_MOB_STOPPULLING_DOWN
/datum/keybinding/mob/stop_pulling/down(client/user)
. = ..()
if(.)
return
var/mob/M = user.mob
if(!M.pulling)
to_chat(user, span_notice("You are not pulling anything."))
else
M.stop_pulling()
return TRUE
/datum/keybinding/mob/swap_hands
hotkey_keys = list("X")
name = "swap_hands"
full_name = "Swap hands"
description = ""
keybind_signal = COMSIG_KB_MOB_SWAPHANDS_DOWN
/datum/keybinding/mob/swap_hands/down(client/user)
. = ..()
if(.)
return
var/mob/M = user.mob
M.swap_hand()
return TRUE
/datum/keybinding/mob/activate_inhand
hotkey_keys = list("Z")
name = "activate_inhand"
full_name = "Activate in-hand"
description = "Uses whatever item you have inhand"
keybind_signal = COMSIG_KB_MOB_ACTIVATEINHAND_DOWN
/datum/keybinding/mob/activate_inhand/down(client/user)
. = ..()
if(.)
return
var/mob/M = user.mob
M.mode()
return TRUE
/datum/keybinding/mob/drop_item
hotkey_keys = list("Q")
name = "drop_item"
full_name = "Drop Item"
description = ""
keybind_signal = COMSIG_KB_MOB_DROPITEM_DOWN
/datum/keybinding/mob/drop_item/down(client/user)
. = ..()
if(.)
return
if(iscyborg(user.mob)) //cyborgs can't drop items
return FALSE
var/mob/M = user.mob
var/obj/item/I = M.get_active_held_item()
if(!I)
to_chat(user, span_warning("You have nothing to drop in your hand!"))
else
user.mob.dropItemToGround(I)
return TRUE
/datum/keybinding/mob/toggle_move_intent
hotkey_keys = list("Alt") //SKYRAT EDIT CHANGE - COMBAT_INDICATOR
name = "toggle_move_intent"
full_name = "Hold to toggle move intent"
description = "Held down to cycle to the other move intent, release to cycle back"
keybind_signal = COMSIG_KB_MOB_TOGGLEMOVEINTENT_DOWN
/datum/keybinding/mob/toggle_move_intent/down(client/user)
. = ..()
if(.)
return
var/mob/M = user.mob
M.toggle_move_intent()
return TRUE
/datum/keybinding/mob/toggle_move_intent/up(client/user)
var/mob/M = user.mob
M.toggle_move_intent()
return TRUE
/datum/keybinding/mob/toggle_move_intent_alternative
hotkey_keys = list("Unbound")
name = "toggle_move_intent_alt"
full_name = "press to cycle move intent"
description = "Pressing this cycle to the opposite move intent, does not cycle back"
keybind_signal = COMSIG_KB_MOB_TOGGLEMOVEINTENTALT_DOWN
/datum/keybinding/mob/toggle_move_intent_alternative/down(client/user)
. = ..()
if(.)
return
var/mob/M = user.mob
M.toggle_move_intent()
return TRUE
/datum/keybinding/mob/target/down(client/user)
. = ..()
if(.)
return .
var/original = user.mob.zone_selected
switch(keybind_signal)
if(COMSIG_KB_MOB_TARGETCYCLEHEAD_DOWN)
user.body_toggle_head()
if(COMSIG_KB_MOB_TARGETEYES_DOWN)
user.body_eyes()
if(COMSIG_KB_MOB_TARGETMOUTH_DOWN)
user.body_mouth()
if(COMSIG_KB_MOB_TARGETRIGHTARM_DOWN)
user.body_r_arm()
if(COMSIG_KB_MOB_TARGETBODYCHEST_DOWN)
user.body_chest()
if(COMSIG_KB_MOB_TARGETLEFTARM_DOWN)
user.body_l_arm()
if(COMSIG_KB_MOB_TARGETRIGHTLEG_DOWN)
user.body_r_leg()
if(COMSIG_KB_MOB_TARGETBODYGROIN_DOWN)
user.body_groin()
if(COMSIG_KB_MOB_TARGETLEFTLEG_DOWN)
user.body_l_leg()
else
stack_trace("Target keybind pressed but not implemented! '[keybind_signal]'")
return FALSE
user.mob.log_manual_zone_selected_update("keybind", old_target = original)
/datum/keybinding/mob/target/head_cycle
hotkey_keys = list("Numpad8")
name = "target_head_cycle"
full_name = "Target: Cycle Head"
description = "Pressing this key targets the head, and continued presses will cycle to the eyes and mouth. This will impact where you hit people, and can be used for surgery."
keybind_signal = COMSIG_KB_MOB_TARGETCYCLEHEAD_DOWN
/datum/keybinding/mob/target/eyes
hotkey_keys = list("Numpad7")
name = "target_eyes"
full_name = "Target: Eyes"
description = "Pressing this key targets the eyes. This will impact where you hit people, and can be used for surgery."
keybind_signal = COMSIG_KB_MOB_TARGETEYES_DOWN
/datum/keybinding/mob/target/mouth
hotkey_keys = list("Numpad9")
name = "target_mouths"
full_name = "Target: Mouth"
description = "Pressing this key targets the mouth. This will impact where you hit people, and can be used for surgery."
keybind_signal = COMSIG_KB_MOB_TARGETMOUTH_DOWN
/datum/keybinding/mob/target/r_arm
hotkey_keys = list("Numpad4")
name = "target_r_arm"
full_name = "Target: right arm"
description = "Pressing this key targets the right arm. This will impact where you hit people, and can be used for surgery."
keybind_signal = COMSIG_KB_MOB_TARGETRIGHTARM_DOWN
/datum/keybinding/mob/target/body_chest
hotkey_keys = list("Numpad5")
name = "target_body_chest"
full_name = "Target: Body"
description = "Pressing this key targets the body. This will impact where you hit people, and can be used for surgery."
keybind_signal = COMSIG_KB_MOB_TARGETBODYCHEST_DOWN
/datum/keybinding/mob/target/left_arm
hotkey_keys = list("Numpad6")
name = "target_left_arm"
full_name = "Target: left arm"
description = "Pressing this key targets the body. This will impact where you hit people, and can be used for surgery."
keybind_signal = COMSIG_KB_MOB_TARGETLEFTARM_DOWN
/datum/keybinding/mob/target/right_leg
hotkey_keys = list("Numpad1")
name = "target_right_leg"
full_name = "Target: Right leg"
description = "Pressing this key targets the right leg. This will impact where you hit people, and can be used for surgery."
keybind_signal = COMSIG_KB_MOB_TARGETRIGHTLEG_DOWN
/datum/keybinding/mob/target/body_groin
hotkey_keys = list("Numpad2")
name = "target_body_groin"
full_name = "Target: Groin"
description = "Pressing this key targets the groin. This will impact where you hit people, and can be used for surgery."
keybind_signal = COMSIG_KB_MOB_TARGETBODYGROIN_DOWN
/datum/keybinding/mob/target/left_leg
hotkey_keys = list("Numpad3")
name = "target_left_leg"
full_name = "Target: left leg"
description = "Pressing this key targets the left leg. This will impact where you hit people, and can be used for surgery."
keybind_signal = COMSIG_KB_MOB_TARGETLEFTLEG_DOWN
/datum/keybinding/mob/prevent_movement
hotkey_keys = list("Ctrl") //SKYRAT EDIT CHANGE ALT > CTRL - PIXEL_SHIFT
name = "block_movement"
full_name = "Block movement"
description = "Prevents you from moving"
keybind_signal = COMSIG_KB_MOB_BLOCKMOVEMENT_DOWN
/datum/keybinding/mob/prevent_movement/down(client/user)
. = ..()
if(.)
return
user.movement_locked = TRUE
/datum/keybinding/mob/prevent_movement/up(client/user)
. = ..()
if(.)
return
user.movement_locked = FALSE