safety
This commit is contained in:
@@ -10,8 +10,28 @@
|
||||
|
||||
/datum/round_event/cat_surgeon/start()
|
||||
var/list/spawn_locs = list()
|
||||
var/list/unsafe_spawn_locs = list()
|
||||
for(var/X in GLOB.xeno_spawn)
|
||||
spawn_locs += X
|
||||
if(!isfloorturf(X))
|
||||
unsafe_spawn_locs += X
|
||||
continue
|
||||
var/turf/open/floor/F = X
|
||||
var/datum/gas_mixture/A = F.air
|
||||
var/oxy_moles = A.get_moles(GAS_O2)
|
||||
if((oxy_moles < 16 || oxy_moles > 50) || A.get_moles(GAS_PLASMA) || A.get_moles(GAS_CO2) >= 10)
|
||||
unsafe_spawn_locs += F
|
||||
continue
|
||||
if((A.return_temperature() <= 270) || (A.return_temperature() >= 360))
|
||||
unsafe_spawn_locs += F
|
||||
continue
|
||||
var/pressure = A.return_pressure()
|
||||
if((pressure <= 20) || (pressure >= 550))
|
||||
unsafe_spawn_locs += F
|
||||
continue
|
||||
spawn_locs += F
|
||||
|
||||
if(!spawn_locs.len)
|
||||
spawn_locs += unsafe_spawn_locs
|
||||
|
||||
if(!spawn_locs.len)
|
||||
message_admins("No valid spawn locations found, aborting...")
|
||||
|
||||
Reference in New Issue
Block a user