## About The Pull Request
At roundstart when the intercept report is sent, two announcements are
created at the same time. It's loud and overlaps. This combines them
into a single announcement.
Before:

After:

## Why It's Good For The Game
Two Centcom or any other announcements playing at the same time
(especially with two different sound files) can be annoying and the
sounds distort each other.
## Changelog
🆑 LT3
qol: Roundstart intercept report and security level announcements are
combined into a single announcement
/🆑
## About The Pull Request
Modifies the security level change proc to only fire the nightshift
subsystem if the subsystem is running, and if a lighting change is
required. If a lighting change is required, nightshift has its next fire
set 7 seconds after, so announcements and sounds don't stack.
## Why It's Good For The Game
Nightshift is only updated when required, eliminating nuisance
announcements when levels unrelated to red/delta are selected.
## Changelog
🆑 LT3
code: Changing security levels will only trigger the nightshift
subsystem if lighting changes are required
/🆑
This ports a whole bunch of various PRs and commits from
https://github.com/effigy-se/effigy-se , with heavy refactoring to keep
it fresh for /tg/'s code standards.
## About The Pull Request
The whole slew of announcement touchups lately (as in #78995
(37db1ecbf8) / #79052
(12308dbd3d)) have made me realize how
much this stuff sucks. The author of these new spans was advertising
these in coding general, so I sat down and coded it. Look at the spans,
they're much nicer than what we had going on:
(ignore the capitalized alert status names, this was removed)
<details>
<summary>Dark Mode</summary>


</details>
<details>
<summary>Light Mode</summary>


</details>
This PR also features
* Major announcement code handling cleanup and refactor! There was a lot
of copypasta so let's distill it all down into one proc
* Better cacheing! We were doing a shit load of new string generation
needlessly! That's fixed now.
* Better string concatenation! Lists are better for string tree reasons.
It still works just as well, as you can see from the screenshots above.
Best of all, no fucking `<br>` dogshit everywhere!
* We don't use string equivalency in order to figure out the "type" of
an announcement. It's all defines now. This was a bonus that I just
coded in since it irritated me.
* Minor spellcheck of "announcement".
* All of our HTML string mangling stuff is now all span macros! I love
macros.
## Why It's Good For The Game
In the same vein of adding examine blocks (#67937
(b864589522)) because old examinations
tended to blend in with the chat and everything chat-wise used to suck
really hard- I think this is a really nice way to draw attention to
announcements in the chat box without needing a shit load of line breaks
that just really look ugly and have no real consistency. You can look at
the PRs/commits I linked above for an idea of just how ugly it could be
getting.
I haven't audited every announcement in this PR, we can tweak this down
the line.
## Changelog
🆑 LT3, san7890
add: Announcements have gotten a fresh coat of paint! They should be
popping with splendid new colors and should have a lot less ugly
linebreaks, while still managing to keep your attention at the screen.
/🆑
I know we didn't need to port all the CSS themes but I added them
anyways in case admins wanna have some fun.
There can probably be more code improvements, just figured I'd crack it
out while I had time.
The colors also seem fine, let me know if we need more redness or
something. It's okay for stuff to be toned down a bit imo, but that
should be done after a hot second.
---------
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
## About The Pull Request
The emergency shuttle maintains its security level coefficient and does
the calculation instead of outside procs that aren't aware of what alert
it was when the shuttle was first called.
If the shuttle auto-call timer should be capped at the current security
level timer, that can be done in a different PR.
## Why It's Good For The Game
Fixes https://github.com/tgstation/tgstation/issues/78159
## Changelog
🆑 LT3
fix: Emergency shuttle should correctly scale timer up/down when
changing security levels
/🆑
* Fixes security level sounds not playing.
- The sound var was never set, turns out it used the default announcement sounds for alert or no alert.
* Documentation tweak
* Thank you san
Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: san7890 <the@san7890.com>