Files
Alexis 21b4095dfd [MDB IGNORE] [IDB IGNORE] Upstream Sync - 04/17/2026 (#5453)
Upstream 04/17/2026

fixes https://github.com/Bubberstation/Bubberstation/issues/5549

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: tgstation-ci[bot] <179393467+tgstation-ci[bot]@users.noreply.github.com>
Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Rhials <28870487+Rhials@users.noreply.github.com>
Co-authored-by: rageguy505 <54517726+rageguy505@users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Aliceee2ch <160794176+Aliceee2ch@users.noreply.github.com>
Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>
Co-authored-by: Tsar-Salat <62388554+Tsar-Salat@users.noreply.github.com>
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
Co-authored-by: Maxipat <108554989+Maxipat112@users.noreply.github.com>
Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: SimplyLogan <47579821+loganuk@users.noreply.github.com>
Co-authored-by: loganuk <fakeemail123@aol.com>
Co-authored-by: Leland Kemble <70413276+lelandkemble@users.noreply.github.com>
Co-authored-by: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com>
Co-authored-by: Roxy <75404941+TealSeer@users.noreply.github.com>
Co-authored-by: Lucy <lucy@absolucy.moe>
Co-authored-by: siliconOpossum <138069572+siliconOpossum@users.noreply.github.com>
Co-authored-by: Isratosh <Isratosh@hotmail.com>
Co-authored-by: TheRyeGuyWhoWillNowDie <70169560+TheRyeGuyWhoWillNowDie@users.noreply.github.com>
Co-authored-by: Neocloudy <88008002+Neocloudy@users.noreply.github.com>
Co-authored-by: Alexander V. <volas@ya.ru>
Co-authored-by: ElGitificador <168473461+ElGitificador@users.noreply.github.com>
Co-authored-by: Twaticus <46540570+Twaticus@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
Co-authored-by: Cameron Lennox <killer65311@gmail.com>
Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Iamgoofball <iamgoofball@gmail.com>
Co-authored-by: Layzu666 <121319428+Layzu666@users.noreply.github.com>
Co-authored-by: Arturlang <24881678+Arturlang@users.noreply.github.com>
Co-authored-by: _0Steven <42909981+00-Steven@users.noreply.github.com>
Co-authored-by: mrmanlikesbt <99309552+mrmanlikesbt@users.noreply.github.com>
Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com>
Co-authored-by: John F. Kennedy <54908920+MacaroniCritter@users.noreply.github.com>
Co-authored-by: Cursor <102828457+theselfish@users.noreply.github.com>
Co-authored-by: Josh <josh.adam.powell@gmail.com>
Co-authored-by: Josh Powell <josh.powell@softwire.com>
Co-authored-by: Yobrocharlie <Charliemiller5617@gmail.com>
Co-authored-by: Hardly3D <66234359+Hardly3D@users.noreply.github.com>
Co-authored-by: shayoki <96078776+shayoki@users.noreply.github.com>
Co-authored-by: LT3 <83487515+lessthnthree@users.noreply.github.com>
2026-05-16 00:56:00 +02:00

232 lines
6.8 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, mousepos_x, mousepos_y)
. = ..()
if(.)
return
var/mob/living/owner = user.mob
owner.resist()
if (owner.hud_used?.screen_objects[HUD_MOB_RESIST])
owner.hud_used.screen_objects[HUD_MOB_RESIST].icon_state = "[owner.hud_used.screen_objects[HUD_MOB_RESIST].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?.screen_objects[HUD_MOB_RESIST])
owner.hud_used.screen_objects[HUD_MOB_RESIST].icon_state = owner.hud_used.screen_objects[HUD_MOB_RESIST].base_icon_state
/datum/keybinding/living/look_up
// hotkey_keys = list("L") // ORIGINAL
hotkey_keys = list("P") //SKYRAT EDIT CHANGE - CUSTOMIZATION
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, mousepos_x, mousepos_y)
. = ..()
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(";") // ORIGINAL
hotkey_keys = list("\[") //SKYRAT EDIT CHANGE - CUSTOMIZATION
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, mousepos_x, mousepos_y)
. = ..()
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, mousepos_x, mousepos_y)
. = ..()
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, mousepos_x, mousepos_y)
. = ..()
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, mousepos_x, mousepos_y)
. = ..()
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, mousepos_x, mousepos_y)
. = ..()
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("Alt") //SKYRAT EDIT CHANGE - C IS FOR COMBAT INDICATOR - ORIGINAL: 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, mousepos_x, mousepos_y)
. = ..()
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_KEY)
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, mousepos_x, mousepos_y)
. = ..()
if(.)
return
var/mob/living/M = user.mob
M.toggle_move_intent()
return TRUE
/datum/keybinding/living/toggle_throw_mode
hotkey_keys = list("R", "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, mousepos_x, mousepos_y)
. = ..()
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, mousepos_x, mousepos_y)
. = ..()
if(.)
return
var/mob/living/living_user = user.mob
if(!HAS_TRAIT(living_user, TRAIT_CAN_HOLD_ITEMS))
return
living_user.give()