mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2025-12-18 14:12:20 +00:00
Merge pull request #2804 from CIB/feature
Radiation storms consider maintenance now.
This commit is contained in:
@@ -1,36 +1,45 @@
|
|||||||
/datum/event/radiation_storm
|
/datum/event/radiation_storm
|
||||||
announceWhen = 5
|
announceWhen = 1
|
||||||
oneShot = 1
|
oneShot = 1
|
||||||
|
|
||||||
|
|
||||||
/datum/event/radiation_storm/announce()
|
/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")
|
// Don't do anything, we want to pack the announcement with the actual event
|
||||||
world << sound('sound/AI/radiation.ogg')
|
|
||||||
|
|
||||||
|
|
||||||
/datum/event/radiation_storm/start()
|
/datum/event/radiation_storm/start()
|
||||||
|
spawn()
|
||||||
|
command_alert("High levels of radiation detected near the station. Please evacuate into one of the shielded maintenance tunnels.", "Anomaly Alert")
|
||||||
|
|
||||||
|
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)
|
for(var/mob/living/carbon/human/H in living_mob_list)
|
||||||
var/turf/T = get_turf(H)
|
var/turf/T = get_turf(H)
|
||||||
if(!T)
|
if(!T)
|
||||||
continue
|
continue
|
||||||
if(T.z != 1)
|
if(T.z != 1)
|
||||||
continue
|
continue
|
||||||
|
if(istype(T.loc, /area/maintenance) || istype(T.loc, /area/crew_quarters))
|
||||||
|
continue
|
||||||
if(istype(H,/mob/living/carbon/human))
|
if(istype(H,/mob/living/carbon/human))
|
||||||
H.apply_effect((rand(15,75)),IRRADIATE,0)
|
H.apply_effect((rand(5,25)),IRRADIATE,0)
|
||||||
if(prob(5))
|
if(prob(5))
|
||||||
H.apply_effect((rand(90,150)),IRRADIATE,0)
|
H.apply_effect((rand(30,50)),IRRADIATE,0)
|
||||||
if(prob(25))
|
|
||||||
if (prob(75))
|
if (prob(75))
|
||||||
randmutb(H)
|
randmutb(H)
|
||||||
domutcheck(H,null,1)
|
domutcheck(H,null,1)
|
||||||
else
|
else
|
||||||
randmutg(H)
|
randmutg(H)
|
||||||
domutcheck(H,null,1)
|
domutcheck(H,null,1)
|
||||||
|
|
||||||
for(var/mob/living/carbon/monkey/M in living_mob_list)
|
for(var/mob/living/carbon/monkey/M in living_mob_list)
|
||||||
var/turf/T = get_turf(M)
|
var/turf/T = get_turf(M)
|
||||||
if(!T)
|
if(!T)
|
||||||
continue
|
continue
|
||||||
if(T.z != 1)
|
if(T.z != 1)
|
||||||
continue
|
continue
|
||||||
M.apply_effect((rand(15,75)),IRRADIATE,0)
|
M.apply_effect((rand(5,25)),IRRADIATE,0)
|
||||||
|
sleep(50)
|
||||||
|
|
||||||
|
|
||||||
|
command_alert("The station has passed the radiation belt", "Anomaly Alert")
|
||||||
@@ -49,7 +49,7 @@
|
|||||||
|
|
||||||
D.icon += mix_color_from_reagents(D.reagents.reagent_list)
|
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)
|
spawn(0)
|
||||||
for(var/i=0, i<3, i++)
|
for(var/i=0, i<3, i++)
|
||||||
|
|||||||
Reference in New Issue
Block a user