mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-26 14:31:59 +01:00
Rad Storm (#10945)
Non-shielded areas now get a pulsating green overlay when a radiation storm is active.
This commit is contained in:
@@ -11,6 +11,7 @@
|
||||
var/atmosalm = 0
|
||||
var/poweralm = 1
|
||||
var/party = null
|
||||
var/radiation_active = null
|
||||
level = null
|
||||
name = "Unknown"
|
||||
icon = 'icons/turf/areas.dmi'
|
||||
@@ -218,10 +219,15 @@
|
||||
#define DO_PARTY(COLOR) animate(color = COLOR, time = 0.5 SECONDS, easing = QUAD_EASING)
|
||||
|
||||
/area/update_icon()
|
||||
if ((fire || eject || party) && (!requires_power||power_environ) && !istype(src, /area/space)) //If it doesn't require power, can still activate this proc.
|
||||
if(fire && !eject && !party) // FIRE
|
||||
color = "#ff9292"
|
||||
if ((fire || eject || party || radiation_active) && (!requires_power||power_environ) && !istype(src, /area/space)) //If it doesn't require power, can still activate this proc.
|
||||
if(radiation_active)
|
||||
color = "#30e63f"
|
||||
animate(src) // stop any current animations.
|
||||
animate(src, color = "#2ea138", time = 1 SECOND, loop = -1, easing = SINE_EASING)
|
||||
animate(color ="#30e63f", time = 1 SECOND, easing = SINE_EASING)
|
||||
else if(fire && !eject && !party) // FIRE
|
||||
color = "#ff9292"
|
||||
animate(src)
|
||||
animate(src, color = "#ffa5b2", time = 1 SECOND, loop = -1, easing = SINE_EASING)
|
||||
animate(color = "#ff9292", time = 1 SECOND, easing = SINE_EASING)
|
||||
else if(!fire && eject && !party) // EJECT
|
||||
|
||||
@@ -15,6 +15,11 @@
|
||||
|
||||
/datum/event/radiation_storm/start()
|
||||
make_maint_all_access()
|
||||
for(var/area/A in all_areas)
|
||||
if(A.flags & RAD_SHIELDED)
|
||||
continue
|
||||
A.radiation_active = TRUE
|
||||
A.update_icon()
|
||||
|
||||
/datum/event/radiation_storm/tick()
|
||||
if(activeFor == enterBelt)
|
||||
@@ -40,6 +45,11 @@
|
||||
if(faked)
|
||||
return
|
||||
revoke_maint_all_access()
|
||||
for(var/area/A in all_areas)
|
||||
if(A.flags & RAD_SHIELDED)
|
||||
continue
|
||||
A.radiation_active = null
|
||||
A.update_icon()
|
||||
|
||||
/datum/event/radiation_storm/syndicate/radiate()
|
||||
return
|
||||
|
||||
@@ -89,4 +89,4 @@
|
||||
/mob/living/proc/apply_radiation(var/rads)
|
||||
total_radiation += rads
|
||||
if (total_radiation < 0)
|
||||
total_radiation = 0
|
||||
total_radiation = 0
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
author: Geeves
|
||||
|
||||
delete-after: True
|
||||
|
||||
changes:
|
||||
- rscadd: "Non-shielded areas now get a pulsating green overlay when a radiation storm is active."
|
||||
Reference in New Issue
Block a user