From 16724e956c8132b2395d33007b8bb4a3bdcc6cb7 Mon Sep 17 00:00:00 2001 From: VMSolidus Date: Fri, 6 Feb 2026 15:25:05 -0500 Subject: [PATCH] Fix Silicons See Offship (#21798) It was possible for a player to incorrectly be able to view the ghostroles in the Off-ship Manifest by entering any sort of camera, then opening the manifest. This was most trivial to do with Borgs and AI, but was also possible for player characters in some situations. This fixes that by making it so that Eyes (a type of abstract mob used for cameras and borgs), are specially excluded from viewing the Off-ship manifest. Other types of observers should remain unaffected. --- code/controllers/subsystems/records.dm | 2 +- .../file_system/programs/generic/manifest.dm | 4 ++-- html/changelogs/hellfirejag-offships-manifest-hotfixes.yml | 4 ++++ 3 files changed, 7 insertions(+), 3 deletions(-) create mode 100644 html/changelogs/hellfirejag-offships-manifest-hotfixes.yml diff --git a/code/controllers/subsystems/records.dm b/code/controllers/subsystems/records.dm index ffbdf5d1ea3..4eb43d34ee4 100644 --- a/code/controllers/subsystems/records.dm +++ b/code/controllers/subsystems/records.dm @@ -233,7 +233,7 @@ SUBSYSTEM_DEF(records) var/list/data = list() data["manifest"] = SSrecords.get_manifest_list() data["allow_follow"] = isghost(user) - data["show_ooc_roles"] = isabstractmob(usr) + data["show_ooc_roles"] = isabstractmob(user) && !isEye(user) return data /datum/controller/subsystem/records/proc/open_manifest_tgui(mob/user, datum/tgui/ui) diff --git a/code/modules/modular_computers/file_system/programs/generic/manifest.dm b/code/modules/modular_computers/file_system/programs/generic/manifest.dm index 41d7333213c..4e818697a38 100644 --- a/code/modules/modular_computers/file_system/programs/generic/manifest.dm +++ b/code/modules/modular_computers/file_system/programs/generic/manifest.dm @@ -18,6 +18,6 @@ /datum/computer_file/program/manifest/ui_static_data(mob/user) var/list/data = list() data["manifest"] = SSrecords.get_manifest_list() - data["allow_follow"] = isobserver(usr) - data["show_ooc_roles"] = isabstractmob(usr) + data["allow_follow"] = isobserver(user) + data["show_ooc_roles"] = isabstractmob(user) && !isEye(user) return data diff --git a/html/changelogs/hellfirejag-offships-manifest-hotfixes.yml b/html/changelogs/hellfirejag-offships-manifest-hotfixes.yml new file mode 100644 index 00000000000..857abfa5c18 --- /dev/null +++ b/html/changelogs/hellfirejag-offships-manifest-hotfixes.yml @@ -0,0 +1,4 @@ +author: Hellfirejag +delete-after: True +changes: + - bugfix: "Fixed some situations where a character in-game could view the ooc-manifest that includes off-ship roles."