[MIRROR] Multiz Rework: Human Suffering Edition (Contains PLANE CUBE) [MDB IGNORE] (#16472)

* Multiz Rework: Human Suffering Edition (Contains PLANE CUBE)

* skyrat changes

* bodyparts merge

* unres door floorlight fix

* Future upstream fix for blindness

* upcoming upstream airlock fix

* fix button emissive

* Fix FOV markings?

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
This commit is contained in:
SkyratBot
2022-10-02 23:30:09 -04:00
committed by GitHub
co-authored by LemonInTheDark tastyfish
parent ddf91791f1
commit 9bf006d189
298 changed files with 6165 additions and 1700 deletions
@@ -32,3 +32,20 @@
/turf/proc/below()
return get_step_multiz(src, DOWN)
/proc/get_lowest_turf(atom/ref)
var/turf/us = get_turf(ref)
var/next = SSmapping.get_turf_below(us)
while(next)
us = next
next = SSmapping.get_turf_below(us)
return us
// I wish this was lisp
/proc/get_highest_turf(atom/ref)
var/turf/us = get_turf(ref)
var/next = SSmapping.get_turf_above(us)
while(next)
us = next
next = SSmapping.get_turf_above(us)
return us
@@ -18,8 +18,5 @@
else // in case a single trait is passed in
SSmapping.z_trait_levels[new_traits] += list(new_z)
if(length(GLOB.default_lighting_underlays_by_z) < z_value)
GLOB.default_lighting_underlays_by_z.len = z_value
GLOB.default_lighting_underlays_by_z[z_value] = mutable_appearance(LIGHTING_ICON, "transparent", new_z, LIGHTING_PLANE, 255, RESET_COLOR | RESET_ALPHA | RESET_TRANSFORM)
set_linkage(new_traits[ZTRAIT_LINKAGE])
@@ -4,6 +4,8 @@
return
z_list = list()
z_level_to_plane_offset = list()
z_level_to_lowest_plane_offset = list()
var/list/default_map_traits = DEFAULT_MAP_TRAITS
if (default_map_traits.len != world.maxz)
@@ -14,7 +16,7 @@
for (var/I in 1 to default_map_traits.len)
var/list/features = default_map_traits[I]
var/datum/space_level/S = new(I, features[DL_NAME], features[DL_TRAITS])
z_list += S
manage_z_level(S)
/datum/controller/subsystem/mapping/proc/add_new_zlevel(name, traits = list(), z_type = /datum/space_level)
UNTIL(!adding_new_zlevel)
@@ -25,7 +27,7 @@
CHECK_TICK
// TODO: sleep here if the Z level needs to be cleared
var/datum/space_level/S = new z_type(new_z, name, traits)
z_list += S
manage_z_level(S)
generate_linkages_for_z_level(new_z)
calculate_z_level_gravity(new_z)
adding_new_zlevel = FALSE