diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm index acaabc984c..464aa41031 100644 --- a/code/game/machinery/computer/communications.dm +++ b/code/game/machinery/computer/communications.dm @@ -179,16 +179,16 @@ if("MessageCentcomm") if(src.authenticated==2) if(centcomm_message_cooldown) - usr << "Arrays recycling. Please stand by." + usr << "\red Arrays recycling. Please stand by." return - var/input = stripped_input(usr, "Please choose a message to transmit to Centcomm via quantum entanglement. Please be aware that this process is very expensive, and abuse will lead to... termination. Transmission does not guarantee a response.", "To abort, send an empty message.", "") + var/input = stripped_input(usr, "Please choose a message to transmit to Centcomm via quantum entanglement. Please be aware that this process is very expensive, and abuse will lead to... termination. Transmission does not guarantee a response. There is a 30 second delay before you may send another message, be clear, full and concise.", "To abort, send an empty message.", "") if(!input || !(usr in view(1,src))) return Centcomm_announce(input, usr) - usr << "Message transmitted." - log_say("[key_name(usr)] has made a Centcomm announcement: [input]") + usr << "\blue Message transmitted." + log_say("[key_name(usr)] has made an IA Centcomm announcement: [input]") centcomm_message_cooldown = 1 - spawn(6000)//10 minute cooldown + spawn(300)//10 minute cooldown centcomm_message_cooldown = 0 @@ -196,16 +196,16 @@ if("MessageSyndicate") if((src.authenticated==2) && (src.emagged)) if(centcomm_message_cooldown) - usr << "Arrays recycling. Please stand by." + usr << "\red Arrays recycling. Please stand by." return - var/input = stripped_input(usr, "Please choose a message to transmit to \[ABNORMAL ROUTING CORDINATES\] via quantum entanglement. Please be aware that this process is very expensive, and abuse will lead to... termination. Transmission does not guarantee a response.", "To abort, send an empty message.", "") + var/input = stripped_input(usr, "Please choose a message to transmit to \[ABNORMAL ROUTING CORDINATES\] via quantum entanglement. Please be aware that this process is very expensive, and abuse will lead to... termination. Transmission does not guarantee a response. There is a 30 second delay before you may send another message, be clear, full and concise.", "To abort, send an empty message.", "") if(!input || !(usr in view(1,src))) return Syndicate_announce(input, usr) - usr << "Message transmitted." + usr << "\blue Message transmitted." log_say("[key_name(usr)] has made a Syndicate announcement: [input]") centcomm_message_cooldown = 1 - spawn(6000)//10 minute cooldown + spawn(300)//10 minute cooldown centcomm_message_cooldown = 0 if("RestoreBackup") diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index e494baf024..d0b2e7e5cc 100755 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -38,6 +38,7 @@ var/global/list/obj/item/device/pda/PDAs = list() var/cart = "" //A place to stick cartridge menu information var/detonate = 1 // Can the PDA be blown up? var/hidden = 0 // Is the PDA hidden from the PDA list? + var/centcomm_message_cooldown = 0 //Internal Affairs centcomm message cooldown var/obj/item/weapon/card/id/id = null //Making it possible to slot an ID card into the PDA so it can function as both. var/ownjob = null //related to above @@ -378,11 +379,16 @@ var/global/list/obj/item/device/pda/PDAs = list() dat += "" else dat += "" if(cartridge.access_quartermaster) - dat += "

Quartermaster Functions:

" + dat += "

Quartermaster Functions

" dat += "" + if (cartridge.access_internalaffairs) + dat += "

Internal Affairs Functions

" + dat += "" dat += "" dat += "

Utilities

" @@ -677,6 +683,23 @@ var/global/list/obj/item/device/pda/PDAs = list() else U << browse(null, "window=pda") return + if("Centcomm Message") + if(istype(cartridge, /obj/item/weapon/cartridge/lawyer)) + if(centcomm_message_cooldown) + U << "\red Arrays recycling. Please stand by." + return + var/input = stripped_input(usr, "Please choose a message to transmit to Centcomm via quantum entanglement. Use only as a last resort if all other avenues have been exhausted. Please be aware that this process is very expensive, and abuse will lead to... termination. Transmission does not guarantee a response. There is a 30 second delay before you may send another message, be clear, full and concise.", "To abort, send an empty message.", "") + if(!input || !(usr in view(1,src))) + return + Centcomm_announce(input, usr) + U << "\blue Message transmitted." + log_say("[key_name(usr)] has made a Centcomm announcement: [input]") + centcomm_message_cooldown = 1 + spawn(300)//30 seconds cooldown + centcomm_message_cooldown = 0 + else + U << browse(null, "window=pda") + return //SYNDICATE FUNCTIONS=================================== diff --git a/code/game/objects/items/devices/PDA/cart.dm b/code/game/objects/items/devices/PDA/cart.dm index f0e3ee98f1..6f25f2b55d 100644 --- a/code/game/objects/items/devices/PDA/cart.dm +++ b/code/game/objects/items/devices/PDA/cart.dm @@ -14,6 +14,7 @@ var/access_clown = 0 var/access_mime = 0 var/access_janitor = 0 + var/access_internalaffairs = 0 // var/access_flora = 0 var/access_reagent_scanner = 0 var/access_remote_door = 0 //Control some blast doors remotely!! @@ -79,6 +80,7 @@ name = "P.R.O.V.E. Cartridge" icon_state = "cart-s" access_security = 1 + access_internalaffairs = 1 clown name = "Honkworks 5.0" @@ -602,7 +604,6 @@ Code: menu += "ERROR: Unable to determine current location." menu += "

Refresh GPS Locator" - /obj/item/weapon/cartridge/Topic(href, href_list) ..() diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index e5a6574ccc..b28cb8420e 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -1415,7 +1415,7 @@ src.owner << "You sent [input] to [H] via a secure channel." log_admin("[src.owner] replied to [key_name(H)]'s Centcomm message with the message [input].") message_admins("[src.owner] replied to [key_name(H)]'s Centcom message with: \"[input]\"") - H << "You hear something crackle in your headset for a moment before a voice speaks. \"Please stand by for a message from Central Command. Message as follows. [input]. Message ends.\"" + H << "You hear something crackle in your headset for a moment before a voice speaks. \"Please stand by for a message from Central Command. Message as follows. \"[input]\" Message ends.\"" else if(href_list["SyndicateReply"]) var/mob/living/carbon/human/H = locate(href_list["SyndicateReply"]) @@ -1431,7 +1431,7 @@ src.owner << "You sent [input] to [H] via a secure channel." log_admin("[src.owner] replied to [key_name(H)]'s Syndicate message with the message [input].") - H << "You hear something crackle in your headset for a moment before a voice speaks. \"Please stand by for a message from your benefactor. Message as follows, agent. [input]. Message ends.\"" + H << "You hear something crackle in your headset for a moment before a voice speaks. \"Please stand by for a message from your benefactor. Message as follows, agent. \"[input]\" Message ends.\"" else if(href_list["CentcommFaxView"]) var/info = locate(href_list["CentcommFaxView"]) diff --git a/code/modules/admin/verbs/pray.dm b/code/modules/admin/verbs/pray.dm index 906ec8a5ac..fd91142cdf 100644 --- a/code/modules/admin/verbs/pray.dm +++ b/code/modules/admin/verbs/pray.dm @@ -27,9 +27,9 @@ feedback_add_details("admin_verb","PR") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! //log_admin("HELP: [key_name(src)]: [msg]") -/proc/Centcomm_announce(var/text , var/mob/Sender) +/proc/Centcomm_announce(var/text , var/mob/Sender , var/iamessage) var/msg = copytext(sanitize(text), 1, MAX_MESSAGE_LEN) - msg = "\blue CENTCOMM:[key_name(Sender, 1)] (PP) (VV) (SM) (JMP) (CA) (BSA) (RPLY): [msg]" + msg = "\blue CENTCOMM[iamessage ? " IA" : ""]:[key_name(Sender, 1)] (PP) (VV) (SM) (JMP) (CA) (BSA) (RPLY): [msg]" admins << msg /proc/Syndicate_announce(var/text , var/mob/Sender)