This uses a browser skin element to spy on the command bar and report
back to the server what verb is currently in it and how many characters
it has. it skips reporting if the text hasn't changed since the last
report.
im intentionally not providing the full text in the command bar to the
server, while designing the system so new verbs can be given typing
indicators by editing DM code, not html code.
The report rate is once a second but this could be lowered or tweaked.
Both the tgui say window being open and this system being active because
the command bar starts with `say "` is undefined behavior, mostly the
first one to end the indicator will just freeze indicators for the other
one until it too ends its current indicator session.
The system waits until something besides the `"` is in the argument to
say.
It is enabled for verbs `say`, `me`, and `whisper`.
I don't actually know if this is the case for tgui say. this is a one
line tweak anyways so let me know if this should be changed.
[(This pr closes a
bounty)](https://tgstation13.org/phpBB/viewtopic.php?p=726634#p726634)
🆑 MrStonedOne & Lilah Novi
add: Say commands typed in the command bar now trigger typing indicators
/🆑
---------
Co-authored-by: san7890 <the@ san7890.com>
* Fixes the typing indicator (#80153)
## About The Pull Request
It was very specifically broken by [this
commit](https://github.com/tgstation/tgstation/pull/80122/commits/94d00aa526f31ed0bc8357f060d2c190d2ad87c7),
because it wrongfully changed the logic. Now the typing indicator is
back, it's no longer just the thinking indicator.
## Why It's Good For The Game
Typing indicator is meant to be there, now it's back! No more awkward
flickering!
## Changelog
🆑 GoldenAlpharex
fix: The typing indicator has overcome its shyness and is now back to
its usual form.
/🆑
* Fixes the typing indicator
---------
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* Moves `thinking_IC` variable to a trait (#80122)
## About The Pull Request
This was another boolean that was used to just manage stuff codeside
that really was not accessed _too_ much and is ultimately not useful as
a variable on `/mob`. This just moves it to a trait because it's only
really used in a few spots for a similar intent+purpose.
## Why It's Good For The Game
Less stuff to deal with in the average view variables window whenever
looking at a mob, which is really nice and welcome.
## Changelog
Doesn't concern players.
* Moves `thinking_IC` variable to a trait
---------
Co-authored-by: san7890 <the@san7890.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>
* 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>