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."