From 5086b5dd94bd21833fb9cc392e66c6c7e4ef7a2b Mon Sep 17 00:00:00 2001 From: zeskorion <49600480+zeskorion@users.noreply.github.com> Date: Thu, 9 Jan 2020 21:49:28 -0800 Subject: [PATCH] Update unsorted.dm --- code/__HELPERS/unsorted.dm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index 1f8db38f..7173aa73 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -1130,6 +1130,27 @@ B --><-- A /proc/get_random_station_turf() return safepick(get_area_turfs(pick(GLOB.the_station_areas))) + +/proc/get_safe_random_station_turf() + for (var/i in 1 to 5) + var/list/L = get_area_turfs(pick(GLOB.the_station_areas)) + var/turf/target + while (L.len && !target) + var/I = rand(1, L.len) + var/turf/T = L[I] + if(!T.density) + var/clear = TRUE + for(var/obj/O in T) + if(O.density) + clear = FALSE + break + if(clear) + target = T + if (!target) + L.Cut(I,I+1) + if (target) + return target + /proc/get_closest_atom(type, list, source) var/closest_atom