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
@@ -148,13 +148,27 @@
/obj/machinery/particle_smasher/process()
if(!src.anchored) // Rapidly loses focus.
if(energy)
SSradiation.radiate(src, round(((src.energy-150)/50)*5,1))
radiation_pulse(
src,
max_range = 7,
threshold = RAD_HEAVY_INSULATION,
chance = round(((src.energy-150)/50)*5,1),
minimum_exposure_time = URANIUM_RADIATION_MINIMUM_EXPOSURE_TIME,
strength = energy * 0.1 //60 rads at max energy.
)
energy = max(0, energy - 30)
update_icon()
return
if(energy)
SSradiation.radiate(src, round(((src.energy-150)/50)*5,1))
radiation_pulse(
src,
max_range = 7,
threshold = RAD_HEAVY_INSULATION,
chance = round(((src.energy-150)/50)*5,1),
minimum_exposure_time = URANIUM_RADIATION_MINIMUM_EXPOSURE_TIME,
strength = energy * 0.1 //60 rads at max energy.
)
energy = CLAMP(energy - 5, 0, max_energy)
return
@@ -184,7 +198,14 @@
if(successful_craft)
visible_message(span_warning("\The [src] fizzles."))
if(prob(33)) // Why are you blasting it after it's already done!
SSradiation.radiate(src, 10 + round(src.energy / 60, 1))
radiation_pulse(
src,
max_range = 7,
threshold = RAD_HEAVY_INSULATION,
chance = URANIUM_IRRADIATION_CHANCE + round(src.energy / 60, 1),
minimum_exposure_time = URANIUM_RADIATION_MINIMUM_EXPOSURE_TIME,
strength = energy * 0.1
)
energy = max(0, energy - 30)
update_icon()
return