Being in space kills you again with solar flares / rad storms. Also now affects deep space (#22264)

* Being in space kills you again with solar flares / rad storms. Also now affects deep space

* oh god unit tests.

* fucking autocomplete

* I will murder autocomplete. It will not survive.

* Rename trait

* Update code/datums/weather/weather_types/radiation_storm.dm

Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>

---------

Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
This commit is contained in:
Qwertytoforty
2023-09-19 16:57:09 +01:00
committed by GitHub
co-authored by Luc
parent c559993703
commit d750db7011
9 changed files with 61 additions and 53 deletions
@@ -26,9 +26,10 @@
/area/station/public/sleep,
/area/station/security/brig,
/area/shuttle,
/area/survivalpod //although survivalpods are off-station, creating one on station no longer protects pods on station from the rad storm
/area/survivalpod, //although survivalpods are off-station, creating one on station no longer protects pods on station from the rad storm
/area/ruin //Let us not completely kill space explorers.
)
target_trait = STATION_LEVEL
target_trait = REACHABLE_SPACE_ONLY
immunity_type = "rad"
@@ -39,7 +40,6 @@
if(!GLOB.maint_all_access)
make_maint_all_access()
/datum/weather/rad_storm/weather_act(mob/living/L)
if(!prob(60))
return
@@ -68,10 +68,13 @@
/datum/weather/rad_storm/end()
if(..())
return
GLOB.minor_announcement.Announce("The radiation threat has passed. Please return to your workplaces.", "Anomaly Alert")
status_alarm(FALSE)
if(!pre_maint_all_access)
revoke_maint_all_access()
GLOB.minor_announcement.Announce("The radiation threat has passed. Please return to your workplaces. Door access resetting momentarily.", "Anomaly Alert")
addtimer(CALLBACK(SSweather, GLOBAL_PROC_REF(revoke_maint_all_access)), 10 SECONDS) // Bit of time to get out / break into somewhere.
else
GLOB.minor_announcement.Announce("The radiation threat has passed. Please return to your workplaces.", "Anomaly Alert")
/datum/weather/rad_storm/proc/status_alarm(active) //Makes the status displays show the radiation warning for those who missed the announcement.
if(active)
@@ -16,11 +16,11 @@
end_message = null
area_type = /area // read generate_area_list() as well below
protected_areas = list(/area/shuttle/arrival/station)
target_trait = STATION_LEVEL
target_trait = REACHABLE_SPACE_ONLY
immunity_type = "burn"
var/damage = 4
/// Areas which are "semi-protected". Mobs inside these areas take reduced burn damage from the solar flare.
var/list/semi_protected_areas = list(/area/station/hallway/secondary/entry)
var/list/semi_protected_areas = list(/area/station/hallway/secondary/entry, /area/ruin)
/datum/weather/solar_flare/generate_area_list()
..()