diff --git a/code/modules/paperwork/clipboard.dm b/code/modules/paperwork/clipboard.dm index 78a0bf8c1e7..15f6fa417f2 100644 --- a/code/modules/paperwork/clipboard.dm +++ b/code/modules/paperwork/clipboard.dm @@ -168,15 +168,8 @@ else if(href_list["read"]) var/obj/item/paper/P = locate(href_list["read"]) - - if(P && (P.loc == src) && istype(P, /obj/item/paper) ) - - if(!(istype(usr, /mob/living/carbon/human) || istype(usr, /mob/abstract/observer) || istype(usr, /mob/living/silicon))) - usr << browse("[P.name][stars(P.info)][P.stamps]", "window=[P.name]") - onclose(usr, "[P.name]") - else - usr << browse("[P.name][P.info][P.stamps]", "window=[P.name]") - onclose(usr, "[P.name]") + if(istype(P) && (P.loc == src)) + P.show_content(usr) else if(href_list["look"]) var/obj/item/photo/P = locate(href_list["look"]) diff --git a/code/modules/paperwork/folders.dm b/code/modules/paperwork/folders.dm index 186fbfec40f..efda7f2fdd6 100644 --- a/code/modules/paperwork/folders.dm +++ b/code/modules/paperwork/folders.dm @@ -80,12 +80,7 @@ else if(href_list["read"]) var/obj/item/paper/P = locate(href_list["read"]) if(P && (P.loc == src) && istype(P)) - if(!(istype(usr, /mob/living/carbon/human) || istype(usr, /mob/abstract/observer) || istype(usr, /mob/living/silicon))) - usr << browse("[P.name][stars(P.info)][P.stamps]", "window=[P.name]") - onclose(usr, "[P.name]") - else - usr << browse("[P.name][P.info][P.stamps]", "window=[P.name]") - onclose(usr, "[P.name]") + P.show_content(usr) else if(href_list["look"]) var/obj/item/photo/P = locate(href_list["look"]) if(P && (P.loc == src) && istype(P)) diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index cc1e484938f..3ebbafe8b60 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -102,15 +102,20 @@ /obj/item/paper/proc/show_content(mob/user, forceshow) + var/datum/browser/paper_win = new(user, name, null, 450, 500, null, TRUE) + paper_win.set_content(get_content(user, can_read(user, forceshow))) + paper_win.add_stylesheet("paper_languages", 'html/browser/paper_languages.css') + paper_win.open() + +/obj/item/paper/proc/can_read(var/mob/user, var/forceshow = FALSE) var/can_read = (istype(user, /mob/living/carbon/human) || isobserver(user) || istype(user, /mob/living/silicon)) || forceshow if(!forceshow && istype(user,/mob/living/silicon/ai)) var/mob/living/silicon/ai/AI can_read = get_dist(src, AI.camera) < 2 + return can_read - var/datum/browser/paper_win = new(user, name, null, 450, 500, null, TRUE) - paper_win.set_content("[capitalize_first_letters(name)][can_read ? parse_languages(user, info) : stars(info)][stamps]") - paper_win.add_stylesheet("paper_languages", 'html/browser/paper_languages.css') - paper_win.open() +/obj/item/paper/proc/get_content(var/mob/user, var/can_read = TRUE) + return "[capitalize_first_letters(name)][can_read ? parse_languages(user, info) : stars(info)][stamps]" /obj/item/paper/verb/rename() set name = "Rename paper" diff --git a/code/modules/paperwork/paper_bundle.dm b/code/modules/paperwork/paper_bundle.dm index fa05753fa2c..0801b8f2a64 100644 --- a/code/modules/paperwork/paper_bundle.dm +++ b/code/modules/paperwork/paper_bundle.dm @@ -120,11 +120,13 @@ if(istype(pages[page], /obj/item/paper)) var/obj/item/paper/P = W - if(!(istype(usr, /mob/living/carbon/human) || istype(usr, /mob/abstract/observer) || istype(usr, /mob/living/silicon))) - dat+= "[P.name][stars(P.info)][P.stamps]" - else - dat+= "[P.name][P.info][P.stamps]" - user << browse(dat, "window=[name]") + dat += P.get_content(user, P.can_read(user)) + + var/datum/browser/paper_win = new(user, name, null, 450, 500, null, TRUE) + paper_win.set_content(dat) + paper_win.add_stylesheet("paper_languages", 'html/browser/paper_languages.css') + paper_win.open() + else if(istype(pages[page], /obj/item/photo)) var/obj/item/photo/P = W send_rsc(user, P.img, "tmp_photo.png") diff --git a/html/changelogs/geeves-written_language_fix.yml b/html/changelogs/geeves-written_language_fix.yml new file mode 100644 index 00000000000..bebb411e5a3 --- /dev/null +++ b/html/changelogs/geeves-written_language_fix.yml @@ -0,0 +1,6 @@ +author: Geeves + +delete-after: True + +changes: + - bugfix: "Written languages now work in paper bundles, folders, and clipboards." \ No newline at end of file