From 45e93458f2e57f2ecba46e4ac3612e0716a01781 Mon Sep 17 00:00:00 2001 From: Ccomp5950 Date: Thu, 20 Mar 2014 20:31:33 -0500 Subject: [PATCH] Rejuvination verb fix for IPC's limbs don't suddenly become organic. Conflicts: code/modules/mob/living/carbon/human/human_damage.dm --- .../mob/living/carbon/human/human_damage.dm | 16 ++++++++++++++++ code/modules/organs/organ_external.dm | 5 ++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/human/human_damage.dm b/code/modules/mob/living/carbon/human/human_damage.dm index 8cdb3c82872..06a63c7672c 100644 --- a/code/modules/mob/living/carbon/human/human_damage.dm +++ b/code/modules/mob/living/carbon/human/human_damage.dm @@ -190,6 +190,22 @@ //////////////////////////////////////////// +/* +This function restores the subjects blood to max. +*/ +/mob/living/carbon/human/proc/restore_blood() + if(!species.flags & NO_BLOOD) + var/blood_volume = vessel.get_reagent_amount("blood") + vessel.add_reagent("blood",560.0-blood_volume) + + +/* +This function restores all organs. +*/ +/mob/living/carbon/human/restore_all_organs() + for(var/datum/organ/external/current_organ in organs) + current_organ.rejuvenate() + /mob/living/carbon/human/proc/HealDamage(zone, brute, burn) var/datum/organ/external/E = get_organ(zone) if(istype(E, /datum/organ/external)) diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index 7a081db7472..048d1af6583 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -198,7 +198,10 @@ This function completely restores a damaged organ to perfect condition. */ /datum/organ/external/proc/rejuvenate() damage_state = "00" - status = 0 + if(status & 128) //Robotic organs stay robotic. Fix because right click rejuvinate makes IPC's organs organic. + status = 128 + else + status = 0 perma_injury = 0 brute_dam = 0 burn_dam = 0