Refactors weather into a subsystem (#19003)

Weather has been refactored from a weather control machine on the lavaland z-level into a subsystem. All existing weather has been changed to accommodate this change, and their code has been optimized by using addtimer() instead of sleep().

The new subsystem also supports adding weather to any z-level; for instance, if you made a weather called /datum/weather/rain_storm and made it target z-level 3 with a 100% probability, the rain storm would occur as much as possible with 5-10 minute intermissions. These intermissions take into account the weather's duration.
This commit is contained in:
Xhuis
2016-07-03 21:55:36 -04:00
committed by oranges
parent 1aa7a312c1
commit 2ab3f554d9
11 changed files with 322 additions and 275 deletions
+1 -2
View File
@@ -427,8 +427,7 @@
L.fix()
if("floorlava")
var/datum/weather/floor_is_lava/storm = new /datum/weather/floor_is_lava
storm.weather_start_up()
SSweather.run_weather("the floor is lava")
if("virus")
if(!check_rights(R_FUN))