mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-23 20:16:55 +01:00
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:
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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.")
|
||||
Reference in New Issue
Block a user