Reworks the styling of the announcements and expands major announcements to also be colourable. (#79236)

## About The Pull Request
The styling of the announcements has been reworked and major
announcements can now be coloured too. Syndicate and hostile
announcements have been given a red/orange. Wizard federation now has a
purple colour.
Admins can set what colour they want their announcements to be and they
can also set the announcement subheader now.
The colour scheme for darkmode has been changed slightly and the colour
scheme for lightmode has been completely revamped.
Main text body of the announcements are no longer striped to allow for
easier reading.
Rolled back the changes to deadchat notifications, they're now back to
being normal text.

Shuttle-related announcements now have an orange background
<details>
<summary>Light mode pictures</summary>


![image](https://github.com/tgstation/tgstation/assets/37270891/30f56511-5c98-48ae-9f72-605a813b3103)


![image](https://github.com/tgstation/tgstation/assets/37270891/18741f85-834d-40d6-a7d3-b179760cebfa)


![image](https://github.com/tgstation/tgstation/assets/37270891/e6df8e19-8bb7-4aa4-9e44-f5d6d78563e0)


![image](https://github.com/tgstation/tgstation/assets/37270891/d791f0c5-bcc9-4f39-8c49-e6552e3dbfdd)

</details>

<details>
<summary>Dark mode pictures</summary>


![image](https://github.com/tgstation/tgstation/assets/37270891/5c383dd4-b435-4a2e-8e28-b78e73c4da96)


![image](https://github.com/tgstation/tgstation/assets/37270891/46dd1d1a-22b4-4613-85d3-aeb5be26b3b2)


![image](https://github.com/tgstation/tgstation/assets/37270891/e3b28b75-42b7-467a-b23d-748b12e3c093)


![image](https://github.com/tgstation/tgstation/assets/37270891/6a606798-42ac-4c1e-9246-9ff8f478239d)

</details>

## Why It's Good For The Game
The colours for light mode were hard to read due to bad colour
combinations, which caused the foreground and background to have too low
contrast. Additionally, I felt like the styling was less immersive
overall and that there didn't need to be so much noise over the main
text body.

## Changelog
🆑
add: Reworked the colour schemes for the minor and major announcements
as well as their layout
del: Rolled back changes to deadchat notifications
admin: Admins can now select the colour of their announcements as well
as the subheader when creating a command report.
/🆑

---------

Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com>
This commit is contained in:
Watermelon914
2023-10-26 05:42:32 +01:00
committed by GitHub
parent db2b00bf8f
commit 9dcef290ec
14 changed files with 370 additions and 111 deletions
+21 -1
View File
@@ -50,6 +50,10 @@
var/print_report = TRUE
/// The sound that's going to accompany our message.
var/played_sound = DEFAULT_ANNOUNCEMENT_SOUND
/// The colour of the announcement when sent
var/announcement_color = "default"
/// The subheader to include when sending the announcement. Keep blank to not include a subheader
var/subheader = ""
/// A static list of preset names that can be chosen.
var/list/preset_names = list(CENTCOM_PRESET, SYNDICATE_PRESET, WIZARD_PRESET, CUSTOM_PRESET)
@@ -79,6 +83,8 @@
data["announce_contents"] = announce_contents
data["print_report"] = print_report
data["played_sound"] = played_sound
data["announcement_color"] = announcement_color
data["subheader"] = subheader
return data
@@ -86,6 +92,7 @@
var/list/data = list()
data["command_name_presets"] = preset_names
data["announcer_sounds"] = list(DEFAULT_ANNOUNCEMENT_SOUND) + GLOB.announcer_keys
data["announcement_colors"] = ANNOUNCEMENT_COLORS
return data
@@ -108,6 +115,13 @@
announce_contents = !announce_contents
if("toggle_printing")
print_report = !print_report
if("update_announcement_color")
var/colors = ANNOUNCEMENT_COLORS
var/chosen_color = params["updated_announcement_color"]
if(chosen_color in colors)
announcement_color = chosen_color
if("set_subheader")
subheader = params["new_subheader"]
if("submit_report")
if(!command_name)
to_chat(ui_user, span_danger("You can't send a report with no command name."))
@@ -136,7 +150,13 @@
report_sound = SSstation.announcer.get_rand_report_sound()
if(announce_contents)
priority_announce(command_report_content, null, report_sound, has_important_message = TRUE)
var/chosen_color = announcement_color
if(chosen_color == "default")
if(command_name == SYNDICATE_PRESET)
chosen_color = "red"
else if(command_name == WIZARD_PRESET)
chosen_color = "purple"
priority_announce(command_report_content, subheader == ""? null : subheader, report_sound, has_important_message = TRUE, color_override = chosen_color)
if(!announce_contents || print_report)
print_command_report(command_report_content, "[announce_contents ? "" : "Classified "][command_name] Update", !announce_contents)