diff --git a/code/modules/cargo/randomstock.dm b/code/modules/cargo/randomstock.dm index 8a1474e6328..846eb3d2874 100644 --- a/code/modules/cargo/randomstock.dm +++ b/code/modules/cargo/randomstock.dm @@ -121,7 +121,7 @@ var/list/global/random_stock_large = list() /datum/cargospawner/New() //First lets get the reference to our warehouse - for(var/areapath in typesof(/area/quartermaster/storage)) + for(var/areapath in typesof(current_map.warehouse_basearea)) warehouse = locate(areapath) if (warehouse) for (var/turf/simulated/floor/T in warehouse) @@ -134,7 +134,7 @@ var/list/global/random_stock_large = list() tables |= B /datum/cargospawner/proc/start() - if (!warehouse || !warehouseturfs.len) + if (!current_map.warehouse_basearea || !warehouse || !warehouseturfs.len) admin_notice("ERROR: Cargo spawner failed to locate warehouse. Terminating.", R_DEBUG) qdel(src) return diff --git a/maps/_common/mapsystem/map.dm b/maps/_common/mapsystem/map.dm index b047fdd80e3..a1027826437 100644 --- a/maps/_common/mapsystem/map.dm +++ b/maps/_common/mapsystem/map.dm @@ -109,8 +109,9 @@ var/list/planet_size //dimensions of planet zlevel, defaults to world size. Due to how maps are generated, must be (2^n+1) e.g. 17,33,65,129 etc. Map will just round up to those if set to anything other. var/min_offmap_players = 0 var/away_site_budget = 0 - + var/allow_borgs_to_leave = FALSE //this controls if borgs can leave the station or ship without exploding + var/area/warehouse_basearea //this controls where the cargospawner tries to populate warehouse items /datum/map/New() if(!map_levels) diff --git a/maps/aurora/code/aurora.dm b/maps/aurora/code/aurora.dm index 862a093ed48..46d9dee2b5d 100644 --- a/maps/aurora/code/aurora.dm +++ b/maps/aurora/code/aurora.dm @@ -90,6 +90,8 @@ /datum/shuttle/autodock/multi/merc_aurora_elite ) + warehouse_basearea = /area/quartermaster/storage + /datum/map/aurora/generate_asteroid() // Create the chasms. new /datum/random_map/automata/cave_system/chasms(null,0,0,3,255,255) diff --git a/maps/exodus/code/exodus.dm b/maps/exodus/code/exodus.dm index 57268921a20..da29840797d 100644 --- a/maps/exodus/code/exodus.dm +++ b/maps/exodus/code/exodus.dm @@ -69,6 +69,8 @@ /datum/shuttle/autodock/ferry/merchant/exodus ) + warehouse_basearea = /area/quartermaster/storage + /datum/map/exodus/generate_asteroid() new /datum/random_map/automata/cave_system(null, 13, 32, 5, 217, 223) new /datum/random_map/noise/ore(null, 13, 32, 5, 217, 223) diff --git a/maps/sccv_horizon/code/sccv_horizon.dm b/maps/sccv_horizon/code/sccv_horizon.dm index 98918be1910..ba8ff9a4197 100644 --- a/maps/sccv_horizon/code/sccv_horizon.dm +++ b/maps/sccv_horizon/code/sccv_horizon.dm @@ -114,6 +114,8 @@ allow_borgs_to_leave = TRUE + warehouse_basearea = /area/operations/storage + /datum/map/sccv_horizon/finalize_load() // generate an empty space Z world.maxz++