From 173aec2037343b2d09fcee85b3ba7742fbfb1533 Mon Sep 17 00:00:00 2001 From: Heroman Date: Sat, 12 Feb 2022 14:57:34 +1000 Subject: [PATCH] Makes holes on Z5 of tether generate space instead of open space --- code/__defines/map.dm | 1 + code/game/turfs/turf_changing.dm | 2 +- maps/tether/tether_defines.dm | 1 + maps/~map_system/maps.dm | 4 ++++ 4 files changed, 7 insertions(+), 1 deletion(-) diff --git a/code/__defines/map.dm b/code/__defines/map.dm index 9bb14692125..760110b5343 100644 --- a/code/__defines/map.dm +++ b/code/__defines/map.dm @@ -9,6 +9,7 @@ #define MAP_LEVEL_XENOARCH_EXEMPT 0x080 // Z-levels exempt from xenoarch digsite generation. #define MAP_LEVEL_PERSIST 0x100 // Z-levels where SSpersistence should persist between rounds #define MAP_LEVEL_MAPPABLE 0x200 // Z-levels where mapping units will work fully +#define MAP_LEVEL_BELOW_BLOCKED 0x400 // Z-levels in multiz with level below not meant to be 'normally' accessible // Misc map defines. #define SUBMAP_MAP_EDGE_PAD 8 // Automatically created submaps are forbidden from being this close to the main map's edge. //VOREStation Edit diff --git a/code/game/turfs/turf_changing.dm b/code/game/turfs/turf_changing.dm index 492f3ef65b8..f530c635950 100644 --- a/code/game/turfs/turf_changing.dm +++ b/code/game/turfs/turf_changing.dm @@ -28,7 +28,7 @@ if(N == /turf/space) var/turf/below = GetBelow(src) - if(istype(below) && (air_master.has_valid_zone(below) || air_master.has_valid_zone(src)) && (!istype(below, /turf/unsimulated/wall) && !istype(below, /turf/simulated/sky))) // VOREStation Edit: Weird open space + if(istype(below) && (air_master.has_valid_zone(below) || air_master.has_valid_zone(src)) && (!src.z in using_map.below_blocked_levels) && (!istype(below, /turf/unsimulated/wall) && !istype(below, /turf/simulated/sky))) // VOREStation Edit: Weird open space N = /turf/simulated/open var/obj/fire/old_fire = fire diff --git a/maps/tether/tether_defines.dm b/maps/tether/tether_defines.dm index 369b95a774e..ef8cc70e64c 100644 --- a/maps/tether/tether_defines.dm +++ b/maps/tether/tether_defines.dm @@ -363,6 +363,7 @@ name = "Asteroid 1" base_turf = /turf/space transit_chance = 33 + flags = MAP_LEVEL_STATION|MAP_LEVEL_CONTACT|MAP_LEVEL_PLAYER|MAP_LEVEL_CONSOLES|MAP_LEVEL_XENOARCH_EXEMPT|MAP_LEVEL_PERSIST|MAP_LEVEL_BELOW_BLOCKED holomap_offset_x = TETHER_HOLOMAP_MARGIN_X + TETHER_HOLOMAP_CENTER_GUTTER + TETHER_MAP_SIZE holomap_offset_y = TETHER_HOLOMAP_MARGIN_Y + TETHER_MAP_SIZE diff --git a/maps/~map_system/maps.dm b/maps/~map_system/maps.dm index 65b96548a29..757a49b1be8 100644 --- a/maps/~map_system/maps.dm +++ b/maps/~map_system/maps.dm @@ -38,6 +38,7 @@ var/list/all_maps = list() var/static/list/hidden_levels = list() // Z-levels who's contents are hidden, but not forbidden (gateways) var/static/list/empty_levels = list() // Empty Z-levels that may be used for various things var/static/list/mappable_levels = list()// List of levels where mapping or other similar devices might work fully + var/static/list/below_blocked_levels = list()// List of levels where mapping or other similar devices might work fully // End Static Lists // Z-levels available to various consoles, such as the crew monitor. Defaults to station_levels if unset. @@ -312,6 +313,9 @@ var/list/all_maps = list() if(flags & MAP_LEVEL_CONSOLES) if (!map.map_levels) map.map_levels = list() map.map_levels += z + if(flags & MAP_LEVEL_BELOW_BLOCKED) + if (!map.below_blocked_levels) map.below_blocked_levels = list() + map.below_blocked_levels += z if(base_turf) map.base_turf_by_z["[z]"] = base_turf if(transit_chance)