From 952d7c9e93189cbf80f36f2fbdbf42ad0de21299 Mon Sep 17 00:00:00 2001 From: Hubblenaut Date: Sat, 10 May 2014 19:03:42 +0200 Subject: [PATCH 1/3] Adds ability to photocopy paper bundles --- code/modules/paperwork/paper_bundle.dm | 1 + code/modules/paperwork/photocopier.dm | 151 +++++++++++++++++-------- 2 files changed, 103 insertions(+), 49 deletions(-) diff --git a/code/modules/paperwork/paper_bundle.dm b/code/modules/paperwork/paper_bundle.dm index d6c0058ff86..bb12f76e58d 100644 --- a/code/modules/paperwork/paper_bundle.dm +++ b/code/modules/paperwork/paper_bundle.dm @@ -94,6 +94,7 @@ + "", "window=[name]") P.add_fingerprint(usr) add_fingerprint(usr) + update_icon() return diff --git a/code/modules/paperwork/photocopier.dm b/code/modules/paperwork/photocopier.dm index 451411c0e30..1b02d2d7eb1 100644 --- a/code/modules/paperwork/photocopier.dm +++ b/code/modules/paperwork/photocopier.dm @@ -10,6 +10,7 @@ power_channel = EQUIP var/obj/item/weapon/paper/copy = null //what's in the copier! var/obj/item/weapon/photo/photocopy = null + var/obj/item/weapon/paper_bundle/bundle = null var/copies = 1 //how many copies to print! var/toner = 30 //how much toner is left! woooooo~ var/maxcopies = 10 //how many copies can be copied at once- idea shamelessly stolen from bs12's copier! @@ -24,7 +25,7 @@ user.set_machine(src) var/dat = "Photocopier

" - if(copy || photocopy) + if(copy || photocopy || bundle) dat += "Remove Paper
" if(toner) dat += "Copy
" @@ -45,37 +46,7 @@ if(copy) for(var/i = 0, i < copies, i++) if(toner > 0) - var/obj/item/weapon/paper/c = new /obj/item/weapon/paper (loc) - if(toner > 10) //lots of toner, make it dark - c.info = "" - else //no toner? shitty copies for you! - c.info = "" - var/copied = html_decode(copy.info) - copied = replacetext(copied, "" - c.name = copy.name // -- Doohl - c.fields = copy.fields - c.stamps = copy.stamps - c.stamped = copy.stamped - c.ico = copy.ico - c.offset_x = copy.offset_x - c.offset_y = copy.offset_y - var/list/temp_overlays = copy.overlays //Iterates through stamps - var/image/img //and puts a matching - for (var/j = 1, j <= temp_overlays.len, j++) //gray overlay onto the copy - if (findtext(copy.ico[j], "cap") || findtext(copy.ico[j], "cent")) - img = image('icons/obj/bureaucracy.dmi', "paper_stamp-circle") - else if (findtext(copy.ico[j], "deny")) - img = image('icons/obj/bureaucracy.dmi', "paper_stamp-x") - else - img = image('icons/obj/bureaucracy.dmi', "paper_stamp-dots") - img.pixel_x = copy.offset_x[j] - img.pixel_y = copy.offset_y[j] - c.overlays += img - c.updateinfolinks() - toner-- + copy(copy) sleep(15) else break @@ -83,25 +54,36 @@ else if(photocopy) for(var/i = 0, i < copies, i++) if(toner > 0) - var/obj/item/weapon/photo/p = new /obj/item/weapon/photo (src.loc) - var/icon/I = icon(photocopy.icon, photocopy.icon_state) - var/icon/img = icon(photocopy.img) - if(toner > 10) //plenty of toner, go straight greyscale - I.MapColors(rgb(77,77,77), rgb(150,150,150), rgb(28,28,28), rgb(0,0,0)) //I'm not sure how expensive this is, but given the many limitations of photocopying, it shouldn't be an issue. - img.MapColors(rgb(77,77,77), rgb(150,150,150), rgb(28,28,28), rgb(0,0,0)) - else //not much toner left, lighten the photo - I.MapColors(rgb(77,77,77), rgb(150,150,150), rgb(28,28,28), rgb(100,100,100)) - img.MapColors(rgb(77,77,77), rgb(150,150,150), rgb(28,28,28), rgb(100,100,100)) - p.icon = I - p.img = img - p.name = photocopy.name - p.desc = photocopy.desc - p.scribble = photocopy.scribble - toner -= 5 //photos use a lot of ink! + photocopy(photocopy) sleep(15) else break updateUsrDialog() + else if(bundle) + for(var/i = 0, i < copies, i++) + if(toner <= 0) + break + var/obj/item/weapon/paper_bundle/p = new /obj/item/weapon/paper_bundle (src) + var/j = 0 + for(var/obj/item/weapon/W in bundle) + if(toner <= 0) + usr << "The photocopier couldn't finish the printjob." + break + else if(istype(W, /obj/item/weapon/paper)) + W = copy(W) + else if(istype(W, /obj/item/weapon/photo)) + W = photocopy(W) + W.loc = p + p.amount++ + j++ + p.amount-- + p.loc = src.loc + p.update_icon() + p.icon_state = "paper_words" + p.pixel_y = rand(-8, 8) + p.pixel_x = rand(-9, 9) + sleep(15*j) + updateUsrDialog() else if(href_list["remove"]) if(copy) copy.loc = usr.loc @@ -115,6 +97,12 @@ usr << "You take the photo out of \the [src]." photocopy = null updateUsrDialog() + else if(bundle) + bundle.loc = usr.loc + usr.put_in_hands(bundle) + usr << "You take the paper bundle out of \the [src]." + bundle = null + updateUsrDialog() else if(href_list["min"]) if(copies > 1) copies-- @@ -126,7 +114,7 @@ attackby(obj/item/O as obj, mob/user as mob) if(istype(O, /obj/item/weapon/paper)) - if(!copy && !photocopy) + if(!copy && !photocopy && !bundle) user.drop_item() copy = O O.loc = src @@ -136,7 +124,7 @@ else user << "There is already something in \the [src]." else if(istype(O, /obj/item/weapon/photo)) - if(!copy && !photocopy) + if(!copy && !photocopy && !bundle) user.drop_item() photocopy = O O.loc = src @@ -145,6 +133,14 @@ updateUsrDialog() else user << "There is already something in \the [src]." + else if(istype(O, /obj/item/weapon/paper_bundle)) + if(!copy && !photocopy && !bundle) + user.drop_item() + bundle = O + O.loc = src + user << "You insert the bundle into \the [src]." + flick("bigscanner1", src) + updateUsrDialog() else if(istype(O, /obj/item/device/toner)) if(toner == 0) user.drop_item() @@ -187,6 +183,63 @@ toner = 0 return + +/obj/machinery/photocopier/proc/copy(var/obj/item/weapon/paper/copy) + var/obj/item/weapon/paper/c = new /obj/item/weapon/paper (loc) + if(toner > 10) //lots of toner, make it dark + c.info = "" + else //no toner? shitty copies for you! + c.info = "" + var/copied = html_decode(copy.info) + copied = replacetext(copied, "" + c.name = copy.name // -- Doohl + c.fields = copy.fields + c.stamps = copy.stamps + c.stamped = copy.stamped + c.ico = copy.ico + c.offset_x = copy.offset_x + c.offset_y = copy.offset_y + var/list/temp_overlays = copy.overlays //Iterates through stamps + var/image/img //and puts a matching + for (var/j = 1, j <= temp_overlays.len, j++) //gray overlay onto the copy + if (findtext(copy.ico[j], "cap") || findtext(copy.ico[j], "cent")) + img = image('icons/obj/bureaucracy.dmi', "paper_stamp-circle") + else if (findtext(copy.ico[j], "deny")) + img = image('icons/obj/bureaucracy.dmi', "paper_stamp-x") + else + img = image('icons/obj/bureaucracy.dmi', "paper_stamp-dots") + img.pixel_x = copy.offset_x[j] + img.pixel_y = copy.offset_y[j] + c.overlays += img + c.updateinfolinks() + toner-- + return c + + +/obj/machinery/photocopier/proc/photocopy(var/obj/item/weapon/photo/photocopy) + var/obj/item/weapon/photo/p = new /obj/item/weapon/photo (src.loc) + var/icon/I = icon(photocopy.icon, photocopy.icon_state) + var/icon/img = icon(photocopy.img) + if(toner > 10) //plenty of toner, go straight greyscale + I.MapColors(rgb(77,77,77), rgb(150,150,150), rgb(28,28,28), rgb(0,0,0)) //I'm not sure how expensive this is, but given the many limitations of photocopying, it shouldn't be an issue. + img.MapColors(rgb(77,77,77), rgb(150,150,150), rgb(28,28,28), rgb(0,0,0)) + else //not much toner left, lighten the photo + I.MapColors(rgb(77,77,77), rgb(150,150,150), rgb(28,28,28), rgb(100,100,100)) + img.MapColors(rgb(77,77,77), rgb(150,150,150), rgb(28,28,28), rgb(100,100,100)) + p.icon = I + p.img = img + p.name = photocopy.name + p.desc = photocopy.desc + p.scribble = photocopy.scribble + toner -= 5 //photos use a lot of ink! + if(toner < 0) + toner = 0 + return p + + /obj/item/device/toner name = "toner cartridge" icon_state = "tonercartridge" From 42ab7e2b003f8a25dcea501ce2d8741d43490363 Mon Sep 17 00:00:00 2001 From: Hubblenaut Date: Thu, 15 May 2014 22:21:11 +0200 Subject: [PATCH 2/3] Makes photos visible on bundles --- code/modules/paperwork/paper_bundle.dm | 4 +++- code/modules/paperwork/photography.dm | 6 ++++++ icons/obj/bureaucracy.dmi | Bin 10604 -> 10570 bytes 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/code/modules/paperwork/paper_bundle.dm b/code/modules/paperwork/paper_bundle.dm index bb12f76e58d..baff965cd61 100644 --- a/code/modules/paperwork/paper_bundle.dm +++ b/code/modules/paperwork/paper_bundle.dm @@ -216,7 +216,9 @@ underlays += img i++ else if(istype(O, /obj/item/weapon/photo)) - img.icon_state = "photo" + var/obj/item/weapon/photo/Ph = O +// img.icon_state = "photo" + img = Ph.tiny photo = 1 overlays += img if(i>1) diff --git a/code/modules/paperwork/photography.dm b/code/modules/paperwork/photography.dm index fc71edff2a8..00d5dc2b958 100644 --- a/code/modules/paperwork/photography.dm +++ b/code/modules/paperwork/photography.dm @@ -29,6 +29,7 @@ w_class = 2.0 var/icon/img //Big photo image var/scribble //Scribble on the back. + var/icon/tiny /obj/item/weapon/photo/attack_self(mob/user as mob) examine() @@ -242,10 +243,15 @@ if(!user.get_inactive_hand()) user.put_in_inactive_hand(P) var/icon/small_img = icon(temp) + var/icon/tiny_img = icon(temp) var/icon/ic = icon('icons/obj/items.dmi',"photo") + var/icon/pc = icon('icons/obj/bureaucracy.dmi', "photo") small_img.Scale(8, 8) + tiny_img.Scale(4, 4) ic.Blend(small_img,ICON_OVERLAY, 10, 13) + pc.Blend(tiny_img,ICON_OVERLAY, 12, 19) P.icon = ic + P.tiny = pc P.img = temp P.desc = mobs P.pixel_x = rand(-10, 10) diff --git a/icons/obj/bureaucracy.dmi b/icons/obj/bureaucracy.dmi index a1d379cad9a7346cd8c12d82b061942069031810..3c6d52748c6255248e09cc72ef77496aa3d61b7a 100644 GIT binary patch delta 9801 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 Ut4cm^0Q{&aX(^UJwGRD%06%O0zyJUM delta 9839 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 Date: Fri, 16 May 2014 00:05:21 +0200 Subject: [PATCH 3/3] Anyone who cannot read a paper is not able to read a bundle either --- code/modules/paperwork/paper_bundle.dm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/code/modules/paperwork/paper_bundle.dm b/code/modules/paperwork/paper_bundle.dm index baff965cd61..8ede4c9ed1b 100644 --- a/code/modules/paperwork/paper_bundle.dm +++ b/code/modules/paperwork/paper_bundle.dm @@ -81,7 +81,10 @@ dat+= "
" if(istype(src[page], /obj/item/weapon/paper)) var/obj/item/weapon/paper/P = W - dat+= "[P.name][P.info][P.stamps]" + if(!(istype(usr, /mob/living/carbon/human) || istype(usr, /mob/dead/observer) || istype(usr, /mob/living/silicon))) + dat+= "[P.name][stars(P.info)][P.stamps]" + else + dat+= "[P.name][P.info][P.stamps]" human_user << browse(dat, "window=[name]") P.add_fingerprint(usr) else if(istype(src[page], /obj/item/weapon/photo))