diff --git a/code/__DEFINES/say.dm b/code/__DEFINES/say.dm
index 4f3a03dc95..95d26de0ce 100644
--- a/code/__DEFINES/say.dm
+++ b/code/__DEFINES/say.dm
@@ -40,3 +40,13 @@
#define FOLLOW_LINK(alice, bob) "(F)"
#define TURF_LINK(alice, turfy) "(T)"
#define FOLLOW_OR_TURF_LINK(alice, bob, turfy) "(F)"
+
+#define LOGSAY "say"
+#define LOGWHISPER "whisper"
+#define LOGEMOTE "emote"
+#define LOGDSAY "dsay"
+#define LOGPDA "pda"
+#define LOGCHAT "chat"
+#define LOGASAY "adminsay"
+#define LOGCOMMENT "comment"
+#define LOGOOC "ooc"
\ No newline at end of file
diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm
index b3a5dbf9bc..7c6746f477 100644
--- a/code/__HELPERS/mobs.dm
+++ b/code/__HELPERS/mobs.dm
@@ -537,3 +537,39 @@ Proc for attack log creation, because really why not
to_chat(M, rendered_message)
else
to_chat(M, message)
+
+
+/proc/log_talk(mob/user,message,logtype)
+ var/turf/say_turf = get_turf(user)
+
+ var/sayloc = ""
+ if(say_turf)
+ sayloc = "([say_turf.x],[say_turf.y],[say_turf.z])"
+
+
+ var/logmessage = "[message] [sayloc]"
+
+ switch(logtype)
+
+ if(LOGDSAY)
+ log_dsay(logmessage)
+ if(LOGSAY)
+ log_say(logmessage)
+ if(LOGWHISPER)
+ log_whisper(logmessage)
+ if(LOGEMOTE)
+ log_emote(logmessage)
+ if(LOGPDA)
+ log_pda(logmessage)
+ if(LOGCHAT)
+ log_chat(logmessage)
+ if(LOGCOMMENT)
+ log_comment(logmessage)
+ if(LOGASAY)
+ log_adminsay(logmessage)
+ if(LOGOOC)
+ log_ooc(logmessage)
+ else
+ warning("Invalid speech logging type detected. [logtype]. Defaulting to say")
+ log_say(logmessage)
+
diff --git a/code/controllers/subsystem/communications.dm b/code/controllers/subsystem/communications.dm
index a7c60d3357..1380d119e2 100644
--- a/code/controllers/subsystem/communications.dm
+++ b/code/controllers/subsystem/communications.dm
@@ -25,7 +25,7 @@ SUBSYSTEM_DEF(communications)
else
priority_announce(html_decode(input), null, 'sound/misc/announce.ogg', "Captain")
nonsilicon_message_cooldown = world.time + COMMUNICATION_COOLDOWN
- log_say("[key_name(user)] has made a priority announcement: [input]")
+ log_talk(user,"[key_name(user)] has made a priority announcement: [input]",LOGSAY)
message_admins("[key_name_admin(user)] has made a priority announcement.")
#undef COMMUNICATION_COOLDOWN
diff --git a/code/datums/emotes.dm b/code/datums/emotes.dm
index 310145c853..78cbd02e8f 100644
--- a/code/datums/emotes.dm
+++ b/code/datums/emotes.dm
@@ -58,7 +58,7 @@
user.audible_message(msg)
else
user.visible_message(msg)
- log_emote("[key_name(user)] : [msg]")
+ log_talk(user,"[key_name(user)] : [msg]",LOGEMOTE)
/datum/emote/proc/replace_pronoun(mob/user, message)
if(findtext(message, "their"))
diff --git a/code/game/gamemodes/blob/overmind.dm b/code/game/gamemodes/blob/overmind.dm
index 42e990a9e6..bf7ae55167 100644
--- a/code/game/gamemodes/blob/overmind.dm
+++ b/code/game/gamemodes/blob/overmind.dm
@@ -121,13 +121,14 @@
blob_talk(message)
/mob/camera/blob/proc/blob_talk(message)
- log_say("[key_name(src)] : [message]")
message = trim(copytext(sanitize(message), 1, MAX_MESSAGE_LEN))
if (!message)
return
+ log_talk(src,"[key_name(src)] : [message]",LOGSAY)
+
var/message_a = say_quote(message, get_spans())
var/rendered = "\[Blob Telepathy\] [name]([blob_reagent_datum.name]) [message_a]"
diff --git a/code/game/gamemodes/clock_cult/clock_helpers/hierophant_network.dm b/code/game/gamemodes/clock_cult/clock_helpers/hierophant_network.dm
index 16759c0f1c..81e5783c68 100644
--- a/code/game/gamemodes/clock_cult/clock_helpers/hierophant_network.dm
+++ b/code/game/gamemodes/clock_cult/clock_helpers/hierophant_network.dm
@@ -44,4 +44,5 @@
if(!input || !IsAvailable())
return
+ log_talk(owner,"CLOCK:[key_name(owner)] : [input]",LOGSAY)
titled_hierophant_message(owner, input, span_for_name, span_for_message, title)
diff --git a/code/game/gamemodes/clock_cult/clock_items/clockwork_slab.dm b/code/game/gamemodes/clock_cult/clock_items/clockwork_slab.dm
index a462179278..dabdb99653 100644
--- a/code/game/gamemodes/clock_cult/clock_items/clockwork_slab.dm
+++ b/code/game/gamemodes/clock_cult/clock_items/clockwork_slab.dm
@@ -235,6 +235,7 @@
if(!message || !user || !user.canUseTopic(src) || !user.can_speak_vocal())
return FALSE
clockwork_say(user, text2ratvar("Servants, hear my words: [html_decode(message)]"), TRUE)
+ log_talk(user,"CLOCK:[key_name(user)] : [message]",LOGSAY)
titled_hierophant_message(user, message)
return TRUE
diff --git a/code/game/gamemodes/cult/cult_comms.dm b/code/game/gamemodes/cult/cult_comms.dm
index 7b9a0e6699..f6dab6c9cc 100644
--- a/code/game/gamemodes/cult/cult_comms.dm
+++ b/code/game/gamemodes/cult/cult_comms.dm
@@ -46,7 +46,7 @@
var/link = FOLLOW_LINK(M, user)
to_chat(M, "[link] [my_message]")
- log_say("[user.real_name]/[user.key] : [message]")
+ log_talk(user,"CULT:[key_name(user)] : [message]",LOGSAY)
/mob/living/proc/cult_help()
set category = "Cultist"
diff --git a/code/game/gamemodes/gang/recaller.dm b/code/game/gamemodes/gang/recaller.dm
index 811b5d04e6..601a1f1c0d 100644
--- a/code/game/gamemodes/gang/recaller.dm
+++ b/code/game/gamemodes/gang/recaller.dm
@@ -135,7 +135,7 @@
for(var/mob/M in GLOB.dead_mob_list)
var/link = FOLLOW_LINK(M, user)
to_chat(M, "[link] [ping]")
- log_game("[key_name(user)] Messaged [gang.name] Gang: [message].")
+ log_talk(user,"GANG: [key_name(user)] Messaged [gang.name] Gang: [message].",LOGSAY)
/obj/item/device/gangtool/proc/register_device(mob/user)
diff --git a/code/game/gamemodes/miniantags/revenant/revenant.dm b/code/game/gamemodes/miniantags/revenant/revenant.dm
index da7cdee931..611edf6b0f 100644
--- a/code/game/gamemodes/miniantags/revenant/revenant.dm
+++ b/code/game/gamemodes/miniantags/revenant/revenant.dm
@@ -141,7 +141,7 @@
/mob/living/simple_animal/revenant/say(message)
if(!message)
return
- log_say("[key_name(src)] : [message]")
+ log_talk(src,"[key_name(src)] : [message]",LOGSAY)
var/rendered = "[src] says, \"[message]\""
for(var/mob/M in GLOB.mob_list)
if(isrevenant(M))
diff --git a/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm b/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm
index cf79fd434f..25203022a3 100644
--- a/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm
+++ b/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm
@@ -106,7 +106,7 @@
if(!msg)
charge_counter = charge_max
return
- log_say("RevenantTransmit: [key_name(user)]->[key_name(M)] : [msg]")
+ log_talk(user,"RevenantTransmit: [key_name(user)]->[key_name(M)] : [msg]",LOGSAY)
to_chat(user, "You transmit to [M]: [msg]")
to_chat(M, "You hear something behind you talking... [msg]")
for(var/ded in GLOB.dead_mob_list)
diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm
index b717364dba..41e85cf626 100755
--- a/code/game/machinery/computer/communications.dm
+++ b/code/game/machinery/computer/communications.dm
@@ -145,7 +145,7 @@
playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0)
send2otherserver("[station_name()]", input,"Comms_Console")
minor_announce(input, title = "Outgoing message to allied station")
- log_say("[key_name(usr)] has sent a message to the other server: [input]")
+ log_talk(usr,"[key_name(usr)] has sent a message to the other server: [input]",LOGSAY)
message_admins("[key_name_admin(usr)] has sent a message to the other server.")
CM.lastTimeUsed = world.time
@@ -278,7 +278,7 @@
playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0)
Centcomm_announce(input, usr)
to_chat(usr, "Message transmitted to Central Command.")
- log_say("[key_name(usr)] has made a Centcom announcement: [input]")
+ log_talk(usr,"[key_name(usr)] has made a Centcom announcement: [input]",LOGSAY)
CM.lastTimeUsed = world.time
@@ -295,7 +295,7 @@
playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0)
Syndicate_announce(input, usr)
to_chat(usr, "SYSERR @l(19833)of(transmit.dm): !@$ MESSAGE TRANSMITTED TO SYNDICATE COMMAND.")
- log_say("[key_name(usr)] has made a Syndicate announcement: [input]")
+ log_talk(usr,"[key_name(usr)] has made a Syndicate announcement: [input]",LOGSAY)
CM.lastTimeUsed = world.time
if("RestoreBackup")
@@ -314,7 +314,7 @@
return
Nuke_request(input, usr)
to_chat(usr, "Request sent.")
- log_say("[key_name(usr)] has requested the nuclear codes from Centcomm")
+ log_talk(usr,"[key_name(usr)] has requested the nuclear codes from Centcomm",LOGSAY)
priority_announce("The codes for the on-station nuclear self-destruct have been requested by [usr]. Confirmation or denial of this request will be sent shortly.", "Nuclear Self Destruct Codes Requested",'sound/ai/commandreport.ogg')
CM.lastTimeUsed = world.time
diff --git a/code/game/machinery/computer/message.dm b/code/game/machinery/computer/message.dm
index cbdb85db53..4d08920195 100644
--- a/code/game/machinery/computer/message.dm
+++ b/code/game/machinery/computer/message.dm
@@ -417,7 +417,7 @@
if( customrecepient.loc && ishuman(customrecepient.loc) )
var/mob/living/carbon/human/H = customrecepient.loc
to_chat(H, "[bicon(customrecepient)] Message from [customsender] ([customjob]), \"[custommessage]\" (Reply)")
- log_pda("[usr]/([usr.ckey]) (PDA: [customsender]) sent \"[custommessage]\" to [customrecepient.owner]")
+ log_talk(usr,"[key_name(usr)] (PDA: [customsender]) sent \"[custommessage]\" to [customrecepient.owner]",LOGPDA)
customrecepient.cut_overlays()
customrecepient.add_overlay(mutable_appearance('icons/obj/pda.dmi', "pda-r"))
//Sender is faking as someone who exists
@@ -430,7 +430,7 @@
if( customrecepient.loc && ishuman(customrecepient.loc) )
var/mob/living/carbon/human/H = customrecepient.loc
to_chat(H, "[bicon(customrecepient)] Message from [PDARec.owner] ([customjob]), \"[custommessage]\" (Reply)")
- log_pda("[usr]/([usr.ckey]) (PDA: [PDARec.owner]) sent \"[custommessage]\" to [customrecepient.owner]")
+ log_talk(usr,"[key_name(usr)] (PDA: [PDARec.owner]) sent \"[custommessage]\" to [customrecepient.owner]",LOGPDA)
customrecepient.cut_overlays()
customrecepient.add_overlay(mutable_appearance('icons/obj/pda.dmi', "pda-r"))
//Finally..
diff --git a/code/game/machinery/computer/prisoner.dm b/code/game/machinery/computer/prisoner.dm
index 27d4275ee5..e4f184d2c7 100644
--- a/code/game/machinery/computer/prisoner.dm
+++ b/code/game/machinery/computer/prisoner.dm
@@ -138,7 +138,7 @@
if(I && istype(I) && I.imp_in)
var/mob/living/R = I.imp_in
to_chat(R, "You hear a voice in your head saying: '[warning]'")
- log_say("[usr]/[usr.ckey] sent an implant message to [R]/[R.ckey]: '[warning]'")
+ log_talk(usr,"[key_name(usr)] sent an implant message to [R]/[R.ckey]: '[warning]'",LOGSAY)
src.add_fingerprint(usr)
src.updateUsrDialog()
diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm
index e1b4c31734..369379dbce 100644
--- a/code/game/machinery/newscaster.dm
+++ b/code/game/machinery/newscaster.dm
@@ -693,7 +693,7 @@ GLOBAL_LIST_EMPTY(allCasters)
FC.body = cominput
FC.time_stamp = worldtime2text()
FM.comments += FC
- log_comment("[usr]/([usr.ckey]) as [scanned_user] commented on message [FM.returnBody(-1)] -- [FC.body]")
+ log_talk(usr,"[key_name(usr)] as [scanned_user] commented on message [FM.returnBody(-1)] -- [FC.body]",LOGCOMMENT)
updateUsrDialog()
else if(href_list["del_comment"])
var/datum/newscaster/feed_comment/FC = locate(href_list["del_comment"])
diff --git a/code/game/machinery/requests_console.dm b/code/game/machinery/requests_console.dm
index 99da62141b..8a2de48d8a 100644
--- a/code/game/machinery/requests_console.dm
+++ b/code/game/machinery/requests_console.dm
@@ -304,7 +304,7 @@ GLOBAL_LIST_EMPTY(allConsoles)
return
minor_announce(message, "[department] Announcement:")
GLOB.news_network.SubmitArticle(message, department, "Station Announcements", null)
- log_say("[key_name(usr)] has made a station announcement: [message]")
+ log_talk(usr,"[key_name(usr)] has made a station announcement: [message]",LOGSAY)
message_admins("[key_name_admin(usr)] has made a station announcement.")
announceAuth = 0
message = ""
diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm
index b54169b9e2..a67ca4094b 100644
--- a/code/game/objects/items/devices/PDA/PDA.dm
+++ b/code/game/objects/items/devices/PDA/PDA.dm
@@ -536,7 +536,7 @@ GLOBAL_LIST_EMPTY(PDAs)
P.show_recieved_message(msg,src)
if(!multiple)
show_to_ghosts(user,msg)
- log_pda("[user] (PDA: [src.name]) sent \"[message]\" to [P.name]")
+ log_talk(user,"[user] (PDA: [name]) sent \"[message]\" to [P.name]",LOGPDA)
else
if(!multiple)
to_chat(user, "ERROR: Server isn't responding.")
@@ -546,7 +546,7 @@ GLOBAL_LIST_EMPTY(PDAs)
if(multiple)
show_to_sender(last_sucessful_msg,1)
show_to_ghosts(user,last_sucessful_msg,1)
- log_pda("[user] (PDA: [src.name]) sent \"[message]\" to Everyone")
+ log_talk(user,"[user] (PDA: [name]) sent \"[message]\" to Everyone",LOGPDA)
/obj/item/device/pda/proc/show_to_sender(datum/data_pda_msg/msg,multiple = 0)
tnote += "→ To [multiple ? "Everyone" : msg.recipient]:
[msg.message][msg.get_photo_ref()]
"
diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm
index e3eda24652..3b3a871269 100644
--- a/code/game/objects/items/toys.dm
+++ b/code/game/objects/items/toys.dm
@@ -1328,7 +1328,7 @@
name = "[initial(name)] - [doll_name]"
/obj/item/toy/dummy/talk_into(atom/movable/M, message, channel, list/spans, datum/language/language)
- log_say("[key_name(M)] : through dummy : [message]")
+ log_talk(M,"[key_name(M)] : through dummy : [message]",LOGSAY)
say(message, language)
return NOPASS
diff --git a/code/modules/admin/verbs/adminsay.dm b/code/modules/admin/verbs/adminsay.dm
index 53fb5b206e..707a76854f 100644
--- a/code/modules/admin/verbs/adminsay.dm
+++ b/code/modules/admin/verbs/adminsay.dm
@@ -9,7 +9,7 @@
if(!msg)
return
- log_adminsay("[key_name(src)] : [msg]")
+ log_talk(mob,"[key_name(src)] : [msg]",LOGASAY)
msg = keywords_lookup(msg)
if(check_rights(R_ADMIN,0))
msg = "ADMIN: [key_name(usr, 1)] (FLW): [msg]"
diff --git a/code/modules/admin/verbs/deadsay.dm b/code/modules/admin/verbs/deadsay.dm
index c71c832190..ea57fcc790 100644
--- a/code/modules/admin/verbs/deadsay.dm
+++ b/code/modules/admin/verbs/deadsay.dm
@@ -15,7 +15,7 @@
return
msg = copytext(sanitize(msg), 1, MAX_MESSAGE_LEN)
- log_dsay("[key_name(src)] : [msg]")
+ log_talk(mob,"[key_name(src)] : [msg]",LOGDSAY)
if (!msg)
return
diff --git a/code/modules/client/verbs/ooc.dm b/code/modules/client/verbs/ooc.dm
index fc4d8dfab8..f082c4971c 100644
--- a/code/modules/client/verbs/ooc.dm
+++ b/code/modules/client/verbs/ooc.dm
@@ -51,7 +51,7 @@
message_admins("[key_name_admin(src)] has attempted to advertise in OOC: [msg]")
return
- log_ooc("[mob.name]/[key] : [raw_msg]")
+ log_talk(mob,"[key_name(src)] : [raw_msg]",LOGOOC)
mob.log_message("[key]: [raw_msg]", INDIVIDUAL_OOC_LOG)
var/keyname = key
@@ -157,7 +157,7 @@ GLOBAL_VAR_INIT(normal_ooc_colour, OOC_COLOR)
winset(src, "output", "is-visible=true;is-disabled=false")
winset(src, "browseroutput", "is-visible=false")
log_game("GOONCHAT: [key_name(src)] Failed to fix their goonchat window after recreating the chatOutput and forcing a load()")
-
+
else if (chatOutput.loaded)
var/action = alert(src, "ChatOutput seems to be loaded\nDo you want me to force a reload, wiping the chat log or just refresh the chat window because it broke/went away?", "Hmmm", "Force Reload", "Refresh", "Cancel")
switch (action)
@@ -178,7 +178,7 @@ GLOBAL_VAR_INIT(normal_ooc_colour, OOC_COLOR)
winset(src, "output", "is-visible=true;is-disabled=false")
winset(src, "browseroutput", "is-visible=false")
log_game("GOONCHAT: [key_name(src)] Failed to fix their goonchat window forcing a start() and forcing a load()")
-
+
if ("Refresh")
chatOutput.showChat()
action = alert(src, "Goon chat refreshing, wait a bit and tell me if it's fixed", "", "Fixed", "Nope, force a reload")
@@ -197,7 +197,7 @@ GLOBAL_VAR_INIT(normal_ooc_colour, OOC_COLOR)
winset(src, "browseroutput", "is-visible=false")
log_game("GOONCHAT: [key_name(src)] Failed to fix their goonchat window forcing a show() and forcing a load()")
return
-
+
else
chatOutput.start()
var/action = alert(src, "Manually loading Chat, wait a bit and tell me if it's fixed", "", "Fixed", "Nope")
@@ -214,8 +214,8 @@ GLOBAL_VAR_INIT(normal_ooc_colour, OOC_COLOR)
winset(src, "output", list2params(list("on-show" = "", "is-disabled" = "false", "is-visible" = "true")))
winset(src, "browseroutput", "is-disabled=true;is-visible=false")
log_game("GOONCHAT: [key_name(src)] Failed to fix their goonchat window after manually calling start() and forcing a load()")
-
-
+
+
/client/verb/motd()
set name = "MOTD"
diff --git a/code/modules/goonchat/browserOutput.dm b/code/modules/goonchat/browserOutput.dm
index efc536e301..18800294ea 100644
--- a/code/modules/goonchat/browserOutput.dm
+++ b/code/modules/goonchat/browserOutput.dm
@@ -152,7 +152,7 @@ GLOBAL_DATUM_INIT(iconCache, /savefile, new("data/iconCache.sav")) //Cache of ic
if (found.len > 0)
//TODO: add a new evasion ban for the CURRENT client details, using the matched row details
message_admins("[key_name(src.owner)] has a cookie from a banned account! (Matched: [found["ckey"]], [found["ip"]], [found["compid"]])")
- log_admin_private("[key_name(owner)] has a cookie from a banned account! (Matched: [found["ckey"]], [found["ip"]], [found["compid"]])")
+ log_admin_private("[key_name(src.owner)] has a cookie from a banned account! (Matched: [found["ckey"]], [found["ip"]], [found["compid"]])")
cookieSent = TRUE
diff --git a/code/modules/mob/dead/observer/say.dm b/code/modules/mob/dead/observer/say.dm
index 4e0e22f546..ad64c53fc7 100644
--- a/code/modules/mob/dead/observer/say.dm
+++ b/code/modules/mob/dead/observer/say.dm
@@ -4,7 +4,7 @@
if (!message)
return
- log_say("Ghost/[src.key] : [message]")
+ log_talk(src,"Ghost/[src.key] : [message]", LOGSAY)
. = src.say_dead(message)
diff --git a/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm b/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm
index 7cf47379f3..83971dac05 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm
@@ -84,7 +84,7 @@ Doesn't work on other aliens/AI.*/
return 0
var/msg = sanitize(input("Message:", "Alien Whisper") as text|null)
if(msg)
- log_say("AlienWhisper: [key_name(user)]->[M.key] : [msg]")
+ log_talk(user,"AlienWhisper: [key_name(user)]->[M.key] : [msg]",LOGSAY)
to_chat(M, "You hear a strange, alien voice in your head...[msg]")
to_chat(user, "You said: \"[msg]\" to [M]")
for(var/ded in GLOB.dead_mob_list)
diff --git a/code/modules/mob/living/carbon/alien/say.dm b/code/modules/mob/living/carbon/alien/say.dm
index 002a4e8364..6c492dd24c 100644
--- a/code/modules/mob/living/carbon/alien/say.dm
+++ b/code/modules/mob/living/carbon/alien/say.dm
@@ -1,5 +1,5 @@
/mob/living/proc/alien_talk(message, shown_name = real_name)
- log_say("[key_name(src)] : [message]")
+ log_talk(src,"[key_name(src)] : [message]",LOGSAY)
message = trim(message)
if(!message) return
diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm
index 8bc21c4b41..dcc9e0a58c 100644
--- a/code/modules/mob/living/say.dm
+++ b/code/modules/mob/living/say.dm
@@ -148,7 +148,7 @@ GLOBAL_LIST_INIT(department_radio_keys, list(
if(message_mode == MODE_WHISPER)
message_range = 1
spans |= SPAN_ITALICS
- log_whisper("[src.name]/[src.key] : [message]")
+ log_talk(src,"[key_name(src)] : [message]",LOGWHISPER)
if(in_critical)
var/health_diff = round(-HEALTH_THRESHOLD_DEAD + health)
// If we cut our message short, abruptly end it with a-..
@@ -158,7 +158,7 @@ GLOBAL_LIST_INIT(department_radio_keys, list(
message_mode = MODE_WHISPER_CRIT
succumbed = TRUE
else
- log_say("[name]/[key] : [message]")
+ log_talk(src,"[name]/[key] : [message]",LOGSAY)
message = treat_message(message)
if(!message)
@@ -333,7 +333,7 @@ GLOBAL_LIST_INIT(department_radio_keys, list(
to_chat(M, "We can faintly sense an outsider trying to communicate through the hivemind...")
if(2)
var/msg = "[mind.changeling.changelingID]: [message]"
- log_say("[mind.changeling.changelingID]/[src.key] : [message]")
+ log_talk(src,"[mind.changeling.changelingID]/[key] : [message]",LOGSAY)
for(var/_M in GLOB.mob_list)
var/mob/M = _M
if(M in GLOB.dead_mob_list)
diff --git a/code/modules/mob/living/silicon/ai/say.dm b/code/modules/mob/living/silicon/ai/say.dm
index f7e568aac9..2e800f7de0 100644
--- a/code/modules/mob/living/silicon/ai/say.dm
+++ b/code/modules/mob/living/silicon/ai/say.dm
@@ -40,7 +40,7 @@
//For holopads only. Usable by AI.
/mob/living/silicon/ai/proc/holopad_talk(message, language)
- log_say("[key_name(src)] : [message]")
+
message = trim(message)
@@ -49,6 +49,13 @@
var/obj/machinery/holopad/T = current
if(istype(T) && T.masters[src])//If there is a hologram and its master is the user.
+ var/turf/padturf = get_turf(T)
+ var/padloc
+ if(padturf)
+ padloc = COORD(padturf)
+ else
+ padloc = "(UNKNOWN)"
+ log_talk(src,"HOLOPAD [padloc]: [key_name(src)] : [message]", LOGSAY)
send_speech(message, 7, T, "robot", get_spans(), language)
to_chat(src, "Holopad transmitted, [real_name] \"[message]\"")
else
diff --git a/code/modules/mob/living/silicon/say.dm b/code/modules/mob/living/silicon/say.dm
index 11c660224c..4178438571 100644
--- a/code/modules/mob/living/silicon/say.dm
+++ b/code/modules/mob/living/silicon/say.dm
@@ -3,7 +3,7 @@
return ..() | SPAN_ROBOT
/mob/living/proc/robot_talk(message)
- log_say("[key_name(src)] : [message]")
+ log_talk(src,"[key_name(src)] : [message]",LOGSAY)
log_message(message, INDIVIDUAL_SAY_LOG)
var/desig = "Default Cyborg" //ezmode for taters
if(issilicon(src))
diff --git a/code/modules/mob/living/simple_animal/guardian/guardian.dm b/code/modules/mob/living/simple_animal/guardian/guardian.dm
index 5b414cd934..7a212c8dd9 100644
--- a/code/modules/mob/living/simple_animal/guardian/guardian.dm
+++ b/code/modules/mob/living/simple_animal/guardian/guardian.dm
@@ -365,7 +365,7 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians
var/link = FOLLOW_LINK(M, src)
to_chat(M, "[link] [my_message]")
- log_say("[src.real_name]/[src.key] : [input]")
+ log_talk(src,"GUARDIAN:[key_name(src)]: [input]",LOGSAY)
/mob/living/proc/guardian_comm()
set name = "Communicate"
@@ -387,7 +387,7 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians
var/link = FOLLOW_LINK(M, src)
to_chat(M, "[link] [my_message]")
- log_say("[src.real_name]/[src.key] : [text]")
+ log_talk(src,"GUARDIAN:[key_name(src)]: [input]",LOGSAY)
//FORCE RECALL/RESET
@@ -552,6 +552,7 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians
G.summoner = user
G.key = key
G.mind.enslave_mind_to_creator(user)
+ log_game("[key_name(user)] has summoned [key_name(G)], a [guardiantype] holoparasite.")
switch(theme)
if("tech")
to_chat(user, "[G.tech_fluff_string]")
diff --git a/code/modules/modular_computers/file_system/programs/ntnrc_client.dm b/code/modules/modular_computers/file_system/programs/ntnrc_client.dm
index e742de3a2a..57a53169f2 100644
--- a/code/modules/modular_computers/file_system/programs/ntnrc_client.dm
+++ b/code/modules/modular_computers/file_system/programs/ntnrc_client.dm
@@ -34,7 +34,7 @@
if(!message || !channel)
return
channel.add_message(message, username)
- log_chat("[user]/([user.ckey]) as [username] sent to [channel.title]: [message]")
+ log_talk(user,"[key_name(user)] as [username] sent to [channel.title]: [message]",LOGCHAT)
if("PRG_joinchannel")
. = 1