diff --git a/code/modules/mob/living/basic/basic_defense.dm b/code/modules/mob/living/basic/basic_defense.dm index 7296561029f..252558b002c 100644 --- a/code/modules/mob/living/basic/basic_defense.dm +++ b/code/modules/mob/living/basic/basic_defense.dm @@ -186,3 +186,15 @@ else set_stat(CONSCIOUS) med_hud_set_status() + +/mob/living/basic/emp_act(severity) + . = ..() + if(mob_biotypes & MOB_ROBOTIC) + switch (severity) + if (EMP_LIGHT) + visible_message(span_danger("[src] shakes violently, its parts coming loose!")) + apply_damage(maxHealth * 0.6) + Shake(5, 5, 1 SECONDS) + if (EMP_HEAVY) + visible_message(span_danger("[src] suddenly bursts apart!")) + apply_damage(maxHealth) diff --git a/code/modules/mob/living/simple_animal/animal_defense.dm b/code/modules/mob/living/simple_animal/animal_defense.dm index 020b2c4773c..b9cc47ea948 100644 --- a/code/modules/mob/living/simple_animal/animal_defense.dm +++ b/code/modules/mob/living/simple_animal/animal_defense.dm @@ -183,3 +183,15 @@ else visual_effect_icon = ATTACK_EFFECT_SMASH ..() + +/mob/living/simple_animal/emp_act(severity) + . = ..() + if(mob_biotypes & MOB_ROBOTIC) + switch (severity) + if (EMP_LIGHT) + visible_message(span_danger("[src] shakes violently, its parts coming loose!")) + apply_damage(maxHealth * 0.6) + Shake(5, 5, 1 SECONDS) + if (EMP_HEAVY) + visible_message(span_danger("[src] suddenly bursts apart!")) + apply_damage(maxHealth)