diff --git a/code/modules/planet/sif.dm b/code/modules/planet/sif.dm
index 6ec5a9dfe4..4a7b042149 100644
--- a/code/modules/planet/sif.dm
+++ b/code/modules/planet/sif.dm
@@ -279,13 +279,13 @@ var/datum/planet/sif/planet_sif = null
var/obj/item/weapon/melee/umbrella/U = L.get_active_hand()
if(U.open)
if(show_message)
- to_chat(L, "Rain patters softly onto your umbrella")
+ to_chat(L, "Rain patters softly onto your umbrella.")
continue
else if(istype(L.get_inactive_hand(), /obj/item/weapon/melee/umbrella))
var/obj/item/weapon/melee/umbrella/U = L.get_inactive_hand()
if(U.open)
if(show_message)
- to_chat(L, "Rain patters softly onto your umbrella")
+ to_chat(L, "Rain patters softly onto your umbrella.")
continue
L.water_act(1)
@@ -299,6 +299,8 @@ var/datum/planet/sif/planet_sif = null
temp_low = 233.15 // -40c
light_modifier = 0.3
flight_failure_modifier = 10
+ effect_message = "Rain falls on you, drenching you in water."
+
var/next_lightning_strike = 0 // world.time when lightning will strike.
var/min_lightning_cooldown = 5 SECONDS
var/max_lightning_cooldown = 1 MINUTE
@@ -325,22 +327,41 @@ var/datum/planet/sif/planet_sif = null
if(!T.outdoors)
continue // They're indoors, so no need to rain on them.
- // If they have an open umbrella, it'll get stolen by the wind
+ // Lazy wind code
+ if(prob(10))
+ if(istype(L.get_active_hand(), /obj/item/weapon/melee/umbrella))
+ var/obj/item/weapon/melee/umbrella/U = L.get_active_hand()
+ if(U.open)
+ to_chat(L, "You struggle to keep hold of your umbrella!")
+ L.Stun(20) // This is not nearly as long as it seems
+ playsound(L, 'sound/effects/rustle1.ogg', 100, 1) // Closest sound I've got to "Umbrella in the wind"
+ else if(istype(L.get_inactive_hand(), /obj/item/weapon/melee/umbrella))
+ var/obj/item/weapon/melee/umbrella/U = L.get_inactive_hand()
+ if(U.open)
+ to_chat(L, "A gust of wind yanks the umbrella from your hand!")
+ playsound(L, 'sound/effects/rustle1.ogg', 100, 1)
+ L.drop_from_inventory(U)
+ U.toggle_umbrella()
+ U.throw_at(get_edge_target_turf(U, pick(alldirs)), 8, 1, L)
+
+ // If they have an open umbrella, it'll guard from rain
if(istype(L.get_active_hand(), /obj/item/weapon/melee/umbrella))
var/obj/item/weapon/melee/umbrella/U = L.get_active_hand()
if(U.open)
- to_chat(L, "A gust of wind yanks the umbrella from your hand!")
- L.drop_from_inventory(U)
- U.throw_at(get_edge_target_turf(U, pick(alldirs)), 8, 1, L)
+ if(show_message)
+ to_chat(L, "Rain showers loudly onto your umbrella!")
+ continue
else if(istype(L.get_inactive_hand(), /obj/item/weapon/melee/umbrella))
var/obj/item/weapon/melee/umbrella/U = L.get_inactive_hand()
if(U.open)
- to_chat(L, "A gust of wind yanks the umbrella from your hand!")
- L.drop_from_inventory(U)
- U.throw_at(get_edge_target_turf(U, pick(alldirs)), 8, 1, L)
+ if(show_message)
+ to_chat(L, "Rain showers loudly onto your umbrella!")
+ continue
+
L.water_act(2)
- to_chat(L, "Rain falls on you, drenching you in water.")
+ if(show_message)
+ to_chat(L, effect_message)
handle_lightning()