From 0a0f97ef0c479e4d2a797295b41181959b257dc7 Mon Sep 17 00:00:00 2001 From: "petethegoat@gmail.com" Date: Mon, 5 Mar 2012 00:23:05 +0000 Subject: [PATCH] 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. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3253 316c924e-a436-60f5-8080-3fe189b3f50e --- code/defines/obj/weapon.dm | 123 --- .../objects/items/weapons/hand_lablers.dm | 40 - .../game/objects/items/weapons/papers_bins.dm | 712 ------------------ .../objects/items/weapons/wrappingpaper.dm | 230 ++++++ code/modules/paperwork/clipboard.dm | 135 ++++ code/modules/paperwork/folders.dm | 22 + code/modules/paperwork/handlabeler.dm | 53 ++ code/modules/paperwork/paper.dm | 186 +++++ code/modules/paperwork/paperbin.dm | 65 ++ code/modules/paperwork/pen.dm | 22 + .../paperwork}/photocopier.dm | 0 code/modules/paperwork/stamps.dm | 53 ++ icons/obj/bureaucracy.dmi | Bin 0 -> 6148 bytes icons/obj/items.dmi | Bin 51088 -> 50962 bytes icons/obj/paper.dmi | Bin 1759 -> 327 bytes tgstation.dme | 12 +- 16 files changed, 775 insertions(+), 878 deletions(-) delete mode 100644 code/game/objects/items/weapons/hand_lablers.dm delete mode 100644 code/game/objects/items/weapons/papers_bins.dm create mode 100644 code/game/objects/items/weapons/wrappingpaper.dm create mode 100644 code/modules/paperwork/clipboard.dm create mode 100644 code/modules/paperwork/folders.dm create mode 100644 code/modules/paperwork/handlabeler.dm create mode 100644 code/modules/paperwork/paper.dm create mode 100644 code/modules/paperwork/paperbin.dm create mode 100644 code/modules/paperwork/pen.dm rename code/{game/machinery => modules/paperwork}/photocopier.dm (100%) create mode 100644 code/modules/paperwork/stamps.dm create mode 100644 icons/obj/bureaucracy.dmi diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index 6fcd3ba0377..6f368ae3d60 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -521,18 +521,6 @@ access = get_all_centcom_access() ..() -/obj/item/weapon/clipboard - name = "clipboard" - desc = "Apply paper to this to write better. Can also hold pens." - icon = 'items.dmi' - icon_state = "clipboard00" - var/obj/item/weapon/pen/pen = null - item_state = "clipboard" - throwforce = 0 - w_class = 2.0 - throw_speed = 3 - throw_range = 10 - #define MAXCOIL 30 /obj/item/weapon/cable_coil name = "cable coil" @@ -757,7 +745,6 @@ m_amt = 400 origin_tech = "magnets=1" - /obj/item/weapon/caution desc = "Caution! Wet Floor!" name = "wet floor sign" @@ -775,27 +762,6 @@ name = "warning cone" icon_state = "cone" - -/obj/item/weapon/paper - name = "paper" - gender = PLURAL - icon = 'paper.dmi' - icon_state = "paper" - var/info = null - throwforce = 0 - w_class = 1.0 - throw_speed = 3 - throw_range = 15 - layer = 4 - var/list/stamped - var/see_face = 1 - var/body_parts_covered = HEAD - var/protective_temperature = T0C + 10 - var/heat_transfer_coefficient = 0.99 - var/gas_transfer_coefficient = 1 - var/permeability_coefficient = 0.99 - var/siemens_coefficient = 0.80 - /obj/item/weapon/directions name = "crumpled paper" gender = PLURAL @@ -843,41 +809,6 @@ name = "paper- 'Standard Operating Procedure'" info = "Alert Levels:
\nBlue- Emergency
\n\t1. Caused by fire
\n\t2. Caused by manual interaction
\n\tAction:
\n\t\tClose all fire doors. These can only be opened by reseting the alarm
\nRed- Ejection/Self Destruct
\n\t1. Caused by module operating computer.
\n\tAction:
\n\t\tAfter the specified time the module will eject completely.
\n
\nEngine Maintenance Instructions:
\n\tShut off ignition systems:
\n\tActivate internal power
\n\tActivate orbital balance matrix
\n\tRemove volatile liquids from area
\n\tWear a fire suit
\n
\n\tAfter
\n\t\tDecontaminate
\n\t\tVisit medical examiner
\n
\nToxin Laboratory Procedure:
\n\tWear a gas mask regardless
\n\tGet an oxygen tank.
\n\tActivate internal atmosphere
\n
\n\tAfter
\n\t\tDecontaminate
\n\t\tVisit medical examiner
\n
\nDisaster Procedure:
\n\tFire:
\n\t\tActivate sector fire alarm.
\n\t\tMove to a safe area.
\n\t\tGet a fire suit
\n\t\tAfter:
\n\t\t\tAssess Damage
\n\t\t\tRepair damages
\n\t\t\tIf needed, Evacuate
\n\tMeteor Shower:
\n\t\tActivate fire alarm
\n\t\tMove to the back of ship
\n\t\tAfter
\n\t\t\tRepair damage
\n\t\t\tIf needed, Evacuate
\n\tAccidental Reentry:
\n\t\tActivate fire alrms in front of ship.
\n\t\tMove volatile matter to a fire proof area!
\n\t\tGet a fire suit.
\n\t\tStay secure until an emergency ship arrives.
\n
\n\t\tIf ship does not arrive-
\n\t\t\tEvacuate to a nearby safe area!" -/obj/item/weapon/paper_bin - name = "paper bin" - desc = "This contains many papers." - icon = 'paper.dmi' - icon_state = "paper_bin1" - var/amount = 30.0 - item_state = "sheet-metal" - throwforce = 1 - w_class = 3.0 - throw_speed = 3 - throw_range = 7 - -/obj/item/weapon/pen - desc = "It's a normal black ink pen." - name = "pen" - icon = 'paper.dmi' - icon_state = "pen" - flags = FPRINT | ONBELT | TABLEPASS - throwforce = 0 - w_class = 1.0 - throw_speed = 7 - throw_range = 15 - m_amt = 10 - var/colour = "black" //what colour the ink is! - -/obj/item/weapon/pen/blue - desc = "It's a normal blue ink pen." - icon_state = "pen_blue" - colour = "blue" - -/obj/item/weapon/pen/red - desc = "It's a normal red ink pen." - icon_state = "pen_red" - colour = "red" - /obj/item/weapon/banhammer desc = "A banhammer" name = "banhammer" @@ -1392,60 +1323,6 @@ w_class = 1.0 origin_tech = "biotech=2" -/obj/item/weapon/stamp - desc = "A rubber stamp for stamping important documents." - name = "rubber stamp" - icon = 'paper.dmi' - icon_state = "stamp-qm" - item_state = "stamp" - flags = FPRINT | TABLEPASS - throwforce = 0 - w_class = 1.0 - throw_speed = 7 - throw_range = 15 - m_amt = 60 - var/color = "cargo" - -/obj/item/weapon/stamp/captain - name = "captain's rubber stamp" - icon_state = "stamp-cap" - color = "captain" - -/obj/item/weapon/stamp/hop - name = "head of personnel's rubber stamp" - icon_state = "stamp-hop" - color = "hop" - -/obj/item/weapon/stamp/hos - name = "head of security's rubber stamp" - icon_state = "stamp-hos" - color = "hosred" - -/obj/item/weapon/stamp/ce - name = "chief engineer's rubber stamp" - icon_state = "stamp-ce" - color = "chief" - -/obj/item/weapon/stamp/rd - name = "research director's rubber stamp" - icon_state = "stamp-rd" - color = "director" - -/obj/item/weapon/stamp/cmo - name = "chief medical officer's rubber stamp" - icon_state = "stamp-cmo" - color = "medical" - -/obj/item/weapon/stamp/denied - name = "\improper DENIED rubber stamp" - icon_state = "stamp-qm" - color = "redcoat" - -/obj/item/weapon/stamp/clown - name = "clown's rubber stamp" - icon_state = "stamp-clown" - color = "clown" - /* /obj/item/weapon/cigarpacket name = "Pete's Cuban Cigars" diff --git a/code/game/objects/items/weapons/hand_lablers.dm b/code/game/objects/items/weapons/hand_lablers.dm deleted file mode 100644 index ea560cb43ce..00000000000 --- a/code/game/objects/items/weapons/hand_lablers.dm +++ /dev/null @@ -1,40 +0,0 @@ -/obj/item/weapon/hand_labeler - icon = 'items.dmi' - icon_state = "labeler" - item_state = "flight" - name = "Hand labeler" - var/label = null - var/labels_left = 30 - -/obj/item/weapon/hand_labeler/afterattack(atom/A, mob/user as mob) - if(A==loc) // if placing the labeller into something (e.g. backpack) - return // don't set a label - - if(!labels_left) - user << "\red No labels left." - return - if(!label || !length(label)) - user << "\red No text set." - return - if(length(A.name) + length(label) > 64) - user << "\red Label too big." - return - if(ishuman(A)) - user << "\red You can't label humans." - return - - for(var/mob/M in viewers()) - if ((M.client && !( M.blinded ))) - M << "\blue [user] labels [A] as [label]." - A.name = "[A.name] ([label])" - -/obj/item/weapon/hand_labeler/attack_self() - var/str = input(usr,"Label text?","Set label","") - if(!str || !length(str)) - usr << "\red Invalid text." - return - if(length(str) > 64) - usr << "\red Text too long." - return - label = str - usr << "\blue You set the text to '[str]'." \ No newline at end of file diff --git a/code/game/objects/items/weapons/papers_bins.dm b/code/game/objects/items/weapons/papers_bins.dm deleted file mode 100644 index 40c8d01a9e8..00000000000 --- a/code/game/objects/items/weapons/papers_bins.dm +++ /dev/null @@ -1,712 +0,0 @@ -/* -CONTAINS: -PAPER -PAPER BIN -WRAPPING PAPER -GIFTS -BEDSHEET BIN -PHOTOGRAPHS -CLIPBOARDS - -*/ - - -// PAPER - -/obj/item/weapon/paper/New() - - ..() - src.pixel_y = rand(-8, 8) - src.pixel_x = rand(-9, 9) - spawn(2) - if(src.info) - src.overlays += "paper_words" - return - -/obj/item/weapon/paper/update_icon() - if(src.info) - src.overlays += "paper_words" - return - -/obj/item/weapon/paper/examine() - set src in view() - - ..() - if (!( istype(usr, /mob/living/carbon/human) || istype(usr, /mob/dead/observer) || istype(usr, /mob/living/silicon) )) - usr << browse(text("[][]", src.name, stars(src.info)), text("window=[]", src.name)) - onclose(usr, "[src.name]") - else - usr << browse(text("[][]", src.name, src.info), text("window=[]", src.name)) - onclose(usr, "[src.name]") - return - -/obj/item/weapon/paper/verb/rename() - set name = "Rename paper" - set category = "Object" - set src in usr - - if ((usr.mutations & CLUMSY) && prob(50)) - usr << text("\red You cut yourself on the paper.") - return - var/n_name = input(usr, "What would you like to label the paper?", "Paper Labelling", null) as text - n_name = copytext(n_name, 1, 32) - if ((src.loc == usr && usr.stat == 0)) - src.name = text("paper[]", (n_name ? text("- '[n_name]'") : null)) - src.add_fingerprint(usr) - return - -/obj/item/weapon/paper/attack_self(mob/living/user as mob) - examine() - return - -/obj/item/weapon/paper/attack_ai(var/mob/living/silicon/ai/user as mob) - var/dist - if (istype(user) && user.current) //is AI - dist = get_dist(src, user.current) - else //cyborg or AI not seeing through a camera - dist = get_dist(src, user) - if (dist < 2) - usr << browse(text("[][]", src.name, src.info), text("window=[]", src.name)) - onclose(usr, "[src.name]") - else - usr << browse(text("[][]", src.name, stars(src.info)), text("window=[]", src.name)) - onclose(usr, "[src.name]") - return - -/obj/item/weapon/paper/attackby(obj/item/weapon/P as obj, mob/user as mob) - ..() - var/clown = 0 - if(user.mind && (user.mind.assigned_role == "Clown")) - clown = 1 - - if (istype(P, /obj/item/weapon/pen)) - var/t = strip_html_simple(input(user, "What text do you wish to add?", text("[]", src.name), null),8192) as message - - if ((!in_range(src, usr) && src.loc != user && !( istype(src.loc, /obj/item/weapon/clipboard) ) && src.loc.loc != user && user.equipped() != P)) - return - - t = copytext(sanitize(t),1,MAX_MESSAGE_LEN) - t = dd_replacetext(t, "\[center\]", "
") - t = dd_replacetext(t, "\[/center\]", "
") - t = dd_replacetext(t, "\[list\]", "") - t = dd_replacetext(t, "\[*\]", "
  • ") - t = dd_replacetext(t, "\[*\]", "
  • ") - t = dd_replacetext(t, "\[br\]", "
    ") - t = dd_replacetext(t, "\[hr\]", "
    ") - t = dd_replacetext(t, "\[b\]", "") - t = dd_replacetext(t, "\[/b\]", "") - t = dd_replacetext(t, "\[i\]", "") - t = dd_replacetext(t, "\[/i\]", "") - t = dd_replacetext(t, "\[u\]", "") - t = dd_replacetext(t, "\[/u\]", "") - t = dd_replacetext(t, "\[small\]", "") - t = dd_replacetext(t, "\[/small\]", "") - t = dd_replacetext(t, "\[large\]", "") - t = dd_replacetext(t, "\[/large\]", "") - t = dd_replacetext(t, "\[sign\]", text("[user.real_name]")) - - var/obj/item/weapon/pen/i = P - t = text("[t]") - - if(!overlays.Find("paper_words")) - src.overlays += "paper_words" - src.info += t - return - - if(istype(P, /obj/item/toy/crayon)) - var/t = strip_html_simple(input(user, "What text do you wish to add?", text("[]", src.name), null),8192) as message - - if ((!in_range(src, usr) && src.loc != user && !( istype(src.loc, /obj/item/weapon/clipboard) ) && src.loc.loc != user && user.equipped() != P)) - return - - t = copytext(sanitize(t),1,MAX_MESSAGE_LEN) - t = dd_replacetext(t, "\[center\]", "
    ") - t = dd_replacetext(t, "\[/center\]", "
    ") - t = dd_replacetext(t, "\[br\]", "
    ") - t = dd_replacetext(t, "\[b\]", "") - t = dd_replacetext(t, "\[/b\]", "") - t = dd_replacetext(t, "\[i\]", "") - t = dd_replacetext(t, "\[/i\]", "") - t = dd_replacetext(t, "\[u\]", "") - t = dd_replacetext(t, "\[/u\]", "") - t = dd_replacetext(t, "\[large\]", "") - t = dd_replacetext(t, "\[/large\]", "") - t = dd_replacetext(t, "\[sign\]", text("[user.real_name]")) - - var/obj/item/toy/crayon/i = P - t = text("[t]") - - if(!overlays.Find("paper_words")) - src.overlays += "paper_words" - src.info += t - return - - else - if(istype(P, /obj/item/weapon/stamp)) - if ((!in_range(src, usr) && src.loc != user && !( istype(src.loc, /obj/item/weapon/clipboard) ) && src.loc.loc != user && user.equipped() != P)) - return - src.info += text("
    This paper has been stamped with the [].
    ", P.name) - switch(P.type) - if(/obj/item/weapon/stamp/captain) - src.overlays += "paper_stamped_cap" - if(/obj/item/weapon/stamp/hop) - src.overlays += "paper_stamped_hop" - if(/obj/item/weapon/stamp/hos) - src.overlays += "paper_stamped_hos" - if(/obj/item/weapon/stamp/ce) - src.overlays += "paper_stamped_ce" - if(/obj/item/weapon/stamp/rd) - src.overlays += "paper_stamped_rd" - if(/obj/item/weapon/stamp/cmo) - src.overlays += "paper_stamped_cmo" - if(/obj/item/weapon/stamp/denied) - src.overlays += "paper_stamped_denied" - if(/obj/item/weapon/stamp/clown) - if (!clown) - usr << "\red You are totally unable to use the stamp. HONK!" - return - else - src.overlays += "paper_stamped_clown" - else - src.overlays += "paper_stamped" - if(!stamped) - stamped = new - stamped += P.type - - user << "\blue You stamp the paper with your rubber stamp." - /* - else - if (istype(P, /obj/item/weapon/weldingtool)) - var/obj/item/weapon/weldingtool/W = P - if ((W.welding && W.weldfuel > 0)) - for(var/mob/O in viewers(user, null)) - O.show_message(text("\red [] burns [] with the welding tool!", user, src), 1, "\red You hear a small burning noise", 2) - //Foreach goto(323) - spawn( 0 ) - src.burn(1800000.0) - return - else - if (istype(P, /obj/item/device/igniter)) - for(var/mob/O in viewers(user, null)) - O.show_message(text("\red [] burns [] with the igniter!", user, src), 1, "\red You hear a small burning noise", 2) - //Foreach goto(406) - spawn( 0 ) - src.burn(1800000.0) - return - else - if (istype(P, /obj/item/weapon/wirecutters)) - for(var/mob/O in viewers(user, null)) - O.show_message(text("\red [] starts cutting []!", user, src), 1) - //Foreach goto(489) - sleep(50) - if (((src.loc == src || get_dist(src, user) <= 1) && (!( user.stat ) && !( user.restrained() )))) - for(var/mob/O in viewers(user, null)) - O.show_message(text("\red [] cuts [] to pieces!", user, src), 1) - //Foreach goto(580) - //SN src = null - del(src) - return - */ //TODO: FIX - src.add_fingerprint(user) - return - - - - - -//PAPER BIN - -/obj/item/weapon/paper_bin/proc/update() - src.icon_state = text("paper_bin[]", ((src.amount || locate(/obj/item/weapon/paper, src)) ? "1" : null)) - return - - -/obj/item/weapon/paper_bin/MouseDrop(mob/user as mob) - if ((user == usr && (!( usr.restrained() ) && (!( usr.stat ) && (usr.contents.Find(src) || in_range(src, usr)))))) - if (usr.hand) - if (!( usr.l_hand )) - spawn( 0 ) - src.attack_hand(usr, 1, 1) - return - else - if (!( usr.r_hand )) - spawn( 0 ) - src.attack_hand(usr, 0, 1) - return - return - -/obj/item/weapon/paper_bin/attack_paw(mob/user as mob) - return src.attack_hand(user) - -/obj/item/weapon/paper_bin/attack_hand(mob/user as mob, unused, flag) - if (flag) - return ..() - src.add_fingerprint(user) - if (locate(/obj/item/weapon/paper, src)) - for(var/obj/item/weapon/paper/P in src) - if ((usr.hand && !( usr.l_hand ))) - usr.l_hand = P - P.loc = usr - P.layer = 20 - P = null - usr.update_clothing() - break - else if (!usr.r_hand) - usr.r_hand = P - P.loc = usr - P.layer = 20 - P = null - usr.update_clothing() - break - else - if (src.amount >= 1) - src.amount-- - var/obj/item/weapon/paper/P = new /obj/item/weapon/paper - P.loc = usr.loc - if(ishuman(usr)) - if(!usr.get_active_hand()) - usr.put_in_hand(P) - usr << "You take a paper out of the bin." - else - P.loc = get_turf_loc(src) - usr << "You take a paper out of the bin." - - src.update() - return - -/obj/item/weapon/paper_bin/examine() - set src in oview(1) - - src.amount = round(src.amount) - var/n = src.amount - for(var/obj/item/weapon/paper/P in src) - n++ - if (n <= 0) - n = 0 - usr << "There are no papers in the bin." - else - if (n == 1) - usr << "There is one paper in the bin." - else - usr << text("There are [] papers in the bin.", n) - return - -/* -/obj/item/weapon/paper_bin/attackby(obj/item/weapon/W as obj, mob/user as mob) - if (istype(W, /obj/item/weapon/paper)) - user.drop_item() - W.loc = src - else - if (istype(W, /obj/item/weapon/weldingtool)) - var/obj/item/weapon/weldingtool/T = W - if ((T.welding && T.weldfuel > 0)) - viewers(user, null) << text("[] burns the paper with the welding tool!", user) - spawn( 0 ) - src.burn(1800000.0) - return - else - if (istype(W, /obj/item/device/igniter)) - viewers(user, null) << text("[] burns the paper with the igniter!", user) - spawn( 0 ) - src.burn(1800000.0) - return - src.update() - return -*/ //TODO: FIX - - - - - -// WRAPPING PAPER - -/obj/item/weapon/wrapping_paper/attackby(obj/item/weapon/W as obj, mob/user as mob) - ..() - if (!( locate(/obj/structure/table, src.loc) )) - user << "\blue You MUST put the paper on a table!" - if (W.w_class < 4) - if ((istype(user.l_hand, /obj/item/weapon/wirecutters) || istype(user.r_hand, /obj/item/weapon/wirecutters))) - var/a_used = 2 ** (src.w_class - 1) - if (src.amount < a_used) - user << "\blue You need more paper!" - return - else - src.amount -= a_used - user.drop_item() - var/obj/item/weapon/gift/G = new /obj/item/weapon/gift( src.loc ) - G.size = W.w_class - G.w_class = G.size + 1 - G.icon_state = text("gift[]", G.size) - G.gift = W - W.loc = G - G.add_fingerprint(user) - W.add_fingerprint(user) - src.add_fingerprint(user) - if (src.amount <= 0) - new /obj/item/weapon/c_tube( src.loc ) - //SN src = null - del(src) - return - else - user << "\blue You need scissors!" - else - user << "\blue The object is FAR too large!" - return - - -/obj/item/weapon/wrapping_paper/examine() - set src in oview(1) - - ..() - usr << text("There is about [] square units of paper left!", src.amount) - return - -/obj/item/weapon/wrapping_paper/attack(mob/target as mob, mob/user as mob) - if (!istype(target, /mob/living/carbon/human)) return - if (istype(target:wear_suit, /obj/item/clothing/suit/straight_jacket) || target:stat) - if (src.amount > 2) - var/obj/effect/spresent/present = new /obj/effect/spresent (target:loc) - src.amount -= 2 - - if (target:client) - target:client:perspective = EYE_PERSPECTIVE - target:client:eye = present - - target:loc = present - target.attack_log += text("\[[time_stamp()]\] Has been wrapped with [src.name] by [user.name] ([user.ckey])") - user.attack_log += text("\[[time_stamp()]\] Used the [src.name] to wrap [target.name] ([target.ckey])") - - log_attack("[user.name] ([user.ckey]) used the [src.name] to wrap [target.name] ([target.ckey])") - - else - user << "/blue You need more paper." - else - user << "Theyre moving around too much. a Straitjacket would help." - - - - - -// GIFTS - -/obj/item/weapon/gift/attack_self(mob/user as mob) - if(!src.gift) - user << "\blue The gift was empty!" - del(src) - src.gift.loc = user - if (user.hand) - user.l_hand = src.gift - else - user.r_hand = src.gift - src.gift.layer = 20 - src.gift.add_fingerprint(user) - del(src) - return - -/obj/item/weapon/a_gift/ex_act() - del(src) - return - - -/obj/effect/spresent/relaymove(mob/user as mob) - if (user.stat) - return - user << "\blue You cant move." - -/obj/effect/spresent/attackby(obj/item/weapon/W as obj, mob/user as mob) - ..() - - if (!istype(W, /obj/item/weapon/wirecutters)) - user << "/blue I need wirecutters for that." - return - - user << "\blue You cut open the present." - - for(var/mob/M in src) //Should only be one but whatever. - M.loc = src.loc - if (M.client) - M.client.eye = M.client.mob - M.client.perspective = MOB_PERSPECTIVE - - del(src) - - -/obj/item/weapon/a_gift/attack_self(mob/M as mob) - switch(pick("flash", "t_gun", "l_gun", "shield", "sword", "axe")) - if("flash") - var/obj/item/device/flash/W = new /obj/item/device/flash( M ) - if (M.hand) - M.l_hand = W - else - M.r_hand = W - W.layer = 20 - W.add_fingerprint(M) - //SN src = null - del(src) - return - if("l_gun") - var/obj/item/weapon/gun/energy/laser/W = new /obj/item/weapon/gun/energy/laser( M ) - if (M.hand) - M.l_hand = W - else - M.r_hand = W - W.layer = 20 - W.add_fingerprint(M) - //SN src = null - del(src) - return - if("t_gun") - var/obj/item/weapon/gun/energy/taser/W = new /obj/item/weapon/gun/energy/taser( M ) - if (M.hand) - M.l_hand = W - else - M.r_hand = W - W.layer = 20 - W.add_fingerprint(M) - //SN src = null - del(src) - return - if("sword") - var/obj/item/weapon/melee/energy/sword/W = new /obj/item/weapon/melee/energy/sword( M ) - if (M.hand) - M.l_hand = W - else - M.r_hand = W - W.layer = 20 - W.add_fingerprint(M) - //SN src = null - del(src) - return - if("axe") - var/obj/item/weapon/melee/energy/axe/W = new /obj/item/weapon/melee/energy/axe( M ) - if (M.hand) - M.l_hand = W - else - M.r_hand = W - W.layer = 20 - W.add_fingerprint(M) - //SN src = null - del(src) - return - else - return - - - - - - - -// BEDSHEET BIN - -/obj/structure/bedsheetbin/attackby(obj/item/weapon/W as obj, mob/user as mob) - if (istype(W, /obj/item/weapon/bedsheet)) - //W = null - del(W) - src.amount++ - return - -/obj/structure/bedsheetbin/attack_paw(mob/user as mob) - return src.attack_hand(user) - -/obj/structure/bedsheetbin/attack_hand(mob/user as mob) - if (src.amount >= 1) - src.amount-- - new /obj/item/weapon/bedsheet( src.loc ) - add_fingerprint(user) - -/obj/structure/bedsheetbin/examine() - set src in oview(1) - - src.amount = round(src.amount) - if (src.amount <= 0) - src.amount = 0 - usr << "There are no bed sheets in the bin." - else - if (src.amount == 1) - usr << "There is one bed sheet in the bin." - else - usr << text("There are [] bed sheets in the bin.", src.amount) - return - - - - - - -// CLIPBOARD - -/obj/item/weapon/clipboard/attack_self(mob/user as mob) - var/dat = "Clipboard
    " - if (src.pen) - dat += text("Remove Pen

    ", src) - for(var/obj/item/weapon/paper/P in src) - dat += text("[] Write Remove
    ", src, P, P.name, src, P, src, P) - user << browse(dat, "window=clipboard") - onclose(user, "clipboard") - return - -/obj/item/weapon/clipboard/Topic(href, href_list) - ..() - if ((usr.stat || usr.restrained())) - return - if (usr.contents.Find(src)) - usr.machine = src - if (href_list["pen"]) - if (src.pen) - if ((usr.hand && !( usr.l_hand ))) - usr.l_hand = src.pen - src.pen.loc = usr - src.pen.layer = 20 - src.pen = null - usr.update_clothing() - else - if (!( usr.r_hand )) - usr.r_hand = src.pen - src.pen.loc = usr - src.pen.layer = 20 - src.pen = null - usr.update_clothing() - if (src.pen) - src.pen.add_fingerprint(usr) - update() - src.add_fingerprint(usr) - if (href_list["remove"]) - var/obj/item/P = locate(href_list["remove"]) - if ((P && P.loc == src)) - if ((usr.hand && !( usr.l_hand ))) - usr.l_hand = P - P.loc = usr - P.layer = 20 - usr.update_clothing() - else - if (!( usr.r_hand )) - usr.r_hand = P - P.loc = usr - P.layer = 20 - usr.update_clothing() - P.add_fingerprint(usr) - src.add_fingerprint(usr) - update() - if (href_list["write"]) - var/obj/item/P = locate(href_list["write"]) - if ((P && P.loc == src)) - if (istype(usr.r_hand, /obj/item/weapon/pen)) - P.attackby(usr.r_hand, usr) - else - if (istype(usr.l_hand, /obj/item/weapon/pen)) - P.attackby(usr.l_hand, usr) - else - if (istype(src.pen, /obj/item/weapon/pen)) - P.attackby(src.pen, usr) - src.add_fingerprint(usr) - if (href_list["read"]) - var/obj/item/weapon/paper/P = locate(href_list["read"]) - if ((P && P.loc == src)) - if (!( istype(usr, /mob/living/carbon/human) )) - usr << browse(text("[][]", P.name, stars(P.info)), text("window=[]", P.name)) - onclose(usr, "[P.name]") - else - usr << browse(text("[][]", P.name, P.info), text("window=[]", P.name)) - onclose(usr, "[P.name]") - if (ismob(src.loc)) - var/mob/M = src.loc - if (M.machine == src) - spawn( 0 ) - src.attack_self(M) - return - return - -/obj/item/weapon/clipboard/attack_paw(mob/user as mob) - return src.attack_hand(user) - -/obj/item/weapon/clipboard/attack_hand(mob/user as mob) - - if ((locate(/obj/item/weapon/paper, src) && (!( user.equipped() ) && (user.l_hand == src || user.r_hand == src)))) - var/obj/item/weapon/paper/P - for(P in src) - break - if (P) - if (user.hand) - user.l_hand = P - else - user.r_hand = P - P.loc = user - P.layer = 20 - P.add_fingerprint(user) - user.update_clothing() - src.add_fingerprint(user) - else - if (user.contents.Find(src)) - spawn( 0 ) - src.attack_self(user) - return - else - return ..() - return - -/obj/item/weapon/clipboard/attackby(obj/item/weapon/P as obj, mob/user as mob) - ..() - if (istype(P, /obj/item/weapon/paper)) - if (src.contents.len < 15) - user.drop_item() - P.loc = src - else - user << "\blue Not enough space!!!" - else - if (istype(P, /obj/item/weapon/pen)) - if (!src.pen) - user.drop_item() - P.loc = src - src.pen = P - else - return - src.update() - spawn(0) - attack_self(user) - return - return - -/obj/item/weapon/clipboard/proc/update() - src.icon_state = text("clipboard[][]", (locate(/obj/item/weapon/paper, src) ? "1" : "0"), (locate(/obj/item/weapon/pen, src) ? "1" : "0")) - return - - -/obj/item/weapon/clipboard/MouseDrop(obj/over_object as obj) //Quick clipboard fix. -Agouri - if (ishuman(usr) || ismonkey(usr)) //Can monkeys even place items in the pocket slots? Leaving this in just in case~ - var/mob/M = usr - if (!( istype(over_object, /obj/screen) )) - return ..() - if ((!( M.restrained() ) && !( M.stat ) /*&& M.pocket == src*/)) - if (over_object.name == "r_hand") - if (!( M.r_hand )) - M.u_equip(src) - M.r_hand = src - else - if (over_object.name == "l_hand") - if (!( M.l_hand )) - M.u_equip(src) - M.l_hand = src - M.update_clothing() - src.add_fingerprint(usr) - return // - - -// PHOTOGRAPH - -/obj/item/weapon/paper/photograph/New() - - ..() - src.pixel_y = 0 - src.pixel_x = 0 - return - -/obj/item/weapon/paper/photograph/attack_self(mob/user as mob) - - var/n_name = input(user, "What would you like to label the photo?", "Paper Labelling", null) as text - n_name = copytext(n_name, 1, 32) - if ((src.loc == user && user.stat == 0)) - src.name = text("photo[]", (n_name ? text("- '[]'", n_name) : null)) - src.add_fingerprint(user) - return diff --git a/code/game/objects/items/weapons/wrappingpaper.dm b/code/game/objects/items/weapons/wrappingpaper.dm new file mode 100644 index 00000000000..764ba3c2698 --- /dev/null +++ b/code/game/objects/items/weapons/wrappingpaper.dm @@ -0,0 +1,230 @@ +/* +CONTAINS: +WRAPPING PAPER +GIFTS +BEDSHEET BIN +PHOTOGRAPHS + +*/ +// WRAPPING PAPER + +/obj/item/weapon/wrapping_paper/attackby(obj/item/weapon/W as obj, mob/user as mob) + ..() + if (!( locate(/obj/structure/table, src.loc) )) + user << "\blue You MUST put the paper on a table!" + if (W.w_class < 4) + if ((istype(user.l_hand, /obj/item/weapon/wirecutters) || istype(user.r_hand, /obj/item/weapon/wirecutters))) + var/a_used = 2 ** (src.w_class - 1) + if (src.amount < a_used) + user << "\blue You need more paper!" + return + else + src.amount -= a_used + user.drop_item() + var/obj/item/weapon/gift/G = new /obj/item/weapon/gift( src.loc ) + G.size = W.w_class + G.w_class = G.size + 1 + G.icon_state = text("gift[]", G.size) + G.gift = W + W.loc = G + G.add_fingerprint(user) + W.add_fingerprint(user) + src.add_fingerprint(user) + if (src.amount <= 0) + new /obj/item/weapon/c_tube( src.loc ) + //SN src = null + del(src) + return + else + user << "\blue You need scissors!" + else + user << "\blue The object is FAR too large!" + return + + +/obj/item/weapon/wrapping_paper/examine() + set src in oview(1) + + ..() + usr << text("There is about [] square units of paper left!", src.amount) + return + +/obj/item/weapon/wrapping_paper/attack(mob/target as mob, mob/user as mob) + if (!istype(target, /mob/living/carbon/human)) return + if (istype(target:wear_suit, /obj/item/clothing/suit/straight_jacket) || target:stat) + if (src.amount > 2) + var/obj/effect/spresent/present = new /obj/effect/spresent (target:loc) + src.amount -= 2 + + if (target:client) + target:client:perspective = EYE_PERSPECTIVE + target:client:eye = present + + target:loc = present + target.attack_log += text("\[[time_stamp()]\] Has been wrapped with [src.name] by [user.name] ([user.ckey])") + user.attack_log += text("\[[time_stamp()]\] Used the [src.name] to wrap [target.name] ([target.ckey])") + + log_attack("[user.name] ([user.ckey]) used the [src.name] to wrap [target.name] ([target.ckey])") + + else + user << "/blue You need more paper." + else + user << "Theyre moving around too much. a Straitjacket would help." + + + + + +// GIFTS + +/obj/item/weapon/gift/attack_self(mob/user as mob) + if(!src.gift) + user << "\blue The gift was empty!" + del(src) + src.gift.loc = user + if (user.hand) + user.l_hand = src.gift + else + user.r_hand = src.gift + src.gift.layer = 20 + src.gift.add_fingerprint(user) + del(src) + return + +/obj/item/weapon/a_gift/ex_act() + del(src) + return + + +/obj/effect/spresent/relaymove(mob/user as mob) + if (user.stat) + return + user << "\blue You cant move." + +/obj/effect/spresent/attackby(obj/item/weapon/W as obj, mob/user as mob) + ..() + + if (!istype(W, /obj/item/weapon/wirecutters)) + user << "/blue I need wirecutters for that." + return + + user << "\blue You cut open the present." + + for(var/mob/M in src) //Should only be one but whatever. + M.loc = src.loc + if (M.client) + M.client.eye = M.client.mob + M.client.perspective = MOB_PERSPECTIVE + + del(src) + + +/obj/item/weapon/a_gift/attack_self(mob/M as mob) + switch(pick("flash", "t_gun", "l_gun", "shield", "sword", "axe")) + if("flash") + var/obj/item/device/flash/W = new /obj/item/device/flash( M ) + if (M.hand) + M.l_hand = W + else + M.r_hand = W + W.layer = 20 + W.add_fingerprint(M) + //SN src = null + del(src) + return + if("l_gun") + var/obj/item/weapon/gun/energy/laser/W = new /obj/item/weapon/gun/energy/laser( M ) + if (M.hand) + M.l_hand = W + else + M.r_hand = W + W.layer = 20 + W.add_fingerprint(M) + //SN src = null + del(src) + return + if("t_gun") + var/obj/item/weapon/gun/energy/taser/W = new /obj/item/weapon/gun/energy/taser( M ) + if (M.hand) + M.l_hand = W + else + M.r_hand = W + W.layer = 20 + W.add_fingerprint(M) + //SN src = null + del(src) + return + if("sword") + var/obj/item/weapon/melee/energy/sword/W = new /obj/item/weapon/melee/energy/sword( M ) + if (M.hand) + M.l_hand = W + else + M.r_hand = W + W.layer = 20 + W.add_fingerprint(M) + //SN src = null + del(src) + return + if("axe") + var/obj/item/weapon/melee/energy/axe/W = new /obj/item/weapon/melee/energy/axe( M ) + if (M.hand) + M.l_hand = W + else + M.r_hand = W + W.layer = 20 + W.add_fingerprint(M) + //SN src = null + del(src) + return + else + return + +// BEDSHEET BIN + +/obj/structure/bedsheetbin/attackby(obj/item/weapon/W as obj, mob/user as mob) + if (istype(W, /obj/item/weapon/bedsheet)) + //W = null + del(W) + src.amount++ + return + +/obj/structure/bedsheetbin/attack_paw(mob/user as mob) + return src.attack_hand(user) + +/obj/structure/bedsheetbin/attack_hand(mob/user as mob) + if (src.amount >= 1) + src.amount-- + new /obj/item/weapon/bedsheet( src.loc ) + add_fingerprint(user) + +/obj/structure/bedsheetbin/examine() + set src in oview(1) + + src.amount = round(src.amount) + if (src.amount <= 0) + src.amount = 0 + usr << "There are no bed sheets in the bin." + else + if (src.amount == 1) + usr << "There is one bed sheet in the bin." + else + usr << text("There are [] bed sheets in the bin.", src.amount) + return + +// PHOTOGRAPH + +/obj/item/weapon/paper/photograph/New() + + ..() + src.pixel_y = 0 + src.pixel_x = 0 + return + +/obj/item/weapon/paper/photograph/attack_self(mob/user as mob) + + var/n_name = input(user, "What would you like to label the photo?", "Paper Labelling", null) as text + n_name = copytext(n_name, 1, 32) + if ((src.loc == user && user.stat == 0)) + src.name = text("photo[]", (n_name ? text("- '[]'", n_name) : null)) + src.add_fingerprint(user) + return diff --git a/code/modules/paperwork/clipboard.dm b/code/modules/paperwork/clipboard.dm new file mode 100644 index 00000000000..66e074543cc --- /dev/null +++ b/code/modules/paperwork/clipboard.dm @@ -0,0 +1,135 @@ +/obj/item/weapon/clipboard + name = "clipboard" + icon = 'bureaucracy.dmi' + icon_state = "clipboard" + item_state = "clipboard" + throwforce = 0 + w_class = 2.0 + throw_speed = 3 + throw_range = 10 + var/obj/item/weapon/pen/haspen //The stored pen. + var/obj/item/weapon/paper/toppaper //The topmost piece of paper. + +/obj/item/weapon/clipboard/MouseDrop(obj/over_object as obj) //Quick clipboard fix. -Agouri + if(ishuman(usr) || ismonkey(usr)) //Can monkeys even place items in the pocket slots? Leaving this in just in case~ + var/mob/M = usr + if (!(istype(over_object, /obj/screen) )) + return ..() + if((!(M.restrained()) && !(M.stat))) + if(over_object.name == "r_hand") + if(!(M.r_hand)) + M.u_equip(src) + M.r_hand = src + else + if(over_object.name == "l_hand") + if(!(M.l_hand)) + M.u_equip(src) + M.l_hand = src + M.update_clothing() + src.add_fingerprint(usr) + return + +/obj/item/weapon/clipboard/update_icon() + overlays = null + if(toppaper) + overlays += toppaper.icon_state + overlays += toppaper.overlays + if(haspen) + overlays += "clipboard_pen" + overlays += "clipboard_over" + return + +/obj/item/weapon/clipboard/attackby(obj/item/weapon/W as obj, mob/user as mob) + if(istype(W, /obj/item/weapon/paper)) + user.drop_item() + W.loc = src + toppaper = W + user << "\blue You clip the paper onto the clipboard." + update_icon() + else if(toppaper) + toppaper.attackby(usr.get_active_hand(), usr) + update_icon() + return + +/obj/item/weapon/clipboard/attack_self(mob/user as mob) + var/dat = "Clipboard" + if (haspen) + dat += "Remove Pen

    " + else + dat += "Add Pen

    " + + //The topmost paper. I don't think there's any way to organise contents in byond, so this is what we're stuck with. -Pete + if(toppaper) + var/obj/item/weapon/paper/P = toppaper + dat += "Write Remove - [P.name]

    " + + for(P in src) + if(P == toppaper) + continue + dat += "Write Remove Move to top - [P.name]
    " + user << browse(dat, "window=clipboard") + onclose(user, "clipboard") + add_fingerprint(usr) + return + +/obj/item/weapon/clipboard/Topic(href, href_list) + ..() + if ((usr.stat || usr.restrained())) + return + + if (usr.contents.Find(src)) + + if(href_list["pen"]) + if(haspen) + haspen.loc = usr.loc + if(ishuman(usr)) + if(!usr.get_active_hand()) + usr.put_in_hand(haspen) + haspen = null + + if(href_list["addpen"]) + if(!haspen) + if(istype(usr.get_active_hand(), /obj/item/weapon/pen)) + var/obj/item/weapon/pen/W = usr.get_active_hand() + usr.drop_item() + W.loc = src + haspen = W + usr << "\blue You slot the pen into the clipboard." + + if(href_list["write"]) + var/obj/item/P = locate(href_list["write"]) + if(P) + if(usr.get_active_hand()) + P.attackby(usr.get_active_hand(), usr) + + 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(P == toppaper) + var/obj/item/weapon/paper/newtop = locate(/obj/item/weapon/paper in src) + if(newtop && newtop != toppaper) + toppaper = newtop + else + toppaper = null + + if(href_list["read"]) + var/obj/item/P = locate(href_list["read"]) + if(P) + P.examine(usr) + + if(href_list["top"]) + var/obj/item/P = locate(href_list["top"]) + if(P) + toppaper = P + usr << "You move [P.name] to the top." + + //Update everything + attack_self(usr) + update_icon() + return \ No newline at end of file diff --git a/code/modules/paperwork/folders.dm b/code/modules/paperwork/folders.dm new file mode 100644 index 00000000000..35df3f0739f --- /dev/null +++ b/code/modules/paperwork/folders.dm @@ -0,0 +1,22 @@ +//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/attack_self() + usr << "lol!" \ No newline at end of file diff --git a/code/modules/paperwork/handlabeler.dm b/code/modules/paperwork/handlabeler.dm new file mode 100644 index 00000000000..c3170b36ef4 --- /dev/null +++ b/code/modules/paperwork/handlabeler.dm @@ -0,0 +1,53 @@ +/obj/item/weapon/hand_labeler + name = "Hand labeler" + icon = 'bureaucracy.dmi' + icon_state = "labeler0" + item_state = "flight" + var/label = null + var/labels_left = 30 + var/mode = 0 //off or on. + +/obj/item/weapon/hand_labeler/afterattack(atom/A, mob/user as mob) + if(!mode) //if it's off, give up. + return + if(A==loc) // if placing the labeller into something (e.g. backpack) + return // don't set a label + + if(!labels_left) + user << "\blue No labels left." + return + if(!label || !length(label)) + user << "\blue No text set." + return + if(length(A.name) + length(label) > 64) + user << "\blue Label too big." + return + if(ishuman(A)) + user << "\blue You can't label humans." + return + if(issilicon(A)) + user << "\blue You can't label cyborgs." + return + + for(var/mob/M in viewers()) + if ((M.client && !( M.blinded ))) + M << "\blue [user] labels [A] as [label]." + A.name = "[A.name] ([label])" + +/obj/item/weapon/hand_labeler/attack_self() + mode = !mode + icon_state = "labeler[mode]" + if(mode) + usr << "\blue You turn on the hand labeler." + //Now let them chose the text. + var/str = input(usr,"Label text?","Set label","") + if(!str || !length(str)) + usr << "\red Invalid text." + return + if(length(str) > 64) + usr << "\red Text too long." + return + label = str + usr << "\blue You set the text to '[str]'." + else + usr << "\blue You turn off the hand labeler." \ No newline at end of file diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm new file mode 100644 index 00000000000..ffca9b54237 --- /dev/null +++ b/code/modules/paperwork/paper.dm @@ -0,0 +1,186 @@ +/obj/item/weapon/paper + name = "paper" + gender = PLURAL + icon = 'bureaucracy.dmi' + icon_state = "paper" + throwforce = 0 + w_class = 1.0 + throw_speed = 3 + throw_range = 15 + layer = 4 + var/info //What's actually written on the paper. + var/stamps //The (text for the) stamps on the paper. + var/list/stamped + var/see_face = 1 + var/body_parts_covered = HEAD + +/obj/item/weapon/paper/New() + + ..() + src.pixel_y = rand(-8, 8) + src.pixel_x = rand(-9, 9) + spawn(2) + if(src.info) + src.overlays += "paper_words" + return + +/obj/item/weapon/paper/update_icon() + if(src.info) + src.overlays += "paper_words" + return + +/obj/item/weapon/paper/examine(mob/user as mob) + set src in oview(1) + + //I think this is the best way to handle this! Shout at me if it isn't! -Pete + if(!user) + user = usr +// ..() //We don't want them to see the dumb "this is a paper" thing every time. + if (!( istype(user, /mob/living/carbon/human) || istype(user, /mob/dead/observer) || istype(user, /mob/living/silicon) )) + user << browse("[name][stars(info)][stamps]", "window=[name]") + onclose(user, "[name]") + else + user << browse("[name][info][stamps]", "window=[name]") + onclose(user, "[name]") + return + +/obj/item/weapon/paper/verb/rename() + set name = "Rename paper" + set category = "Object" + set src in usr + + if ((usr.mutations & CLUMSY) && prob(50)) + usr << "\red You cut yourself on the paper." + return + var/n_name = input(usr, "What would you like to label the paper?", "Paper Labelling", null) as text + n_name = copytext(n_name, 1, 32) + if ((loc == usr && usr.stat == 0)) + name = "paper[(n_name ? text("- '[n_name]'") : null)]" + add_fingerprint(usr) + return + +/obj/item/weapon/paper/attack_self(mob/living/user as mob) + examine() + return + +/obj/item/weapon/paper/attack_ai(var/mob/living/silicon/ai/user as mob) + var/dist + if (istype(user) && user.current) //is AI + dist = get_dist(src, user.current) + else //cyborg or AI not seeing through a camera + dist = get_dist(src, user) + if (dist < 2) + usr << browse("[name][info][stamps]", "window=[name]") + onclose(usr, "[name]") + else + usr << browse("[name][stars(info)][stamps]", "window=[name]") + onclose(usr, "[name]") + return + +/obj/item/weapon/paper/attackby(obj/item/weapon/P as obj, mob/user as mob) + ..() + var/clown = 0 + if(user.mind && (user.mind.assigned_role == "Clown")) + clown = 1 + + if (istype(P, /obj/item/weapon/pen)) + var/t = strip_html_simple(input(user, "What text do you wish to add?", "[name]", null),8192) as message + + if ((!in_range(src, usr) && src.loc != user && !( istype(src.loc, /obj/item/weapon/clipboard) ) && src.loc.loc != user && user.equipped() != P)) + return + + t = copytext(sanitize(t),1,MAX_MESSAGE_LEN) + t = dd_replacetext(t, "\[center\]", "
    ") + t = dd_replacetext(t, "\[/center\]", "
    ") + t = dd_replacetext(t, "\[list\]", "") + t = dd_replacetext(t, "\[*\]", "
  • ") + t = dd_replacetext(t, "\[*\]", "
  • ") + t = dd_replacetext(t, "\[br\]", "
    ") + t = dd_replacetext(t, "\[hr\]", "
    ") + t = dd_replacetext(t, "\[b\]", "") + t = dd_replacetext(t, "\[/b\]", "") + t = dd_replacetext(t, "\[i\]", "") + t = dd_replacetext(t, "\[/i\]", "") + t = dd_replacetext(t, "\[u\]", "") + t = dd_replacetext(t, "\[/u\]", "") + t = dd_replacetext(t, "\[small\]", "") + t = dd_replacetext(t, "\[/small\]", "") + t = dd_replacetext(t, "\[large\]", "") + t = dd_replacetext(t, "\[/large\]", "") + t = dd_replacetext(t, "\[sign\]", "[user.real_name]") + + var/obj/item/weapon/pen/i = P + t = "[t]" + + if(!overlays.Find("paper_words")) + overlays += "paper_words" + info += t + return + + if(istype(P, /obj/item/toy/crayon)) + var/t = strip_html_simple(input(user, "What text do you wish to add?", "[name]", null),8192) as message + + if ((!in_range(src, usr) && src.loc != user && !( istype(src.loc, /obj/item/weapon/clipboard) ) && src.loc.loc != user && user.equipped() != P)) + return + + t = copytext(sanitize(t),1,MAX_MESSAGE_LEN) + t = dd_replacetext(t, "\[center\]", "
    ") + t = dd_replacetext(t, "\[/center\]", "
    ") + t = dd_replacetext(t, "\[br\]", "
    ") + t = dd_replacetext(t, "\[b\]", "") + t = dd_replacetext(t, "\[/b\]", "") + t = dd_replacetext(t, "\[i\]", "") + t = dd_replacetext(t, "\[/i\]", "") + t = dd_replacetext(t, "\[u\]", "") + t = dd_replacetext(t, "\[/u\]", "") + t = dd_replacetext(t, "\[large\]", "") + t = dd_replacetext(t, "\[/large\]", "") + t = dd_replacetext(t, "\[sign\]", "[user.real_name]") + + var/obj/item/toy/crayon/i = P + t = "[t]" + + if(!overlays.Find("paper_words")) + overlays += "paper_words" + info += t + return + + else + if(istype(P, /obj/item/weapon/stamp)) + if ((!in_range(src, usr) && src.loc != user && !( istype(src.loc, /obj/item/weapon/clipboard) ) && src.loc.loc != user && user.equipped() != P)) + return + if(stamps) + stamps += "
    This paper has been stamped with the [P.name]." + else + stamps += "
    This paper has been stamped with the [P.name]." + switch(P.type) + if(/obj/item/weapon/stamp/captain) + overlays += "paper_stamped_cap" + if(/obj/item/weapon/stamp/hop) + overlays += "paper_stamped_hop" + if(/obj/item/weapon/stamp/hos) + overlays += "paper_stamped_hos" + if(/obj/item/weapon/stamp/ce) + overlays += "paper_stamped_ce" + if(/obj/item/weapon/stamp/rd) + overlays += "paper_stamped_rd" + if(/obj/item/weapon/stamp/cmo) + overlays += "paper_stamped_cmo" + if(/obj/item/weapon/stamp/denied) + overlays += "paper_stamped_denied" + if(/obj/item/weapon/stamp/clown) + if (!clown) + usr << "\red You are totally unable to use the stamp. HONK!" + return + else + overlays += "paper_stamped_clown" + else + overlays += "paper_stamped" + if(!stamped) + stamped = new + stamped += P.type + + user << "\blue You stamp the paper with your rubber stamp." + add_fingerprint(user) + return \ No newline at end of file diff --git a/code/modules/paperwork/paperbin.dm b/code/modules/paperwork/paperbin.dm new file mode 100644 index 00000000000..8cdf75fa745 --- /dev/null +++ b/code/modules/paperwork/paperbin.dm @@ -0,0 +1,65 @@ +/obj/item/weapon/paper_bin + name = "paper bin" + icon = 'bureaucracy.dmi' + icon_state = "paper_bin1" + item_state = "sheet-metal" + throwforce = 1 + w_class = 3 + throw_speed = 3 + throw_range = 7 + var/amount = 30 //How much paper is in the bin. + +/obj/item/weapon/paper_bin/MouseDrop(mob/user as mob) + if ((user == usr && (!( usr.restrained() ) && (!( usr.stat ) && (usr.contents.Find(src) || in_range(src, usr)))))) + if (usr.hand) + if (!( usr.l_hand )) + spawn( 0 ) + src.attack_hand(usr, 1, 1) + return + else + if (!( usr.r_hand )) + spawn( 0 ) + src.attack_hand(usr, 0, 1) + return + return + + +/obj/item/weapon/paper_bin/attack_paw(mob/user as mob) + return src.attack_hand(user) + +/obj/item/weapon/paper_bin/attack_hand(mob/user as mob) + if (amount >= 1) + amount-- + update_icon() + var/obj/item/weapon/paper/P = new /obj/item/weapon/paper + P.loc = user.loc + if(ishuman(user)) + if(!user.get_active_hand()) + user.put_in_hand(P) + user << "You take a paper out of the bin." + else + P.loc = get_turf_loc(src) + user << "You take a paper out of the bin." + else + user << "The paper bin is empty!" + + add_fingerprint(user) + return + +/obj/item/weapon/paper_bin/examine() + set src in oview(1) + + if(amount) + if(amount > 1) + usr << "There are [amount] papers in the bin." + else + usr << "There is one paper in the bin." + else + usr << "There are no papers in the bin." + return + +/obj/item/weapon/paper_bin/update_icon() + if(amount < 1) + icon_state = "paper_bin0" + else + icon_state = "paper_bin1" \ No newline at end of file diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm new file mode 100644 index 00000000000..be23c57038b --- /dev/null +++ b/code/modules/paperwork/pen.dm @@ -0,0 +1,22 @@ +/obj/item/weapon/pen + desc = "It's a normal black ink pen." + name = "pen" + icon = 'bureaucracy.dmi' + icon_state = "pen" + flags = FPRINT | ONBELT | TABLEPASS + throwforce = 0 + w_class = 1.0 + throw_speed = 7 + throw_range = 15 + m_amt = 10 + var/colour = "black" //what colour the ink is! + +/obj/item/weapon/pen/blue + desc = "It's a normal blue ink pen." + icon_state = "pen_blue" + colour = "blue" + +/obj/item/weapon/pen/red + desc = "It's a normal red ink pen." + icon_state = "pen_red" + colour = "red" \ No newline at end of file diff --git a/code/game/machinery/photocopier.dm b/code/modules/paperwork/photocopier.dm similarity index 100% rename from code/game/machinery/photocopier.dm rename to code/modules/paperwork/photocopier.dm diff --git a/code/modules/paperwork/stamps.dm b/code/modules/paperwork/stamps.dm new file mode 100644 index 00000000000..abc93d0c2fd --- /dev/null +++ b/code/modules/paperwork/stamps.dm @@ -0,0 +1,53 @@ +/obj/item/weapon/stamp + desc = "A rubber stamp for stamping important documents." + name = "rubber stamp" + icon = 'bureaucracy.dmi' + icon_state = "stamp-qm" + item_state = "stamp" + flags = FPRINT | TABLEPASS + throwforce = 0 + w_class = 1.0 + throw_speed = 7 + throw_range = 15 + m_amt = 60 + var/color = "cargo" + +/obj/item/weapon/stamp/captain + name = "captain's rubber stamp" + icon_state = "stamp-cap" + color = "captain" + +/obj/item/weapon/stamp/hop + name = "head of personnel's rubber stamp" + icon_state = "stamp-hop" + color = "hop" + +/obj/item/weapon/stamp/hos + name = "head of security's rubber stamp" + icon_state = "stamp-hos" + color = "hosred" + +/obj/item/weapon/stamp/ce + name = "chief engineer's rubber stamp" + icon_state = "stamp-ce" + color = "chief" + +/obj/item/weapon/stamp/rd + name = "research director's rubber stamp" + icon_state = "stamp-rd" + color = "director" + +/obj/item/weapon/stamp/cmo + name = "chief medical officer's rubber stamp" + icon_state = "stamp-cmo" + color = "medical" + +/obj/item/weapon/stamp/denied + name = "\improper DENIED rubber stamp" + icon_state = "stamp-qm" + color = "redcoat" + +/obj/item/weapon/stamp/clown + name = "clown's rubber stamp" + icon_state = "stamp-clown" + color = "clown" \ No newline at end of file diff --git a/icons/obj/bureaucracy.dmi b/icons/obj/bureaucracy.dmi new file mode 100644 index 0000000000000000000000000000000000000000..e9a5fcbea5031d84e31c5b748f5504248f5e65a9 GIT binary patch literal 6148 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 literal 0 HcmV?d00001 diff --git a/icons/obj/items.dmi b/icons/obj/items.dmi index bfd63ba980e84c37c9b369cbb720018b86e16fd6..6c66fa4150c4b6c7ac225c81c49c9919eb3b24d7 100644 GIT binary patch literal 50962 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 z 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 diff --git a/icons/obj/paper.dmi b/icons/obj/paper.dmi index bdef2b6a009455771243166ef6eb215a38f753f5..0bbdd220d0bf703fbe68d5542aea54eaf6b0d52e 100644 GIT binary patch literal 327 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvi2$Dv*8>L*R905boH_IPvuE$# zz5DY}MGOVyM2^!raimv)fp8^9l)##1ltnhE16BH{H}W8{?x~L;cIQ#d$R}n`(ujE`QBZX z+umr~GDVL&GMPc*)Qh612~pkK8|)rbUaVBiujB9%Q~Z%Hxg~?aa0?qV_m&t;ucLK6TRhJob( literal 1759 zcmV<51|a!~P)?cXliO|d3bnXU||2u z0L+;HnRX5U%*-k&DL_C#Q&Uq_R8&bxNis4rC@3hI007|N;Mv*P|1->&|Nk?Y{{Wc) z|C!AHX3YNp%mB;)0A>IH002}}RCjlGGynf)%>OfH|1)L)Jv}`D0GR*)W_fve=jP`B z|NpJ1sQ+d&9v&V`OG`~nO~k|iH#av-Oiaba#hsm6HRt@bzd=X&TU%ktm6ZZg z|B_Q2t)8RvcuI}9MsxNNSKZ2>0xiu)e#SP2bzY`u;xF-2<$9-XoacukvmM>4#OUA3ffCg7l}y z`_GW>x(7Icw}Ypk@Bk+#OaN{Msud;x){h=PVFEnMI0L>9104E34#4O~zK;X=J`Ujf z%p&mp?be;s({0wDKY#J^)vMR9w^)Di^3?u{hpy`voH8eP$hzazYPCm1$PymhfzN52Uh;N)b>1F$o2QE&j?#{qmF2k`x31LV4YAGGnYS#?d0 z`}aZnJ#>&&cXHmpr{Dh`IY^|}?7EZp{(a!k2m*&m^x6(gkn{e%a)8E|*K0d)j;M#8 zoz;nVmPXWQ{PW>Mvw3-WY1YqMt=31v)=4*z09RS=WKY1XlRp4CXd?$%_55kK+n*Ty zGo#~HlsoND0oFhNi}f1wff_*&1VIo4K@bE%_=V1rqK%}b(~a2L1f6bA)A?^p6T|@u zuA(qZdEhcYuh&HZ`YWW-gB1*N7zQEI!STrg^!tM)MuVIl42NMj)R+T|Mj^c*wCTYx zCRKp`xIbC?n-~nz4`WPvFbqNsjo;82{y3sPF&HG%oyAHr z>hw!Tp>{YTE9(X+-9it|`l|mF0m#%c08PZYLG6EfHJvK|20a)mgW938vSu*SM?hED zbUpz2rvQuk7|^#S|B7kHsK@oA$A8_R)<=X@*Y<5X8zAz(te?TU|A89+>D864pLJc= zPc+0f|0C_+sxSOobS{9lzVJVo7{-6RTK~rJA1w@8{bQZ%13kW!P*)Qs|0@{B|0mtx ze+8qzjQYyOocW#jzP}IphWcjppBsp6fu`44RN2rMJ(0n6f2swn+ao3ux(03K0bfNW3z@0Py2o?FyEAZP++bD9Q-^;4UjE)D)IJv{gi z2zUpm1o|DLbCkZ=5>NooyCwfHK;&iXwue%Ul1NI8ii-gpJOubS`7`D-3dP;t54O9xIu^9N4A`oF*l zYD|I(NKn_4Fo#vtC+@qq~f80hD`Y1~OETcF(Kew{jd3IhND002ovPDHLkV1i9j BQpf-R diff --git a/tgstation.dme b/tgstation.dme index cac62de460e..9770e0389e5 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -116,6 +116,7 @@ #define FILE_DIR "code/modules/mob/new_player" #define FILE_DIR "code/modules/mob/organ" #define FILE_DIR "code/modules/mob/simple_animal" +#define FILE_DIR "code/modules/paperwork" #define FILE_DIR "code/modules/power" #define FILE_DIR "code/modules/power/antimatter" #define FILE_DIR "code/modules/power/singularity" @@ -453,7 +454,6 @@ #include "code\game\machinery\newscaster.dm" #include "code\game\machinery\OpTable.dm" #include "code\game\machinery\overview.dm" -#include "code\game\machinery\photocopier.dm" #include "code\game\machinery\portable_turret.dm" #include "code\game\machinery\recharger.dm" #include "code\game\machinery\rechargestation.dm" @@ -657,7 +657,6 @@ #include "code\game\objects\items\weapons\explosives.dm" #include "code\game\objects\items\weapons\flamethrower.dm" #include "code\game\objects\items\weapons\grenades.dm" -#include "code\game\objects\items\weapons\hand_lablers.dm" #include "code\game\objects\items\weapons\hydroponics.dm" #include "code\game\objects\items\weapons\kitchen.dm" #include "code\game\objects\items\weapons\manuals.dm" @@ -665,7 +664,6 @@ #include "code\game\objects\items\weapons\mops_cleaners.dm" #include "code\game\objects\items\weapons\paint.dm" #include "code\game\objects\items\weapons\paiwire.dm" -#include "code\game\objects\items\weapons\papers_bins.dm" #include "code\game\objects\items\weapons\plant_bag.dm" #include "code\game\objects\items\weapons\RCD.dm" #include "code\game\objects\items\weapons\RSF.dm" @@ -678,6 +676,7 @@ #include "code\game\objects\items\weapons\toilets.dm" #include "code\game\objects\items\weapons\tools.dm" #include "code\game\objects\items\weapons\twohanded.dm" +#include "code\game\objects\items\weapons\wrappingpaper.dm" #include "code\game\objects\items\weapons\implants\implant.dm" #include "code\game\objects\items\weapons\implants\implantcase.dm" #include "code\game\objects\items\weapons\implants\implantchair.dm" @@ -941,6 +940,13 @@ #include "code\modules\mob\simple_animal\life.dm" #include "code\modules\mob\simple_animal\shade.dm" #include "code\modules\mob\simple_animal\worm.dm" +#include "code\modules\paperwork\clipboard.dm" +#include "code\modules\paperwork\handlabeler.dm" +#include "code\modules\paperwork\paper.dm" +#include "code\modules\paperwork\paperbin.dm" +#include "code\modules\paperwork\pen.dm" +#include "code\modules\paperwork\photocopier.dm" +#include "code\modules\paperwork\stamps.dm" #include "code\modules\power\apc.dm" #include "code\modules\power\cable.dm" #include "code\modules\power\cell.dm"