Files
John Willard 2ef5704c30 Adds a keybind for 'precise' dropping (like SS14) (#93790)
## About The Pull Request


https://github.com/user-attachments/assets/531f1456-72a1-4215-ae9e-4f4bf143b8c5

<img width="429" height="93" alt="image"
src="https://github.com/user-attachments/assets/1440fb60-a6b8-46c3-9bee-5a30017e2265"
/>

## Why It's Good For The Game

There's been SS14 players moving to SS13 and finding dropping in 14 is
better, which I kinda agree as it allows you to be more precise with x/y
dropping.

## Changelog

🆑
qol: There's a keybind (default is Ctrl+X, rebindable) for the drop
hotkey to drop where your mouse is (similar to SS14).
/🆑
2025-11-18 17:39:20 -07:00

77 lines
2.6 KiB
Plaintext

/datum/keybinding/human
category = CATEGORY_HUMAN
weight = WEIGHT_MOB
/datum/keybinding/human/can_use(client/user)
return ishuman(user.mob)
/datum/keybinding/human/quick_equip
hotkey_keys = list("R")
name = "quick_equip"
full_name = "Quick equip"
description = "Quickly puts an item in the best slot available"
keybind_signal = COMSIG_KB_HUMAN_QUICKEQUIP_DOWN
/datum/keybinding/human/quick_equip/down(client/user, turf/target, mousepos_x, mousepos_y)
. = ..()
if(.)
return
var/mob/living/carbon/human/H = user.mob
H.quick_equip()
return TRUE
/datum/keybinding/human/quick_equip_belt
hotkey_keys = list("ShiftR")
name = "quick_equip_belt"
full_name = "Quick equip belt"
description = "Put held thing in belt or take out most recent thing from belt"
///which slot are we trying to quickdraw from/quicksheathe into?
var/slot_type = ITEM_SLOT_BELT
///what we should call slot_type in messages (including failure messages)
var/slot_item_name = "belt"
keybind_signal = COMSIG_KB_HUMAN_QUICKEQUIPBELT_DOWN
/datum/keybinding/human/quick_equip_belt/down(client/user, turf/target, mousepos_x, mousepos_y)
. = ..()
if(.)
return
var/mob/living/carbon/human/H = user.mob
H.smart_equip_targeted(slot_type, slot_item_name)
return TRUE
/datum/keybinding/human/quick_equip_belt/quick_equip_bag
hotkey_keys = list("ShiftB")
name = "quick_equip_bag"
full_name = "Quick equip bag"
description = "Put held thing in backpack or take out most recent thing from backpack"
slot_type = ITEM_SLOT_BACK
slot_item_name = "backpack"
keybind_signal = COMSIG_KB_HUMAN_BAGEQUIP_DOWN
/datum/keybinding/human/quick_equip_belt/quick_equip_suit_storage
hotkey_keys = list("ShiftQ")
name = "quick_equip_suit_storage"
full_name = "Quick equip suit storage slot"
description = "Put held thing in suit storage slot item or take out most recent thing from suit storage slot item"
slot_type = ITEM_SLOT_SUITSTORE
slot_item_name = "suit storage slot item"
keybind_signal = COMSIG_KB_HUMAN_SUITEQUIP_DOWN
/datum/keybinding/human/quick_equip_belt/quick_equip_lpocket
hotkey_keys = list("Ctrl1")
name = "quick_equip_lpocket"
full_name = "Quick equip left pocket"
description = "Put in or take out an item in left pocket"
slot_type = ITEM_SLOT_LPOCKET
slot_item_name = "left pocket"
keybind_signal = COMSIG_KB_HUMAN_LPOCKETEQUIP_DOWN
/datum/keybinding/human/quick_equip_belt/quick_equip_rpocket
hotkey_keys = list("Ctrl2")
name = "quick_equip_rpocket"
full_name = "Quick equip right pocket"
description = "Put in or take out an item in right pocket"
slot_type = ITEM_SLOT_RPOCKET
slot_item_name = "right pocket"
keybind_signal = COMSIG_KB_HUMAN_RPOCKETEQUIP_DOWN