Fix runtimes when events cannot find a valid event area (#26594)

* Fix runtimes when events cannot find a valid event area

* oops
This commit is contained in:
Luc
2024-09-03 09:13:49 -04:00
committed by GitHub
parent 6f1a90c59d
commit 00a0b8f004
3 changed files with 10 additions and 0 deletions

View File

@@ -39,6 +39,8 @@
var/list/remove_these_areas = safe_areas - allowed_areas
var/list/possible_areas = typecache_filter_list_reverse(SSmapping.existing_station_areas, remove_these_areas)
if(!length(possible_areas))
return null
return pick(possible_areas)
/proc/findUnrestrictedEventArea() //Does almost the same as findEventArea() but hits a few more areas including maintenance and the AI sat, and also returns a list of all the areas, instead of just one area

View File

@@ -18,6 +18,8 @@
impact_area = findEventArea()
/datum/event/tear/start()
if(isnull(impact_area))
log_debug("No valid event areas could be generated for dimensional tear.")
var/list/area_turfs = get_area_turfs(impact_area)
while(length(area_turfs))
var/turf/T = pick_n_take(area_turfs)
@@ -45,6 +47,9 @@
if(!target_area)
if(false_alarm)
target_area = findEventArea()
if(isnull(target_area))
log_debug("Tried to announce a false-alarm tear without a valid area!")
kill()
else
log_debug("Tried to announce a tear without a valid area!")
kill()