Radiation Refactor (#19270)

* Part 1

* WIP

* The rest of these

* More stuff

* Whoops, did that wrong

* typo

* gweeen

* This all works

* SHOWER

* Rads

* awa

* rad

* Update life.dm

* edits

* Makes lvl 3 rads give you a warning.

You should already know by this point, but this makes it EXTRA clear you're getting fucked

* Update vorestation.dme

* aaa

* propagate

* gwah

* more fixes

* AAA

* Update radiation.dm

* Update radiation.dm

* mobs rads

* rads

* fix this

* Update _reagents.dm

* these

* Get rid of these

* rad

* Update config.txt

* fixed

* Update radiation_effects.dm
This commit is contained in:
Cameron Lennox
2026-03-22 12:29:09 -04:00
committed by GitHub
parent d91baf9c9f
commit cbc4151bfb
113 changed files with 2044 additions and 551 deletions
+15 -2
View File
@@ -578,7 +578,13 @@ GLOBAL_DATUM(planet_virgo3b, /datum/planet/virgo3b)
if(!T.is_outdoors())
return // They're indoors, so no need to irradiate them with fallout.
L.rad_act(rand(direct_rad_low, direct_rad_high))
radiation_pulse(
L,
max_range = 1,
threshold = RAD_VERY_LIGHT_INSULATION,
chance = rand(fallout_rad_low, fallout_rad_high),
strength = rand(fallout_rad_low, fallout_rad_high)
)
// This makes random tiles near people radioactive for awhile.
// Tiles far away from people are left alone, for performance.
@@ -590,7 +596,14 @@ GLOBAL_DATUM(planet_virgo3b, /datum/planet/virgo3b)
if(!istype(T))
return
if(T.is_outdoors())
SSradiation.radiate(T, rand(fallout_rad_low, fallout_rad_high))
radiation_pulse(
T,
max_range = 7,
threshold = RAD_MEDIUM_INSULATION,
chance = URANIUM_IRRADIATION_CHANCE,
minimum_exposure_time = URANIUM_RADIATION_MINIMUM_EXPOSURE_TIME,
strength = rand(fallout_rad_low, fallout_rad_high)
)
/datum/weather/virgo3b/fallout/temp
name = "short-term fallout"
+16 -2
View File
@@ -582,7 +582,14 @@ GLOBAL_DATUM(planet_virgo3c, /datum/planet/virgo3c)
if(!T.is_outdoors())
return // They're indoors, so no need to irradiate them with fallout.
L.rad_act(rand(direct_rad_low, direct_rad_high))
radiation_pulse(
L,
max_range = 1,
threshold = RAD_MEDIUM_INSULATION,
chance = rand(direct_rad_low, direct_rad_high),
minimum_exposure_time = URANIUM_RADIATION_MINIMUM_EXPOSURE_TIME,
strength = rand(direct_rad_low, direct_rad_high)
)
// This makes random tiles near people radioactive for awhile.
// Tiles far away from people are left alone, for performance.
@@ -594,7 +601,14 @@ GLOBAL_DATUM(planet_virgo3c, /datum/planet/virgo3c)
if(!istype(T))
return
if(T.is_outdoors())
SSradiation.radiate(T, rand(fallout_rad_low, fallout_rad_high))
radiation_pulse(
T,
max_range = 1,
threshold = RAD_MEDIUM_INSULATION,
chance = rand(direct_rad_low, direct_rad_high),
minimum_exposure_time = URANIUM_RADIATION_MINIMUM_EXPOSURE_TIME,
strength = rand(fallout_rad_low, fallout_rad_high)
)
/datum/weather/virgo3c/fallout/temp
name = "short-term fallout"
+17 -2
View File
@@ -553,7 +553,15 @@ GLOBAL_DATUM(planet_virgo4, /datum/planet/virgo4)
if(!T.is_outdoors())
return // They're indoors, so no need to irradiate them with fallout.
L.rad_act(rand(direct_rad_low, direct_rad_high))
radiation_pulse(
L,
max_range = 1,
threshold = RAD_MEDIUM_INSULATION,
chance = rand(direct_rad_low, direct_rad_high),
minimum_exposure_time = URANIUM_RADIATION_MINIMUM_EXPOSURE_TIME,
strength = rand(direct_rad_low, direct_rad_high)
)
// This makes random tiles near people radioactive for awhile.
// Tiles far away from people are left alone, for performance.
@@ -565,7 +573,14 @@ GLOBAL_DATUM(planet_virgo4, /datum/planet/virgo4)
if(!istype(T))
return
if(T.is_outdoors())
SSradiation.radiate(T, rand(fallout_rad_low, fallout_rad_high))
radiation_pulse(
T,
max_range = 5,
threshold = RAD_MEDIUM_INSULATION,
chance = rand(direct_rad_low, direct_rad_high),
minimum_exposure_time = URANIUM_RADIATION_MINIMUM_EXPOSURE_TIME,
strength = rand(fallout_rad_low, fallout_rad_high)
)
/datum/weather/virgo4/fallout/temp
name = "short-term fallout"