From 0a0e94e12e30487f69504eb0e1b8dd21f352d3e7 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Tue, 30 Sep 2014 10:44:56 +0930 Subject: [PATCH] Moved human brainloss to the brain organ. --- .../mob/living/carbon/human/human_damage.dm | 46 ++++++++++++++----- 1 file changed, 35 insertions(+), 11 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human_damage.dm b/code/modules/mob/living/carbon/human/human_damage.dm index 602c00edf62..1fad51fcd90 100644 --- a/code/modules/mob/living/carbon/human/human_damage.dm +++ b/code/modules/mob/living/carbon/human/human_damage.dm @@ -22,21 +22,45 @@ ChangeToHusk() return -/mob/living/carbon/human/getBrainLoss() - var/res = brainloss +/mob/living/carbon/human/adjustBrainLoss(var/amount) + + if(status_flags & GODMODE) return 0 //godmode + if(species && species.has_organ["brain"]) var/datum/organ/internal/brain/sponge = internal_organs_by_name["brain"] - if(!sponge) - res += 200 + if(sponge) + sponge.take_damage(amount) + sponge.damage = min(max(brainloss, 0),(maxHealth*2)) + brainloss = sponge.damage else - if (sponge.is_bruised()) - res += 20 - if (sponge.is_broken()) - res += 50 + brainloss = 200 + else + brainloss = 0 - res = min(res,maxHealth*2) - return res - return 0 +/mob/living/carbon/human/setBrainLoss(var/amount) + + if(status_flags & GODMODE) return 0 //godmode + + if(species && species.has_organ["brain"]) + var/datum/organ/internal/brain/sponge = internal_organs_by_name["brain"] + if(sponge) + sponge.damage = min(max(amount, 0),(maxHealth*2)) + brainloss = sponge.damage + else + brainloss = 200 + else + brainloss = 0 + +/mob/living/carbon/human/getBrainLoss() + + if(status_flags & GODMODE) return 0 //godmode + + if(species && species.has_organ["brain"]) + var/datum/organ/internal/brain/sponge = internal_organs_by_name["brain"] + brainloss = min(sponge.damage,maxHealth*2) + else + brainloss = 0 + return brainloss //These procs fetch a cumulative total damage from all organs /mob/living/carbon/human/getBruteLoss()