diff --git a/code/modules/mob/living/silicon/robot/component.dm b/code/modules/mob/living/silicon/robot/component.dm index 1d10956582e..223a1c547eb 100644 --- a/code/modules/mob/living/silicon/robot/component.dm +++ b/code/modules/mob/living/silicon/robot/component.dm @@ -50,7 +50,7 @@ electronics_damage = max(0, electronics_damage - electronics) /datum/robot_component/proc/is_powered() - return installed == 1 && (!energy_consumption || powered) + return (installed == 1) && (brute_damage + electronics_damage < max_damage) && (!energy_consumption || powered) /datum/robot_component/proc/consume_power() diff --git a/code/modules/mob/living/silicon/robot/robot_damage.dm b/code/modules/mob/living/silicon/robot/robot_damage.dm index e5783877afd..710a2598c9c 100644 --- a/code/modules/mob/living/silicon/robot/robot_damage.dm +++ b/code/modules/mob/living/silicon/robot/robot_damage.dm @@ -56,7 +56,7 @@ /mob/living/silicon/robot/take_organ_damage(var/brute = 0, var/burn = 0, var/sharp = 0) var/list/components = get_damageable_components() - if(components.len) + if(!components.len) return //Combat shielding absorbs a percentage of damage directly into the cell.