From a6e3bf98e7b8aaafa4ca201cb1818a0da399c5e7 Mon Sep 17 00:00:00 2001 From: MistakeNot4892 Date: Sat, 18 Sep 2021 00:13:40 +1000 Subject: [PATCH] Merge pull request #8297 from Atermonera/overmap_candie_scheck Adds sanity check to overmap temp Z level can_die() --- code/modules/overmap/spacetravel.dm | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/code/modules/overmap/spacetravel.dm b/code/modules/overmap/spacetravel.dm index 02ab02b3a2..3dac19cf36 100644 --- a/code/modules/overmap/spacetravel.dm +++ b/code/modules/overmap/spacetravel.dm @@ -5,7 +5,8 @@ known = FALSE in_space = TRUE -/obj/effect/overmap/visitable/sector/temporary/New(var/nx, var/ny) +/obj/effect/overmap/visitable/sector/temporary/Initialize(var/nx, var/ny) + . = ..() loc = locate(nx, ny, global.using_map.overmap_z) x = nx y = ny @@ -20,16 +21,19 @@ testing("Temporary sector at [x],[y] was destroyed, returning empty zlevel [map_z[1]] to map datum.") return ..() -/obj/effect/overmap/visitable/sector/temporary/proc/can_die(var/mob/observer) - testing("Checking if sector at [map_z[1]] can die.") +/obj/effect/overmap/visitable/sector/temporary/proc/is_empty(var/mob/observer) + if(!LAZYLEN(map_z)) + log_and_message_admins("CANARY: [src] tried to check is_empty, but map_z is `[map_z || "null"]`") + return TRUE + testing("Checking if sector at [map_z[1]] has no players.") for(var/mob/M in global.player_list) if(M != observer && (M.z in map_z)) testing("There are people on it.") - return 0 - return 1 + return FALSE + return TRUE /obj/effect/overmap/visitable/sector/temporary/cleanup() - if(can_die()) + if(is_empty()) qdel(src) /proc/get_deepspace(x,y)