From 534739ea6ec2b33619e5d006ef72353b82acc3a1 Mon Sep 17 00:00:00 2001 From: Sparky Date: Thu, 31 Dec 2020 01:04:53 +0000 Subject: [PATCH] Reworks Maintenance Access to work on Alert Level (#10849) --- code/modules/security levels/keycard authentication.dm | 8 +++++++- html/changelogs/alertmaint.yml | 7 +++++++ 2 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 html/changelogs/alertmaint.yml diff --git a/code/modules/security levels/keycard authentication.dm b/code/modules/security levels/keycard authentication.dm index 9d4bb64a4c6..411938c3f23 100644 --- a/code/modules/security levels/keycard authentication.dm +++ b/code/modules/security levels/keycard authentication.dm @@ -169,6 +169,12 @@ var/global/maint_all_access = 0 security_announcement.Announce("The maintenance access requirement has been readded on all maintenance airlocks.","Attention!") /obj/machinery/door/airlock/allowed(mob/M) - if(maint_all_access && src.check_access_list(list(access_maint_tunnels))) + var/obj/item/I = M.GetIdCard() + if(!I) + return ..(M) + var/list/A = I.GetAccess() + var/maint_sec_access = ((security_level > SEC_LEVEL_GREEN) && has_access(access_security, accesses = A)) + var/exceptional_circumstances = maint_all_access || maint_sec_access + if(exceptional_circumstances && src.check_access_list(list(access_maint_tunnels))) return 1 return ..(M) diff --git a/html/changelogs/alertmaint.yml b/html/changelogs/alertmaint.yml new file mode 100644 index 00000000000..b00c459eb4f --- /dev/null +++ b/html/changelogs/alertmaint.yml @@ -0,0 +1,7 @@ +author: Sparky_Hotdog + +delete-after: True + +changes: + - tweak: "Security now recieves maintainance access during yellow, blue, red and delta alerts." +