[MIRROR] Refactors speech/communication logging and adds coordinates to speech logs (#1905)
* Refactors speech/communication logging and adds coordinates to speech logs * Update clockwork_slab.dm * Delete clockwork_slab.dm.rej * Update browserOutput.dm * Delete browserOutput.dm.rej
This commit is contained in:
committed by
kevinz000
parent
3d895118e7
commit
f893863397
@@ -40,3 +40,13 @@
|
||||
#define FOLLOW_LINK(alice, bob) "<a href=?src=\ref[alice];follow=\ref[bob]>(F)</a>"
|
||||
#define TURF_LINK(alice, turfy) "<a href=?src=\ref[alice];x=[turfy.x];y=[turfy.y];z=[turfy.z]>(T)</a>"
|
||||
#define FOLLOW_OR_TURF_LINK(alice, bob, turfy) "<a href=?src=\ref[alice];follow=\ref[bob];x=[turfy.x];y=[turfy.y];z=[turfy.z]>(F)</a>"
|
||||
|
||||
#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"
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"))
|
||||
|
||||
@@ -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 = "<span class='big'><font color=\"#EE4000\"><b>\[Blob Telepathy\] [name](<font color=\"[blob_reagent_datum.color]\">[blob_reagent_datum.name]</font>)</b> [message_a]</font></span>"
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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 = "<span class='revennotice'><b>[src]</b> says, \"[message]\"</span>"
|
||||
for(var/mob/M in GLOB.mob_list)
|
||||
if(isrevenant(M))
|
||||
|
||||
@@ -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, "<span class='revenboldnotice'>You transmit to [M]:</span> <span class='revennotice'>[msg]</span>")
|
||||
to_chat(M, "<span class='revenboldnotice'>You hear something behind you talking...</span> <span class='revennotice'>[msg]</span>")
|
||||
for(var/ded in GLOB.dead_mob_list)
|
||||
|
||||
@@ -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, "<span class='notice'>Message transmitted to Central Command.</span>")
|
||||
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, "<span class='danger'>SYSERR @l(19833)of(transmit.dm): !@$ MESSAGE TRANSMITTED TO SYNDICATE COMMAND.</span>")
|
||||
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, "<span class='notice'>Request sent.</span>")
|
||||
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
|
||||
|
||||
|
||||
@@ -417,7 +417,7 @@
|
||||
if( customrecepient.loc && ishuman(customrecepient.loc) )
|
||||
var/mob/living/carbon/human/H = customrecepient.loc
|
||||
to_chat(H, "[bicon(customrecepient)] <b>Message from [customsender] ([customjob]), </b>\"[custommessage]\" (<a href='byond://?src=\ref[src];choice=Message;skiprefresh=1;target=\ref[src]'>Reply</a>)")
|
||||
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)] <b>Message from [PDARec.owner] ([customjob]), </b>\"[custommessage]\" (<a href='byond://?src=\ref[customrecepient];choice=Message;skiprefresh=1;target=\ref[PDARec]'>Reply</a>)")
|
||||
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..
|
||||
|
||||
@@ -138,7 +138,7 @@
|
||||
if(I && istype(I) && I.imp_in)
|
||||
var/mob/living/R = I.imp_in
|
||||
to_chat(R, "<span class='italics'>You hear a voice in your head saying: '[warning]'</span>")
|
||||
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()
|
||||
|
||||
@@ -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"])
|
||||
|
||||
@@ -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 = ""
|
||||
|
||||
@@ -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, "<span class='notice'>ERROR: Server isn't responding.</span>")
|
||||
@@ -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 += "<i><b>→ To [multiple ? "Everyone" : msg.recipient]:</b></i><br>[msg.message][msg.get_photo_ref()]<br>"
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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 = "<span class='admin'><span class='prefix'>ADMIN:</span> <EM>[key_name(usr, 1)]</EM> (<a href='?_src_=holder;adminplayerobservefollow=\ref[mob]'>FLW</A>): <span class='message'>[msg]</span></span>"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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, "<span class='noticealien'>You hear a strange, alien voice in your head...</span>[msg]")
|
||||
to_chat(user, "<span class='noticealien'>You said: \"[msg]\" to [M]</span>")
|
||||
for(var/ded in GLOB.dead_mob_list)
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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, "<i><font color=#800080>We can faintly sense an outsider trying to communicate through the hivemind...</font></i>")
|
||||
if(2)
|
||||
var/msg = "<i><font color=#800080><b>[mind.changeling.changelingID]:</b> [message]</font></i>"
|
||||
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)
|
||||
|
||||
@@ -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, "<i><span class='game say'>Holopad transmitted, <span class='name'>[real_name]</span> <span class='message robot'>\"[message]\"</span></span></i>")
|
||||
else
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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]")
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user