From 488f645f0784f52ea923b9ec556e504c3eef94ab Mon Sep 17 00:00:00 2001 From: Hubblenaut Date: Thu, 8 May 2014 06:47:05 +0200 Subject: [PATCH] Adds the ability to remove the item viewed --- code/modules/paperwork/paper_bundle.dm | 59 +++++++++++++++++++++++--- 1 file changed, 53 insertions(+), 6 deletions(-) diff --git a/code/modules/paperwork/paper_bundle.dm b/code/modules/paperwork/paper_bundle.dm index c6a6c25e31..5664344bf3 100644 --- a/code/modules/paperwork/paper_bundle.dm +++ b/code/modules/paperwork/paper_bundle.dm @@ -60,21 +60,27 @@ if(ishuman(user)) var/mob/living/carbon/human/human_user = user var/dat + var/obj/item/weapon/W = src[page] switch(screen) if(0) - dat+= "
Next Page


" + dat+= "
" + dat+= "
Remove [(istype(W, /obj/item/weapon/paper)) ? "paper" : "photo"]
" + dat+= "
Next Page


" if(1) - dat+= "
Previous Page
" - dat+= "
Next Page


" + dat+= "
Previous Page
" + dat+= "
Remove [(istype(W, /obj/item/weapon/paper)) ? "paper" : "photo"]
" + dat+= "
Next Page


" if(2) - dat+= "
Previous Page


" + dat+= "
Previous Page
" + dat+= "
Remove [(istype(W, /obj/item/weapon/paper)) ? "paper" : "photo"]


" + dat+= "
" if(istype(src[page], /obj/item/weapon/paper)) - var/obj/item/weapon/paper/P = src[page] + var/obj/item/weapon/paper/P = W 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)) - var/obj/item/weapon/photo/P = src[page] + var/obj/item/weapon/photo/P = W human_user << browse_rsc(P.img, "tmp_photo.png") human_user << browse(dat + "[P.name]" \ + "" \ @@ -104,6 +110,47 @@ screen = 1 page-- playsound(src.loc, "pageturn", 50, 1) + if(href_list["remove"]) + var/obj/item/weapon/W = src[page] + W.loc = usr.loc + if(istype(usr,/mob/living/carbon)) + //Place the item in the user's hand if possible + if(!usr.r_hand) + W.loc = usr + usr.r_hand = W + W.layer = 20 + else if(!usr.l_hand) + W.loc = usr + usr.l_hand = W + W.layer = 20 + usr << "You remove the [W.name] from the bundle." + + if(amount == 1) + var/obj/item/weapon/paper/P = src[1] + P.loc = usr.loc + if (usr.r_hand == src) + usr.drop_from_inventory(src) + P.loc = usr + usr.r_hand = P + P.layer = 20 + else if (usr.l_hand == src) + usr.drop_from_inventory(src) + P.loc = usr + usr.l_hand = P + P.layer = 20 + if(istype(usr,/mob/living/carbon/human)) + usr:update_inv_l_hand() + usr:update_inv_r_hand() + del(src) + else if(page == amount) + screen = 2 + else if(page == amount+1) + page-- + + if(istype(usr,/mob/living/carbon/human)) + usr:update_inv_l_hand() + usr:update_inv_r_hand() + amount-- else usr << "You need to hold it in hands!" if (istype(src.loc, /mob))