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 23:06:04 +03:00
committed by GitHub
parent a7401aeb1d
commit d4666caaac
277 changed files with 4057 additions and 2955 deletions
@@ -61,7 +61,7 @@
to_chat(M, "<B>[holder]</B> [chosen_emote]")
//For adding accent tags when you imagine people talking to you
/datum/hallucination/proc/get_hallucinated_accent(var/mob/living/talker)
/datum/hallucination/proc/get_hallucinated_accent(var/mob/living/talker, var/mob/hearer)
var/hal_accent
if(ishuman(talker))
var/mob/living/carbon/human/T = talker
@@ -71,4 +71,4 @@
var/datum/accent/a = SSrecords.accents[hal_accent]
var/final_icon = a.tag_icon
return "<IMG src='\ref['./icons/accent_tags.dmi']' class='text_tag' iconstate='[final_icon]'>"
return "<img src=\"[final_icon].png\">"
+1 -1
View File
@@ -10,7 +10,7 @@
log_say("Hallucination level changed [orig_message] by [speaker] to [message] for [key_name(src)].", ckey=key_name(src))
return ..()
/mob/living/carbon/hear_radio(var/message, var/verb="says", var/datum/language/language, var/part_a, var/part_b, var/mob/speaker, var/hard_to_hear = 0, var/vname ="")
/mob/living/carbon/hear_radio(var/message, var/verb="says", var/datum/language/language, var/part_a, var/part_b, var/part_c, var/mob/speaker, var/hard_to_hear = 0, var/vname ="")
if(hallucination >= 60 && prob(1))
var/orig_message = message
message = pick(SShallucinations.hallucinated_phrases)
+6 -6
View File
@@ -51,7 +51,7 @@
if(9)
sound_to(holder, 'sound/effects/nuclearsiren.ogg')
to_chat(holder, "<font color='#008000'><b>Supermatter Monitor</b> states, \"WARNING: SUPERMATTER CRYSTAL DELAMINATION IMMINENT.\"</font>")
to_chat(holder, "<span class='radio'><b>Supermatter Monitor</b> states, \"WARNING: SUPERMATTER CRYSTAL DELAMINATION IMMINENT.\"</span>")
addtimer(CALLBACK(src, .proc/delam_call), 20)
addtimer(CALLBACK(src, .proc/delam_call), 35)
@@ -82,9 +82,9 @@
return
var/radio_exclaim = pick("Oh SHIT!", "Oh fuck.", "Uhhh!", "That's not good!", "FUCK.", "Engineering?", "It's under control!", "We're fucked!", "Ohhhh boy.", "What?!", "Um, <b>what?!</b>")
var/mob/living/caller = pick(people)
var/caller_accent = get_hallucinated_accent(caller)
var/caller_accent = get_hallucinated_accent(caller, holder)
to_chat(holder, "[caller_accent] <font color='#008000'><b>[pick(people)]</b> says, \"[radio_exclaim]\"</font>")
to_chat(holder, "[caller_accent] <span class='radio'><b>[pick(people)]</b> says, \"[radio_exclaim]\"</span>")
/datum/hallucination/pda //fake PDA messages. this only plays the beep and sends something to chat; it won't show up in the PDA.
@@ -269,7 +269,7 @@
"[pal] will keep you safe.",
"You feel captivated by [pal]'s charisma.",
"[pal] might as well be family to you.")
to_chat(holder, "<font color='green'><i>[pick(halpal_emotes)]</i></font>")
to_chat(holder, "<span class='good'><i>[pick(halpal_emotes)]</i></span>")
/datum/hallucination/passive
duration = 600 //minute fallback
@@ -419,7 +419,7 @@
var/mob/living/talker = pick(candidates) //Who is talking to us?
var/message //What will they say?
var/accent_tag = get_hallucinated_accent(talker) //Can't forget the accent
var/accent_tag = get_hallucinated_accent(talker, holder) //Can't forget the accent
//Name selection. This gives us variety. Sometimes it will be your last name, sometimes your first.
var/list/names = list()
@@ -478,7 +478,7 @@
whisper_candidates += M
if(whisper_candidates.len)
var/mob/living/whisperer = pick(whisper_candidates)
var/whisper_accent = get_hallucinated_accent(whisperer)
var/whisper_accent = get_hallucinated_accent(whisperer, holder)
if(prob(70))
to_chat(holder, "[whisper_accent] <B>[whisperer]</B> whispers, <I>\"[pick(SShallucinations.hallucinated_phrases)]\"</I>")
else