From 5dc49567ec001ed2f6bd93252b85dbb0bfb6b4c9 Mon Sep 17 00:00:00 2001
From: ATH1909 <42606352+ATH1909@users.noreply.github.com>
Date: Thu, 4 Mar 2021 15:12:20 -0600
Subject: [PATCH] patches out a radioactive microlaser tech, makes radioactive
microlasers not knock out rad-immune creatures (#57380)
---
code/game/objects/items/devices/traitordevices.dm | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/code/game/objects/items/devices/traitordevices.dm b/code/game/objects/items/devices/traitordevices.dm
index ff9c93557ad..3aa7da36d54 100644
--- a/code/game/objects/items/devices/traitordevices.dm
+++ b/code/game/objects/items/devices/traitordevices.dm
@@ -69,7 +69,6 @@ effective or pretty fucking useless.
*/
/obj/item/healthanalyzer/rad_laser
- custom_materials = list(/datum/material/iron=400)
var/irradiate = TRUE
var/stealth = FALSE
var/used = FALSE // is it cooling down?
@@ -89,16 +88,16 @@ effective or pretty fucking useless.
addtimer(VARSET_CALLBACK(src, used, FALSE), cooldown)
addtimer(VARSET_CALLBACK(src, icon_state, "health"), cooldown)
to_chat(user, "Successfully irradiated [M].")
- addtimer(CALLBACK(src, .proc/radiation_aftereffect, M), (wavelength+(intensity*4))*5)
+ addtimer(CALLBACK(src, .proc/radiation_aftereffect, M, intensity), (wavelength+(intensity*4))*5)
else
to_chat(user, "The radioactive microlaser is still recharging.")
-/obj/item/healthanalyzer/rad_laser/proc/radiation_aftereffect(mob/living/M)
- if(QDELETED(M))
+/obj/item/healthanalyzer/rad_laser/proc/radiation_aftereffect(mob/living/M, passed_intensity)
+ if(QDELETED(M) || !ishuman(M) || HAS_TRAIT(M, TRAIT_RADIMMUNE))
return
- if(intensity >= 5)
- M.apply_effect(round(intensity/0.075), EFFECT_UNCONSCIOUS)
- M.rad_act(intensity*10)
+ if(passed_intensity >= 5)
+ M.apply_effect(round(passed_intensity/0.075), EFFECT_UNCONSCIOUS) //to save you some math, this is a round(intensity * (4/3)) second long knockout
+ M.rad_act(passed_intensity*10)
/obj/item/healthanalyzer/rad_laser/proc/get_cooldown()
return round(max(10, (stealth*30 + intensity*5 - wavelength/4)))