mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-24 04:28:12 +01:00
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:
@@ -403,11 +403,16 @@ GLOBAL_LIST_BOILERPLATE(all_singularities, /obj/singularity)
|
||||
/obj/singularity/proc/toxmob()
|
||||
var/toxrange = 10
|
||||
var/toxdamage = 4
|
||||
var/radiation = 15
|
||||
if (src.energy>200)
|
||||
toxdamage = round(((src.energy-150)/50)*4,1)
|
||||
radiation = round(((src.energy-150)/50)*5,1)
|
||||
SSradiation.radiate(src, radiation) //Always radiate at max, so a decent dose of radiation is applied
|
||||
radiation_pulse(
|
||||
src,
|
||||
max_range = 7,
|
||||
threshold = RAD_EXTREME_INSULATION - 0.1,
|
||||
chance = URANIUM_IRRADIATION_CHANCE + round(energy / 60, 1),
|
||||
minimum_exposure_time = URANIUM_RADIATION_MINIMUM_EXPOSURE_TIME,
|
||||
strength = 250
|
||||
)
|
||||
for(var/mob/living/M in view(toxrange, src.loc))
|
||||
if(SEND_SIGNAL(M, COMSIG_CHECK_FOR_GODMODE) & COMSIG_GODMODE_CANCEL)
|
||||
return 0 // Cancelled by a component
|
||||
@@ -450,13 +455,28 @@ GLOBAL_LIST_BOILERPLATE(all_singularities, /obj/singularity)
|
||||
to_chat(M, span_danger("You hear an unearthly ringing, then what sounds like a shrilling kettle as you are washed with a wave of heat."))
|
||||
to_chat(M, span_danger("You don't even have a moment to react as you are reduced to ashes by the intense radiation."))
|
||||
M.dust()
|
||||
SSradiation.radiate(src, rand(energy))
|
||||
|
||||
radiation_pulse(
|
||||
src,
|
||||
max_range = 10,
|
||||
threshold = RAD_EXTREME_INSULATION,
|
||||
chance = URANIUM_IRRADIATION_CHANCE * 8,
|
||||
strength = 1000
|
||||
)
|
||||
return
|
||||
|
||||
/obj/singularity/proc/pulse()
|
||||
for(var/obj/machinery/power/rad_collector/R in GLOB.rad_collectors)
|
||||
if (get_dist(R, src) <= 15) //Better than using orange() every process.
|
||||
R.receive_pulse(energy)
|
||||
//Yes, this means rad collectors can double dip on the singulo, but you could always use the safer SM or tesla, so it gets a small buff.
|
||||
radiation_pulse(
|
||||
src,
|
||||
max_range = 15,
|
||||
threshold = RAD_EXTREME_INSULATION,
|
||||
chance = URANIUM_IRRADIATION_CHANCE * 8,
|
||||
strength = energy * 0.25
|
||||
)
|
||||
|
||||
/obj/singularity/proc/on_capture()
|
||||
chained = 1
|
||||
|
||||
Reference in New Issue
Block a user