diff --git a/code/modules/mob/language.dm b/code/modules/mob/language.dm
index 4eee0af4a04..dfa2ca1b214 100644
--- a/code/modules/mob/language.dm
+++ b/code/modules/mob/language.dm
@@ -608,23 +608,31 @@
log_say(log_message, speaker)
speaker.create_log(SAY_LOG, log_message)
- var/message_start = "[name], [speaker.name]"
- var/message_body = "[speaker.say_quote(message)],\"[message]\""
+ var/list/message_start = list("[name], [speaker.name]") //Strings as lists lets you add blocks of text much easier
+ var/list/message_body = list("[speaker.say_quote(message)],\"[message]\"")
for(var/mob/M in GLOB.dead_mob_list)
if(!isnewplayer(M) && !isbrain(M))
- var/message_start_dead = "[name], [speaker.name] ([ghost_follow_link(speaker, ghost=M)])"
- M.show_message("[message_start_dead] [message_body]", 2)
+ var/list/message_start_dead = list("[name], [speaker.name] ([ghost_follow_link(speaker, ghost=M)])")
+ var/list/dead_message = message_start_dead + message_body
+ M.show_message(dead_message.Join(" "), 2)
for(var/mob/living/S in GLOB.alive_mob_list)
- if(drone_only && !isdrone(S))
+ if(!S.binarycheck())
+ continue
+ else if(drone_only && !isdrone(S))
continue
else if(isAI(S))
- message_start = "[name], [speaker.name]"
- else if(!S.binarycheck())
- continue
-
- S.show_message("[message_start] [message_body]", 2)
+ message_start = list("[name], [speaker.name]")
+ else if(isrobot(S))
+ var/mob/living/silicon/robot/borg = S
+ if(borg.connected_ai?.name == speaker.name)
+ var/list/big_font_prefix = list("")
+ var/list/big_font_suffix = list("")
+ message_start = big_font_prefix + message_start
+ message_body = message_body + big_font_suffix
+ var/list/final_message = message_start + message_body
+ S.show_message(final_message.Join(" "), 2)
var/list/listening = hearers(1, src)
listening -= src