diff --git a/code/controllers/subsystem/mapping.dm b/code/controllers/subsystem/mapping.dm index b1f7e5880bf..a52acfbebe3 100644 --- a/code/controllers/subsystem/mapping.dm +++ b/code/controllers/subsystem/mapping.dm @@ -145,7 +145,6 @@ SUBSYSTEM_DEF(mapping) setup_map_transitions() generate_station_area_list() initialize_reserved_level(transit.z_value) - generate_z_level_linkages() calculate_default_z_level_gravities() return SS_INIT_SUCCESS diff --git a/code/modules/mapping/space_management/traits.dm b/code/modules/mapping/space_management/traits.dm index 229bc4d475d..b68e3f77b8a 100644 --- a/code/modules/mapping/space_management/traits.dm +++ b/code/modules/mapping/space_management/traits.dm @@ -51,7 +51,7 @@ /// Attempt to get the turf below the provided one according to Z traits /datum/controller/subsystem/mapping/proc/get_turf_below(turf/T) - if (!T || !initialized) + if (!T || !length(multiz_levels)) return var/offset = multiz_levels[T.z]["[DOWN]"] if (!offset) @@ -60,7 +60,7 @@ /// Attempt to get the turf above the provided one according to Z traits /datum/controller/subsystem/mapping/proc/get_turf_above(turf/T) - if (!T || !initialized) + if (!T || !length(multiz_levels)) return var/offset = multiz_levels[T.z]["[UP]"] diff --git a/code/modules/mapping/space_management/zlevel_manager.dm b/code/modules/mapping/space_management/zlevel_manager.dm index 75801d962db..3458ae8462f 100644 --- a/code/modules/mapping/space_management/zlevel_manager.dm +++ b/code/modules/mapping/space_management/zlevel_manager.dm @@ -17,6 +17,7 @@ var/list/features = default_map_traits[I] var/datum/space_level/S = new(I, features[DL_NAME], features[DL_TRAITS]) manage_z_level(S) + generate_z_level_linkages() // Default Zs don't use add_new_zlevel() so they don't automatically generate z-linkages. /datum/controller/subsystem/mapping/proc/add_new_zlevel(name, traits = list(), z_type = /datum/space_level) UNTIL(!adding_new_zlevel)