diff --git a/code/__defines/color.dm b/code/__defines/color.dm index baae616b340..43baf63abd6 100644 --- a/code/__defines/color.dm +++ b/code/__defines/color.dm @@ -92,6 +92,10 @@ #define COLOR_LIGHT_VIOLET "#e7bfff" #define COLOR_SAN_MARINO_BLUE "#4b75ab" #define COLOR_HALF_TRANSPARENT_BLACK "#0000007A" +#define COLOR_NUKIES_GREEN "#43fe00" +#define COLOR_NUKIES_YELLOW "#ffe900" +#define COLOR_DESATTI_PRPLOW "#3300cc" +#define COLOR_DESATTI_PRPHI "#6600cc" #define PIPE_COLOR_GREY "#808080" #define PIPE_COLOR_RED "#ff0000" diff --git a/code/controllers/subsystems/supply.dm b/code/controllers/subsystems/supply.dm index c30d559e4ba..59d4f606b5b 100644 --- a/code/controllers/subsystems/supply.dm +++ b/code/controllers/subsystems/supply.dm @@ -13,7 +13,7 @@ SUBSYSTEM_DEF(supply) var/points_per_slip = 2 var/points_per_money = 0.02 // 1 point for $50 //control - var/ordernum + var/ordernum = 0 // Start at zero, it's per-shift tracking var/list/shoppinglist = list() // Approved orders var/list/supply_pack = list() // All supply packs var/list/exported_crates = list() // Crates sent from the station @@ -25,8 +25,6 @@ SUBSYSTEM_DEF(supply) var/datum/shuttle/autodock/ferry/supply/shuttle /datum/controller/subsystem/supply/Initialize() - ordernum = rand(1,9000) - // build master supply list for(var/typepath in subtypesof(/datum/supply_pack)) var/datum/supply_pack/P = new typepath() @@ -186,13 +184,31 @@ SUBSYSTEM_DEF(supply) var/datum/supply_pack/SP = SO.object shopping_log += "[SP.name];" - var/obj/A = new SP.containertype(pickedloc) - A.name = "[SP.containername] [SO.comment ? "([SO.comment])":"" ]" + var/obj/A + if(SP.containertype) + A = new SP.containertype(pickedloc) + A.name = "[SP.containername] [SO.comment ? "([SO.comment])":"" ]" + if(SP.access) + if(isnum(SP.access)) + A.req_access = list(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() + LAZYCLEARLIST(A.req_access) + else if(islist(SP.access) && !SP.one_access) + var/list/L = SP.access + A.req_access = L.Copy() + LAZYCLEARLIST(A.req_one_access) + else + log_debug("Supply pack with invalid access restriction [SP.access] encountered!") //supply manifest generation begin var/obj/item/weapon/paper/manifest/slip if(!SP.contraband) - slip = new /obj/item/weapon/paper/manifest(A) + if(A) + slip = new /obj/item/weapon/paper/manifest(A) + else + slip = new /obj/item/weapon/paper/manifest(pickedloc) slip.is_copy = 0 slip.info = "

[command_name()] Shipping Manifest



" slip.info +="Order #[SO.ordernum]
" @@ -200,21 +216,6 @@ SUBSYSTEM_DEF(supply) slip.info +="[orderedamount] PACKAGES IN THIS SHIPMENT
" slip.info +="CONTENTS: