Files
John Willard cc8c6916eb Adds a sleep icon (and fixes Alien HUD a bit) (#91256)
## About The Pull Request

Adds a new HUD element that only shows up when you're resting that
flicks when you click it once, and puts you to sleep for 40 seconds if
you double click it (so you don't accidentally sleep yourself for 40
seconds), which is meant to replace the verb in the stat panel.
Doesn't show up if you're sleep immune.
I also fixed alien huds a bit, putting rest on the right side where it
is for every other mob, and brought the floor change buttons down to
compensate.

New Larva HUD (other xenos have Throw between rest and sleep)

![image](https://github.com/user-attachments/assets/890faa34-4929-418b-ba88-d007bd1e6a4e)

Demonstration


https://github.com/user-attachments/assets/11f7574d-dd6d-4da5-ab39-6fcf6d6694b9

Rest can be seen in IDB

### New accessibility setting

As a compromise to putting a tgui confirmation menu in your face or
requiring a double click, I added a new setting in accessibility tab
that allows you to disable "double click" features. So far all it does
is give a tgui menu instead of require double click for sleeping, and
allow you to further examine things with a linked button in base
examine.

## Why It's Good For The Game

Sleep is currently only a verb available in the stat panel, this
provides an alternative so it doesn't become a chatbar-only verb when
the stat panel is removed. It's also just good feedback to the player
that this action exists.
2025-05-30 03:00:01 -04:00

51 lines
1.6 KiB
Plaintext

/datum/hud/larva
ui_style = 'icons/hud/screen_alien.dmi'
/datum/hud/larva/New(mob/owner)
..()
var/atom/movable/screen/using
action_intent = new /atom/movable/screen/combattoggle/flashy(null, src)
action_intent.icon = ui_style
action_intent.screen_loc = ui_combat_toggle
static_inventory += action_intent
floor_change = new /atom/movable/screen/floor_changer(null, src)
floor_change.icon = ui_style
floor_change.screen_loc = ui_alien_floor_change
static_inventory += floor_change
healths = new /atom/movable/screen/healths/alien(null, src)
infodisplay += healths
alien_queen_finder = new /atom/movable/screen/alien/alien_queen_finder(null, src)
infodisplay += alien_queen_finder
pull_icon = new /atom/movable/screen/pull(null, src)
pull_icon.icon = 'icons/hud/screen_alien.dmi'
pull_icon.update_appearance()
pull_icon.screen_loc = ui_above_movement
hotkeybuttons += pull_icon
rest_icon = new /atom/movable/screen/rest(null, src)
rest_icon.icon = ui_style
rest_icon.screen_loc = ui_rest
rest_icon.update_appearance()
static_inventory += rest_icon
sleep_icon = new /atom/movable/screen/sleep(null, src)
sleep_icon.icon = ui_style
sleep_icon.screen_loc = ui_drop_throw
using = new/atom/movable/screen/language_menu(null, src)
using.screen_loc = ui_alien_language_menu
static_inventory += using
using = new /atom/movable/screen/navigate(null, src)
using.screen_loc = ui_alien_navigate_menu
static_inventory += using
zone_select = new /atom/movable/screen/zone_sel/alien(null, src)
zone_select.update_appearance()
static_inventory += zone_select