From ad51379d86fbd7626aa823b5f00e8409e863cf06 Mon Sep 17 00:00:00 2001 From: Daranz Date: Sun, 19 Apr 2015 19:32:51 -0400 Subject: [PATCH] Make papers in a clipboard renameable without removing --- code/modules/paperwork/clipboard.dm | 18 +++++++++++++++--- code/modules/paperwork/paper.dm | 15 +++++++++------ 2 files changed, 24 insertions(+), 9 deletions(-) diff --git a/code/modules/paperwork/clipboard.dm b/code/modules/paperwork/clipboard.dm index 95988003125..2253e049a5a 100644 --- a/code/modules/paperwork/clipboard.dm +++ b/code/modules/paperwork/clipboard.dm @@ -68,14 +68,14 @@ //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]

" + dat += "Write Remove Rename - [P.name]

" for(var/obj/item/weapon/paper/P in src) if(P==toppaper) continue - dat += "Remove - [P.name]
" + dat += "Remove Rename - [P.name]
" for(var/obj/item/weapon/photo/Ph in src) - dat += "Remove - [Ph.name]
" + dat += "Remove Rename - [Ph.name]
" user << browse(dat, "window=clipboard") onclose(user, "clipboard") @@ -129,6 +129,18 @@ toppaper = newtop else toppaper = null + + else if(href_list["rename"]) + var/obj/item/weapon/O = locate(href_list["rename"]) + + if(O && (O.loc == src)) + if(istype(O, /obj/item/weapon/paper)) + var/obj/item/weapon/paper/to_rename = O + to_rename.rename() + + else if(istype(O, /obj/item/weapon/photo)) + var/obj/item/weapon/photo/to_rename = O + to_rename.rename() else if(href_list["read"]) var/obj/item/weapon/paper/P = locate(href_list["read"]) diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index 9c9fe2e639e..b578e33354c 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -87,12 +87,15 @@ usr << "You cut yourself on the paper." return var/n_name = sanitizeSafe(input(usr, "What would you like to label the paper?", "Paper Labelling", null) as text, MAX_NAME_LEN) - if((loc == usr && usr.stat == 0)) - name = "[(n_name ? text("[n_name]") : initial(name))]" - if(name != "paper") - desc = "This is a paper titled '" + name + "'." - add_fingerprint(usr) - return + + // We check loc one level up, so we can rename in clipboards and such. See also: /obj/item/weapon/photo/rename() + if((loc == usr || loc.loc && loc.loc == usr) && usr.stat == 0 && n_name) + name = n_name + if(n_name != "paper") + desc = "This is a paper titled '" + name + "'." + + add_fingerprint(usr) + return /obj/item/weapon/paper/attack_self(mob/living/user as mob) user.examinate(src)