mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-24 05:30:05 +01:00
[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:
co-authored by
LemonInTheDark
tastyfish
parent
ddf91791f1
commit
9bf006d189
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user