diff --git a/code/modules/paperwork/adminpaper.dm b/code/modules/paperwork/adminpaper.dm
index ccecb16d44..13bd884a14 100644
--- a/code/modules/paperwork/adminpaper.dm
+++ b/code/modules/paperwork/adminpaper.dm
@@ -13,6 +13,9 @@
var/header = null
var/headerOn = TRUE
+ var/footer = null
+ var/footerOn = FALSE
+
/obj/item/weapon/paper/admin/New()
..()
generateInteractions()
@@ -21,36 +24,52 @@
/obj/item/weapon/paper/admin/proc/generateInteractions()
//clear first
interactions = null
- interactions += "
"
- interactions += "Send fax "
+
+ //Snapshot is crazy and likes putting each topic hyperlink on a seperate line from any other tags so it's nice and clean.
+ interactions += "
The fax will transmit everything above this line
"
+ interactions += "Send fax "
interactions += "Pen mode: [isCrayon ? "Crayon" : "Pen"] "
interactions += "Cancel fax "
interactions += "
"
interactions += "Toggle Header "
- interactions += "Clear page "
+ interactions += "Toggle Footer "
+ interactions += "Clear page "
+ interactions += ""
/obj/item/weapon/paper/admin/proc/generateHeader()
var/originhash = md5("[origin]")
- var/timehash = copytext(md5("[world.time]"),1,10)
+ var/challengehash = copytext(md5("[game_id]"),1,10) // changed to a hash of the game ID so it's more consistant but changes every round.
var/text = null
//TODO change logo based on who you're contacting.
text = "
"
- text += "[origin] quantum uplink signed message
"
+ text += "[origin] Quantum Uplink Signed Message
"
text += "Encryption key: [originhash]
"
- text += "Challenge: [timehash]
"
+ text += "Challenge: [challengehash]
"
header = text
+/obj/item/weapon/paper/admin/proc/generateFooter()
+ var/text = null
+
+ text = "
"
+ text += "This transmission is intended only for the addressee and may contain confidential information. Any unauthorized disclosure is strictly prohibited.
"
+ text += "If this transmission is recieved in error, please notify both the sender and the office of [boss_name] Internal Affairs immediately so that corrective action may be taken."
+ text += "Failure to comply is a breach of regulation and may be prosecuted to the fullest extent of the law, where applicable."
+ text += ""
+
+ footer = text
+
+
/obj/item/weapon/paper/admin/proc/adminbrowse()
updateinfolinks()
generateHeader()
- usr << browse("[name][header][info_links][stamps][interactions]", "window=[name];can_close=0")
+ generateFooter()
+ updateDisplay()
obj/item/weapon/paper/admin/proc/updateDisplay()
- if (headerOn)
- usr << browse("[name][header][info_links][stamps][interactions]", "window=[name];can_close=0")
- else
- usr << browse("[name][info_links][stamps][interactions]", "window=[name];can_close=0")
+ usr << browse("[name][headerOn ? header : ""][info_links][stamps][footerOn ? footer : ""][interactions]", "window=[name];can_close=0")
+
+
/obj/item/weapon/paper/admin/Topic(href, href_list)
if(href_list["write"])
@@ -94,7 +113,9 @@ obj/item/weapon/paper/admin/proc/updateDisplay()
if("Yes")
if(headerOn)
info = header + info
- updateinfolinks()
+ if(footerOn)
+ info += footer
+ updateinfolinks()
usr << browse(null, "window=[name]")
admindatum.faxCallback(src, destination)
return
@@ -120,6 +141,11 @@ obj/item/weapon/paper/admin/proc/updateDisplay()
updateDisplay()
return
+ if(href_list["togglefooter"])
+ footerOn = !footerOn
+ updateDisplay()
+ return
+