From 6256200c1aef5d5303ac869a0d411ab5b48ed61d Mon Sep 17 00:00:00 2001 From: Chinsky Date: Sun, 4 Nov 2012 21:03:17 +0400 Subject: [PATCH] Added ability to clip photos to clipboards. Added ability to view photos from clipboards and folders. --- .../game/objects/items/weapons/photography.dm | 3 +++ code/modules/paperwork/clipboard.dm | 25 +++++++++++++------ code/modules/paperwork/folders.dm | 6 ++++- 3 files changed, 25 insertions(+), 9 deletions(-) diff --git a/code/game/objects/items/weapons/photography.dm b/code/game/objects/items/weapons/photography.dm index 850273cbdc5..f3adea5e440 100644 --- a/code/game/objects/items/weapons/photography.dm +++ b/code/game/objects/items/weapons/photography.dm @@ -59,6 +59,9 @@ ..() if (scribble) usr << "\blue you see something written on photo's back. " + show(usr) + +/obj/item/weapon/photo/proc/show(var/mob/usr) usr << browse_rsc(src.img, "tmp_photo.png") usr << browse("Photo" \ + "" \ diff --git a/code/modules/paperwork/clipboard.dm b/code/modules/paperwork/clipboard.dm index 20df82c211c..25da103db03 100644 --- a/code/modules/paperwork/clipboard.dm +++ b/code/modules/paperwork/clipboard.dm @@ -8,7 +8,7 @@ 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. + var/obj/item/weapon/toppaper //The topmost piece of paper. flags = FPRINT | TABLEPASS slot_flags = SLOT_BELT pressure_resistance = 10 @@ -45,11 +45,12 @@ return /obj/item/weapon/clipboard/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W, /obj/item/weapon/paper)) + if(istype(W, /obj/item/weapon/paper) || istype(W, /obj/item/weapon/photo)) user.drop_item() W.loc = src - toppaper = W - user << "You clip the paper onto \the [src]." + if(istype(W, /obj/item/weapon/paper)) + toppaper = W + user << "You clip the [W] onto \the [src]." update_icon() else if(toppaper) toppaper.attackby(usr.get_active_hand(), usr) @@ -68,10 +69,13 @@ 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]
" + for(var/obj/item/weapon/paper/P in src) + if(P==toppaper) + continue + dat += "Remove - [P.name]
" + for(var/obj/item/weapon/photo/Ph in src) + dat += "Remove - [Ph.name]
" + user << browse(dat, "window=clipboard") onclose(user, "clipboard") add_fingerprint(usr) @@ -128,6 +132,11 @@ usr << browse("[P.name][P.info][P.stamps]", "window=[P.name]") onclose(usr, "[P.name]") + if(href_list["look"]) + var/obj/item/weapon/photo/P = locate(href_list["look"]) + if(P) + P.show(usr) + if(href_list["top"]) var/obj/item/P = locate(href_list["top"]) if(P) diff --git a/code/modules/paperwork/folders.dm b/code/modules/paperwork/folders.dm index abb23f3d556..25b40fada61 100644 --- a/code/modules/paperwork/folders.dm +++ b/code/modules/paperwork/folders.dm @@ -46,7 +46,7 @@ for(var/obj/item/weapon/paper/P in src) dat += "Remove - [P.name]
" for(var/obj/item/weapon/photo/Ph in src) - dat += "Remove - [Ph.name]
" + dat += "Remove - [Ph.name]
" user << browse(dat, "window=folder") onclose(user, "folder") add_fingerprint(usr) @@ -74,6 +74,10 @@ else usr << browse("[P.name][P.info][P.stamps]", "window=[P.name]") onclose(usr, "[P.name]") + if(href_list["look"]) + var/obj/item/weapon/photo/P = locate(href_list["look"]) + if(P) + P.show(usr) //Update everything attack_self(usr)