mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-20 03:25:49 +01:00
Lavaland weather types: Dying is Fun edition (#28600)
* ddsadsa ddsadsa * beginning * more progress * oops saved * radar workin now * bugfixing and tweaks * working on volcano * tweaking * ill figure this out later * testing still * MORE testing * gunna cry * PROGRESS!!! * volcano DONE * starting the acid rain * acid rain code complete * starting windstorm * more bugfixing... * its finished! need to bugtest * bugfixing * bugfixing * forgot prob values * spacing fix for linter * linter fix * undefining things * Update code/datums/weather/weather_types/lavaland_weather.dm Co-authored-by: warriorstar-orion <orion@snowfrost.garden> Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> * Update code/datums/weather/weather_types/lavaland_weather.dm Co-authored-by: warriorstar-orion <orion@snowfrost.garden> Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> * Update code/game/machinery/radar.dm Co-authored-by: warriorstar-orion <orion@snowfrost.garden> Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> * Update code/datums/weather/weather_types/lavaland_weather.dm Co-authored-by: warriorstar-orion <orion@snowfrost.garden> Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> * Update code/game/machinery/radar.dm Co-authored-by: warriorstar-orion <orion@snowfrost.garden> Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> * Update code/game/machinery/radar.dm Co-authored-by: warriorstar-orion <orion@snowfrost.garden> Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> * misc fixes/changes * updated the doppler tower * small tweaks * still trying to get pods to work * better support for sound transition to newly placed shelters * minor fixes * this didnt take oops * nudged the probabilities * deconflicting * Update code/datums/weather/weather_types/lavaland_weather.dm Co-authored-by: warriorstar-orion <orion@snowfrost.garden> Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> * Update code/game/machinery/radar.dm Co-authored-by: warriorstar-orion <orion@snowfrost.garden> Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> * Update code/game/machinery/radar.dm Co-authored-by: warriorstar-orion <orion@snowfrost.garden> Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> * Update code/game/machinery/radar.dm Co-authored-by: warriorstar-orion <orion@snowfrost.garden> Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> * applied requested fixes * master update * updates * this should be here * Apply suggestions from code review Co-authored-by: warriorstar-orion <orion@snowfrost.garden> Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> * requested fixes * sound tweaks * remove debug message * turned down ash storm sound * fix gulag weather and attempt to fix sound overlap * blackbox weather and title-case ash storms * change up probabilities and bump acid rain melt chance * another title case * starting on issues * revert some changes * tiny tweak * reworked acid rain a bit * small tweaks to sleepers * moderate again * revert * ups the rocks * bug fixes --------- Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> Co-authored-by: warriorstar-orion <orion@snowfrost.garden>
This commit is contained in:
@@ -10,6 +10,7 @@ SUBSYSTEM_DEF(weather)
|
||||
var/list/processing = list()
|
||||
var/list/eligible_traits = list()
|
||||
var/list/next_hit_by_zlevel = list() //Used by barometers to know when the next storm is coming
|
||||
var/list/next_weather_by_zlevel = list() // For the weather radar detection
|
||||
cpu_display = SS_CPUDISPLAY_LOW
|
||||
|
||||
/datum/controller/subsystem/weather/get_metrics()
|
||||
@@ -28,6 +29,8 @@ SUBSYSTEM_DEF(weather)
|
||||
var/mob/living/L = i
|
||||
if(W.can_weather_act(L))
|
||||
W.weather_act(L)
|
||||
if(W.area_act == TRUE)
|
||||
W.area_act()
|
||||
|
||||
// start random weather on relevant levels
|
||||
while(length(eligible_traits))
|
||||
@@ -39,6 +42,7 @@ SUBSYSTEM_DEF(weather)
|
||||
for(var/z in zlevels)
|
||||
addtimer(CALLBACK(src, PROC_REF(make_eligible), trait, possible_weathers), randTime + initial(W.weather_duration_upper), TIMER_UNIQUE) //Around 5-10 minutes between weathers
|
||||
next_hit_by_zlevel["[z]"] = world.time + randTime + initial(W.telegraph_duration)
|
||||
next_weather_by_zlevel["[z]"] = W
|
||||
run_weather(W, zlevels)
|
||||
|
||||
eligible_traits.len--
|
||||
@@ -68,17 +72,19 @@ SUBSYSTEM_DEF(weather)
|
||||
var/list/zlevels = levels_by_trait(weather_datum_type::target_trait)
|
||||
var/datum/weather/W = new weather_datum_type(zlevels)
|
||||
W.telegraph()
|
||||
SSblackbox.record_feedback("tally", "weather_event", 1, "[weather_datum_type]")
|
||||
|
||||
/datum/controller/subsystem/weather/proc/make_eligible(trait, list/possible_weathers)
|
||||
eligible_traits[trait] = possible_weathers
|
||||
for(var/zlevel in levels_by_trait(trait))
|
||||
next_hit_by_zlevel["[zlevel]"] = null
|
||||
next_weather_by_zlevel["[zlevel]"] = null
|
||||
|
||||
/datum/controller/subsystem/weather/proc/get_weather(z, area/active_area)
|
||||
var/datum/weather/A
|
||||
for(var/V in processing)
|
||||
var/datum/weather/W = V
|
||||
if((z in W.impacted_z_levels) && W.area_type == active_area)
|
||||
if((z in W.impacted_z_levels) && is_path_in_list(active_area, W.area_types))
|
||||
A = W
|
||||
break
|
||||
return A
|
||||
|
||||
Reference in New Issue
Block a user