From 820521dc31f2946c25ff9206aaa020e8b7754ade Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Sun, 24 Jan 2016 10:14:31 +0100 Subject: [PATCH 1/3] The id modification console now only operate on NT access permissions. --- .../file_system/programs/card.dm | 23 +++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/code/modules/modular_computers/file_system/programs/card.dm b/code/modules/modular_computers/file_system/programs/card.dm index 81055e6fd28..ada04297e16 100644 --- a/code/modules/modular_computers/file_system/programs/card.dm +++ b/code/modules/modular_computers/file_system/programs/card.dm @@ -138,8 +138,11 @@ Blood Type: [id_card.blood_type]

Access:
"} + + var/known_access_rights = get_access_ids(ACCESS_TYPE_STATION|ACCESS_TYPE_CENTCOM) for(var/A in id_card.access) - contents += " [get_access_desc(A)]" + if(A in known_access_rights) + contents += " [get_access_desc(A)]" if(!computer.nano_printer.print_text(contents,"access report")) usr << "Hardware error: Printer was unable to print the file. It may be out of paper." @@ -162,7 +165,7 @@ if("terminate") if(computer && can_run(user, 1)) id_card.assignment = "Terminated" - id_card.access = list() + remove_nt_access(id_card) callHook("terminate_employee", list(id_card)) if("edit") if(computer && can_run(user, 1)) @@ -200,7 +203,8 @@ access = jobdatum.get_access() - id_card.access = access + remove_nt_access(id_card) + apply_access(id_card, access) id_card.assignment = t1 id_card.rank = t1 @@ -209,7 +213,7 @@ if(href_list["allowed"] && computer && can_run(user, 1)) var/access_type = text2num(href_list["access_target"]) var/access_allowed = text2num(href_list["allowed"]) - if(access_type in (get_all_centcom_access() + get_all_station_access())) + if(access_type in get_access_ids(ACCESS_TYPE_STATION|ACCESS_TYPE_CENTCOM)) id_card.access -= access_type if(!access_allowed) id_card.access += access_type @@ -218,3 +222,14 @@ nanomanager.update_uis(NM) return 1 + +/datum/computer_file/program/card_mod/proc/remove_nt_access(var/obj/item/weapon/card/id/id_card) + var/known_access_rights = get_access_ids(ACCESS_TYPE_STATION|ACCESS_TYPE_CENTCOM) + + for(var/access in id_card.access) + if(access in known_access_rights) + id_card.access -= access + +/datum/computer_file/program/card_mod/proc/apply_access(var/obj/item/weapon/card/id/id_card, var/list/accesses) + for(var/access in accesses) + id_card.access |= access From 1e879cd240b447fafbc723981e687f2bd51b20c1 Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Sun, 24 Jan 2016 10:36:04 +0100 Subject: [PATCH 2/3] Replaces the Lawyer position with IAA. The prior title is somewhat dated. --- code/game/jobs/jobs.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/jobs/jobs.dm b/code/game/jobs/jobs.dm index 35026659dd2..3781ff33d78 100644 --- a/code/game/jobs/jobs.dm +++ b/code/game/jobs/jobs.dm @@ -94,12 +94,12 @@ var/list/cargo_positions = list( var/list/civilian_positions = list( "Head of Personnel", + "Internal Affairs Agent", "Bartender", "Gardener", "Chef", "Janitor", "Librarian", - "Lawyer", "Chaplain", "Assistant" ) From d0cf32db2067112bcb63a641f0f63211cf01f6d0 Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Sun, 24 Jan 2016 14:10:44 +0100 Subject: [PATCH 3/3] List modification tweaks. --- .../modular_computers/file_system/programs/card.dm | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/code/modules/modular_computers/file_system/programs/card.dm b/code/modules/modular_computers/file_system/programs/card.dm index ada04297e16..c1a13e040a2 100644 --- a/code/modules/modular_computers/file_system/programs/card.dm +++ b/code/modules/modular_computers/file_system/programs/card.dm @@ -224,12 +224,7 @@ return 1 /datum/computer_file/program/card_mod/proc/remove_nt_access(var/obj/item/weapon/card/id/id_card) - var/known_access_rights = get_access_ids(ACCESS_TYPE_STATION|ACCESS_TYPE_CENTCOM) - - for(var/access in id_card.access) - if(access in known_access_rights) - id_card.access -= access + id_card.access -= get_access_ids(ACCESS_TYPE_STATION|ACCESS_TYPE_CENTCOM) /datum/computer_file/program/card_mod/proc/apply_access(var/obj/item/weapon/card/id/id_card, var/list/accesses) - for(var/access in accesses) - id_card.access |= access + id_card.access |= accesses