diff --git a/code/game/jobs/access.dm b/code/game/jobs/access.dm
index 4474dcd2fb4..558595930fa 100644
--- a/code/game/jobs/access.dm
+++ b/code/game/jobs/access.dm
@@ -144,6 +144,8 @@
return list(access_cent_general, access_cent_specops, access_cent_medical, access_cent_teleporter, access_cent_storage)
if("BlackOps Commander")
return list(access_cent_general, access_cent_thunder, access_cent_specops, access_cent_living, access_cent_storage, access_cent_creed)
+ if("CCIA Agent")
+ return list(access_cent_general, access_cent_captain)
if("Supreme Commander")
return get_all_centcom_access()
diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm
index fc5e8692e3d..59276e283db 100644
--- a/code/modules/admin/topic.dm
+++ b/code/modules/admin/topic.dm
@@ -1413,9 +1413,15 @@
return
else if(href_list["CentcommFaxReply"])
- var/obj/machinery/photocopier/faxmachine/fax = locate(href_list["CentcommFaxReply"])
- create_admin_fax(fax.department)
+ var/department = null
+ if (href_list["faxMachine"])
+ var/obj/machinery/photocopier/faxmachine/fax = locate(href_list["faxMachine"])
+ department = fax.department
+ else
+ department = input("Choose the target department.", "Target Department", null) in alldepartments
+
+ create_admin_fax(department)
return
diff --git a/code/modules/cciaa/cciaa.dm b/code/modules/cciaa/cciaa.dm
index f630d30d1af..732b2d69131 100644
--- a/code/modules/cciaa/cciaa.dm
+++ b/code/modules/cciaa/cciaa.dm
@@ -158,7 +158,7 @@
W.name = "[M.real_name]'s ID Card"
W.icon_state = "centcom"
W.item_state = "id_inv"
- W.access = get_all_accesses() + get_centcom_access("Intel Officer")
+ W.access = get_all_accesses() + get_centcom_access("CCIA Agent")
W.assignment = "Central Command Internal Affairs Agent"
W.registered_name = M.real_name
M.equip_to_slot_or_del(W, slot_wear_id)
@@ -272,10 +272,13 @@
return
var/customname = input(usr, "Pick a title for the report", "Title") as text|null
+ if (!customname)
+ usr << "\red Cancelled."
+ return
// Create the reply message
var/obj/item/weapon/paper/P = new /obj/item/weapon/paper( null ) //hopefully the null loc won't cause trouble for us
- P.name = "[command_name()]- [customname]"
+ P.name = "[command_name()] - [customname]"
P.info = input
P.update_icon()
@@ -291,10 +294,10 @@
if(fax.recievefax(P))
usr << "\blue Message transmitted successfully."
log_and_message_admins("sent a fax message to the [department] fax machine. (JMP)")
+
+ sent_faxes += P
else
usr << "\red Message reply failed."
-
- spawn(100)
qdel(P)
return
diff --git a/code/modules/paperwork/faxmachine.dm b/code/modules/paperwork/faxmachine.dm
index 3790123b462..17872c4c871 100644
--- a/code/modules/paperwork/faxmachine.dm
+++ b/code/modules/paperwork/faxmachine.dm
@@ -212,8 +212,8 @@ var/list/sent_faxes = list() //cache for faxes that have been sent by the admins
/obj/machinery/photocopier/faxmachine/proc/message_admins(var/mob/sender, var/faxname, var/obj/item/sent, var/reply_type, font_colour="#006100")
- var/msg = "\blue [faxname]: [key_name(sender, 1)] (PP) (VV) (SM) (JMP) (CA) (REPLY): Receiving '[sent.name]' via secure connection ... view message"
+ var/msg = "\blue [faxname]: [key_name(sender, 1)] (PP) (VV) (SM) (JMP) (CA) (REPLY): Receiving '[sent.name]' via secure connection ... view message"
for(var/client/C in admins)
- if(R_ADMIN & C.holder.rights)
+ if((R_ADMIN|R_CCIAA) & C.holder.rights)
C << msg