Merge pull request #5842 from Citadel-Station-13/upstream-merge-36191
[MIRROR] Allow configuring ruin/empty space level count
This commit is contained in:
@@ -26,7 +26,6 @@ require only minor tweaks.
|
|||||||
#define MAP_REMOVE_JOB(jobpath) /datum/job/##jobpath/map_check() { return (SSmapping.config.map_name != JOB_MODIFICATION_MAP_NAME) && ..() }
|
#define MAP_REMOVE_JOB(jobpath) /datum/job/##jobpath/map_check() { return (SSmapping.config.map_name != JOB_MODIFICATION_MAP_NAME) && ..() }
|
||||||
|
|
||||||
#define SPACERUIN_MAP_EDGE_PAD 15
|
#define SPACERUIN_MAP_EDGE_PAD 15
|
||||||
#define ZLEVEL_SPACE_RUIN_COUNT 7
|
|
||||||
|
|
||||||
// traits
|
// traits
|
||||||
// boolean - marks a level as having that property if present
|
// boolean - marks a level as having that property if present
|
||||||
|
|||||||
@@ -50,11 +50,13 @@ SUBSYSTEM_DEF(mapping)
|
|||||||
preloadTemplates()
|
preloadTemplates()
|
||||||
#ifndef LOWMEMORYMODE
|
#ifndef LOWMEMORYMODE
|
||||||
// Create space ruin levels
|
// Create space ruin levels
|
||||||
while (space_levels_so_far < ZLEVEL_SPACE_RUIN_COUNT)
|
while (space_levels_so_far < config.space_ruin_levels)
|
||||||
++space_levels_so_far
|
++space_levels_so_far
|
||||||
add_new_zlevel("Empty Area [space_levels_so_far]", ZTRAITS_SPACE)
|
add_new_zlevel("Empty Area [space_levels_so_far]", ZTRAITS_SPACE)
|
||||||
// and one level with no ruins
|
// and one level with no ruins
|
||||||
empty_space = add_new_zlevel("Empty Area [1 + space_levels_so_far]", list(ZTRAIT_LINKAGE = CROSSLINKED))
|
for (var/i in 1 to config.space_empty_levels)
|
||||||
|
++space_levels_so_far
|
||||||
|
empty_space = add_new_zlevel("Empty Area [space_levels_so_far]", list(ZTRAIT_LINKAGE = CROSSLINKED))
|
||||||
// and the transit level
|
// and the transit level
|
||||||
transit = add_new_zlevel("Transit", list(ZTRAIT_TRANSIT = TRUE))
|
transit = add_new_zlevel("Transit", list(ZTRAIT_TRANSIT = TRUE))
|
||||||
|
|
||||||
@@ -175,7 +177,7 @@ SUBSYSTEM_DEF(mapping)
|
|||||||
|
|
||||||
#ifndef LOWMEMORYMODE
|
#ifndef LOWMEMORYMODE
|
||||||
// TODO: remove this when the DB is prepared for the z-levels getting reordered
|
// TODO: remove this when the DB is prepared for the z-levels getting reordered
|
||||||
while (world.maxz < (5 - 1) && space_levels_so_far < ZLEVEL_SPACE_RUIN_COUNT)
|
while (world.maxz < (5 - 1) && space_levels_so_far < config.space_ruin_levels)
|
||||||
++space_levels_so_far
|
++space_levels_so_far
|
||||||
add_new_zlevel("Empty Area [space_levels_so_far]", ZTRAITS_SPACE)
|
add_new_zlevel("Empty Area [space_levels_so_far]", ZTRAITS_SPACE)
|
||||||
|
|
||||||
|
|||||||
@@ -18,6 +18,8 @@
|
|||||||
var/map_file = "BoxStation.dmm"
|
var/map_file = "BoxStation.dmm"
|
||||||
|
|
||||||
var/traits = null
|
var/traits = null
|
||||||
|
var/space_ruin_levels = 7
|
||||||
|
var/space_empty_levels = 1
|
||||||
|
|
||||||
var/minetype = "lavaland"
|
var/minetype = "lavaland"
|
||||||
|
|
||||||
@@ -106,6 +108,20 @@
|
|||||||
log_world("map_config traits is not a list!")
|
log_world("map_config traits is not a list!")
|
||||||
return
|
return
|
||||||
|
|
||||||
|
var/temp = json["space_ruin_levels"]
|
||||||
|
if (isnum(temp))
|
||||||
|
space_ruin_levels = temp
|
||||||
|
else if (!isnull(temp))
|
||||||
|
log_world("map_config space_ruin_levels is not a number!")
|
||||||
|
return
|
||||||
|
|
||||||
|
temp = json["space_empty_levels"]
|
||||||
|
if (isnum(temp))
|
||||||
|
space_empty_levels = temp
|
||||||
|
else if (!isnull(temp))
|
||||||
|
log_world("map_config space_empty_levels is not a number!")
|
||||||
|
return
|
||||||
|
|
||||||
if ("minetype" in json)
|
if ("minetype" in json)
|
||||||
minetype = json["minetype"]
|
minetype = json["minetype"]
|
||||||
|
|
||||||
|
|||||||
@@ -9,6 +9,12 @@
|
|||||||
earliest_start = 30 MINUTES
|
earliest_start = 30 MINUTES
|
||||||
gamemode_blacklist = list("nuclear")
|
gamemode_blacklist = list("nuclear")
|
||||||
|
|
||||||
|
/datum/round_event_control/pirates/preRunEvent()
|
||||||
|
if (!SSmapping.empty_space)
|
||||||
|
return EVENT_CANT_RUN
|
||||||
|
|
||||||
|
return ..()
|
||||||
|
|
||||||
/datum/round_event/pirates
|
/datum/round_event/pirates
|
||||||
startWhen = 60 //2 minutes to answer
|
startWhen = 60 //2 minutes to answer
|
||||||
var/datum/comm_message/threat
|
var/datum/comm_message/threat
|
||||||
|
|||||||
Reference in New Issue
Block a user