[NO GBP] Adds a UI state to number inputs because Im an idiot and I forgot (#75103)
## About The Pull Request
Title.
## Why It's Good For The Game
I broke everything.
* Allows TGUI input datums to accept a ui_state as an argument (#75029)
## About The Pull Request
Title. Adds a new argument to the factory proc, the New(), adds a
variable, and changes ui_state() to return that variable. The variable
is always_state by default.
## Why It's Good For The Game
It allows custom behavior to be injected into the ui_state logic of the
basic input datums. This is good because there are circumstances where
always_state isn't acceptable. Ex. you open tgui_input_list(mob/user),
and the mob dies or is deleted. The list stays open, the contents can be
picked, despite this not being what the author wants. With this PR, you
can make sure the list closes and inputs are invalid in circumstances of
your choosing without having to completely re-make the input procs via
copypasting.
## Changelog
🆑
code: TGUI input datums can now accept custom ui_states
/🆑
* Allows TGUI input datums to accept a ui_state as an argument
---------
Co-authored-by: nikothedude <59709059+nikothedude@users.noreply.github.com>
* Tgui input checkboxes (#74544)
## About The Pull Request
A request from @ NamelessFairy: A tgui window that gives the user
multiple items to select. The window returns the list of items selected.
The ui design is open to critique, reviews, etc. Pretty simplistic.

## Why It's Good For The Game
Sequentially asking yes/no is pretty ugly
## Changelog
🆑
ui: Adds a new tgui input window for checkboxes.
/🆑
---------
Co-authored-by: Jeremiah <jlsnow301@ pm.me>
* Tgui input checkboxes
---------
Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
Co-authored-by: Jeremiah <jlsnow301@ pm.me>
* literally just hook asay into tgui say (#73212)
## About The Pull Request
pressing f3 now opens asay in tgui say
## Why It's Good For The Game

also fixes double-escaped special characters caused by #72407 and
finally gets rid of the gross regular tgui input popup
## Changelog
🆑
fix: asays are no longer double-escaped
admin: asay now uses tgui say
/🆑
---------
Co-authored-by: Scriptis <scriptis@ duck.com>
* literally just hook asay into tgui say
---------
Co-authored-by: scriptis <scriptif@gmail.com>
Co-authored-by: Scriptis <scriptis@ duck.com>
* Lets tgui input actually accept decimals where allowed to (#71453)
It was rounded off ui side even if dm side allowed it.
* Lets tgui input actually accept decimals where allowed to
Co-authored-by: AnturK <AnturK@users.noreply.github.com>
* [NO GBP] Fixes blindness icons on lower station z-levels (#70608)
I previously tested that footsteps worked when hearing them from a lower Z-level but forgot to test if you can see them while on a lower z-level.
It didn't occur to me that offsetted planecube planes wouldn't work with being over the fullscreen blindness mask past the top level but that makes sense in retrospect.
So the blindness effects (via play_fov_effect()) are now on the fullscreen plane. Partially reverted doing this with manually talking bubbles as well so they look normal again, and then added a FOV effect as well for chat bubbles.
NOTE: Runetext is in general also only above the blind mask on the highest station level and below on others for the same planecube issue but that's a whole other can of worms.
* [NO GBP] Fixes blindness icons on lower station z-levels
Co-authored-by: Tastyfish <crazychris32@gmail.com>
* Makes typing indicators use your bubble icon (#67872)
About The Pull Request
Typing indicators now rely on what bubble icon you have, rather than all being the default.
Most speech bubbles with Admin Combo HUD: https://cdn.discordapp.com/attachments/751307359351210014/992025794207551538/speechbubbles.mp4
A new sprite has been added for every bubble type for this to properly work, and nearly all bubble icons have been resprited by @ Crumpaloo
All bubbles have been moved to the right side of the user as to not cover their HUDs, so it is now consistent with the default bubbles.
Why It's Good For The Game
This sucks:
https://user-images.githubusercontent.com/53777086/174477936-98d92891-7d2d-409c-8b9b-f92cd046edc4.mp4
It also lets us re-add one of the main perks of the Lawyer's badge, which is currently locked to not being on runechat, an option that might not exist in the future.
Changelog
cl Crumpaloo, jlsnow301, JohnFulpWillard
add: Typing indicators now use your speech bubble type, rather than all being the same, so Cyborgs no longer look like a human when typing, and Lawyers have that cool speech bubble again.
/cl
* Makes typing indicators use your bubble icon
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* TGUI Say no longer deletes your currently typed message on history (#67971)
first commit
* TGUI Say no longer deletes your currently typed message on history
Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
* Fixes TGUI light mode preference-related runtime (#67880)
It runtimed every time a client would connect, because they had no mob. Whoops!
Why It's Good For The Game
Runtime man bad.
Changelog
cl GoldenAlpharex
fix: Fixed a runtime related to the TGUI white mode preference that would happen every time someone would connect to the server.
/cl
* Fixes TGUI light mode preference-related runtime
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>