mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-01-08 00:21:43 +00:00
- 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.
127 lines
4.1 KiB
Plaintext
127 lines
4.1 KiB
Plaintext
/obj/item/weapon/folder
|
|
name = "folder"
|
|
desc = "A folder."
|
|
icon = 'icons/obj/bureaucracy.dmi'
|
|
icon_state = "folder"
|
|
w_class = 2
|
|
pressure_resistance = 2
|
|
|
|
autoignition_temperature = 522 // Kelvin
|
|
|
|
/obj/item/weapon/folder/blue
|
|
desc = "A blue folder."
|
|
icon_state = "folder_blue"
|
|
|
|
/obj/item/weapon/folder/red
|
|
desc = "A red folder."
|
|
icon_state = "folder_red"
|
|
|
|
/obj/item/weapon/folder/yellow
|
|
desc = "A yellow folder."
|
|
icon_state = "folder_yellow"
|
|
|
|
/obj/item/weapon/folder/white
|
|
desc = "A white folder."
|
|
icon_state = "folder_white"
|
|
|
|
/obj/item/weapon/folder/update_icon()
|
|
overlays.Cut()
|
|
if(contents.len)
|
|
overlays += "folder_paper"
|
|
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) || istype(W, /obj/item/documents))
|
|
user.drop_item()
|
|
W.loc = src
|
|
user << "<span class='notice'>You put the [W] into \the [src].</span>"
|
|
update_icon()
|
|
else if(istype(W, /obj/item/weapon/pen))
|
|
var/n_name = copytext(sanitize(input(usr, "What would you like to label the folder?", "Folder Labelling", null) as text), 1, MAX_NAME_LEN)
|
|
if((loc == usr && usr.stat == 0))
|
|
name = "folder[(n_name ? text("- '[n_name]'") : null)]"
|
|
return
|
|
|
|
/obj/item/weapon/folder/attack_self(mob/user as mob)
|
|
var/dat = "<title>[name]</title>"
|
|
|
|
for(var/obj/item/weapon/paper/P in src)
|
|
dat += "<A href='?src=\ref[src];remove=\ref[P]'>Remove</A> - <A href='?src=\ref[src];read=\ref[P]'>[P.name]</A><BR>"
|
|
for(var/obj/item/weapon/photo/Ph in src)
|
|
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)
|
|
return
|
|
|
|
/obj/item/weapon/folder/Topic(href, href_list)
|
|
..()
|
|
if((usr.stat || usr.restrained()))
|
|
return
|
|
|
|
if(src.loc == usr)
|
|
|
|
if(href_list["remove"])
|
|
var/obj/item/P = locate(href_list["remove"])
|
|
if(P && (P.loc == src) && istype(P))
|
|
P.loc = usr.loc
|
|
usr.put_in_hands(P)
|
|
|
|
else if(href_list["read"])
|
|
var/obj/item/weapon/paper/P = locate(href_list["read"])
|
|
if(P && (P.loc == src) && istype(P))
|
|
if(!(istype(usr, /mob/living/carbon/human) || istype(usr, /mob/dead/observer) || istype(usr, /mob/living/silicon)))
|
|
usr << browse("<HTML><HEAD><TITLE>[P.name]</TITLE></HEAD><BODY>[stars(P.info)][P.stamps]</BODY></HTML>", "window=[P.name]")
|
|
onclose(usr, "[P.name]")
|
|
else
|
|
usr << browse("<HTML><HEAD><TITLE>[P.name]</TITLE></HEAD><BODY>[P.info][P.stamps]</BODY></HTML>", "window=[P.name]")
|
|
onclose(usr, "[P.name]")
|
|
else if(href_list["look"])
|
|
var/obj/item/weapon/photo/P = locate(href_list["look"])
|
|
if(P && (P.loc == src) && istype(P))
|
|
P.show(usr)
|
|
else if(href_list["browse"])
|
|
var/obj/item/weapon/paper_bundle/P = locate(href_list["browse"])
|
|
if(P && (P.loc == src) && istype(P))
|
|
P.attack_self(usr)
|
|
onclose(usr, "[P.name]")
|
|
|
|
//Update everything
|
|
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()
|
|
|