From 486c30d34e2b830b6e475336829196de2c69aaa6 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sun, 29 Mar 2015 12:22:14 +0200 Subject: [PATCH] Fixes occasional issue with req_(one_)access being null. Refactors the code a bit as well. --- code/game/jobs/access.dm | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/code/game/jobs/access.dm b/code/game/jobs/access.dm index 6d2b5e33d67..da346f9fce8 100644 --- a/code/game/jobs/access.dm +++ b/code/game/jobs/access.dm @@ -110,23 +110,11 @@ return null /obj/proc/check_access(obj/item/I) - if(!(!req_access || req_access.len) && !(req_one_access || req_one_access.len)) //no requirements - return 1 - if(!I) - return 0 - for(var/req in src.req_access) - if(!(req in I.GetAccess())) //doesn't have this access - return 0 - if(src.req_one_access.len) - for(var/req in src.req_one_access) - if(req in I.GetAccess()) //has an access from the single access list - return 1 - return 0 - return 1 - + return check_access_list(I ? I.GetAccess() : list()) /obj/proc/check_access_list(var/list/L) - if(!src.req_access.len && !src.req_one_access.len) return 1 + if(!req_access) req_access = list() + if(!req_one_access) req_one_access = list() if(!L) return 0 if(!istype(L, /list)) return 0 for(var/req in src.req_access)