diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm index 8fada1b1bcf..0b910b63394 100644 --- a/code/game/machinery/computer/communications.dm +++ b/code/game/machinery/computer/communications.dm @@ -116,6 +116,19 @@ var/const/CALL_SHUTTLE_REASON_LENGTH = 12 else if (src.authenticated==2 && message_cooldown) usr << "Intercomms recharging. Please stand by." + if("crossserver") + if(src.authenticated==2) + if(CM.lastTimeUsed + 600 > world.time) + usr << "Arrays recycling. Please stand by." + return + var/input = stripped_input(usr, "Please choose a message to transmit to an allied station. Please be aware that this process is very expensive, and abuse will lead to... termination.", "Send a message to an allied station.", "") + if(!input || !(usr in view(1,src))) + return + send2otherserver(world.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]") + CM.lastTimeUsed = world.time + if("callshuttle") src.state = STATE_DEFAULT if(src.authenticated) @@ -384,6 +397,7 @@ var/const/CALL_SHUTTLE_REASON_LENGTH = 12 if (src.authenticated==2) dat += "

Captain Functions" dat += "
\[ Make a Captain's Announcement \]" + dat += "
\[ Send a message to an allied station \]" dat += "
\[ Change Alert Level \]" dat += "
\[ Emergency Maintenance Access \]" dat += "
\[ Request Nuclear Authentication Codes \]" diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm index 1776f8106b5..7ea4d5bc710 100644 --- a/code/modules/admin/verbs/adminhelp.dm +++ b/code/modules/admin/verbs/adminhelp.dm @@ -154,7 +154,8 @@ /proc/send2otherserver(source,msg,type = "Ahelp") if(global.cross_allowed) var/list/message = list() - message["message"] = "[source]: [msg]" + message["message_sender"] = source + message["message"] = msg message["source"] = "([config.cross_name])" message["key"] = global.comms_key message["crossmessage"] = type diff --git a/code/world.dm b/code/world.dm index 41346b8248a..e410521f53f 100644 --- a/code/world.dm +++ b/code/world.dm @@ -155,7 +155,11 @@ var/last_irc_status = 0 return else if(input["crossmessage"] == "Ahelp") - relay_msg_admins("HELP: [input["source"]] [input["message"]]") + relay_msg_admins("HELP: [input["source"]] [input["message_sender"]]: [input["message"]]") + if(input["crossmessage"] == "Comms_Console") + minor_announce(input["message"], "Incoming message from [input["message_sender"]]") + for(var/obj/machinery/computer/communications/CM in machines) + CM.overrideCooldown() /world/Reboot(var/reason, var/feedback_c, var/feedback_r, var/time) if (reason == 1) //special reboot, do none of the normal stuff