From c0c7597c7631fe24867c82cc4e171ff4536484fb Mon Sep 17 00:00:00 2001 From: Arturlang Date: Tue, 25 Jun 2019 12:39:30 +0300 Subject: [PATCH] Fixes trauma healing nanites. --- .../nanites/nanite_programs/healing.dm | 24 +++++++++++++------ 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/code/modules/research/nanites/nanite_programs/healing.dm b/code/modules/research/nanites/nanite_programs/healing.dm index ab314cb33c..62ee6f3d71 100644 --- a/code/modules/research/nanites/nanite_programs/healing.dm +++ b/code/modules/research/nanites/nanite_programs/healing.dm @@ -70,9 +70,14 @@ rogue_types = list(/datum/nanite_program/brain_decay) /datum/nanite_program/brain_heal/check_conditions() - if(!host_mob.getBrainLoss()) - return FALSE - return ..() + var/problems = FALSE + if(iscarbon(host_mob)) + var/mob/living/carbon/C = host_mob + if(length(C.get_traumas())) + problems = TRUE + if(host_mob.getBrainLoss()) + problems = TRUE + return problems ? ..() : FALSE /datum/nanite_program/brain_heal/active_effect() host_mob.adjustBrainLoss(-1, TRUE) @@ -187,10 +192,15 @@ rogue_types = list(/datum/nanite_program/brain_decay, /datum/nanite_program/brain_misfire) /datum/nanite_program/brain_heal_advanced/check_conditions() - if(!host_mob.getBrainLoss()) - return FALSE - return ..() - + var/problems = FALSE + if(iscarbon(host_mob)) + var/mob/living/carbon/C = host_mob + if(length(C.get_traumas())) + problems = TRUE + if(host_mob.getBrainLoss()) + problems = TRUE + return problems ? ..() : FALSE + /datum/nanite_program/brain_heal_advanced/active_effect() host_mob.adjustBrainLoss(-2, TRUE) if(iscarbon(host_mob) && prob(10))