Files
Bubberstation/code/datums/keybinding/admin.dm
TiviPlus d53fb89b86 Keyboard presses (and thus keybindings) will now report the turf the mouse was over when a player presses or releases a key (#90480)
## About The Pull Request

Semi WIP cus I need to probably make an issue report for lummox, but
apart from that ready for review

Uses the new mouse-pos so we can combine it with screen size and size to
estimate very accurately the mouse position in turf terms. In future
also will need to add a way to continously poll the users mouse pos but
this alone is very useful

## Why It's Good For The Game

This isnt used yet, but the benefits are pretty damn obvious (hitting E
and dashing towards where your mouse??? 1990s features?????)

## Changelog
🆑
refactor: Added the possibility for keybindings to report the turf they
clicked on.
/🆑

---------

Co-authored-by: TiviPlus <572233640+TiviPlus@users.noreply.com>
2025-05-16 22:03:01 -07:00

140 lines
3.6 KiB
Plaintext

/datum/keybinding/admin
category = CATEGORY_ADMIN
weight = WEIGHT_ADMIN
/datum/keybinding/admin/can_use(client/user)
return user.holder ? TRUE : FALSE
/datum/keybinding/admin/admin_say
hotkey_keys = list("F3")
name = ADMIN_CHANNEL
full_name = "Admin say"
description = "Talk with other admins."
keybind_signal = COMSIG_KB_ADMIN_ASAY_DOWN
/datum/keybinding/admin/admin_ghost
hotkey_keys = list("F5")
name = "admin_ghost"
full_name = "Aghost"
description = "Go ghost"
keybind_signal = COMSIG_KB_ADMIN_AGHOST_DOWN
/datum/keybinding/admin/admin_ghost/down(client/user, turf/target)
. = ..()
if(.)
return
SSadmin_verbs.dynamic_invoke_verb(user, /datum/admin_verb/admin_ghost)
return TRUE
/datum/keybinding/admin/player_panel_new
hotkey_keys = list("F6")
name = "player_panel_new"
full_name = "Player Panel New"
description = "Opens up the new player panel"
keybind_signal = COMSIG_KB_ADMIN_PLAYERPANELNEW_DOWN
/datum/keybinding/admin/player_panel_new/down(client/user, turf/target)
. = ..()
if(.)
return
user.holder.player_panel_new()
return TRUE
/datum/keybinding/admin/toggle_buildmode_self
hotkey_keys = list("F7")
name = "toggle_buildmode_self"
full_name = "Toggle Buildmode Self"
description = "Toggles buildmode"
keybind_signal = COMSIG_KB_ADMIN_TOGGLEBUILDMODE_DOWN
/datum/keybinding/admin/toggle_buildmode_self/down(client/user, turf/target)
. = ..()
if(.)
return
SSadmin_verbs.dynamic_invoke_verb(user, /datum/admin_verb/build_mode_self)
return TRUE
/datum/keybinding/admin/stealthmode
hotkey_keys = list("CtrlF8")
name = "stealth_mode"
full_name = "Stealth mode"
description = "Enters stealth mode"
keybind_signal = COMSIG_KB_ADMIN_STEALTHMODETOGGLE_DOWN
/datum/keybinding/admin/stealthmode/down(client/user, turf/target)
. = ..()
if(.)
return
SSadmin_verbs.dynamic_invoke_verb(user, /datum/admin_verb/stealth)
return TRUE
/datum/keybinding/admin/invisimin
hotkey_keys = list("F8")
name = "invisimin"
full_name = "Admin invisibility"
description = "Toggles ghost-like invisibility (Don't abuse this)"
keybind_signal = COMSIG_KB_ADMIN_INVISIMINTOGGLE_DOWN
/datum/keybinding/admin/invisimin/down(client/user, turf/target)
. = ..()
if(.)
return
SSadmin_verbs.dynamic_invoke_verb(user, /datum/admin_verb/invisimin)
return TRUE
/datum/keybinding/admin/deadsay
hotkey_keys = list("F10")
name = "dsay"
full_name = "deadsay"
description = "Allows you to send a message to dead chat"
keybind_signal = COMSIG_KB_ADMIN_DSAY_DOWN
/datum/keybinding/admin/deadsay/down(client/user, turf/target)
. = ..()
if(.)
return
user.get_dead_say()
return TRUE
/datum/keybinding/admin/deadmin
hotkey_keys = list("Unbound")
name = "deadmin"
full_name = "Deadmin"
description = "Shed your admin powers"
keybind_signal = COMSIG_KB_ADMIN_DEADMIN_DOWN
/datum/keybinding/admin/deadmin/down(client/user, turf/target)
. = ..()
if(.)
return
SSadmin_verbs.dynamic_invoke_verb(user, /datum/admin_verb/deadmin)
return TRUE
/datum/keybinding/admin/readmin
hotkey_keys = list("Unbound")
name = "readmin"
full_name = "Readmin"
description = "Regain your admin powers"
keybind_signal = COMSIG_KB_ADMIN_READMIN_DOWN
/datum/keybinding/admin/readmin/down(client/user, turf/target)
. = ..()
if(.)
return
user.readmin()
return TRUE
/datum/keybinding/admin/view_tags
hotkey_keys = list("F9")
name = "view_tags"
full_name = "View Tags"
description = "Open the View-Tags menu"
keybind_signal = COMSIG_KB_ADMIN_VIEWTAGS_DOWN
/datum/keybinding/admin/view_tags/down(client/user, turf/target)
. = ..()
if(.)
return
SSadmin_verbs.dynamic_invoke_verb(user, /datum/admin_verb/display_tags)
return TRUE