Merge pull request #5954 from CHOMPStation2/upstream-merge-14517

[MIRROR] [MIRROR] Adds fog as a weather. It's cold.
This commit is contained in:
Nadyr
2023-03-17 04:09:02 -04:00
committed by GitHub
2 changed files with 42 additions and 10 deletions

View File

@@ -8,6 +8,7 @@
#define WEATHER_HAIL "hail" #define WEATHER_HAIL "hail"
#define WEATHER_WINDY "windy" #define WEATHER_WINDY "windy"
#define WEATHER_HOT "hot" #define WEATHER_HOT "hot"
#define WEATHER_FOG "fog"
#define WEATHER_BLOOD_MOON "blood moon" // For admin fun or cult later on. #define WEATHER_BLOOD_MOON "blood moon" // For admin fun or cult later on.
#define WEATHER_EMBERFALL "emberfall" // More adminbuse, from TG. Harmless. #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 "ash storm" // Ripped from TG, like the above. Less harmless.

View File

@@ -118,6 +118,7 @@ var/datum/planet/sif/planet_sif = null
WEATHER_RAIN = new /datum/weather/sif/rain(), WEATHER_RAIN = new /datum/weather/sif/rain(),
WEATHER_STORM = new /datum/weather/sif/storm(), WEATHER_STORM = new /datum/weather/sif/storm(),
WEATHER_HAIL = new /datum/weather/sif/hail(), WEATHER_HAIL = new /datum/weather/sif/hail(),
WEATHER_FOG = new /datum/weather/sif/fog(),
WEATHER_BLOOD_MOON = new /datum/weather/sif/blood_moon(), WEATHER_BLOOD_MOON = new /datum/weather/sif/blood_moon(),
WEATHER_EMBERFALL = new /datum/weather/sif/emberfall(), WEATHER_EMBERFALL = new /datum/weather/sif/emberfall(),
WEATHER_ASH_STORM = new /datum/weather/sif/ash_storm(), WEATHER_ASH_STORM = new /datum/weather/sif/ash_storm(),
@@ -127,6 +128,7 @@ var/datum/planet/sif/planet_sif = null
WEATHER_CLEAR = 30, WEATHER_CLEAR = 30,
WEATHER_OVERCAST = 30, WEATHER_OVERCAST = 30,
WEATHER_LIGHT_SNOW = 20, WEATHER_LIGHT_SNOW = 20,
WEATHER_FOG = 20,
WEATHER_SNOW = 5, WEATHER_SNOW = 5,
WEATHER_BLIZZARD = 5, WEATHER_BLIZZARD = 5,
WEATHER_RAIN = 5, WEATHER_RAIN = 5,
@@ -142,8 +144,9 @@ var/datum/planet/sif/planet_sif = null
/datum/weather/sif/clear /datum/weather/sif/clear
name = "clear" name = "clear"
transition_chances = list( transition_chances = list(
WEATHER_CLEAR = 60, WEATHER_CLEAR = 55,
WEATHER_OVERCAST = 40 WEATHER_OVERCAST = 35,
WEATHER_FOG = 10
) )
transition_messages = list( transition_messages = list(
"The sky clears up.", "The sky clears up.",
@@ -163,6 +166,7 @@ var/datum/planet/sif/planet_sif = null
WEATHER_CLEAR = 25, WEATHER_CLEAR = 25,
WEATHER_OVERCAST = 50, WEATHER_OVERCAST = 50,
WEATHER_LIGHT_SNOW = 10, WEATHER_LIGHT_SNOW = 10,
WEATHER_FOG = 30,
WEATHER_SNOW = 5, WEATHER_SNOW = 5,
WEATHER_RAIN = 5, WEATHER_RAIN = 5,
WEATHER_HAIL = 5 WEATHER_HAIL = 5
@@ -184,9 +188,10 @@ var/datum/planet/sif/planet_sif = null
temp_low = 258.15 // -15c temp_low = 258.15 // -15c
light_modifier = 0.7 light_modifier = 0.7
transition_chances = list( transition_chances = list(
WEATHER_OVERCAST = 20, WEATHER_OVERCAST = 10,
WEATHER_LIGHT_SNOW = 50, WEATHER_LIGHT_SNOW = 40,
WEATHER_SNOW = 25, WEATHER_FOG = 30,
WEATHER_SNOW = 15,
WEATHER_HAIL = 5 WEATHER_HAIL = 5
) )
observed_message = "It is snowing lightly." observed_message = "It is snowing lightly."
@@ -278,9 +283,10 @@ var/datum/planet/sif/planet_sif = null
effect_message = "<span class='warning'>Rain falls on you.</span>" effect_message = "<span class='warning'>Rain falls on you.</span>"
transition_chances = list( transition_chances = list(
WEATHER_OVERCAST = 25, WEATHER_OVERCAST = 20,
WEATHER_LIGHT_SNOW = 10, WEATHER_LIGHT_SNOW = 5,
WEATHER_RAIN = 50, WEATHER_FOG = 20,
WEATHER_RAIN = 40,
WEATHER_STORM = 10, WEATHER_STORM = 10,
WEATHER_HAIL = 5 WEATHER_HAIL = 5
) )
@@ -341,7 +347,8 @@ var/datum/planet/sif/planet_sif = null
WEATHER_RAIN = 45, WEATHER_RAIN = 45,
WEATHER_STORM = 40, WEATHER_STORM = 40,
WEATHER_HAIL = 10, WEATHER_HAIL = 10,
WEATHER_OVERCAST = 5 WEATHER_FOG = 3,
WEATHER_OVERCAST = 2
) )
/datum/weather/sif/storm/process_effects() /datum/weather/sif/storm/process_effects()
@@ -437,6 +444,30 @@ var/datum/planet/sif/planet_sif = null
if(show_message) if(show_message)
to_chat(H, effect_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. // These never happen naturally, and are for adminbuse.