diff --git a/code/__defines/planets.dm b/code/__defines/planets.dm index 0217a0ef1e..45ae92bfe1 100644 --- a/code/__defines/planets.dm +++ b/code/__defines/planets.dm @@ -8,6 +8,7 @@ #define WEATHER_HAIL "hail" #define WEATHER_WINDY "windy" #define WEATHER_HOT "hot" +#define WEATHER_FOG "fog" #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. @@ -28,4 +29,4 @@ #define PLANET_PROCESS_SUN 0x1 #define PLANET_PROCESS_TEMP 0x2 -#define PLANET_TIME_MODIFIER 1 // If you want planet time to go faster than realtime, increase this number. \ No newline at end of file +#define PLANET_TIME_MODIFIER 1 // If you want planet time to go faster than realtime, increase this number. diff --git a/code/modules/planet/sif.dm b/code/modules/planet/sif.dm index 499dc6f915..b145845569 100644 --- a/code/modules/planet/sif.dm +++ b/code/modules/planet/sif.dm @@ -118,6 +118,7 @@ var/datum/planet/sif/planet_sif = null WEATHER_RAIN = new /datum/weather/sif/rain(), WEATHER_STORM = new /datum/weather/sif/storm(), WEATHER_HAIL = new /datum/weather/sif/hail(), + WEATHER_FOG = new /datum/weather/sif/fog(), WEATHER_BLOOD_MOON = new /datum/weather/sif/blood_moon(), WEATHER_EMBERFALL = new /datum/weather/sif/emberfall(), WEATHER_ASH_STORM = new /datum/weather/sif/ash_storm(), @@ -127,6 +128,7 @@ var/datum/planet/sif/planet_sif = null WEATHER_CLEAR = 30, WEATHER_OVERCAST = 30, WEATHER_LIGHT_SNOW = 20, + WEATHER_FOG = 20, WEATHER_SNOW = 5, WEATHER_BLIZZARD = 5, WEATHER_RAIN = 5, @@ -142,8 +144,9 @@ var/datum/planet/sif/planet_sif = null /datum/weather/sif/clear name = "clear" transition_chances = list( - WEATHER_CLEAR = 60, - WEATHER_OVERCAST = 40 + WEATHER_CLEAR = 55, + WEATHER_OVERCAST = 35, + WEATHER_FOG = 10 ) transition_messages = list( "The sky clears up.", @@ -163,6 +166,7 @@ var/datum/planet/sif/planet_sif = null WEATHER_CLEAR = 25, WEATHER_OVERCAST = 50, WEATHER_LIGHT_SNOW = 10, + WEATHER_FOG = 30, WEATHER_SNOW = 5, WEATHER_RAIN = 5, WEATHER_HAIL = 5 @@ -184,9 +188,10 @@ var/datum/planet/sif/planet_sif = null temp_low = 258.15 // -15c light_modifier = 0.7 transition_chances = list( - WEATHER_OVERCAST = 20, - WEATHER_LIGHT_SNOW = 50, - WEATHER_SNOW = 25, + WEATHER_OVERCAST = 10, + WEATHER_LIGHT_SNOW = 40, + WEATHER_FOG = 30, + WEATHER_SNOW = 15, WEATHER_HAIL = 5 ) observed_message = "It is snowing lightly." @@ -278,9 +283,10 @@ var/datum/planet/sif/planet_sif = null effect_message = "Rain falls on you." transition_chances = list( - WEATHER_OVERCAST = 25, - WEATHER_LIGHT_SNOW = 10, - WEATHER_RAIN = 50, + WEATHER_OVERCAST = 20, + WEATHER_LIGHT_SNOW = 5, + WEATHER_FOG = 20, + WEATHER_RAIN = 40, WEATHER_STORM = 10, WEATHER_HAIL = 5 ) @@ -341,7 +347,8 @@ var/datum/planet/sif/planet_sif = null WEATHER_RAIN = 45, WEATHER_STORM = 40, WEATHER_HAIL = 10, - WEATHER_OVERCAST = 5 + WEATHER_FOG = 3, + WEATHER_OVERCAST = 2 ) /datum/weather/sif/storm/process_effects() @@ -437,6 +444,30 @@ var/datum/planet/sif/planet_sif = null if(show_message) to_chat(H, effect_message) +/datum/weather/sif/fog + name = "fog" + icon_state = "fog" + wind_high = 1 + wind_low = 0 + light_modifier = 0.7 + + temp_high = T0C // 0c + temp_low = 263.15 // -10c + + transition_chances = list( + WEATHER_FOG = 70, + WEATHER_OVERCAST = 15, + WEATHER_LIGHT_SNOW = 10, + WEATHER_RAIN = 5 + ) + observed_message = "A fogbank has rolled over the region." + transition_messages = list( + "Fog rolls in.", + "Visibility falls as the air becomes dense.", + "The clouds drift lower, as if to smother the forests." + ) + outdoor_sounds_type = /datum/looping_sound/weather/wind + indoor_sounds_type = /datum/looping_sound/weather/wind/indoors // These never happen naturally, and are for adminbuse.