mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-22 11:38: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:
@@ -29,9 +29,41 @@
|
||||
radiate()
|
||||
|
||||
/datum/event2/event/radiation_storm/proc/radiate()
|
||||
//This sucks. Just mutate.
|
||||
/*
|
||||
var/radiation_level = rand(15, 35)
|
||||
for(var/z in using_map.station_levels)
|
||||
SSradiation.z_radiate(locate(1, 1, z), radiation_level, 1)
|
||||
var/turf/epicentre = locate(round(world.maxx / 2), round(world.maxy / 2), z)
|
||||
if(epicentre)
|
||||
radiation_pulse(
|
||||
epicentre,
|
||||
max_range = 5,
|
||||
threshold = RAD_MEDIUM_INSULATION,
|
||||
chance = URANIUM_IRRADIATION_CHANCE,
|
||||
minimum_exposure_time = URANIUM_RADIATION_MINIMUM_EXPOSURE_TIME,
|
||||
)
|
||||
*/
|
||||
|
||||
for(var/mob/living/carbon/C in GLOB.living_mob_list)
|
||||
if(!(C.z in using_map.station_levels) || C.isSynthetic() || isbelly(C.loc))
|
||||
continue
|
||||
var/area/A = get_area(C)
|
||||
if(!A)
|
||||
continue
|
||||
if(A.flag_check(RAD_SHIELDED))
|
||||
continue
|
||||
if(ishuman(C))
|
||||
var/mob/living/carbon/human/H = C
|
||||
var/chance = 5.0
|
||||
chance -= (chance / 100) * C.getarmor(null, "rad")
|
||||
if(prob(chance))
|
||||
if (prob(75))
|
||||
randmutb(H) // Applies bad mutation
|
||||
domutcheck(H,null,MUTCHK_FORCED)
|
||||
else
|
||||
randmutg(H) // Applies good mutation
|
||||
domutcheck(H,null,MUTCHK_FORCED)
|
||||
H.UpdateAppearance()
|
||||
|
||||
/datum/event2/event/radiation_storm/end()
|
||||
GLOB.command_announcement.Announce("The station has passed the radiation belt. \
|
||||
|
||||
@@ -49,4 +49,10 @@
|
||||
continue
|
||||
|
||||
//Todo: Apply some burn damage from the heat of the sun. Until then, enjoy some moderate radiation.
|
||||
L.rad_act(rand(15, 30))
|
||||
radiation_pulse(
|
||||
L,
|
||||
max_range = 1,
|
||||
threshold = RAD_MEDIUM_INSULATION,
|
||||
chance = URANIUM_IRRADIATION_CHANCE,
|
||||
strength = rand(10, 50)
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user