From 8416cd976f1eceac1aeb3aa1edad289d6abc8536 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sat, 9 Jan 2016 12:11:12 +1030 Subject: [PATCH] More thorough fix for FBP immortality. --- code/modules/mob/living/carbon/human/human_damage.dm | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human_damage.dm b/code/modules/mob/living/carbon/human/human_damage.dm index 2feecc18846..53d62dbea0e 100644 --- a/code/modules/mob/living/carbon/human/human_damage.dm +++ b/code/modules/mob/living/carbon/human/human_damage.dm @@ -5,6 +5,7 @@ health = maxHealth stat = CONSCIOUS return + var/total_burn = 0 var/total_brute = 0 for(var/obj/item/organ/external/O in organs) //hardcoded to streamline things a bit @@ -13,11 +14,7 @@ total_brute += O.brute_dam total_burn += O.burn_dam - var/oxy_l = getOxyLoss() - var/tox_l = ((species.flags & NO_POISON) ? 0 : getToxLoss()) - var/clone_l = getCloneLoss() - - health = maxHealth - oxy_l - tox_l - clone_l - total_burn - total_brute + health = maxHealth - getOxyLoss() - getToxLoss() - getCloneLoss() - total_burn - total_brute //TODO: fix husking if( ((maxHealth - total_burn) < config.health_threshold_dead) && stat == DEAD) @@ -70,7 +67,7 @@ /mob/living/carbon/human/getBruteLoss() var/amount = 0 for(var/obj/item/organ/external/O in organs) - if(O.status & ORGAN_ROBOT) + if((O.status & ORGAN_ROBOT) && !O.vital) continue //robot limbs don't count towards shock and crit amount += O.brute_dam return amount @@ -78,7 +75,7 @@ /mob/living/carbon/human/getFireLoss() var/amount = 0 for(var/obj/item/organ/external/O in organs) - if(O.status & ORGAN_ROBOT) + if((O.status & ORGAN_ROBOT) && !O.vital) continue //robot limbs don't count towards shock and crit amount += O.burn_dam return amount