mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-01-25 00:32:46 +00:00
Large bureaucracy overhaul. This affects clipboards, hand labelers, paper, paper bins, pens, photocopiers, and stamps. Everything (that I've changed significantly) should be BETTER. NO paths have been changed. All of the above have been added to the paperwork module (pending rename to bureaucracy, which is COOLER). SPRITES for most of the above (except photocopiers) are now in bureaucracy.dmi. Clipboards in particular are MASSIVELY IMPROVED. Hand labelers can now be turned ON AND OFF, to make it simpler to avoid labelling tables. This includes work in progress FOLDERS, which currently do NOTHING. Revision: r3253 Author: petethegoat
86 lines
2.5 KiB
Plaintext
86 lines
2.5 KiB
Plaintext
//THIS IS OBVIOUSLY WIP, SORRY -PETE
|
|
/obj/item/weapon/folder
|
|
name = "folder"
|
|
desc = "A folder."
|
|
icon = 'bureaucracy.dmi'
|
|
icon_state = "folder"
|
|
w_class = 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 = null
|
|
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))
|
|
user.drop_item()
|
|
W.loc = src
|
|
user << "\blue You put the [W] into the folder."
|
|
update_icon()
|
|
else if(istype(W, /obj/item/weapon/pen))
|
|
var/n_name = input(usr, "What would you like to label the folder?", "Folder Labelling", null) as text
|
|
n_name = copytext(n_name, 1, 32)
|
|
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> - [Ph.name]<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 (usr.contents.Find(src))
|
|
|
|
if(href_list["remove"])
|
|
var/obj/item/P = locate(href_list["remove"])
|
|
if(P)
|
|
P.loc = usr.loc
|
|
if(ishuman(usr))
|
|
if(!usr.get_active_hand())
|
|
usr.put_in_hand(P)
|
|
else
|
|
P.loc = get_turf(usr)
|
|
|
|
if(href_list["read"])
|
|
var/obj/item/weapon/paper/P = locate(href_list["read"])
|
|
if(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]")
|
|
|
|
//Update everything
|
|
attack_self(usr)
|
|
update_icon()
|
|
return |