Initial Checkin - Borging Fax

- Modifies faxmachine.dm to add a "BP" option for admins when responding
to faxes.
- Modifies admin/topic.dm to ensure this BP option spawns a Borging
Paper at the fax machine the butt fax was sent from.
- Modified paper.dm to add a new type of paper, Borging Paper, which
will give its intended victim (and only them) borging nanomachines when
read. It doesn't work on anyone else and disintegrates after multiple
use attempts.
This commit is contained in:
Kyep
2016-06-16 02:30:32 -07:00
parent 9ac399136e
commit 44efff94e3
3 changed files with 55 additions and 1 deletions
+34
View File
@@ -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 = "<b>A reminder: per the terms of your contract, stupid faxes will get you demoted.</b>"
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 += "<HR><img src=large_stamp-[stampvalue].png>"
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
+1 -1
View File
@@ -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 <b><font color='[font_colour]'>[faxname]: </font>[key_name(sender, 1)] (<A HREF='?_src_=holder;adminplayeropts=\ref[sender]'>PP</A>) (<A HREF='?_src_=vars;Vars=\ref[sender]'>VV</A>) (<A HREF='?_src_=holder;subtlemessage=\ref[sender]'>SM</A>) ([admin_jump_link(sender, "holder")]) (<A HREF='?_src_=holder;secretsadmin=check_antagonist'>CA</A>) (<A HREF='?_src_=holder;BlueSpaceArtillery=\ref[sender]'>BSA</A>) (<a href='?_src_=holder;AdminFaxCreate=\ref[sender];originfax=\ref[src];faxtype=[faxtype];replyto=\ref[sent]'>REPLY</a>)</b>: Receiving '[sent.name]' via secure connection... <a href='?_src_=holder;AdminFaxView=\ref[sent]'>view message</a>"
var/msg = "\blue <b><font color='[font_colour]'>[faxname]: </font>[key_name(sender, 1)] (<A HREF='?_src_=holder;adminplayeropts=\ref[sender]'>PP</A>) (<A HREF='?_src_=vars;Vars=\ref[sender]'>VV</A>) (<A HREF='?_src_=holder;subtlemessage=\ref[sender]'>SM</A>) ([admin_jump_link(sender, "holder")]) (<A HREF='?_src_=holder;secretsadmin=check_antagonist'>CA</A>) (<A HREF='?_src_=holder;BlueSpaceArtillery=\ref[sender]'>BSA</A>) (<A HREF='?_src_=holder;BorgingFax=\ref[sender];originfax=\ref[src]'>BP</A>) (<a href='?_src_=holder;AdminFaxCreate=\ref[sender];originfax=\ref[src];faxtype=[faxtype];replyto=\ref[sent]'>REPLY</a>)</b>: Receiving '[sent.name]' via secure connection... <a href='?_src_=holder;AdminFaxView=\ref[sent]'>view message</a>"
for(var/client/C in admins)
if(R_EVENT & C.holder.rights)
+20
View File
@@ -618,3 +618,23 @@
/obj/item/weapon/paper/crumpled/bloody
icon_state = "scrap_bloodied"
/obj/item/weapon/paper/borging
name = "Centcomm Reply"
info = "<b>You're Fired.</b>"
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,"<span class='danger'>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,"<span class='danger'>The paper appears to be covered in red goo!")
used = 1
..()
else
to_chat(user,"<span class='notice'>This page appears to be covered in some sort of bizzare code. Perhaps [borgtarget] can make sense of it.")