mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-02-04 13:29:25 +00:00
## About The Pull Request - Adds **OPTIONAL** keybinds that lets you select a specific hand - Alters **OPTIONAL** default keybinds as such: - Q: Swap to Right Hand (replacing Drop item) - E: Swap to Left Hand (replacing Quick equip) - R: Quick equip (replacing Toggle Throw Mode) - ShiftR: Quick equip belt - X: Drop item (replacing Swap hands) - Swap hands is Unbound ## Why It's Good For The Game Swapping hands has always been somewhat awkward. Since it depends on the currently selected hand, swapping your hands requires you to look away from what you're doing and mentally process what you're holding and what you have selected. In the heat of the moment (like a fight) it's really easy to forget which hand you have selected and do something you did not want to do (like accidentally hug your target instead of attack them). This makes it so that, at the very least, you only need to check what you're holding. The **OPTIONAL** default keybinds **THAT ARE OPTIONAL YOU DON'T HAVE TO USE THEM** were altered so that new players use this new feature, hopefully alleviating some of the hiccups from learning hand swapping. ## Changelog 🆑 qol: Added [OPTIONAL] keybinds to for Swap Left/Right hands. Check your keybinds. [NOT OPTIONAL] /🆑
230 lines
6.2 KiB
Plaintext
230 lines
6.2 KiB
Plaintext
/datum/keybinding/living
|
|
category = CATEGORY_HUMAN
|
|
weight = WEIGHT_MOB
|
|
|
|
/datum/keybinding/living/can_use(client/user)
|
|
return isliving(user.mob)
|
|
|
|
/datum/keybinding/living/resist
|
|
hotkey_keys = list("B")
|
|
name = "resist"
|
|
full_name = "Resist"
|
|
description = "Break free of your current state. Handcuffed? on fire? Resist!"
|
|
keybind_signal = COMSIG_KB_LIVING_RESIST_DOWN
|
|
|
|
/datum/keybinding/living/resist/down(client/user, turf/target)
|
|
. = ..()
|
|
if(.)
|
|
return
|
|
var/mob/living/owner = user.mob
|
|
owner.resist()
|
|
if (owner.hud_used?.resist_icon)
|
|
owner.hud_used.resist_icon.icon_state = "[owner.hud_used.resist_icon.base_icon_state]_on"
|
|
return TRUE
|
|
|
|
/datum/keybinding/living/resist/up(client/user, turf/target)
|
|
. = ..()
|
|
if(.)
|
|
return
|
|
var/mob/living/owner = user.mob
|
|
if (owner.hud_used?.resist_icon)
|
|
owner.hud_used.resist_icon.icon_state = owner.hud_used.resist_icon.base_icon_state
|
|
|
|
/datum/keybinding/living/look_up
|
|
hotkey_keys = list("L")
|
|
name = "look up"
|
|
full_name = "Look Up"
|
|
description = "Look up at the next z-level. Only works if directly below open space."
|
|
keybind_signal = COMSIG_KB_LIVING_LOOKUP_DOWN
|
|
|
|
/datum/keybinding/living/look_up/down(client/user, turf/target)
|
|
. = ..()
|
|
if(.)
|
|
return
|
|
var/mob/living/L = user.mob
|
|
L.look_up()
|
|
return TRUE
|
|
|
|
/datum/keybinding/living/look_up/up(client/user, turf/target)
|
|
. = ..()
|
|
var/mob/living/L = user.mob
|
|
L.end_look()
|
|
return TRUE
|
|
|
|
/datum/keybinding/living/look_down
|
|
hotkey_keys = list(";")
|
|
name = "look down"
|
|
full_name = "Look Down"
|
|
description = "Look down at the previous z-level. Only works if directly above open space."
|
|
keybind_signal = COMSIG_KB_LIVING_LOOKDOWN_DOWN
|
|
|
|
/datum/keybinding/living/look_down/down(client/user, turf/target)
|
|
. = ..()
|
|
if(.)
|
|
return
|
|
var/mob/living/L = user.mob
|
|
L.look_down()
|
|
return TRUE
|
|
|
|
/datum/keybinding/living/look_down/up(client/user, turf/target)
|
|
. = ..()
|
|
var/mob/living/L = user.mob
|
|
L.end_look()
|
|
return TRUE
|
|
|
|
/datum/keybinding/living/rest
|
|
hotkey_keys = list("U")
|
|
name = "rest"
|
|
full_name = "Rest"
|
|
description = "Lay down, or get up."
|
|
keybind_signal = COMSIG_KB_LIVING_REST_DOWN
|
|
|
|
/datum/keybinding/living/rest/down(client/user, turf/target)
|
|
. = ..()
|
|
if(.)
|
|
return
|
|
var/mob/living/living_mob = user.mob
|
|
living_mob.toggle_resting()
|
|
return TRUE
|
|
|
|
/datum/keybinding/living/toggle_combat_mode
|
|
hotkey_keys = list("F")
|
|
name = "toggle_combat_mode"
|
|
full_name = "Toggle Combat Mode"
|
|
description = "Toggles combat mode. Like Help/Harm but cooler."
|
|
keybind_signal = COMSIG_KB_LIVING_TOGGLE_COMBAT_DOWN
|
|
|
|
|
|
/datum/keybinding/living/toggle_combat_mode/down(client/user, turf/target)
|
|
. = ..()
|
|
if(.)
|
|
return
|
|
var/mob/living/user_mob = user.mob
|
|
user_mob.set_combat_mode(!user_mob.combat_mode, FALSE)
|
|
|
|
/datum/keybinding/living/enable_combat_mode
|
|
hotkey_keys = list("4")
|
|
name = "enable_combat_mode"
|
|
full_name = "Enable Combat Mode"
|
|
description = "Enable combat mode."
|
|
keybind_signal = COMSIG_KB_LIVING_ENABLE_COMBAT_DOWN
|
|
|
|
/datum/keybinding/living/enable_combat_mode/down(client/user, turf/target)
|
|
. = ..()
|
|
if(.)
|
|
return
|
|
var/mob/living/user_mob = user.mob
|
|
user_mob.set_combat_mode(TRUE, silent = FALSE)
|
|
|
|
/datum/keybinding/living/disable_combat_mode
|
|
hotkey_keys = list("1")
|
|
name = "disable_combat_mode"
|
|
full_name = "Disable Combat Mode"
|
|
description = "Disable combat mode."
|
|
keybind_signal = COMSIG_KB_LIVING_DISABLE_COMBAT_DOWN
|
|
|
|
/datum/keybinding/living/disable_combat_mode/down(client/user, turf/target)
|
|
. = ..()
|
|
if(.)
|
|
return
|
|
var/mob/living/user_mob = user.mob
|
|
user_mob.set_combat_mode(FALSE, silent = FALSE)
|
|
|
|
/datum/keybinding/living/toggle_move_intent
|
|
hotkey_keys = list("C")
|
|
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_LIVING_TOGGLEMOVEINTENT_DOWN
|
|
|
|
/datum/keybinding/living/toggle_move_intent/down(client/user, turf/target)
|
|
. = ..()
|
|
if(.)
|
|
return
|
|
var/mob/living/M = user.mob
|
|
M.toggle_move_intent()
|
|
return TRUE
|
|
|
|
/datum/keybinding/living/toggle_move_intent/up(client/user, turf/target)
|
|
. = ..()
|
|
var/mob/living/M = user.mob
|
|
M.toggle_move_intent()
|
|
return TRUE
|
|
|
|
/datum/keybinding/living/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_LIVING_TOGGLEMOVEINTENTALT_DOWN
|
|
|
|
/datum/keybinding/living/toggle_move_intent_alternative/down(client/user, turf/target)
|
|
. = ..()
|
|
if(.)
|
|
return
|
|
var/mob/living/M = user.mob
|
|
M.toggle_move_intent()
|
|
return TRUE
|
|
|
|
/datum/keybinding/living/toggle_throw_mode
|
|
hotkey_keys = list("Southwest") // END
|
|
name = "toggle_throw_mode"
|
|
full_name = "Toggle throw mode"
|
|
description = "Toggle throwing the current item or not."
|
|
keybind_signal = COMSIG_KB_LIVING_TOGGLETHROWMODE_DOWN
|
|
|
|
/datum/keybinding/living/toggle_throw_mode/down(client/user)
|
|
. = ..()
|
|
if(.)
|
|
return
|
|
var/mob/living/living_user = user.mob
|
|
living_user.toggle_throw_mode()
|
|
return TRUE
|
|
|
|
/datum/keybinding/living/hold_throw_mode
|
|
hotkey_keys = list("Space")
|
|
name = "hold_throw_mode"
|
|
full_name = "Hold throw mode"
|
|
description = "Hold this to turn on throw mode, and release it to turn off throw mode"
|
|
keybind_signal = COMSIG_KB_LIVING_HOLDTHROWMODE_DOWN
|
|
|
|
/datum/keybinding/living/hold_throw_mode/down(client/user, turf/target)
|
|
. = ..()
|
|
if(.)
|
|
return
|
|
var/mob/living/living_user = user.mob
|
|
living_user.throw_mode_on(THROW_MODE_HOLD)
|
|
|
|
/datum/keybinding/living/hold_throw_mode/up(client/user, turf/target)
|
|
. = ..()
|
|
if(.)
|
|
return
|
|
var/mob/living/living_user = user.mob
|
|
living_user.throw_mode_off(THROW_MODE_HOLD)
|
|
|
|
/datum/keybinding/living/give
|
|
hotkey_keys = list("G")
|
|
name = "Give_Item"
|
|
full_name = "Give item"
|
|
description = "Give the item you're currently holding"
|
|
keybind_signal = COMSIG_KB_LIVING_GIVEITEM_DOWN
|
|
|
|
/datum/keybinding/living/give/can_use(client/user)
|
|
. = ..()
|
|
if (!.)
|
|
return FALSE
|
|
if(!user.mob)
|
|
return FALSE
|
|
if(!HAS_TRAIT(user.mob, TRAIT_CAN_HOLD_ITEMS))
|
|
return FALSE
|
|
return TRUE
|
|
|
|
/datum/keybinding/living/give/down(client/user, turf/target)
|
|
. = ..()
|
|
if(.)
|
|
return
|
|
var/mob/living/living_user = user.mob
|
|
if(!HAS_TRAIT(living_user, TRAIT_CAN_HOLD_ITEMS))
|
|
return
|
|
living_user.give()
|