Merge pull request #2804 from CIB/feature

Radiation storms consider maintenance now.
This commit is contained in:
Chinsky
2013-05-18 13:20:56 -07:00
2 changed files with 38 additions and 29 deletions

View File

@@ -1,36 +1,45 @@
/datum/event/radiation_storm
announceWhen = 5
announceWhen = 1
oneShot = 1
/datum/event/radiation_storm/announce()
command_alert("High levels of radiation detected near the station. Please report to the Med-bay if you feel strange.", "Anomaly Alert")
world << sound('sound/AI/radiation.ogg')
// Don't do anything, we want to pack the announcement with the actual event
/datum/event/radiation_storm/start()
for(var/mob/living/carbon/human/H in living_mob_list)
var/turf/T = get_turf(H)
if(!T)
continue
if(T.z != 1)
continue
if(istype(H,/mob/living/carbon/human))
H.apply_effect((rand(15,75)),IRRADIATE,0)
if(prob(5))
H.apply_effect((rand(90,150)),IRRADIATE,0)
if(prob(25))
if (prob(75))
randmutb(H)
domutcheck(H,null,1)
else
randmutg(H)
domutcheck(H,null,1)
spawn()
command_alert("High levels of radiation detected near the station. Please evacuate into one of the shielded maintenance tunnels.", "Anomaly Alert")
for(var/mob/living/carbon/monkey/M in living_mob_list)
var/turf/T = get_turf(M)
if(!T)
continue
if(T.z != 1)
continue
M.apply_effect((rand(15,75)),IRRADIATE,0)
sleep(200)
command_alert("The station has entered the radiation belt. Please report to medbay if you experience any unusual symptoms.", "Anomaly Alert")
for(var/i = 0, i < 10, i++)
for(var/mob/living/carbon/human/H in living_mob_list)
var/turf/T = get_turf(H)
if(!T)
continue
if(T.z != 1)
continue
if(istype(T.loc, /area/maintenance) || istype(T.loc, /area/crew_quarters))
continue
if(istype(H,/mob/living/carbon/human))
H.apply_effect((rand(5,25)),IRRADIATE,0)
if(prob(5))
H.apply_effect((rand(30,50)),IRRADIATE,0)
if (prob(75))
randmutb(H)
domutcheck(H,null,1)
else
randmutg(H)
domutcheck(H,null,1)
for(var/mob/living/carbon/monkey/M in living_mob_list)
var/turf/T = get_turf(M)
if(!T)
continue
if(T.z != 1)
continue
M.apply_effect((rand(5,25)),IRRADIATE,0)
sleep(50)
command_alert("The station has passed the radiation belt", "Anomaly Alert")

View File

@@ -49,7 +49,7 @@
D.icon += mix_color_from_reagents(D.reagents.reagent_list)
var/A_turf = get_turf(A)
var/turf/A_turf = get_turf(A)
spawn(0)
for(var/i=0, i<3, i++)