/obj/item/paper/carbon name = "paper" icon_state = "paper_stack" item_state = "paper" var/copied = FALSE var/iscopy = FALSE can_fold = FALSE /obj/item/paper/carbon/update_icon() if(iscopy) if(info) icon_state = "cpaper_words" return icon_state = "cpaper" else if (copied) if(info) icon_state = "paper_words" return icon_state = "paper" else if(info) icon_state = "paper_stack_words" return icon_state = "paper_stack" /obj/item/paper/carbon/verb/removecopy() set name = "Remove carbon-copy" set category = "Object" set src in usr if (copied == 0) var/obj/item/paper/carbon/c = src var/copycontents = html_decode(c.info) var/obj/item/paper/carbon/copy = new /obj/item/paper/carbon (usr.loc) // TODO: a better way of making copies that maintains icon state without bloating paper.dm and also doesn't give copies the remove copy verb // copycontents = replacetext(copycontents, "" copy.name = "Copy - " + c.name copy.fields = c.fields copy.updateinfolinks() to_chat(usr, SPAN_NOTICE("You tear off the carbon-copy!")) c.copied = TRUE copy.iscopy = TRUE copy.copied = TRUE // no more infinite copy chains copy.verbs -= /obj/item/paper/carbon/verb/removecopy // TODO: anything but this, see above copy.update_icon() c.update_icon() else to_chat(usr, "There are no more carbon copies attached to this paper!")