From 9127642b64a23aab86c19c8fa3fd31f9f1126659 Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Sun, 1 Aug 2021 16:31:03 +0200 Subject: [PATCH] photocopier and carbon paper copying now share a common proc. (#60511) --- code/modules/paperwork/carbonpaper.dm | 35 ++++++++++----------------- code/modules/paperwork/paper.dm | 29 ++++++++++++---------- code/modules/paperwork/paperplane.dm | 2 +- code/modules/paperwork/photocopier.dm | 19 +++------------ 4 files changed, 34 insertions(+), 51 deletions(-) diff --git a/code/modules/paperwork/carbonpaper.dm b/code/modules/paperwork/carbonpaper.dm index 2f8662aaeef..66c5d51aba5 100644 --- a/code/modules/paperwork/carbonpaper.dm +++ b/code/modules/paperwork/carbonpaper.dm @@ -4,12 +4,9 @@ inhand_icon_state = "paper" show_written_words = FALSE var/copied = FALSE - var/iscopy = FALSE /obj/item/paper/carbon/update_icon_state() - if(iscopy) - icon_state = "cpaper" - else if(copied) + if(copied) icon_state = "paper" else icon_state = "paper_stack" @@ -19,30 +16,21 @@ /obj/item/paper/carbon/examine() . = ..() - if(copied || iscopy) + if(copied) return . += span_notice("Right-click to tear off the carbon-copy (you must use both hands).") /obj/item/paper/carbon/proc/removecopy(mob/living/user) - if(copied || iscopy) + if(copied) to_chat(user, span_notice("There are no more carbon copies attached to this paper!")) - else - var/obj/item/paper/carbon/C = src - var/copycontents = C.info - var/obj/item/paper/carbon/Copy = new /obj/item/paper/carbon(user.loc) + return - if(info) - copycontents = replacetext(copycontents, "" - Copy.name = "Copy - [C.name]" - to_chat(user, span_notice("You tear off the carbon-copy!")) - C.copied = TRUE - Copy.iscopy = TRUE - Copy.update_icon_state() - C.update_icon_state() - user.put_in_hands(Copy) + var/obj/item/paper/carbon/copy = copy(/obj/item/paper/carbon_copy, loc.drop_location(), FALSE) + copy.name = "\improper Copy - [name]" + to_chat(user, span_notice("You tear off the carbon-copy!")) + copied = TRUE + update_icon_state() + user.put_in_hands(copy) /obj/item/paper/carbon/attack_hand_secondary(mob/user, list/modifiers) . = ..() @@ -52,3 +40,6 @@ if(loc == user && user.is_holding(src)) removecopy(user) return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN + +/obj/item/paper/carbon_copy + icon_state = "cpaper" diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index f95d2bbda9f..ece40b7d544 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -63,20 +63,23 @@ /** * This proc copies this sheet of paper to a new - * sheet, Makes it nice and easy for carbon and - * the copyer machine + * sheet. Used by carbon papers and the photocopier machine. */ -/obj/item/paper/proc/copy() - var/obj/item/paper/N = new(arglist(args)) - N.info = info - N.color = color - N.update_icon_state() - N.stamps = stamps - N.stamped = stamped.Copy() - N.form_fields = form_fields.Copy() - N.field_counter = field_counter - copy_overlays(N, TRUE) - return N +/obj/item/paper/proc/copy(paper_type = /obj/item/paper, atom/location = loc, colored = TRUE) + var/obj/item/paper/new_paper = new paper_type (location) + if(colored) + new_paper.color = color + new_paper.info = info + else //This basically just breaks the existing color tag, which we need to do because the innermost tag takes priority. + var/static/greyscale_info = regex(" 10) // Lots of toner, make it dark. - copied_paper.info = "" - else // No toner? shitty copies for you! - copied_paper.info = "" - var/copied_info = paper_copy.info - copied_info = replacetext(copied_info, "" + //the font color dependant on the amount of toner left. + copied_paper.info = " 10 ? "#101010" : "#808080"]>[copied_paper.info]" copied_paper.name = paper_copy.name - copied_paper.update_appearance() - copied_paper.stamps = paper_copy.stamps - if(paper_copy.stamped) - copied_paper.stamped = paper_copy.stamped.Copy() - copied_paper.copy_overlays(paper_copy, TRUE) + toner_cartridge.charges -= PAPER_TONER_USE /**