Allows restriction of Z-levels for xenoarch spawning

This commit is contained in:
Heroman3003
2019-04-11 09:55:06 +10:00
parent b47e60a86e
commit 95b2c63b85
6 changed files with 17 additions and 11 deletions

1
code/__defines/map_vr.dm Normal file
View File

@@ -0,0 +1 @@
#define MAP_LEVEL_XENOARCH_EXEMPT 0x080 // Z-levels exempt from xenoarch digsite generation.

View File

@@ -31,7 +31,7 @@ SUBSYSTEM_DEF(xenoarch)
/datum/controller/subsystem/xenoarch/proc/SetupXenoarch() /datum/controller/subsystem/xenoarch/proc/SetupXenoarch()
for(var/turf/simulated/mineral/M in turfs) for(var/turf/simulated/mineral/M in turfs)
if(!M.density) if(!M.density || M.z in using_map.xenoarch_exempt_levels) //VOREStation Edit: exclude some Z-levels from xenoarch spawns
continue continue
if(isnull(M.geologic_data)) if(isnull(M.geologic_data))

View File

@@ -175,14 +175,14 @@
// We have a bunch of stuff common to the station z levels // We have a bunch of stuff common to the station z levels
/datum/map_z_level/tether/station /datum/map_z_level/tether/station
flags = MAP_LEVEL_STATION|MAP_LEVEL_CONTACT|MAP_LEVEL_PLAYER|MAP_LEVEL_CONSOLES flags = MAP_LEVEL_STATION|MAP_LEVEL_CONTACT|MAP_LEVEL_PLAYER|MAP_LEVEL_CONSOLES|MAP_LEVEL_XENOARCH_EXEMPT
holomap_legend_x = 220 holomap_legend_x = 220
holomap_legend_y = 160 holomap_legend_y = 160
/datum/map_z_level/tether/station/surface_low /datum/map_z_level/tether/station/surface_low
z = Z_LEVEL_SURFACE_LOW z = Z_LEVEL_SURFACE_LOW
name = "Surface 1" name = "Surface 1"
flags = MAP_LEVEL_STATION|MAP_LEVEL_CONTACT|MAP_LEVEL_PLAYER|MAP_LEVEL_CONSOLES|MAP_LEVEL_SEALED flags = MAP_LEVEL_STATION|MAP_LEVEL_CONTACT|MAP_LEVEL_PLAYER|MAP_LEVEL_CONSOLES|MAP_LEVEL_SEALED|MAP_LEVEL_XENOARCH_EXEMPT
base_turf = /turf/simulated/floor/outdoors/rocks/virgo3b base_turf = /turf/simulated/floor/outdoors/rocks/virgo3b
holomap_offset_x = TETHER_HOLOMAP_MARGIN_X holomap_offset_x = TETHER_HOLOMAP_MARGIN_X
holomap_offset_y = TETHER_HOLOMAP_MARGIN_Y + TETHER_MAP_SIZE*0 holomap_offset_y = TETHER_HOLOMAP_MARGIN_Y + TETHER_MAP_SIZE*0
@@ -190,7 +190,7 @@
/datum/map_z_level/tether/station/surface_mid /datum/map_z_level/tether/station/surface_mid
z = Z_LEVEL_SURFACE_MID z = Z_LEVEL_SURFACE_MID
name = "Surface 2" name = "Surface 2"
flags = MAP_LEVEL_STATION|MAP_LEVEL_CONTACT|MAP_LEVEL_PLAYER|MAP_LEVEL_CONSOLES|MAP_LEVEL_SEALED flags = MAP_LEVEL_STATION|MAP_LEVEL_CONTACT|MAP_LEVEL_PLAYER|MAP_LEVEL_CONSOLES|MAP_LEVEL_SEALED|MAP_LEVEL_XENOARCH_EXEMPT
base_turf = /turf/simulated/open base_turf = /turf/simulated/open
holomap_offset_x = TETHER_HOLOMAP_MARGIN_X holomap_offset_x = TETHER_HOLOMAP_MARGIN_X
holomap_offset_y = TETHER_HOLOMAP_MARGIN_Y + TETHER_MAP_SIZE*1 holomap_offset_y = TETHER_HOLOMAP_MARGIN_Y + TETHER_MAP_SIZE*1
@@ -198,7 +198,7 @@
/datum/map_z_level/tether/station/surface_high /datum/map_z_level/tether/station/surface_high
z = Z_LEVEL_SURFACE_HIGH z = Z_LEVEL_SURFACE_HIGH
name = "Surface 3" name = "Surface 3"
flags = MAP_LEVEL_STATION|MAP_LEVEL_CONTACT|MAP_LEVEL_PLAYER|MAP_LEVEL_CONSOLES|MAP_LEVEL_SEALED flags = MAP_LEVEL_STATION|MAP_LEVEL_CONTACT|MAP_LEVEL_PLAYER|MAP_LEVEL_CONSOLES|MAP_LEVEL_SEALED|MAP_LEVEL_XENOARCH_EXEMPT
base_turf = /turf/simulated/open base_turf = /turf/simulated/open
holomap_offset_x = TETHER_HOLOMAP_MARGIN_X holomap_offset_x = TETHER_HOLOMAP_MARGIN_X
holomap_offset_y = TETHER_HOLOMAP_MARGIN_Y + TETHER_MAP_SIZE*2 holomap_offset_y = TETHER_HOLOMAP_MARGIN_Y + TETHER_MAP_SIZE*2
@@ -206,14 +206,14 @@
/datum/map_z_level/tether/transit /datum/map_z_level/tether/transit
z = Z_LEVEL_TRANSIT z = Z_LEVEL_TRANSIT
name = "Transit" name = "Transit"
flags = MAP_LEVEL_SEALED|MAP_LEVEL_PLAYER|MAP_LEVEL_CONTACT flags = MAP_LEVEL_SEALED|MAP_LEVEL_PLAYER|MAP_LEVEL_CONTACT|MAP_LEVEL_XENOARCH_EXEMPT
/datum/map_z_level/tether/station/space_low /datum/map_z_level/tether/station/space_low
z = Z_LEVEL_SPACE_LOW z = Z_LEVEL_SPACE_LOW
name = "Asteroid 1" name = "Asteroid 1"
base_turf = /turf/space base_turf = /turf/space
transit_chance = 33 transit_chance = 33
holomap_offset_x = HOLOMAP_ICON_SIZE - TETHER_HOLOMAP_MARGIN_X - TETHER_MAP_SIZE holomap_offset_x = HOLOMAP_ICON_SIZE - TETHER_HOLOMAP_MARGIN_X - TETHER_MAP_SIZE|MAP_LEVEL_XENOARCH_EXEMPT
holomap_offset_y = TETHER_HOLOMAP_MARGIN_Y + TETHER_MAP_SIZE*0 holomap_offset_y = TETHER_HOLOMAP_MARGIN_Y + TETHER_MAP_SIZE*0
/datum/map_z_level/tether/station/space_mid /datum/map_z_level/tether/station/space_mid
@@ -221,7 +221,7 @@
name = "Asteroid 2" name = "Asteroid 2"
base_turf = /turf/simulated/open base_turf = /turf/simulated/open
transit_chance = 33 transit_chance = 33
holomap_offset_x = HOLOMAP_ICON_SIZE - TETHER_HOLOMAP_MARGIN_X - TETHER_MAP_SIZE holomap_offset_x = HOLOMAP_ICON_SIZE - TETHER_HOLOMAP_MARGIN_X - TETHER_MAP_SIZE|MAP_LEVEL_XENOARCH_EXEMPT
holomap_offset_y = TETHER_HOLOMAP_MARGIN_Y + TETHER_MAP_SIZE*1 holomap_offset_y = TETHER_HOLOMAP_MARGIN_Y + TETHER_MAP_SIZE*1
/datum/map_z_level/tether/station/space_high /datum/map_z_level/tether/station/space_high
@@ -229,7 +229,7 @@
name = "Asteroid 3" name = "Asteroid 3"
base_turf = /turf/simulated/open base_turf = /turf/simulated/open
transit_chance = 33 transit_chance = 33
holomap_offset_x = HOLOMAP_ICON_SIZE - TETHER_HOLOMAP_MARGIN_X - TETHER_MAP_SIZE holomap_offset_x = HOLOMAP_ICON_SIZE - TETHER_HOLOMAP_MARGIN_X - TETHER_MAP_SIZE|MAP_LEVEL_XENOARCH_EXEMPT
holomap_offset_y = TETHER_HOLOMAP_MARGIN_Y + TETHER_MAP_SIZE*2 holomap_offset_y = TETHER_HOLOMAP_MARGIN_Y + TETHER_MAP_SIZE*2
/datum/map_z_level/tether/mine /datum/map_z_level/tether/mine
@@ -247,12 +247,12 @@
/datum/map_z_level/tether/colony /datum/map_z_level/tether/colony
z = Z_LEVEL_CENTCOM z = Z_LEVEL_CENTCOM
name = "Colony" name = "Colony"
flags = MAP_LEVEL_ADMIN|MAP_LEVEL_CONTACT flags = MAP_LEVEL_ADMIN|MAP_LEVEL_CONTACT|MAP_LEVEL_XENOARCH_EXEMPT
/datum/map_z_level/tether/misc /datum/map_z_level/tether/misc
z = Z_LEVEL_MISC z = Z_LEVEL_MISC
name = "Misc" name = "Misc"
flags = MAP_LEVEL_ADMIN flags = MAP_LEVEL_ADMIN|MAP_LEVEL_XENOARCH_EXEMPT
/* /*
/datum/map_z_level/tether/wilderness /datum/map_z_level/tether/wilderness

View File

@@ -185,6 +185,7 @@ var/list/all_maps = list()
if(flags & MAP_LEVEL_CONTACT) map.contact_levels += z if(flags & MAP_LEVEL_CONTACT) map.contact_levels += z
if(flags & MAP_LEVEL_PLAYER) map.player_levels += z if(flags & MAP_LEVEL_PLAYER) map.player_levels += z
if(flags & MAP_LEVEL_SEALED) map.sealed_levels += z if(flags & MAP_LEVEL_SEALED) map.sealed_levels += z
if(flags & MAP_LEVEL_XENOARCH_EXEMPT) map.xenoarch_exempt_levels += z //VOREStation Edit : excluse some z-levels from xenoarch spawns
if(flags & MAP_LEVEL_EMPTY) if(flags & MAP_LEVEL_EMPTY)
if(!map.empty_levels) map.empty_levels = list() if(!map.empty_levels) map.empty_levels = list()
map.empty_levels += z map.empty_levels += z

View File

@@ -0,0 +1,2 @@
/datum/map
var/list/xenoarch_exempt_levels = list() //Z-levels exempt from xenoarch finds and digsites spawning.

View File

@@ -50,6 +50,7 @@
#include "code\__defines\lighting.dm" #include "code\__defines\lighting.dm"
#include "code\__defines\machinery.dm" #include "code\__defines\machinery.dm"
#include "code\__defines\map.dm" #include "code\__defines\map.dm"
#include "code\__defines\map_vr.dm"
#include "code\__defines\math.dm" #include "code\__defines\math.dm"
#include "code\__defines\math_physics.dm" #include "code\__defines\math_physics.dm"
#include "code\__defines\MC.dm" #include "code\__defines\MC.dm"
@@ -3109,4 +3110,5 @@
#include "maps\submaps\surface_submaps\wilderness\wilderness_areas.dm" #include "maps\submaps\surface_submaps\wilderness\wilderness_areas.dm"
#include "maps\tether\tether.dm" #include "maps\tether\tether.dm"
#include "maps\~map_system\maps.dm" #include "maps\~map_system\maps.dm"
#include "maps\~map_system\maps_vr.dm"
// END_INCLUDE // END_INCLUDE