diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index dc7cc24d6b7..25a64620a70 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -1671,6 +1671,40 @@ message_admins("[key_name_admin(src.owner)] replied to [key_name_admin(H)]'s Centcom message with: \"[input]\"") to_chat(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["BorgingFax"]) + if(!check_rights(R_ADMIN)) + return + var/mob/living/carbon/human/H = locate(href_list["BorgingFax"]) + if(!istype(H)) + to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human") + return + if(alert(src.owner, "Are you sure you want to send [key_name(H)] a demotion fax that will borg them when they read it?", "Confirm?" , "Yes" , "No") != "Yes") + return + var/obj/item/weapon/paper/borging/P = new /obj/item/weapon/paper/borging(null) + var/obj/machinery/photocopier/faxmachine/fax = locate(href_list["originfax"]) + P.name = "paper" + P.info = "A reminder: per the terms of your contract, stupid faxes will get you demoted." + P.x = rand(-2, 0) + P.y = rand(-1, 2) + P.offset_x += P.x + P.offset_y += P.y + P.update_icon() + var/stampvalue = "cent" + var/image/stampoverlay = image('icons/obj/bureaucracy.dmi') + stampoverlay.icon_state = "paper_stamp-[stampvalue]" + P.stamped = list() + P.stamped += /obj/item/weapon/stamp/centcom + P.overlays += stampoverlay + P.stamps += "
"
+ P.borgtarget = H
+ P.update_icon()
+ P.loc = fax.loc
+ //fax.receivefax(P)
+ if(istype(H) && H.stat == CONSCIOUS && (istype(H.l_ear, /obj/item/device/radio/headset) || istype(H.r_ear, /obj/item/device/radio/headset)))
+ to_chat(H, "Your headset pings, notifying you that a reply to your fax has arrived.")
+ to_chat(src.owner, "You sent a borging fax to [H]")
+ log_admin("[key_name(src.owner)] sent [key_name(H)] a borging fax")
+ message_admins("[key_name_admin(src.owner)] replied to [key_name_admin(H)] with a borging fax")
else if(href_list["SyndicateReply"])
if(!check_rights(R_ADMIN))
return
diff --git a/code/modules/paperwork/faxmachine.dm b/code/modules/paperwork/faxmachine.dm
index 23a0f3eec7e..4dc653afafd 100644
--- a/code/modules/paperwork/faxmachine.dm
+++ b/code/modules/paperwork/faxmachine.dm
@@ -261,7 +261,7 @@ var/list/alldepartments = list()
/obj/machinery/photocopier/faxmachine/proc/message_admins(var/mob/sender, var/faxname, var/faxtype, var/obj/item/sent, font_colour="#006100")
- var/msg = "\blue [faxname]: [key_name(sender, 1)] (PP) (VV) (SM) ([admin_jump_link(sender, "holder")]) (CA) (BSA) (REPLY): Receiving '[sent.name]' via secure connection... view message"
+ var/msg = "\blue [faxname]: [key_name(sender, 1)] (PP) (VV) (SM) ([admin_jump_link(sender, "holder")]) (CA) (BSA) (BP) (REPLY): Receiving '[sent.name]' via secure connection... view message"
for(var/client/C in admins)
if(R_EVENT & C.holder.rights)
diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm
index bf847a06c0a..3038fe11628 100644
--- a/code/modules/paperwork/paper.dm
+++ b/code/modules/paperwork/paper.dm
@@ -618,3 +618,23 @@
/obj/item/weapon/paper/crumpled/bloody
icon_state = "scrap_bloodied"
+
+/obj/item/weapon/paper/borging
+ name = "Centcomm Reply"
+ info = "You're Fired."
+ var/borgtarget = null
+ var/used = 0
+
+/obj/item/weapon/paper/borging/show_content(var/mob/user, var/forceshow = 0, var/forcestars = 0, var/infolinks = 0, var/view = 1)
+ if (used)
+ to_chat(user,"The paper disintegrates in your hands!")
+ qdel(src)
+ else if (user == borgtarget)
+ if (istype(user, /mob/living/carbon))
+ var/mob/living/carbon/C = user
+ C.ForceContractDisease(new /datum/disease/transformation/robot(0))
+ to_chat(C,"The paper appears to be covered in red goo!")
+ used = 1
+ ..()
+ else
+ to_chat(user,"This page appears to be covered in some sort of bizzare code. Perhaps [borgtarget] can make sense of it.")
\ No newline at end of file