From dc2d5e6296d9a73cc746d3f11addf03258bba379 Mon Sep 17 00:00:00 2001 From: Shadowlight213 Date: Mon, 29 Aug 2016 20:31:18 -0700 Subject: [PATCH] Adds a green ash storm overlay for radstorms Adds the blobalarm sound to the storm Changes the storm to primarily do tox damage with a chance to do rads and mutare. --- code/datums/weather/weather.dm | 3 +++ code/datums/weather/weather_types.dm | 37 +++++++++++++++++----------- 2 files changed, 26 insertions(+), 14 deletions(-) diff --git a/code/datums/weather/weather.dm b/code/datums/weather/weather.dm index 02dbccfb1db..c1afdea4ca6 100644 --- a/code/datums/weather/weather.dm +++ b/code/datums/weather/weather.dm @@ -20,6 +20,7 @@ var/weather_duration_upper = 1500 //See above - this is the highest possible duration var/weather_sound var/weather_overlay + var/weather_color = null var/end_message = "The wind relents its assault." //Displayed once the wather is over var/end_duration = 300 //In deciseconds, how long the "wind-down" graphic will appear before vanishing entirely @@ -125,6 +126,7 @@ N.layer = overlay_layer N.icon = 'icons/effects/weather_effects.dmi' N.invisibility = 0 + N.color = weather_color switch(stage) if(STARTUP_STAGE) N.icon_state = telegraph_overlay @@ -133,6 +135,7 @@ if(WIND_DOWN_STAGE) N.icon_state = end_overlay if(END_STAGE) + N.color = null N.icon_state = initial(N.icon_state) N.icon = 'icons/turf/areas.dmi' N.layer = AREA_LAYER //Just default back to normal area stuff since I assume setting a var is faster than initial diff --git a/code/datums/weather/weather_types.dm b/code/datums/weather/weather_types.dm index 083c92d2937..535f882d4bf 100644 --- a/code/datums/weather/weather_types.dm +++ b/code/datums/weather/weather_types.dm @@ -118,12 +118,15 @@ name = "radiation storm" desc = "A cloud of intense radiation passes through the area dealing rad damage to those who are unprotected." - telegraph_duration = 300 - telegraph_message = "The air begins to grow warm." + telegraph_duration = 600 + telegraph_message = "The air begins to grow warm." weather_message = "You feel waves of heat wash over you! Find shelter!" + weather_overlay = "ash_storm" weather_duration_lower = 600 weather_duration_upper = 1500 + weather_color = "green" + weather_sound = 'sound/misc/bloblarm.ogg' end_duration = 100 end_message = "The air seems to be cooling off again." @@ -135,19 +138,25 @@ immunity_type = "rad" /datum/weather/rad_storm/impact(mob/living/L) - 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(25)) - if(prob(25)) + if(prob(20)) + 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)) randmuti(H) - if(prob(90)) - randmutb(H) - else - randmutg(H) - H.domutcheck() - L.rad_act(20,1) + if(prob(90)) + randmutb(H) + else + randmutg(H) + H.domutcheck() + L.rad_act(20,1) + + L.adjustToxLoss(4) + + + + /datum/weather/rad_storm/end() if(..())