diff --git a/code/modules/modular_computers/hardware/nano_printer.dm b/code/modules/modular_computers/hardware/nano_printer.dm index 88641dba2d4..2f4a85f94f5 100644 --- a/code/modules/modular_computers/hardware/nano_printer.dm +++ b/code/modules/modular_computers/hardware/nano_printer.dm @@ -32,15 +32,24 @@ return P /obj/item/computer_hardware/nano_printer/attackby(obj/item/attacking_item, mob/user) - if(istype(attacking_item, /obj/item/paper)) - if(stored_paper >= max_paper) - to_chat(user, SPAN_WARNING("You try to add \the [attacking_item] to the [src], but its paper bin is full.")) - return - to_chat(user, SPAN_NOTICE("You insert \the [attacking_item] into [src].")) - qdel(attacking_item) - stored_paper++ - else - ..() + //We only care about papers here + if(!istype(attacking_item, /obj/item/paper)) + return ..() + + var/obj/item/paper/attacking_paper = attacking_item + + //If the paper is already written onto, we can't add it to the printer + if(attacking_paper.free_space != initial(attacking_paper.free_space)) + to_chat(user, SPAN_WARNING("You try to add \the [attacking_paper] to the [src], but the paper is written onto already.")) + return + + if(stored_paper >= max_paper) + to_chat(user, SPAN_WARNING("You try to add \the [attacking_paper] to the [src], but its paper bin is full.")) + return + + to_chat(user, SPAN_NOTICE("You insert \the [attacking_paper] into [src].")) + qdel(attacking_paper) + stored_paper++ /obj/item/computer_hardware/nano_printer/Destroy() if(parent_computer?.nano_printer == src) diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index cc1638c7d59..943f836d75b 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -21,20 +21,34 @@ body_parts_covered = HEAD attack_verb = list("bapped") - var/info //What's actually written on the paper. - var/info_links //A different version of the paper which includes html links at fields and EOF - var/stamps //The (text for the) stamps on the paper. - var/fields //Amount of user created fields + ///What's actually written on the paper. + var/info + ///A different version of the paper which includes html links at fields and EOF + var/info_links + ///The (text for the) stamps on the paper. + var/stamps + ///Amount of user created fields + var/fields + var/free_space = MAX_PAPER_MESSAGE_LEN var/list/stamped - var/list/ico[0] //Icons and - var/list/offset_x[0] //offsets stored for later - var/list/offset_y[0] //usage by the photocopier + + ///Icons and + var/list/ico[0] + ///offsets stored for later + var/list/offset_x[0] + ///usage by the photocopier + var/list/offset_y[0] + var/rigged = 0 var/last_honk = 0 - var/old_name // The name of the paper before it was folded into a plane. - var/can_fold = TRUE // If it can be folded into a plane or swan - var/paper_like = TRUE // Is it made of paper and/or burnable material? + + /// The name of the paper before it was folded into a plane. + var/old_name + /// If it can be folded into a plane or swan + var/can_fold = TRUE + /// Is it made of paper and/or burnable material? + var/paper_like = TRUE var/const/deffont = "Verdana" var/const/signfont = "Times New Roman" diff --git a/html/changelogs/fluffyghost-nanoprinterpapers.yml b/html/changelogs/fluffyghost-nanoprinterpapers.yml new file mode 100644 index 00000000000..e3d8d4b5a7e --- /dev/null +++ b/html/changelogs/fluffyghost-nanoprinterpapers.yml @@ -0,0 +1,58 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# - (fixes bugs) +# wip +# - (work in progress) +# qol +# - (quality of life) +# soundadd +# - (adds a sound) +# sounddel +# - (removes a sound) +# rscadd +# - (adds a feature) +# rscdel +# - (removes a feature) +# imageadd +# - (adds an image or sprite) +# imagedel +# - (removes an image or sprite) +# spellcheck +# - (fixes spelling or grammar) +# experiment +# - (experimental change) +# balance +# - (balance changes) +# code_imp +# - (misc internal code change) +# refactor +# - (refactors code) +# config +# - (makes a change to the config files) +# admin +# - (makes changes to administrator tools) +# server +# - (miscellaneous changes to server) +################################# + +# Your name. +author: FluffyGhost + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit. +# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. +changes: + - qol: "Nano printers (computer component) will now refuse papers that are already written onto."