## Mirror of PR #25602: [Attempt at a more noticably whispered
bubble](https://github.com/space-wizards/space-station-14/pull/25602)
from <img src="https://avatars.githubusercontent.com/u/10567778?v=4"
alt="space-wizards" width="22"/>
[space-wizards](https://github.com/space-wizards)/[space-station-14](https://github.com/space-wizards/space-station-14)
###### `4f698a6e0d74d28713e2dabbfb20969477538e11`
PR opened by <img
src="https://avatars.githubusercontent.com/u/88361930?v=4"
width="16"/><a href="https://github.com/maylokana"> maylokana</a> at
2024-02-26 14:44:39 UTC
PR merged by <img
src="https://avatars.githubusercontent.com/u/19864447?v=4"
width="16"/><a href="https://github.com/web-flow"> web-flow</a> at
2024-03-13 08:03:32 UTC
---
PR changed 2 files with 10 additions and 1 deletions.
The PR had the following labels:
---
<details open="true"><summary><h1>Original Body</h1></summary>
> <!-- Please read these guidelines before opening your PR:
https://docs.spacestation14.io/en/getting-started/pr-guideline -->
> <!-- The text between the arrows are comments - they will not be
visible on your PR. -->
>
> ## About the PR
> <!-- What did you change in this PR? -->
> Added a bigger difference between talk bubbles and whisper bubbles
>
> ## Why / Balance
> <!-- Why was it changed? Link any discussions or issues here. Please
discuss how this would affect game balance. -->
> Because (at least for me) it was a little difficult to see when
someone was whispering vs when someone was normally speaking. There is a
small change between borders, but it is hard to tell between a lot of
bubbles at once
>
> ## Technical details
> <!-- If this is a code change, summarize at high level how your new
code works. This makes it easier to review. -->
> There is probably a better way to do this
> One new line in `SpeechBubble` checking if `speechStyleClass` is
`"whisperBox"`, if true manually formats `bubbleContent`
>
> ## Media
> <!--
> PRs which make ingame changes (adding clothing, items, new features,
etc) are required to have media attached that showcase the changes.
> Small fixes/refactors are exempt.
> Any media may be used in SS14 progress reports, with clear credit
given.
>
> If you're unsure whether your PR will require media, ask a maintainer.
>
> Check the box below to confirm that you have in fact seen this (put an
X in the brackets, like [X]):
> -->
> Screenshot showing new differences between the two bubbles
>

> - [x] I have added screenshots/videos to this PR showcasing its
changes ingame, **or** this PR does not require an ingame showcase
>
> ## Breaking changes
> <!--
> List any breaking changes, including namespace, public
class/method/field changes, prototype renames; and provide instructions
for fixing them. This will be pasted in #codebase-changes.
> -->
> None that I know of
>
> **Changelog**
> <!--
> Make players aware of new features and changes that could affect how
they play the game by adding a Changelog entry. Please read the
Changelog guidelines located at:
https://docs.spacestation14.io/en/getting-started/pr-guideline#changelog
> -->
>
> 🆑
> - tweak: Italicized whisper bubbles
>
</details>
Co-authored-by: maylokana <88361930+maylokana@users.noreply.github.com>
* Adds option to disable character names in chat/speechbubbles
* Moved the coloring of names to clientside
* Move string functions to SharedChatSystem to avoid duplicate code in SpeechBubble.cs
* Changed to be put under Accessibility section
* Cache CVar
(cherry picked from commit 247be5b5c770261544f4e468ea09422efb0f7028)
* Compat fix for engine UI FrameUpdate order change.
Engine is getting FrameUpdate changed to run BEFORE style & layout. This is needed to avoid exploding.
* Fix speech bubble layout on first frame.
* lord save me
* UI/ChatBox: Use the new `defStyle` param for `RenderMarkup`
The previous iteration didn't work because `AddMessage` can't inherit
its color from the PushColor (since we're not doing actual tag stacks
anymore).
* rebase touchup
* UI is an abbreviation, in XAML.
* Chat improvements.
Changing the "selected" channel on the chat box is now only done via the tab cycle or clicking the button.
Prefix chars like [ will temporarily replace the active chat channel. This is based 100% on message box contents so there's no input eating garbage or anything.
Pressing specific channel focusing keys inserts the correct prefix character, potentially replacing an existing one. Existing chat contents are left in place just fine and selected so you can easily delete them (but are not forced to).
Channel focusing keys now match the QWERTY key codes.
Deadchat works now.
Console can no longer be selected as a chat channel, but you can still use it with the / prefix.
Refactored the connection between chat manager and chat box so that it's event based, reducing tons of spaghetti everywhere.
Main chat box control uses XAML now.
General cleanup.
Added focus hotkeys for deadchat/console. Also added prefix for deadchat.
Local chat is mapped to deadchat when a ghost.
Probably more stuff I can't think of right now.
* Add preferred channel system to chat box to automatically select local.
I can't actually test this works because the non-lobby chat box code is complete disastrous spaghetti and i need to refactor it.
* Move chatbox resizing and all that to a subclass.
Refine preferred channel & deadchat mapping code further.
* Don't do prefixes for channels you don't have access to.
* Change format on channel select popup.
* Clean up code with console handling somewhat.