From 53a95d8effcbefa3ec3d654ead7d727d5397ca2a Mon Sep 17 00:00:00 2001 From: volas Date: Mon, 20 Apr 2015 23:09:24 +0300 Subject: [PATCH 1/2] Fixes #8913 --- code/modules/paperwork/paper.dm | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index 6c91d2de03..29c1dbcd57 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -22,6 +22,7 @@ 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 + 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 @@ -51,6 +52,7 @@ spawn(2) update_icon() + update_space(info) updateinfolinks() return @@ -62,6 +64,12 @@ return icon_state = "paper" +/obj/item/weapon/paper/proc/update_space(var/new_text) + if(!new_text) + return + + free_space -= length(strip_html_properly(new_text, 0)) + /obj/item/weapon/paper/examine(mob/user) ..() if(in_range(user, src) || istype(user, /mob/dead/observer)) @@ -188,6 +196,7 @@ /obj/item/weapon/paper/proc/clearpaper() info = null stamps = null + free_space = MAX_BOOK_MESSAGE_LEN stamped = list() overlays.Cut() updateinfolinks() @@ -325,12 +334,11 @@ var/id = href_list["write"] //var/t = strip_html_simple(input(usr, "What text do you wish to add to " + (id=="end" ? "the end of the paper" : "field "+id) + "?", "[name]", null),8192) as message - var/textlimit = MAX_PAPER_MESSAGE_LEN - length(info) - if(textlimit <= 0) + if(free_space <= 0) usr << "You're trying to find a free place on paper, but can't!" return - var/t = strip_html_simple(input("Enter what you want to write:", "Write", null, null) as message, textlimit) + var/t = strip_html_simple(input("Enter what you want to write:", "Write", null, null) as message, free_space) if(!t) return @@ -375,6 +383,8 @@ info += t // Oh, he wants to edit to the end of the file, let him. updateinfolinks() + update_space(t) + usr << browse("[name][info_links][stamps]", "window=[name]") // Update the window update_icon() From 59e17f7a9b7f47880d4b8c18a05692f7035c2ce9 Mon Sep 17 00:00:00 2001 From: volas Date: Tue, 28 Apr 2015 00:41:14 +0300 Subject: [PATCH 2/2] small fix --- code/modules/paperwork/paper.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index 29c1dbcd57..87d5f002ee 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -196,7 +196,7 @@ /obj/item/weapon/paper/proc/clearpaper() info = null stamps = null - free_space = MAX_BOOK_MESSAGE_LEN + free_space = MAX_PAPER_MESSAGE_LEN stamped = list() overlays.Cut() updateinfolinks()