From 7d4c3235dc24d2775b01bc3da09bb7e2a1898dee Mon Sep 17 00:00:00 2001 From: mwerezak Date: Tue, 26 May 2015 23:34:00 -0400 Subject: [PATCH] Fixes #9460 --- code/modules/mob/living/carbon/human/human_damage.dm | 2 +- code/modules/organs/organ_external.dm | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human_damage.dm b/code/modules/mob/living/carbon/human/human_damage.dm index 04ca892225..530daea57c 100644 --- a/code/modules/mob/living/carbon/human/human_damage.dm +++ b/code/modules/mob/living/carbon/human/human_damage.dm @@ -236,7 +236,7 @@ /mob/living/carbon/human/proc/get_damageable_organs() var/list/obj/item/organ/external/parts = list() for(var/obj/item/organ/external/O in organs) - if(O.brute_dam + O.burn_dam < O.max_damage) + if(O.is_damageable()) parts += O return parts diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index a539f5f421..6ad272af5f 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -138,6 +138,9 @@ DAMAGE PROCS ****************************************************/ +/obj/item/organ/external/proc/is_damageable(var/additional_damage = 0) + return (vital || brute_dam + burn_dam + additional_damage < max_damage) + /obj/item/organ/external/take_damage(brute, burn, sharp, edge, used_weapon = null, list/forbidden_limbs = list()) if((brute <= 0) && (burn <= 0)) return 0 @@ -177,7 +180,7 @@ // If the limbs can break, make sure we don't exceed the maximum damage a limb can take before breaking // Non-vital organs are limited to max_damage. You can't kill someone by bludeonging their arm all the way to 200 -- you can // push them faster into paincrit though, as the additional damage is converted into shock. - if(vital || (brute_dam + burn_dam + brute + burn) < max_damage || !config.limbs_can_break) + if(is_damageable(brute + burn) || !config.limbs_can_break) if(brute) if(can_cut) createwound( CUT, brute )