diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm
index 7f3b7b1070e..66a540f33c2 100644
--- a/code/modules/paperwork/paper.dm
+++ b/code/modules/paperwork/paper.dm
@@ -23,6 +23,9 @@
var/stamps //The (text for the) stamps on the paper.
var/fields //Amount of user created fields
var/list/stamped
+ var/ico[0] //Icons and
+ var/offset_x[0] //offsets stored for later
+ var/offset_y[0] //usage by the photocopier
var/rigged = 0
var/spam_flag = 0
@@ -36,6 +39,7 @@
..()
pixel_y = rand(-8, 8)
pixel_x = rand(-9, 9)
+ stamps = ""
spawn(2)
update_icon()
updateinfolinks()
@@ -320,14 +324,21 @@
stamps += (stamps=="" ? "
" : "
") + "This paper has been stamped with the [P.name]."
var/image/stampoverlay = image('icons/obj/bureaucracy.dmi')
- stampoverlay.pixel_x = rand(-2, 2)
- stampoverlay.pixel_y = rand(-3, 2)
+ var/x = rand(-2, 2)
+ var/y = rand(-3, 2)
+ offset_x += x
+ offset_y += y
+ stampoverlay.pixel_x = x
+ stampoverlay.pixel_y = y
if(istype(P, /obj/item/weapon/stamp/clown))
if(!clown)
user << "You are totally unable to use the stamp. HONK!"
return
+ if(!ico)
+ ico = new
+ ico += "paper_[P.icon_state]"
stampoverlay.icon_state = "paper_[P.icon_state]"
if(!stamped)
diff --git a/code/modules/paperwork/photocopier.dm b/code/modules/paperwork/photocopier.dm
index 04cf6f629ca..451411c0e30 100644
--- a/code/modules/paperwork/photocopier.dm
+++ b/code/modules/paperwork/photocopier.dm
@@ -57,6 +57,23 @@
c.info += ""
c.name = copy.name // -- Doohl
c.fields = copy.fields
+ c.stamps = copy.stamps
+ c.stamped = copy.stamped
+ c.ico = copy.ico
+ c.offset_x = copy.offset_x
+ c.offset_y = copy.offset_y
+ var/list/temp_overlays = copy.overlays //Iterates through stamps
+ var/image/img //and puts a matching
+ for (var/j = 1, j <= temp_overlays.len, j++) //gray overlay onto the copy
+ if (findtext(copy.ico[j], "cap") || findtext(copy.ico[j], "cent"))
+ img = image('icons/obj/bureaucracy.dmi', "paper_stamp-circle")
+ else if (findtext(copy.ico[j], "deny"))
+ img = image('icons/obj/bureaucracy.dmi', "paper_stamp-x")
+ else
+ img = image('icons/obj/bureaucracy.dmi', "paper_stamp-dots")
+ img.pixel_x = copy.offset_x[j]
+ img.pixel_y = copy.offset_y[j]
+ c.overlays += img
c.updateinfolinks()
toner--
sleep(15)
diff --git a/icons/obj/bureaucracy.dmi b/icons/obj/bureaucracy.dmi
index feec0ae0df2..2a0feb027a2 100644
Binary files a/icons/obj/bureaucracy.dmi and b/icons/obj/bureaucracy.dmi differ