From 1829b480aef491b87272c7aedf9715ab5407f3c3 Mon Sep 17 00:00:00 2001
From: FabianK3 <21039694+FabianK3@users.noreply.github.com>
Date: Thu, 14 May 2026 00:41:15 +0200
Subject: [PATCH] Fix persistent papers text insertion (#22458)
---
code/modules/paperwork/paper.dm | 27 ++++++++++---------
...-fix-persistent-papers-text-insertions.yml | 7 +++++
2 files changed, 22 insertions(+), 12 deletions(-)
create mode 100644 html/changelogs/fabiank3-fix-persistent-papers-text-insertions.yml
diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm
index 9ae9e2aa5e8..cdf38d709c1 100644
--- a/code/modules/paperwork/paper.dm
+++ b/code/modules/paperwork/paper.dm
@@ -66,6 +66,8 @@
var/can_change_icon_state = TRUE
var/set_unsafe_on_init = FALSE
+ persistant_objects_expiration_time_days = 180
+
/obj/item/paper/Destroy()
info = null
info_links = null
@@ -103,11 +105,11 @@
else
addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_icon)), 1, TIMER_STOPPABLE | TIMER_DELETE_ME)
-/obj/item/paper/proc/set_content(title, text)
+/obj/item/paper/proc/set_content(title, text, adddefaultfont = TRUE)
if(title)
name = title
if (text && length(text))
- info = parsepencode(text)
+ info = parsepencode(text, skipdefaultfont = !adddefaultfont)
else
info = ""
@@ -357,7 +359,7 @@
return signfont
-/obj/item/paper/proc/parsepencode(t, obj/item/pen/P, mob/user, iscrayon, isfountain, istypewriter)
+/obj/item/paper/proc/parsepencode(t, obj/item/pen/P, mob/user, iscrayon, isfountain, istypewriter, skipdefaultfont = FALSE)
if(user)
t = parse_languages(user, t, TRUE)
if(P)
@@ -413,14 +415,15 @@
t = replacetext(t, "\[cell\]", "")
t = replacetext(t, "\[barcode\]", "")
- if(iscrayon)
- t = "[t]"
- else if(isfountain)
- t = "[t]"
- else if(istypewriter)
- t = "[t]"
- else
- t = "[t]"
+ if(!skipdefaultfont)
+ if(iscrayon)
+ t = "[t]"
+ else if(isfountain)
+ t = "[t]"
+ else if(istypewriter)
+ t = "[t]"
+ else
+ t = "[t]"
t = pencode2html(t)
@@ -842,7 +845,7 @@
return content
/obj/item/paper/persistent_objects_apply_content(content, x, y, z)
- set_content(content["title"], content["text"])
+ set_content(content["title"], content["text"], adddefaultfont = FALSE)
src.x = x
src.y = y
src.z = z
diff --git a/html/changelogs/fabiank3-fix-persistent-papers-text-insertions.yml b/html/changelogs/fabiank3-fix-persistent-papers-text-insertions.yml
new file mode 100644
index 00000000000..b468c072899
--- /dev/null
+++ b/html/changelogs/fabiank3-fix-persistent-papers-text-insertions.yml
@@ -0,0 +1,7 @@
+author: FabianK3
+
+delete-after: True
+
+changes:
+ - bugfix: "Fixed repeating default font tag getting added to persistent papers, breaking their life cycle and resulting in massive text sizes."
+ - balance: "Raised expiration time of persistent papers from 30 to 180 days."