diff --git a/code/controllers/Processes/supply.dm b/code/controllers/Processes/supply.dm index f49730f25d..c6d3eb53e5 100644 --- a/code/controllers/Processes/supply.dm +++ b/code/controllers/Processes/supply.dm @@ -224,8 +224,12 @@ var/datum/controller/supply/supply_controller = new() if(SP.access) if(isnum(SP.access)) A.req_access = list(SP.access) - else if(islist(SP.access)) + else if(islist(SP.access) && SP.one_access) var/list/L = SP.access // access var is a plain var, we need a list + A.req_one_access = L.Copy() + A.req_access.Cut() + else if(islist(SP.access) && !SP.one_access) + var/list/L = SP.access A.req_access = L.Copy() else log_debug("Supply pack with invalid access restriction [SP.access] encountered!") diff --git a/code/datums/supplypacks/supplypacks.dm b/code/datums/supplypacks/supplypacks.dm index d29f03be6f..d419198af3 100644 --- a/code/datums/supplypacks/supplypacks.dm +++ b/code/datums/supplypacks/supplypacks.dm @@ -33,6 +33,7 @@ var/list/all_supply_groups = list("Atmospherics", var/containertype = null var/containername = null var/access = null + var/one_access = FALSE var/contraband = 0 var/num_contained = 0 //number of items picked to be contained in a /randomised crate var/group = "Miscellaneous"