From 1d659de67a7579b49330fd6b0eb987054714edb0 Mon Sep 17 00:00:00 2001 From: Cyberboss Date: Sun, 27 Nov 2016 15:29:13 -0500 Subject: [PATCH] Fixes #21789 --- code/game/machinery/doors/airlock.dm | 3 ++- code/modules/jobs/access.dm | 6 +++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index c6ea3c45cbc..6b30d8f48f0 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -1490,7 +1490,8 @@ var/list/airlock_overlays = list() var/obj/item/weapon/electronics/airlock/ae if(!electronics) ae = new/obj/item/weapon/electronics/airlock( src.loc ) - if(req_one_access) + gen_access() + if(req_one_access.len) ae.one_access = 1 ae.accesses = src.req_one_access else diff --git a/code/modules/jobs/access.dm b/code/modules/jobs/access.dm index 0dfc814eae1..fb9072b91e6 100644 --- a/code/modules/jobs/access.dm +++ b/code/modules/jobs/access.dm @@ -134,7 +134,8 @@ /obj/item/proc/GetID() return null -/obj/proc/check_access(obj/item/I) +//Call this before using req_access or req_one_access directly +/obj/proc/gen_access() //These generations have been moved out of /obj/New() because they were slowing down the creation of objects that never even used the access system. if(!src.req_access) src.req_access = list() @@ -154,6 +155,9 @@ if(n) req_one_access += n +/obj/proc/check_access(obj/item/I) + gen_access() + if(!istype(src.req_access, /list)) //something's very wrong return 1