mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2025-12-28 19:21:48 +00:00
This commit ports the base system of LINDA from TG. This version of linda is the original version, with none of -tg-'s fixes, rewrites, or other such improvements attached. The mob ignite system has been 100% removed, as LINDA does not support this normally. It may be added back in when the improvements and refactors to LINDA have been ported.
125 lines
4.0 KiB
Plaintext
125 lines
4.0 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
|
|
|
|
/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, params)
|
|
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 = sanitize(copytext(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()
|
|
|