* adding a 'rejuvinate' function to organs that fixes all types of damage

* adding a 'restore_all_organs' function to living creatures
* adding a 'restore_blood_loss' function to humans
* fixing changeling stasis power to heal organ and blood damage
* fixing adming rejuvinate verb to fix organ and blood damage
This commit is contained in:
jack-fractal
2013-10-11 12:39:54 -04:00
parent 973dc25fda
commit 32c3f27675
6 changed files with 1104 additions and 989 deletions

View File

@@ -174,6 +174,21 @@
////////////////////////////////////////////
/*
This function restores the subjects blood to max.
*/
/mob/living/carbon/human/proc/restore_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))

View File

@@ -246,6 +246,9 @@
adjustFireLoss(burn)
src.updatehealth()
/mob/living/proc/restore_all_organs()
return
/mob/living/proc/revive()
setToxLoss(0)
setOxyLoss(0)
@@ -270,8 +273,15 @@
if(iscarbon(src))
var/mob/living/carbon/C = src
C.handcuffed = initial(C.handcuffed)
// restore all of the human's blood
if(ishuman(src))
var/mob/living/carbon/human/human_mob = src
human_mob.restore_blood()
for(var/datum/disease/D in viruses)
D.cure(0)
restore_all_organs()
if(stat == 2)
dead_mob_list -= src
living_mob_list += src