From 77ed7b6d68767a025d50fbf1ecdf9414e80e65ed Mon Sep 17 00:00:00 2001 From: Markolie Date: Tue, 25 Aug 2015 19:18:19 +0200 Subject: [PATCH] Brainloss fix --- .../mob/living/carbon/human/human_damage.dm | 1 - code/modules/organs/organ.dm | 16 +++++++++------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human_damage.dm b/code/modules/mob/living/carbon/human/human_damage.dm index d0969503796..63f9461e06b 100644 --- a/code/modules/mob/living/carbon/human/human_damage.dm +++ b/code/modules/mob/living/carbon/human/human_damage.dm @@ -38,7 +38,6 @@ var/obj/item/organ/brain/sponge = internal_organs_by_name["brain"] if(sponge) sponge.take_damage(amount) - sponge.damage = min(max(sponge.damage, 0),(maxHealth*2)) brainloss = sponge.damage else brainloss = 200 diff --git a/code/modules/organs/organ.dm b/code/modules/organs/organ.dm index 01b95c09ddf..7dff264aa53 100644 --- a/code/modules/organs/organ.dm +++ b/code/modules/organs/organ.dm @@ -178,16 +178,18 @@ var/list/organ_cache = list() W.damage += damage W.time_inflicted = world.time +//Note: external organs have their own version of this proc /obj/item/organ/proc/take_damage(amount, var/silent=0) - if(src.robotic == 2) - src.damage += (amount * 0.8) + if(src.status & ORGAN_ROBOT) + src.damage = between(0, src.damage + (amount * 0.8), max_damage) else - src.damage += amount + src.damage = between(0, src.damage + amount, max_damage) - if(owner && parent_organ) - var/obj/item/organ/external/parent = owner.get_organ(parent_organ) - if(parent && !silent) - owner.custom_pain("Something inside your [parent.name] hurts a lot.", 1) + //only show this if the organ is not robotic + if(owner && parent_organ && amount > 0) + var/obj/item/organ/external/parent = owner.get_organ(parent_organ) + if(parent && !silent) + owner.custom_pain("Something inside your [parent.name] hurts a lot.", 1) /obj/item/organ/proc/robotize() //Being used to make robutt hearts, etc robotic = 2