Merge pull request #4996 from Heroman3003/safety-first

Fixes xenoarch spawning on station levels
This commit is contained in:
Novacat
2019-04-11 15:56:14 -04:00
committed by GitHub
6 changed files with 14 additions and 8 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()
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
if(isnull(M.geologic_data))

View File

@@ -175,14 +175,14 @@
// We have a bunch of stuff common to the station z levels
/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_y = 160
/datum/map_z_level/tether/station/surface_low
z = Z_LEVEL_SURFACE_LOW
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
holomap_offset_x = TETHER_HOLOMAP_MARGIN_X
holomap_offset_y = TETHER_HOLOMAP_MARGIN_Y + TETHER_MAP_SIZE*0
@@ -190,7 +190,7 @@
/datum/map_z_level/tether/station/surface_mid
z = Z_LEVEL_SURFACE_MID
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
holomap_offset_x = TETHER_HOLOMAP_MARGIN_X
holomap_offset_y = TETHER_HOLOMAP_MARGIN_Y + TETHER_MAP_SIZE*1
@@ -198,7 +198,7 @@
/datum/map_z_level/tether/station/surface_high
z = Z_LEVEL_SURFACE_HIGH
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
holomap_offset_x = TETHER_HOLOMAP_MARGIN_X
holomap_offset_y = TETHER_HOLOMAP_MARGIN_Y + TETHER_MAP_SIZE*2
@@ -206,7 +206,7 @@
/datum/map_z_level/tether/transit
z = Z_LEVEL_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
z = Z_LEVEL_SPACE_LOW
@@ -247,12 +247,12 @@
/datum/map_z_level/tether/colony
z = Z_LEVEL_CENTCOM
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
z = Z_LEVEL_MISC
name = "Misc"
flags = MAP_LEVEL_ADMIN
flags = MAP_LEVEL_ADMIN|MAP_LEVEL_XENOARCH_EXEMPT
/*
/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_PLAYER) map.player_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(!map.empty_levels) map.empty_levels = list()
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\machinery.dm"
#include "code\__defines\map.dm"
#include "code\__defines\map_vr.dm"
#include "code\__defines\math.dm"
#include "code\__defines\math_physics.dm"
#include "code\__defines\MC.dm"
@@ -3108,4 +3109,5 @@
#include "maps\submaps\surface_submaps\wilderness\wilderness_areas.dm"
#include "maps\tether\tether.dm"
#include "maps\~map_system\maps.dm"
#include "maps\~map_system\maps_vr.dm"
// END_INCLUDE