diff --git a/code/datums/weather/weather_types/fog.dm b/code/datums/weather/weather_types/fog.dm
new file mode 100644
index 00000000..d18ebfc2
--- /dev/null
+++ b/code/datums/weather/weather_types/fog.dm
@@ -0,0 +1,25 @@
+/datum/weather/fog
+ name = "Heavy fog"
+ desc = "Rising clouds results in low visibiliy and fuck shit piss cum."
+
+ telegraph_message = "Rolling clouds begin to loom and engulf the station."
+ telegraph_duration = 300
+ telegraph_overlay = "fog1"
+
+ weather_message = "Clouds sweep up the station and engulf it within a hazy fog."
+ weather_duration_lower = 600
+ weather_duration_upper = 1200
+ weather_overlay = "fog2"
+
+ end_message = "Passing clouds slowly fade away."
+ end_duration = 300
+ end_overlay = "fog1"
+
+ area_type = /area/layenia
+ target_trait = ZTRAIT_STATION
+
+ probability = 100
+
+ barometer_predictable = TRUE
+
+ aesthetic = TRUE
diff --git a/icons/effects/weather_effects.dmi b/icons/effects/weather_effects.dmi
index da152370..7dda7423 100644
Binary files a/icons/effects/weather_effects.dmi and b/icons/effects/weather_effects.dmi differ
diff --git a/tgstation.dme b/tgstation.dme
index fc4ce7b4..52132484 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -520,6 +520,7 @@
#include "code\datums\weather\weather_types\acid_rain.dm"
#include "code\datums\weather\weather_types\ash_storm.dm"
#include "code\datums\weather\weather_types\floor_is_lava.dm"
+#include "code\datums\weather\weather_types\fog.dm"
#include "code\datums\weather\weather_types\radiation_storm.dm"
#include "code\datums\weather\weather_types\snow_storm.dm"
#include "code\datums\wires\_wires.dm"