Files
John Willard 475fe94750 Say verb & skin shenanigans (Pray is a hotkey, Whisper is in commandbar) (#95477)
## About The Pull Request

Removes Say/Me/OOC/Pray/Whisper as stat panel verbs

1. Adds a hotkey for Pray, P by default, and also adds it to the list of
say modes (so tabbing on tgui-say will show it)
2. Makes Whisper a button on the commandbar, which is literally just
``say "#``, letting players know it exists in a more direct manner.
3. You now need 2 characters to be considered "typing", so `#` for
whisper won't cause you to start to think anymore.

Also messes around with the skin a bit, moving the commandbar to be
separate from the chat window, therefore not resizing if the chat
window/stat panel splitter changes, since I was already messing with the
command bar entirely I might as well look into getting this fixed. This
will go even better with
https://github.com/tgstation/tgstation/pull/95383 as it wont stretch the
command bar when the stat panel is closed.



https://github.com/user-attachments/assets/26cd9df0-7582-445e-9f67-c03d2c9cf46d


Also adds a new Adminhelp submenu for the Pray button for additional
visibility



https://github.com/user-attachments/assets/64f31f86-92a2-4f04-b248-6bbe301919fe


My current goal is the deletion of the IC tab so I've been trying to
inch towards that.

## Why It's Good For The Game

Moves Praying & Whispering into something that's more easily seen by
newer players, and helps cut some of the more useless verbs out of the
stat panel.

This is also part of my project you can see more of here -
https://hackmd.io/443_dE5lRWeEAp9bjGcKYw?view

## Changelog

🆑
qol: Pray verb is now a hotkey, Whisper is now a command bar button, and
all say verbs have been removed from the stat panel.
qol: Admin button on the escape menu is now its own section for praying,
as well as seeing your latest ticket & admin notes.
fix: Resizing the stat panel will no longer change the size of the
command bar.
/🆑
2026-04-26 07:20:58 +03:00

84 lines
2.4 KiB
Plaintext

/datum/escape_menu/proc/show_admin_page()
page_holder.give_screen_object(
new /atom/movable/screen/escape_menu/lobby_button/small(
null,
/* hud_owner = */ null,
"Back",
/* tooltip_text = */ null,
/* button_screen_loc = */ "TOP:-30,LEFT:30",
CALLBACK(src, PROC_REF(open_home_page)),
/* button_overlay = */ "back",
)
)
page_holder.give_screen_object(
new /atom/movable/screen/escape_menu/text/clickable/admin_help(
null,
/* hud_owner = */ null,
/* escape_menu = */ src,
/* button_text = */ "Create Admin Ticket",
/* offset = */ list(-136, 28),
/* font_size = */ 24,
/* on_click_callback = */ CALLBACK(src, PROC_REF(create_ticket)),
)
)
page_holder.give_screen_object(
new /atom/movable/screen/escape_menu/text/clickable/admin_ticket_notification(
null,
/* hud_owner = */ null,
/* escape_menu = */ src,
/* button_text = */ "View Latest Ticket",
/* offset = */ list(-171, 28),
/* font_size = */ 24,
/* on_click_callback = */ CALLBACK(src, PROC_REF(view_latest_ticket)),
)
)
page_holder.give_screen_object(
new /atom/movable/screen/escape_menu/text/clickable(
null,
/* hud_owner = */ null,
/* escape_menu = */ src,
/* button_text = */ "Pray",
/* offset = */ list(-206, 30),
/* font_size = */ 24,
/* on_click_callback = */ CALLBACK(src, PROC_REF(pray)),
)
)
if(CONFIG_GET(flag/see_own_notes))
page_holder.give_screen_object(
new /atom/movable/screen/escape_menu/text/clickable(
null,
/* hud_owner = */ null,
/* escape_menu = */ src,
/* button_text = */ "See Notes",
/* offset = */ list(-241, 30),
/* font_size = */ 24,
/* on_click_callback = */ CALLBACK(src, PROC_REF(see_notes)),
)
)
/datum/escape_menu/proc/create_ticket()
if(!(/client/verb/adminhelp in client?.verbs))
return
client?.adminhelp()
qdel(src)
///Opens your latest admin ticket.
/datum/escape_menu/proc/view_latest_ticket()
client?.view_latest_ticket()
///Manually calls the user's pray() hotkey (which is where prefs is taken into account).
/datum/escape_menu/proc/pray()
var/datum/keybinding/client/communication/pray/pray_verb = GLOB.keybindings_by_name[/datum/keybinding/client/communication/pray::name]
pray_verb.down(client)
qdel(src)
/datum/escape_menu/proc/see_notes()
if(!CONFIG_GET(flag/see_own_notes))
to_chat(client.mob, span_notice("Seeing notes has been disabled on this server."))
return
browse_messages(null, client.ckey, null, TRUE)
qdel(src)