From 9100dc2fcd6d11c4b56594359ef116ae629e6a51 Mon Sep 17 00:00:00 2001 From: S34NW <12197162+S34NW@users.noreply.github.com> Date: Wed, 9 Jun 2021 14:48:42 +0100 Subject: [PATCH 1/4] Non-SM rads are a danger. Delam gives more rads. --- code/__DEFINES/radiation.dm | 2 ++ code/modules/mob/living/living.dm | 2 ++ code/modules/power/supermatter/supermatter.dm | 4 ++-- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/code/__DEFINES/radiation.dm b/code/__DEFINES/radiation.dm index 9f7ea16f7b2..a13ec73a57c 100644 --- a/code/__DEFINES/radiation.dm +++ b/code/__DEFINES/radiation.dm @@ -53,3 +53,5 @@ Ask ninjanomnom if they're around #define RAD_GEIGER_MEASURE_SMOOTHING 5 #define RAD_GEIGER_GRACE_PERIOD 2 + +#define RAD_DAMAGE_MULTIPLIER 10 // This brings pre-refactor rad values in line with the current danger values diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 23f4d829d43..415635d2906 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -1005,6 +1005,8 @@ amount -= RAD_BACKGROUND_RADIATION // This will always be at least 1 because of how skin protection is calculated + amount *= RAD_DAMAGE_MULTIPLIER + var/blocked = getarmor(null, "rad") if(amount > RAD_BURN_THRESHOLD) diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index 0cc682eae32..de626d139fb 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -312,7 +312,7 @@ //Hilariously enough, running into a closet should make you get hit the hardest. var/mob/living/carbon/human/H = mob H.hallucination += max(50, min(300, DETONATION_HALLUCINATION * sqrt(1 / (get_dist(mob, src) + 1)))) - var/rads = DETONATION_RADS * sqrt(1 / (get_dist(L, src) + 1)) + var/rads = DETONATION_RADS * sqrt(1 / (get_dist(L, src) + 1)) * sqrt(power/5) / RAD_DAMAGE_MULTIPLIER L.rad_act(rads) var/turf/T = get_turf(src) @@ -525,7 +525,7 @@ l.hallucination += power * hallucination_power * D l.hallucination = clamp(l.hallucination, 0, 200) for(var/mob/living/l in range(src, round((power / 100) ** 0.25))) - var/rads = (power / 10) * sqrt( 1 / max(get_dist(l, src), 1) ) + var/rads = ((power / 10) * sqrt( 1 / max(get_dist(l, src), 1) )) / RAD_DAMAGE_MULTIPLIER //RAD_DAMAGE_MULTIPLIER division ensures consistency with other rad sources. l.rad_act(rads) //Transitions between one function and another, one we use for the fast inital startup, the other is used to prevent errors with fusion temperatures. From 396309095dcdcc2d319e21af8eb70344d8f21be0 Mon Sep 17 00:00:00 2001 From: S34NW <12197162+S34NW@users.noreply.github.com> Date: Wed, 9 Jun 2021 18:12:02 +0100 Subject: [PATCH 2/4] further tweak the properties --- code/modules/power/supermatter/supermatter.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index de626d139fb..60c6bd2f176 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -312,7 +312,7 @@ //Hilariously enough, running into a closet should make you get hit the hardest. var/mob/living/carbon/human/H = mob H.hallucination += max(50, min(300, DETONATION_HALLUCINATION * sqrt(1 / (get_dist(mob, src) + 1)))) - var/rads = DETONATION_RADS * sqrt(1 / (get_dist(L, src) + 1)) * sqrt(power/5) / RAD_DAMAGE_MULTIPLIER + var/rads = (DETONATION_RADS * (sqrt(1 / (get_dist(L, src) + 1)) * sqrt(power / 5))) / (RAD_DAMAGE_MULTIPLIER * 0.25) L.rad_act(rads) var/turf/T = get_turf(src) From 616e641d716fb863f88498aea245b66ed08c357a Mon Sep 17 00:00:00 2001 From: S34NW <12197162+S34NW@users.noreply.github.com> Date: Thu, 10 Jun 2021 09:58:18 +0100 Subject: [PATCH 3/4] RAD_DOSAGE_MULTIPLIER is a better name --- code/__DEFINES/radiation.dm | 2 +- code/modules/mob/living/living.dm | 2 +- code/modules/power/supermatter/supermatter.dm | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/code/__DEFINES/radiation.dm b/code/__DEFINES/radiation.dm index a13ec73a57c..25ae77cf83d 100644 --- a/code/__DEFINES/radiation.dm +++ b/code/__DEFINES/radiation.dm @@ -54,4 +54,4 @@ Ask ninjanomnom if they're around #define RAD_GEIGER_MEASURE_SMOOTHING 5 #define RAD_GEIGER_GRACE_PERIOD 2 -#define RAD_DAMAGE_MULTIPLIER 10 // This brings pre-refactor rad values in line with the current danger values +#define RAD_DOSAGE_MULTIPLIER 10 // This is used to increase radiation dosage taken during rad_act() calls diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 415635d2906..a7d6b5da25a 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -1005,7 +1005,7 @@ amount -= RAD_BACKGROUND_RADIATION // This will always be at least 1 because of how skin protection is calculated - amount *= RAD_DAMAGE_MULTIPLIER + amount *= RAD_DOSAGE_MULTIPLIER var/blocked = getarmor(null, "rad") diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index 60c6bd2f176..015973e2d52 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -312,7 +312,7 @@ //Hilariously enough, running into a closet should make you get hit the hardest. var/mob/living/carbon/human/H = mob H.hallucination += max(50, min(300, DETONATION_HALLUCINATION * sqrt(1 / (get_dist(mob, src) + 1)))) - var/rads = (DETONATION_RADS * (sqrt(1 / (get_dist(L, src) + 1)) * sqrt(power / 5))) / (RAD_DAMAGE_MULTIPLIER * 0.25) + var/rads = (DETONATION_RADS * (sqrt(1 / (get_dist(L, src) + 1)) * sqrt(power / 5))) / (RAD_DOSAGE_MULTIPLIER * 0.25) L.rad_act(rads) var/turf/T = get_turf(src) @@ -525,7 +525,7 @@ l.hallucination += power * hallucination_power * D l.hallucination = clamp(l.hallucination, 0, 200) for(var/mob/living/l in range(src, round((power / 100) ** 0.25))) - var/rads = ((power / 10) * sqrt( 1 / max(get_dist(l, src), 1) )) / RAD_DAMAGE_MULTIPLIER //RAD_DAMAGE_MULTIPLIER division ensures consistency with other rad sources. + var/rads = ((power / 10) * sqrt( 1 / max(get_dist(l, src), 1) )) / RAD_DOSAGE_MULTIPLIER //RAD_DOSAGE_MULTIPLIER is used so that the SM doesn't absolutely murder you with rads l.rad_act(rads) //Transitions between one function and another, one we use for the fast inital startup, the other is used to prevent errors with fusion temperatures. From 2787fb14dfb64869dd0c656b73fdf04a12c7b84b Mon Sep 17 00:00:00 2001 From: S34NW <12197162+S34NW@users.noreply.github.com> Date: Thu, 10 Jun 2021 10:06:17 +0100 Subject: [PATCH 4/4] Also fixes radiation causing reagents --- code/modules/mob/living/damage_procs.dm | 2 +- code/modules/reagents/chemistry/reagents/toxins.dm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/damage_procs.dm b/code/modules/mob/living/damage_procs.dm index 9bdd3d569ab..c746ed39672 100644 --- a/code/modules/mob/living/damage_procs.dm +++ b/code/modules/mob/living/damage_procs.dm @@ -87,7 +87,7 @@ Paralyse(effect * blocked) if(IRRADIATE) if(!HAS_TRAIT(src, TRAIT_RADIMMUNE)) - radiation += max(effect * blocked, 0) + radiation += max((effect * RAD_DOSAGE_MULTIPLIER) * blocked, 0) if(SLUR) Slur(effect * blocked) if(STUTTER) diff --git a/code/modules/reagents/chemistry/reagents/toxins.dm b/code/modules/reagents/chemistry/reagents/toxins.dm index c286c6a8ae4..856ba4a7293 100644 --- a/code/modules/reagents/chemistry/reagents/toxins.dm +++ b/code/modules/reagents/chemistry/reagents/toxins.dm @@ -159,7 +159,7 @@ taste_description = "the colour blue and regret" /datum/reagent/radium/on_mob_life(mob/living/M) - if(M.radiation < 80) + if(M.radiation < 800) M.apply_effect(4, IRRADIATE) return ..()