diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index b0ad2f6e318..c3e76d5cc49 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -180,14 +180,14 @@ #define STAGE_SIX 11 //From supermatter shard //zlevel defines, can be overridden for different maps in the appropriate _maps file. -#define ZLEVEL_SPACEMAX 9 -#define ZLEVEL_MINING 5 -#define ZLEVEL_SPACEMIN 3 -#define ZLEVEL_ABANDONNEDTSAT 3 -#define ZLEVEL_CENTCOM 2 #define ZLEVEL_STATION 1 +#define ZLEVEL_CENTCOM 2 +#define ZLEVEL_MINING 5 #define ZLEVEL_LAVALAND 5 -#define ZLEVEL_UNDERGROUND 6 +#define ZLEVEL_EMPTY_SPACE 10 + +#define ZLEVEL_SPACEMIN 3 +#define ZLEVEL_SPACEMAX 10 //ticker.current_state values #define GAME_STATE_STARTUP 0 diff --git a/code/controllers/subsystem/mapping.dm b/code/controllers/subsystem/mapping.dm index bee07291d49..b39fca4a6e1 100644 --- a/code/controllers/subsystem/mapping.dm +++ b/code/controllers/subsystem/mapping.dm @@ -20,19 +20,25 @@ var/datum/subsystem/mapping/SSmapping var/mining_type = MINETYPE if (mining_type == "lavaland") - seedRuins(5, config.lavaland_budget, /area/lavaland/surface/outdoors, lava_ruins_templates) + seedRuins(list(5), config.lavaland_budget, /area/lavaland/surface/outdoors, lava_ruins_templates) spawn_rivers() else make_mining_asteroid_secrets() // deep space ruins - seedRuins(7, rand(0,2), /area/space, space_ruins_templates) - seedRuins(8, rand(0,2), /area/space, space_ruins_templates) - seedRuins(9, rand(0,2), /area/space, space_ruins_templates) + var/space_zlevels = list() + for(var/i in ZLEVEL_SPACEMIN to ZLEVEL_SPACEMAX) + switch(i) + if(ZLEVEL_MINING, ZLEVEL_LAVALAND, ZLEVEL_EMPTY_SPACE) + continue + else + space_zlevels += i + + seedRuins(space_zlevels, rand(8,16), /area/space, space_ruins_templates) // Set up Z-level transistions. setup_map_transitions() ..() /datum/subsystem/mapping/Recover() - flags |= SS_NO_INIT \ No newline at end of file + flags |= SS_NO_INIT diff --git a/code/modules/awaymissions/zlevel.dm b/code/modules/awaymissions/zlevel.dm index e4a63c3f6dd..ddfc123fde3 100644 --- a/code/modules/awaymissions/zlevel.dm +++ b/code/modules/awaymissions/zlevel.dm @@ -1,3 +1,5 @@ +// How much "space" we give the edge of the map +#define BORDER_BUBBLE 7 var/global/list/potentialRandomZlevels = generateMapList(filename = "config/awaymissionconfig.txt") /proc/createRandomZlevel() @@ -58,7 +60,9 @@ var/global/list/potentialRandomZlevels = generateMapList(filename = "config/away return potentialMaps -/proc/seedRuins(z_level = 1, budget = 0, whitelist = /area/space, list/potentialRuins = space_ruins_templates) +/proc/seedRuins(list/z_levels = null, budget = 0, whitelist = /area/space, list/potentialRuins = space_ruins_templates) + if(!z_levels || !z_levels.len) + z_levels = list(1) var/overall_sanity = 100 var/ruins = potentialRuins.Copy() @@ -75,7 +79,10 @@ var/global/list/potentialRandomZlevels = generateMapList(filename = "config/away while(sanity > 0) sanity-- - var/turf/T = locate(rand(25, world.maxx - 25), rand(25, world.maxy - 25), z_level) + var/width_border = BORDER_BUBBLE + ruin.width + var/height_border = BORDER_BUBBLE + ruin.height + var/z_level = pick(z_levels) + var/turf/T = locate(rand(width_border, world.maxx - width_border), rand(height_border, world.maxy - height_border), z_level) var/valid = TRUE for(var/turf/check in ruin.get_affected_turfs(T,1)) @@ -129,3 +136,4 @@ var/global/list/potentialRandomZlevels = generateMapList(filename = "config/away qdel(src) return TRUE +#undef BORDER_BUBBLE