Ports Antag Objectives from TG

- Maroon objective: Prevent person from escaping on the shuttle, this
can include killing them. (Not in rotation)
- Escape with identity objective: Changeling objective, steal a person's
identity and ID, and escape on the shuttle with it. (Not in rotation)
- Exchange objective: 2 traitors are each given documents, one has the
red documents, one has the blue. They must meet and exchange the
documents. However, there is a 20% chance each one of them will have a
backstab objective, where he must escape with both documents. (Should be
in rotation)
- Destroy objective: Kill the station AI. (Not in rotation)
- Adds steal objective to steal the station secret documents, which are
located in the vault filing cabinet. (Should be in rotation)
- Adds special (mostly just used by ninja) objective to steal a
pinpointer. (Should be in rotation)
- Folders and filing cabinets can now store top secret documents.

All associated sprites are ported along with these features from TG.
This commit is contained in:
DZD
2015-01-30 23:40:41 -05:00
parent c8ff6547c4
commit fb1271b850
9 changed files with 248 additions and 32 deletions
+1 -1
View File
@@ -34,7 +34,7 @@
/obj/structure/filingcabinet/attackby(obj/item/P as obj, mob/user as mob)
if(istype(P, /obj/item/weapon/paper) || istype(P, /obj/item/weapon/folder) || istype(P, /obj/item/weapon/photo) || istype(P, /obj/item/weapon/paper_bundle))
if(istype(P, /obj/item/weapon/paper) || istype(P, /obj/item/weapon/folder) || istype(P, /obj/item/weapon/photo) || istype(P, /obj/item/weapon/paper_bundle) || istype(P, /obj/item/documents))
user << "<span class='notice'>You put [P] in [src].</span>"
user.drop_item()
P.loc = src
+33 -1
View File
@@ -31,7 +31,7 @@
return
/obj/item/weapon/folder/attackby(obj/item/weapon/W as obj, mob/user as mob)
if(istype(W, /obj/item/weapon/paper) || istype(W, /obj/item/weapon/photo) || istype(W, /obj/item/weapon/paper_bundle))
if(istype(W, /obj/item/weapon/paper) || istype(W, /obj/item/weapon/photo) || istype(W, /obj/item/weapon/paper_bundle) || istype(W, /obj/item/documents))
user.drop_item()
W.loc = src
user << "<span class='notice'>You put the [W] into \the [src].</span>"
@@ -51,6 +51,8 @@
dat += "<A href='?src=\ref[src];remove=\ref[Ph]'>Remove</A> - <A href='?src=\ref[src];look=\ref[Ph]'>[Ph.name]</A><BR>"
for(var/obj/item/weapon/paper_bundle/Pa in src)
dat += "<A href='?src=\ref[src];remove=\ref[Pa]'>Remove</A> - <A href='?src=\ref[src];look=\ref[Pa]'>[Pa.name]</A><BR>"
for(var/obj/item/documents/doc in src)
dat += "<A href='?src=\ref[src];remove=\ref[doc]'>Remove</A> - <A href='?src=\ref[src];look=\ref[doc]'>[doc.name]</A><BR>"
user << browse(dat, "window=folder")
onclose(user, "folder")
add_fingerprint(usr)
@@ -92,3 +94,33 @@
attack_self(usr)
update_icon()
return
/obj/item/weapon/folder/documents
name = "folder- 'TOP SECRET'"
desc = "A folder stamped \"Top Secret - Property of Nanotrasen Corporation. Unauthorized distribution is punishable by death.\""
/obj/item/weapon/folder/documents/New()
..()
new /obj/item/documents/nanotrasen(src)
update_icon()
/obj/item/weapon/folder/syndicate
name = "folder- 'TOP SECRET'"
desc = "A folder stamped \"Top Secret - Property of The Syndicate.\""
/obj/item/weapon/folder/syndicate/red
icon_state = "folder_sred"
/obj/item/weapon/folder/syndicate/red/New()
..()
new /obj/item/documents/syndicate/red(src)
update_icon()
/obj/item/weapon/folder/syndicate/blue
icon_state = "folder_sblue"
/obj/item/weapon/folder/syndicate/blue/New()
..()
new /obj/item/documents/syndicate/blue(src)
update_icon()