Files
Paradise/code/datums/keybindings/mob.dm
S34N 3f95392c82 Lets go rebind things (#18166)
* SSinput Rewrite, Custom Keybindings

* hmm yes, safety

* azerty begone

* address AA and SteelSlayer

* Address the old man

* what

* CI dbconfig too

* Address TM issues

Unicode support
Better numpad support
Fix no perms message
Fix modifier screwing movement

* pre-TM tweak, nitfix

* pre TM change 2

* Display others

* MERGE ME

* unduplicates your rows

* reverts some changes, makes this work for now (not TM safe)

* fixes direction facing, removes hotkey help item

* weird keys

* TM commit revert later

* fixed asay/msay keybind

* adds ALL the emotes

* flip and spin

* makes old people happy

* and fixes admins not being able to msay

* lets borgs stow modules

* saves prefs when someone changes a keybind

* reverts skin changes and manually applies
HEAVEN HELP YOU IF YOU USE THE DM SKIN EDITOR IT BREAKS EVERYTHING

* tidies menu, unduplicates rest

* sql file pls come back

* Update SQL/updates/40-41.sql

* why did you not throw an error?!

* inits keybinds if your prefs somehow fail, i guess

* restores these spaces, i guess

* fixes local testing, i guess

* emote cooldown returns (oops)

* movement lock improvements

* Pageup does Swap Hands

* LOOC

* whisper for living mobs

* oops

* fix dsay

* fix IPC silicon emote hotkeys

* category name

* backspace only clears if input is focused

* Makes TAB and BACKSPACE rebindable

* charlie review

* define move

* yeet

* Lewcc review

* brings back legacy mode

* restores legacy mode

* tell legacy mode what is going on

* Update code/controllers/subsystem/input.dm

* Update code/controllers/subsystem/input.dm

Co-authored-by: AffectedArc07 <25063394+AffectedArc07@users.noreply.github.com>

* safeties!

* legacy mode is a pref now

* undo TM changes

* null prefs safeties

* Revert "legacy mode is a pref now"

This reverts commit b45af65139.

* revert this too thanks

Co-authored-by: mochi <shenesis@gmail.com>
Co-authored-by: dearmochi <1496804+dearmochi@users.noreply.github.com>
Co-authored-by: AffectedArc07 <25063394+AffectedArc07@users.noreply.github.com>
2022-07-13 21:34:41 +01:00

223 lines
4.9 KiB
Plaintext

/datum/keybinding/mob
category = KB_CATEGORY_MOB
// Hands
/datum/keybinding/mob/use_held_object
name = "Use Held Object"
keys = list("Y", "Z", "Southeast")
/datum/keybinding/mob/use_held_object/down(client/C)
. = ..()
C.mob.mode()
/datum/keybinding/mob/equip_held_object
name = "Equip Held Object"
keys = list("E")
/datum/keybinding/mob/equip_held_object/down(client/C)
. = ..()
C.mob.quick_equip()
/datum/keybinding/mob/drop_held_object
name = "Drop Held Object"
keys = list("Q", "Northwest")
/datum/keybinding/mob/drop_held_object/down(client/C)
. = ..()
var/obj/item/I = C.mob.get_active_hand()
if(I)
C.mob.drop_item(I)
else
to_chat(C, "<span class='warning'>You have nothing to drop in your hand!</span>")
/datum/keybinding/mob/swap_hands
name = "Swap Hands"
keys = list("X", "Northeast")
/datum/keybinding/mob/swap_hands/down(client/C)
. = ..()
C.mob.swap_hand()
// Intents
/datum/keybinding/mob/prev_intent
name = "Previous Intent"
keys = list("F")
/datum/keybinding/mob/prev_intent/down(client/C)
. = ..()
C.mob.a_intent_change(INTENT_HOTKEY_LEFT)
/datum/keybinding/mob/next_intent
name = "Next Intent"
keys = list("G", "Insert")
/datum/keybinding/mob/next_intent/down(client/C)
. = ..()
C.mob.a_intent_change(INTENT_HOTKEY_RIGHT)
/datum/keybinding/mob/walk_hold
name = "Walk (Hold)"
keys = list("C")
/datum/keybinding/mob/walk_hold/down(client/C)
. = ..()
C.mob.toggle_move_intent()
/datum/keybinding/mob/walk_hold/up(client/C)
. = ..()
C.mob.toggle_move_intent()
/datum/keybinding/mob/walk_toggle
name = "Walk (Toggle)"
/datum/keybinding/mob/walk_toggle/down(client/C)
. = ..()
C.mob.toggle_move_intent()
// Other
/datum/keybinding/mob/stop_pulling
name = "Stop Pulling"
keys = list("Delete")
/datum/keybinding/mob/stop_pulling/down(client/C)
. = ..()
if(C.mob.pulling)
C.mob.stop_pulling()
else
to_chat(C, "<span class='notice'>You are not pulling anything.</span>")
/datum/keybinding/mob/face_dir
/// The direction to face towards.
var/dir
/datum/keybinding/mob/face_dir/down(client/C)
. = ..()
C.mob.facedir(dir)
/datum/keybinding/mob/face_dir/north
name = "Face North"
keys = list("CtrlW", "CtrlNorth")
dir = NORTH
/datum/keybinding/mob/face_dir/south
name = "Face South"
keys = list("CtrlS", "CtrlSouth")
dir = SOUTH
/datum/keybinding/mob/face_dir/east
name = "Face East"
keys = list("CtrlD", "CtrlEast")
dir = EAST
/datum/keybinding/mob/face_dir/west
name = "Face West"
keys = list("CtrlA", "CtrlWest")
dir = WEST
/datum/keybinding/mob/target_cycle/head
name = "Target Head/Eyes/Mouth"
keys = list("Numpad8")
/datum/keybinding/mob/target_cycle/head/down(client/C)
. = ..()
C.body_toggle_head()
/datum/keybinding/mob/target_cycle/r_arm
name = "Target Right Arm/Hand"
keys = list("Numpad4")
/datum/keybinding/mob/target_cycle/r_arm/down(client/C)
. = ..()
C.body_r_arm()
/datum/keybinding/mob/target_cycle/l_arm
name = "Target Left Arm/Hand"
keys = list("Numpad6")
/datum/keybinding/mob/target_cycle/l_arm/down(client/C)
. = ..()
C.body_l_arm()
/datum/keybinding/mob/target_cycle/r_leg
name = "Target Right Leg/Foot"
keys = list("Numpad1")
/datum/keybinding/mob/target_cycle/r_leg/down(client/C)
. = ..()
C.body_r_leg()
/datum/keybinding/mob/target_cycle/l_leg
name = "Target Left Leg/Foot"
keys = list("Numpad3")
/datum/keybinding/mob/target_cycle/l_leg/down(client/C)
. = ..()
C.body_l_leg()
/datum/keybinding/mob/target
// The body part to target.
var/body_part
/datum/keybinding/mob/target/down(client/C)
. = ..()
if(!C.check_has_body_select())
return
var/obj/screen/zone_sel/selector = C.mob.hud_used.zone_select
selector.set_selected_zone(body_part, C.mob)
/datum/keybinding/mob/target/head
name = "Target Head"
body_part = BODY_ZONE_HEAD
/datum/keybinding/mob/target/eyes
name = "Target Eyes"
body_part = BODY_ZONE_PRECISE_EYES
/datum/keybinding/mob/target/mouth
name = "Target Mouth"
body_part = BODY_ZONE_PRECISE_MOUTH
/datum/keybinding/mob/target/chest
name = "Target Upper Body"
body_part = BODY_ZONE_CHEST
keys = list("Numpad5")
/datum/keybinding/mob/target/groin
name = "Target Lower Body"
body_part = BODY_ZONE_PRECISE_GROIN
keys = list("Numpad2")
/datum/keybinding/mob/target/r_arm
name = "Target Right Arm"
body_part = BODY_ZONE_R_ARM
/datum/keybinding/mob/target/r_hand
name = "Target Right Hand"
body_part = BODY_ZONE_PRECISE_R_HAND
/datum/keybinding/mob/target/l_arm
name = "Target Left Arm"
body_part = BODY_ZONE_L_ARM
/datum/keybinding/mob/target/l_hand
name = "Target Left Hand"
body_part = BODY_ZONE_PRECISE_L_HAND
/datum/keybinding/mob/target/r_leg
name = "Target Right Leg"
body_part = BODY_ZONE_R_LEG
/datum/keybinding/mob/target/r_foot
name = "Target Right Foot"
body_part = BODY_ZONE_PRECISE_R_FOOT
/datum/keybinding/mob/target/l_leg
name = "Target Left Leg"
body_part = BODY_ZONE_L_LEG
/datum/keybinding/mob/target/l_foot
name = "Target Left Foot"
body_part = BODY_ZONE_PRECISE_L_FOOT