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)