diff --git a/code/modules/modular_computers/file_system/programs/card.dm b/code/modules/modular_computers/file_system/programs/card.dm index ccd9382006e..10f2f0cc94f 100644 --- a/code/modules/modular_computers/file_system/programs/card.dm +++ b/code/modules/modular_computers/file_system/programs/card.dm @@ -15,6 +15,8 @@ /// If TRUE, this program is authenticated with limited departmental access. var/minor = FALSE /// The name/assignment combo of the ID card used to authenticate. + var/authenticated_card + /// The name of the registered user, related to `authenticated_card`. var/authenticated_user /// The regions this program has access to based on the authenticated ID. var/list/region_access = list() @@ -46,7 +48,8 @@ // If the program isn't locked to a specific department or is_centcom and we have ACCESS_CHANGE_IDS in our auth card, we're not minor. if((!target_dept || is_centcom) && (ACCESS_CHANGE_IDS in id_card.access)) minor = FALSE - authenticated_user = "[id_card.name]" + authenticated_card = "[id_card.name]" + authenticated_user = id_card.registered_name ? id_card.registered_name : "Unknown" job_templates = is_centcom ? SSid_access.centcom_job_templates.Copy() : SSid_access.station_job_templates.Copy() valid_access = is_centcom ? SSid_access.get_region_access_list(list(REGION_CENTCOM)) : SSid_access.get_region_access_list(list(REGION_ALL_STATION)) update_static_data(user) @@ -64,7 +67,7 @@ if(length(region_access)) minor = TRUE valid_access |= SSid_access.get_region_access_list(region_access) - authenticated_user = "[id_card.name] \[LIMITED ACCESS\]" + authenticated_card = "[id_card.name] \[LIMITED ACCESS\]" update_static_data(user) return TRUE @@ -100,6 +103,7 @@ return TRUE // Log out. if("PRG_logout") + authenticated_card = null authenticated_user = null playsound(computer, 'sound/machines/terminal_off.ogg', 50, FALSE) return TRUE @@ -107,10 +111,10 @@ if("PRG_print") if(!computer || !printer) return TRUE - if(!authenticated_user) + if(!authenticated_card) return TRUE var/contents = {"

Access Report

- Prepared By: [user_id_card?.registered_name ? user_id_card.registered_name : "Unknown"]
+ Prepared By: [authenticated_user]
For: [target_id_card.registered_name ? target_id_card.registered_name : "Unregistered"]

Assignment: [target_id_card.assignment]
@@ -122,7 +126,7 @@ if(A in known_access_rights) contents += " [SSid_access.get_access_desc(A)]" - if(!printer.print_text(contents,"access report")) + if(!printer.print_text(contents,"access report - [target_id_card.registered_name ? target_id_card.registered_name : "Unregistered"]")) to_chat(usr, span_notice("Hardware error: Printer was unable to print the file. It may be out of paper.")) return TRUE else @@ -153,7 +157,7 @@ return TRUE // Used to fire someone. Wipes all access from their card and modifies their assignment. if("PRG_terminate") - if(!computer || !authenticated_user) + if(!computer || !authenticated_card) return TRUE if(minor) if(!(target_id_card.trim?.type in job_templates)) @@ -168,7 +172,7 @@ return TRUE // Change ID card assigned name. if("PRG_edit") - if(!computer || !authenticated_user || !target_id_card) + if(!computer || !authenticated_card || !target_id_card) return TRUE var/old_name = target_id_card.registered_name @@ -202,7 +206,7 @@ return TRUE // Change age if("PRG_age") - if(!computer || !authenticated_user || !target_id_card) + if(!computer || !authenticated_card || !target_id_card) return TRUE var/new_age = params["id_age"] @@ -215,7 +219,7 @@ return TRUE // Change assignment if("PRG_assign") - if(!computer || !authenticated_user || !target_id_card) + if(!computer || !authenticated_card || !target_id_card) return TRUE var/new_asignment = sanitize(params["assignment"]) target_id_card.assignment = new_asignment @@ -224,7 +228,7 @@ return TRUE // Add/remove access. if("PRG_access") - if(!computer || !authenticated_user || !target_id_card) + if(!computer || !authenticated_card || !target_id_card) return TRUE playsound(computer, "terminal_type", 50, FALSE) var/access_type = params["access_target"] @@ -249,7 +253,7 @@ return TRUE // Apply template to ID card. if("PRG_template") - if(!computer || !authenticated_user || !target_id_card) + if(!computer || !authenticated_card || !target_id_card) return TRUE playsound(computer, "terminal_type", 50, FALSE) @@ -323,7 +327,7 @@ var/obj/item/card/id/auth_card = card_slot.stored_card data["authIDName"] = auth_card ? auth_card.name : "-----" - data["authenticatedUser"] = authenticated_user + data["authenticatedUser"] = authenticated_card var/obj/item/card/id/id_card = card_slot2.stored_card data["has_id"] = !!id_card