Ports Goonchat from Baystation. (#9635)

changes:

    rscadd: "Ported a new chat system, Goonchat, that allows for cool things like changing font style, size, spacing, highlighting up to 5 strings in the chat, and DARK MODE."
    rscadd: "Repeated chat messages can now get compacted. You can disable this in goonchat settings."
    rscadd: "You can change icon style to any font on your system."
    tweak: "The game window has been altered a bit to adjust for this."
    rscdel: "Removed skin style prefs as they are no longer used."
This commit is contained in:
Matt Atlas
2020-09-24 22:06:04 +02:00
committed by GitHub
parent a7401aeb1d
commit d4666caaac
277 changed files with 4057 additions and 2955 deletions
@@ -699,7 +699,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
if(current_species.preview_icon)
var/icon/preview = icon(current_species.preview_icon, "")
preview.Scale(64, 64) // Scale it here to stop it blurring.
to_chat(usr, browse_rsc(icon(icon = preview, icon_state = ""), "species_preview_[current_species.short_name].png"))
send_rsc(usr, icon(icon = preview, icon_state = ""), "species_preview_[current_species.short_name].png")
dat += "<img src='species_preview_[current_species.short_name].png' width='64px' height='64px'><br/><br/>"
dat += "<b>Language:</b> [current_species.language]<br/>"
dat += "<small>"
@@ -740,9 +740,9 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
if(restricted)
if(restricted == 1)
dat += "<font color='red'><b>You cannot play as this species.</br><small>If you wish to be whitelisted, you can make an application post on <a href='?src=\ref[user];preference=open_whitelist_forum'>the forums</a>.</small></b></font></br>"
dat += "<span class='warning'><b>You cannot play as this species.</br><small>If you wish to be whitelisted, you can make an application post on <a href='?src=\ref[user];preference=open_whitelist_forum'>the forums</a>.</small></b></span></br>"
else if(restricted == 2)
dat += "<font color='red'><b>You cannot play as this species.</br><small>This species is not available for play as a station race.</small></b></font></br>"
dat += "<span class='warning'><b>You cannot play as this species.</br><small>This species is not available for play as a station race.</small></b></span></br>"
if(!restricted || check_rights(R_ADMIN, 0))
dat += "\[<a href='?src=\ref[src];set_species=[html_encode(pref.species_preview)]'>select</a>\]"
dat += "</center>"
@@ -7,7 +7,6 @@
S["UI_style_color"] >> pref.UI_style_color
S["UI_style_alpha"] >> pref.UI_style_alpha
S["html_UI_style"] >> pref.html_UI_style
S["skin_theme"] >> pref.skin_theme
S["ooccolor"] >> pref.ooccolor
S["clientfps"] >> pref.clientfps
@@ -16,7 +15,6 @@
S["UI_style_color"] << pref.UI_style_color
S["UI_style_alpha"] << pref.UI_style_alpha
S["html_UI_style"] << pref.html_UI_style
S["skin_theme"] << pref.skin_theme
S["ooccolor"] << pref.ooccolor
S["clientfps"] << pref.clientfps
@@ -28,7 +26,6 @@
"UI_style_color",
"UI_style_alpha",
"html_UI_style",
"skin_theme",
"ooccolor",
"clientfps",
"tooltip_style"
@@ -47,7 +44,6 @@
"UI_style_color",
"UI_style_alpha",
"html_UI_style",
"skin_theme",
"ooccolor",
"clientfps",
"tooltip_style",
@@ -62,7 +58,6 @@
"UI_style_color" = pref.UI_style_color,
"UI_style" = pref.UI_style,
"html_UI_style" = pref.html_UI_style,
"skin_theme" = pref.skin_theme,
"ooccolor" = pref.ooccolor,
"clientfps" = pref.clientfps,
"tooltip_style" = pref.tooltip_style
@@ -74,7 +69,6 @@
pref.UI_style_alpha = sanitize_integer(text2num(pref.UI_style_alpha), 0, 255, initial(pref.UI_style_alpha))
pref.clientfps = sanitize_integer(text2num(pref.clientfps), 0, 1000, initial(pref.clientfps))
pref.html_UI_style = sanitize_inlist(pref.html_UI_style, SStheming.available_html_themes, initial(pref.html_UI_style))
pref.skin_theme = sanitize_inlist(pref.skin_theme, SStheming.skin_themes, initial(pref.skin_theme))
pref.ooccolor = sanitize_hexcolor(pref.ooccolor, initial(pref.ooccolor))
/datum/category_item/player_setup_item/player_global/ui/content(mob/user)
@@ -86,7 +80,6 @@
dat += "-Alpha(transparency): <a href='?src=\ref[src];select_alpha=1'><b>[pref.UI_style_alpha]</b></a> - <a href='?src=\ref[src];reset=alpha'>reset</a><br>"
dat += "<b>Tooltip Style:</b> <a href='?src=\ref[src];select_tooltip_style=1'><b>[pref.tooltip_style]</b></a><br>"
dat += "<b>HTML UI Style:</b> <a href='?src=\ref[src];select_html=1'><b>[pref.html_UI_style]</b></a><br>"
dat += "<b>Main UI Style:</b> <a href='?src=\ref[src];select_skin_theme=1'><b>[pref.skin_theme]</b></a><br>"
dat += "-FPS: <a href='?src=\ref[src];select_fps=1'><b>[pref.clientfps]</b></a> - <a href='?src=\ref[src];reset=fps'>reset</a><br>"
if(can_select_ooc_color(user))
dat += "<b>OOC Color:</b> "
@@ -122,14 +115,6 @@
pref.html_UI_style = html_style_new
return TOPIC_REFRESH
else if(href_list["select_skin_theme"])
var/skin_theme_new = input(user, "Choose HTML UI style.", "Global Preference", pref.skin_theme) as null|anything in SStheming.skin_themes
if(isnull(skin_theme_new) || !CanUseTopic(user)) return TOPIC_NOACTION
pref.skin_theme = skin_theme_new
if(SStheming)
SStheming.apply_theme_from_perfs(user)
return TOPIC_REFRESH
else if(href_list["select_ooc_color"])
var/new_ooccolor = input(user, "Choose OOC color:", "Global Preference") as color|null
if(new_ooccolor && can_select_ooc_color(user) && CanUseTopic(user))
@@ -234,7 +234,7 @@
switch(pref.alternate_option)
if(BE_ASSISTANT)
dat += "<center><br><u><a href='?src=\ref[src];job_alternative=1'><font color=red>Be assistant if preference unavailable</font></a></u></center><br>"
dat += "<center><br><u><a href='?src=\ref[src];job_alternative=1'><span class='attack'>Be assistant if preference unavailable</span></a></u></center><br>"
if(RETURN_TO_LOBBY)
dat += "<center><br><u><a href='?src=\ref[src];job_alternative=1'><font color=purple>Return to lobby if preference unavailable</font></a></u></center><br>"