diff --git a/code/datums/weather/weather_types.dm b/code/datums/weather/weather_types.dm
index 535f882d4bf..9f75bf714e6 100644
--- a/code/datums/weather/weather_types.dm
+++ b/code/datums/weather/weather_types.dm
@@ -118,7 +118,7 @@
name = "radiation storm"
desc = "A cloud of intense radiation passes through the area dealing rad damage to those who are unprotected."
- telegraph_duration = 600
+ telegraph_duration = 400
telegraph_message = "The air begins to grow warm."
weather_message = "You feel waves of heat wash over you! Find shelter!"
@@ -137,28 +137,49 @@
immunity_type = "rad"
+/datum/weather/rad_storm/telegraph()
+ ..()
+ status_alarm("alert")
+
+
/datum/weather/rad_storm/impact(mob/living/L)
- if(prob(20))
+ var/resist = L.getarmor(null, "rad")
+ if(prob(40))
if(ishuman(L))
var/mob/living/carbon/human/H = L
if(H.dna && H.dna.species)
if(!(RADIMMUNE in H.dna.species.specflags))
- if(prob(50))
+ if(prob(max(0,100-resist)))
randmuti(H)
- if(prob(90))
- randmutb(H)
- else
- randmutg(H)
- H.domutcheck()
+ if(prob(50))
+ if(prob(90))
+ randmutb(H)
+ else
+ randmutg(H)
+ H.domutcheck()
L.rad_act(20,1)
- L.adjustToxLoss(4)
-
-
-
-
-
/datum/weather/rad_storm/end()
if(..())
return
- priority_announce("The radiation threat has passed. Please return to your workplaces.", "Anomaly Alert")
\ No newline at end of file
+ priority_announce("The radiation threat has passed. Please return to your workplaces.", "Anomaly Alert")
+ status_alarm()
+
+
+/datum/weather/rad_storm/proc/status_alarm(command) //Makes the status displays show the radiation warning for those who missed the announcement.
+ var/datum/radio_frequency/frequency = SSradio.return_frequency(1435)
+
+ if(!frequency)
+ return
+
+ var/datum/signal/status_signal = new
+ var/atom/movable/virtualspeaker/virt = PoolOrNew(/atom/movable/virtualspeaker,null)
+ status_signal.source = virt
+ status_signal.transmission_method = 1
+ status_signal.data["command"] = "shuttle"
+
+ if(command == "alert")
+ status_signal.data["command"] = "alert"
+ status_signal.data["picture_state"] = "radiation"
+
+ frequency.post_signal(src, status_signal)
\ No newline at end of file
diff --git a/icons/obj/status_display.dmi b/icons/obj/status_display.dmi
index 76f18ba5e65..2c407ce049f 100644
Binary files a/icons/obj/status_display.dmi and b/icons/obj/status_display.dmi differ