Fixes EMP double damage (#19552)

This commit is contained in:
Cameron Lennox
2026-06-30 13:58:38 -04:00
committed by GitHub
parent c14c026e6a
commit a678ec3390
2 changed files with 16 additions and 28 deletions
+16 -5
View File
@@ -425,16 +425,27 @@
if(!(robotic >= ORGAN_ASSISTED))
return
var/damage_to_take
for(var/i = 1; i <= robotic; i++)
switch (severity)
if (EMP_HEAVY)
take_damage(rand(5,9))
damage_to_take += rand(5,9)
if (EMP_MEDIUM)
take_damage(rand(3,7))
damage_to_take += rand(3,7)
if (EMP_LIGHT)
take_damage(rand(2,5))
if (EMP_HARMLESS)
take_damage(rand(1,3))
damage_to_take += rand(2,5)
if (EMP_HARMLESS) //harmless, you say?
damage_to_take += rand(1,3)
if(damage_to_take)
if(isorgan(src))
var/obj/item/organ/external/limb_to_take_damage = src
//Randomly split the damage up between brute and burn.
var/burn_to_take = rand(0, damage_to_take)
damage_to_take -= burn_to_take
limb_to_take_damage.take_damage(damage_to_take, burn_to_take)
return
take_damage(damage_to_take)
/obj/item/organ/proc/removed(mob/living/user)
if(owner)
-23
View File
@@ -129,29 +129,6 @@
return ..()
/obj/item/organ/external/emp_act(severity, recursive)
. = ..()
if (. & EMP_PROTECT_SELF)
return
for(var/obj/O as anything in src.contents)
O.emp_act(severity, recursive)
if(!(robotic >= ORGAN_ROBOT))
return
var/burn_damage = 0
switch (severity)
if (1)
burn_damage += rand(5, 8)
if (2)
burn_damage += rand(4, 6)
if(3)
burn_damage += rand(2, 5)
if(4)
burn_damage += rand(1, 3)
if(burn_damage)
take_damage(0, burn_damage)
/obj/item/organ/external/attack_self(mob/living/user)
. = ..(user)
if(.)