From 7c7141e1cbe99d831c0f700abc2ff71c6af7d933 Mon Sep 17 00:00:00 2001 From: RadiantFlash7 Date: Sun, 5 Jan 2020 01:43:50 -0500 Subject: [PATCH] fixes da freezer stuff. Sill got rad issues on compile. Crap. --- maps/yw/cryogaia_things.dm | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/maps/yw/cryogaia_things.dm b/maps/yw/cryogaia_things.dm index 5ddb61b44c..0f63e6f674 100644 --- a/maps/yw/cryogaia_things.dm +++ b/maps/yw/cryogaia_things.dm @@ -315,6 +315,7 @@ var/global/list/latejoin_tram = list() var/frozen = 0 var/freezing = 0 //see process(). var/deiceTools[0] + var/nextWeatherCheck /obj/machinery/door/airlock/glass_external/freezable/New() //Associate objects with the number of seconds it would take to de-ice a door. @@ -391,8 +392,6 @@ var/global/list/latejoin_tram = list() return /obj/machinery/door/airlock/glass_external/freezable/proc/handleFreezeUnfreeze() - freezing = 1 //don't do the thing i'm already doing. - var/random = rand(2,7) for(var/datum/planet/borealis2/P in SSplanets.planets) if(istype(P.weather_holder.current_weather, /datum/weather/borealis2/blizzard)) @@ -402,14 +401,13 @@ var/global/list/latejoin_tram = list() if(frozen && prob(50)) unFreeze() - sleep((random + 13) SECONDS) - freezing = 0 - return - /obj/machinery/door/airlock/glass_external/freezable/process() - if(!freezing) //don't do the thing if i'm already doing it. - spawn(0) - handleFreezeUnfreeze() + if(world.time >= nextWeatherCheck && !freezing) //don't do the thing if i'm already doing it. + freezing = 1 + var/random = rand(2,7) + nextWeatherCheck = (world.time + ((random + 13) SECONDS)) + handleFreezeUnfreeze() + freezing = 0 ..() /obj/machinery/door/airlock/glass_external/freezable/examine(mob/user)