Fixes occasional issue with req_(one_)access being null.

Refactors the code a bit as well.
This commit is contained in:
PsiOmega
2015-03-29 12:22:14 +02:00
parent 6ec0c2e504
commit 486c30d34e

View File

@@ -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)