diff --git a/code/__defines/planets.dm b/code/__defines/planets.dm index da67d42ea2..3579cc804d 100644 --- a/code/__defines/planets.dm +++ b/code/__defines/planets.dm @@ -11,6 +11,7 @@ #define WEATHER_BLOOD_MOON "blood moon" // For admin fun or cult later on. #define WEATHER_EMBERFALL "emberfall" // More adminbuse, from TG. Harmless. #define WEATHER_ASH_STORM "ash storm" // Ripped from TG, like the above. Less harmless. +#define WEATHER_ASH_STORM_SAFE "light ash storm" //Safe version of the ash storm. Dimmer. #define WEATHER_FALLOUT "fallout" // Modified emberfall, actually harmful. Admin only. #define MOON_PHASE_NEW_MOON "new moon" diff --git a/code/modules/planet/virgo3b_vr.dm b/code/modules/planet/virgo3b_vr.dm index 9e76fd1eda..b3e6d136fb 100644 --- a/code/modules/planet/virgo3b_vr.dm +++ b/code/modules/planet/virgo3b_vr.dm @@ -99,18 +99,19 @@ var/datum/planet/virgo3b/planet_virgo3b = null /datum/weather_holder/virgo3b temperature = T0C allowed_weather_types = list( - WEATHER_CLEAR = new /datum/weather/virgo3b/clear(), - WEATHER_OVERCAST = new /datum/weather/virgo3b/overcast(), - WEATHER_LIGHT_SNOW = new /datum/weather/virgo3b/light_snow(), - WEATHER_SNOW = new /datum/weather/virgo3b/snow(), - WEATHER_BLIZZARD = new /datum/weather/virgo3b/blizzard(), - WEATHER_RAIN = new /datum/weather/virgo3b/rain(), - WEATHER_STORM = new /datum/weather/virgo3b/storm(), - WEATHER_HAIL = new /datum/weather/virgo3b/hail(), - WEATHER_BLOOD_MOON = new /datum/weather/virgo3b/blood_moon(), - WEATHER_EMBERFALL = new /datum/weather/virgo3b/emberfall(), - WEATHER_ASH_STORM = new /datum/weather/virgo3b/ash_storm(), - WEATHER_FALLOUT = new /datum/weather/virgo3b/fallout() + WEATHER_CLEAR = new /datum/weather/virgo3b/clear(), + WEATHER_OVERCAST = new /datum/weather/virgo3b/overcast(), + WEATHER_LIGHT_SNOW = new /datum/weather/virgo3b/light_snow(), + WEATHER_SNOW = new /datum/weather/virgo3b/snow(), + WEATHER_BLIZZARD = new /datum/weather/virgo3b/blizzard(), + WEATHER_RAIN = new /datum/weather/virgo3b/rain(), + WEATHER_STORM = new /datum/weather/virgo3b/storm(), + WEATHER_HAIL = new /datum/weather/virgo3b/hail(), + WEATHER_BLOOD_MOON = new /datum/weather/virgo3b/blood_moon(), + WEATHER_EMBERFALL = new /datum/weather/virgo3b/emberfall(), + WEATHER_ASH_STORM = new /datum/weather/virgo3b/ash_storm(), + WEATHER_ASH_STORM_SAFE = new /datum/weather/virgo3b/ash_storm_safe(), + WEATHER_FALLOUT = new /datum/weather/virgo3b/fallout() ) roundstart_weather_chances = list( WEATHER_CLEAR = 30, @@ -479,6 +480,27 @@ var/datum/planet/virgo3b/planet_virgo3b = null L.inflict_heat_damage(rand(1, 3)) +/datum/weather/virgo3b/ash_storm_safe + name = "light ash storm" + icon_state = "ashfall_moderate" + light_modifier = 0.1 + light_color = "#FF0000" + temp_high = 323.15 // 50c + temp_low = 313.15 // 40c + wind_high = 6 + wind_low = 3 + flight_failure_modifier = 50 + transition_chances = list( + WEATHER_ASH_STORM_SAFE = 100 + ) + observed_message = "All that can be seen is black smoldering ash." + transition_messages = list( + "Smoldering clouds of scorching ash billow down around you!" + ) + // Lets recycle. + outdoor_sounds_type = /datum/looping_sound/weather/outside_blizzard + indoor_sounds_type = /datum/looping_sound/weather/inside_blizzard + // Totally radical. /datum/weather/virgo3b/fallout diff --git a/code/modules/planet/virgo3c_vr.dm b/code/modules/planet/virgo3c_vr.dm index 45c64daee2..ea4618aa9e 100644 --- a/code/modules/planet/virgo3c_vr.dm +++ b/code/modules/planet/virgo3c_vr.dm @@ -119,18 +119,19 @@ var/datum/planet/virgo3c/planet_virgo3c = null /datum/weather_holder/virgo3c temperature = T0C allowed_weather_types = list( - WEATHER_CLEAR = new /datum/weather/virgo3c/clear(), - WEATHER_OVERCAST = new /datum/weather/virgo3c/overcast(), - WEATHER_LIGHT_SNOW = new /datum/weather/virgo3c/light_snow(), - WEATHER_SNOW = new /datum/weather/virgo3c/snow(), - WEATHER_BLIZZARD = new /datum/weather/virgo3c/blizzard(), - WEATHER_RAIN = new /datum/weather/virgo3c/rain(), - WEATHER_STORM = new /datum/weather/virgo3c/storm(), - WEATHER_HAIL = new /datum/weather/virgo3c/hail(), - WEATHER_BLOOD_MOON = new /datum/weather/virgo3c/blood_moon(), - WEATHER_EMBERFALL = new /datum/weather/virgo3c/emberfall(), - WEATHER_ASH_STORM = new /datum/weather/virgo3c/ash_storm(), - WEATHER_FALLOUT = new /datum/weather/virgo3c/fallout() + WEATHER_CLEAR = new /datum/weather/virgo3c/clear(), + WEATHER_OVERCAST = new /datum/weather/virgo3c/overcast(), + WEATHER_LIGHT_SNOW = new /datum/weather/virgo3c/light_snow(), + WEATHER_SNOW = new /datum/weather/virgo3c/snow(), + WEATHER_BLIZZARD = new /datum/weather/virgo3c/blizzard(), + WEATHER_RAIN = new /datum/weather/virgo3c/rain(), + WEATHER_STORM = new /datum/weather/virgo3c/storm(), + WEATHER_HAIL = new /datum/weather/virgo3c/hail(), + WEATHER_BLOOD_MOON = new /datum/weather/virgo3c/blood_moon(), + WEATHER_EMBERFALL = new /datum/weather/virgo3c/emberfall(), + WEATHER_ASH_STORM = new /datum/weather/virgo3c/ash_storm(), + WEATHER_ASH_STORM_SAFE = new /datum/weather/virgo3c/ash_storm_safe(), + WEATHER_FALLOUT = new /datum/weather/virgo3c/fallout() ) roundstart_weather_chances = list( WEATHER_CLEAR = 50, @@ -475,6 +476,30 @@ var/datum/planet/virgo3c/planet_virgo3c = null L.inflict_heat_damage(1) to_chat(L, "Smoldering ash singes you!") + + +//A non-lethal variant of the ash_storm. Stays on indefinitely. +/datum/weather/virgo3c/ash_storm_safe + name = "light ash storm" + icon_state = "ashfall_moderate" + light_modifier = 0.1 + light_color = "#FF0000" + temp_high = 313.15 // 40c + temp_low = 303.15 // 30c + wind_high = 6 + wind_low = 3 + flight_failure_modifier = 50 + transition_chances = list( + WEATHER_ASH_STORM_SAFE = 100 + ) + observed_message = "All that can be seen is black smoldering ash." + transition_messages = list( + "Smoldering clouds of scorching ash billow down around you!" + ) + // Lets recycle. + outdoor_sounds_type = /datum/looping_sound/weather/outside_blizzard + indoor_sounds_type = /datum/looping_sound/weather/inside_blizzard + // Totally radical. /datum/weather/virgo3c/fallout name = "fallout" diff --git a/code/modules/planet/virgo4_vr.dm b/code/modules/planet/virgo4_vr.dm index f4e2118e80..9cb88591ad 100644 --- a/code/modules/planet/virgo4_vr.dm +++ b/code/modules/planet/virgo4_vr.dm @@ -98,18 +98,19 @@ var/datum/planet/virgo4/planet_virgo4 = null /datum/weather_holder/virgo4 temperature = T0C allowed_weather_types = list( - WEATHER_CLEAR = new /datum/weather/virgo4/clear(), - WEATHER_OVERCAST = new /datum/weather/virgo4/overcast(), - WEATHER_LIGHT_SNOW = new /datum/weather/virgo4/light_snow(), - WEATHER_SNOW = new /datum/weather/virgo4/snow(), - WEATHER_BLIZZARD = new /datum/weather/virgo4/blizzard(), - WEATHER_RAIN = new /datum/weather/virgo4/rain(), - WEATHER_STORM = new /datum/weather/virgo4/storm(), - WEATHER_HAIL = new /datum/weather/virgo4/hail(), - WEATHER_BLOOD_MOON = new /datum/weather/virgo4/blood_moon(), - WEATHER_EMBERFALL = new /datum/weather/virgo4/emberfall(), - WEATHER_ASH_STORM = new /datum/weather/virgo4/ash_storm(), - WEATHER_FALLOUT = new /datum/weather/virgo4/fallout() + WEATHER_CLEAR = new /datum/weather/virgo4/clear(), + WEATHER_OVERCAST = new /datum/weather/virgo4/overcast(), + WEATHER_LIGHT_SNOW = new /datum/weather/virgo4/light_snow(), + WEATHER_SNOW = new /datum/weather/virgo4/snow(), + WEATHER_BLIZZARD = new /datum/weather/virgo4/blizzard(), + WEATHER_RAIN = new /datum/weather/virgo4/rain(), + WEATHER_STORM = new /datum/weather/virgo4/storm(), + WEATHER_HAIL = new /datum/weather/virgo4/hail(), + WEATHER_BLOOD_MOON = new /datum/weather/virgo4/blood_moon(), + WEATHER_EMBERFALL = new /datum/weather/virgo4/emberfall(), + WEATHER_ASH_STORM = new /datum/weather/virgo4/ash_storm(), + WEATHER_ASH_STORM_SAFE = new /datum/weather/virgo4/ash_storm_safe(), + WEATHER_FALLOUT = new /datum/weather/virgo4/fallout() ) roundstart_weather_chances = list( WEATHER_CLEAR = 50, @@ -452,6 +453,28 @@ var/datum/planet/virgo4/planet_virgo4 = null L.inflict_heat_damage(rand(1, 3)) +//A non-lethal variant of the ash_storm. Stays on indefinitely. +/datum/weather/virgo4/ash_storm_safe + name = "light ash storm" + icon_state = "ashfall_moderate" + light_modifier = 0.1 + light_color = "#FF0000" + temp_high = 323.15 // 50c + temp_low = 313.15 // 40c + wind_high = 6 + wind_low = 3 + flight_failure_modifier = 50 + transition_chances = list( + WEATHER_ASH_STORM_SAFE = 100 + ) + observed_message = "All that can be seen is black smoldering ash." + transition_messages = list( + "Smoldering clouds of scorching ash billow down around you!" + ) + // Lets recycle. + outdoor_sounds_type = /datum/looping_sound/weather/outside_blizzard + indoor_sounds_type = /datum/looping_sound/weather/inside_blizzard + // Totally radical. /datum/weather/virgo4/fallout diff --git a/icons/effects/weather.dmi b/icons/effects/weather.dmi index 355288fc32..94c1fed992 100644 Binary files a/icons/effects/weather.dmi and b/icons/effects/weather.dmi differ