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