POLARIS: Heal robolimbs when you heal everything

Typically only used in magic and stuff, makes sense to heal both (otherwise there's no way to heal whole FBP bodies)
This commit is contained in:
Arokha Sieyes
2018-03-25 17:15:11 -04:00
parent 7cac2052b5
commit 9012958724
2 changed files with 13 additions and 8 deletions
@@ -108,7 +108,8 @@
amount += O.burn_dam
return amount
/mob/living/carbon/human/adjustBruteLoss(var/amount)
//'include_robo' only applies to healing, for legacy purposes, as all damage typically hurts both types of organs
/mob/living/carbon/human/adjustBruteLoss(var/amount,var/include_robo)
amount = amount*species.brute_mod
if(amount > 0)
for(var/datum/modifier/M in modifiers)
@@ -121,10 +122,11 @@
for(var/datum/modifier/M in modifiers)
if(!isnull(M.incoming_healing_percent))
amount *= M.incoming_healing_percent
heal_overall_damage(-amount, 0)
heal_overall_damage(-amount, 0, include_robo)
BITSET(hud_updateflag, HEALTH_HUD)
/mob/living/carbon/human/adjustFireLoss(var/amount)
//'include_robo' only applies to healing, for legacy purposes, as all damage typically hurts both types of organs
/mob/living/carbon/human/adjustFireLoss(var/amount,var/include_robo)
amount = amount*species.burn_mod
if(amount > 0)
for(var/datum/modifier/M in modifiers)
@@ -137,7 +139,7 @@
for(var/datum/modifier/M in modifiers)
if(!isnull(M.incoming_healing_percent))
amount *= M.incoming_healing_percent
heal_overall_damage(0, -amount)
heal_overall_damage(0, -amount, include_robo)
BITSET(hud_updateflag, HEALTH_HUD)
/mob/living/carbon/human/proc/adjustBruteLossByPart(var/amount, var/organ_name, var/obj/damage_source = null)
@@ -348,7 +350,8 @@ In most cases it makes more sense to use apply_damage() instead! And make sure t
//Heal MANY external organs, in random order
/mob/living/carbon/human/heal_overall_damage(var/brute, var/burn)
//'include_robo' only applies to healing, for legacy purposes, as all damage typically hurts both types of organs
/mob/living/carbon/human/heal_overall_damage(var/brute, var/burn, var/include_robo)
var/list/obj/item/organ/external/parts = get_damaged_organs(brute,burn)
var/update = 0
@@ -358,7 +361,7 @@ In most cases it makes more sense to use apply_damage() instead! And make sure t
var/brute_was = picked.brute_dam
var/burn_was = picked.burn_dam
update |= picked.heal_damage(brute,burn)
update |= picked.heal_damage(brute,burn,robo_repair = include_robo)
brute -= (brute_was-picked.brute_dam)
burn -= (burn_was-picked.burn_dam)
+4 -2
View File
@@ -254,7 +254,8 @@ default behaviour is:
/mob/living/proc/getActualBruteLoss() // Mostly for humans with robolimbs.
return getBruteLoss()
/mob/living/proc/adjustBruteLoss(var/amount)
//'include_robo' only applies to healing, for legacy purposes, as all damage typically hurts both types of organs
/mob/living/proc/adjustBruteLoss(var/amount,var/include_robo)
if(status_flags & GODMODE) return 0 //godmode
if(amount > 0)
@@ -328,7 +329,8 @@ default behaviour is:
/mob/living/proc/getActualFireLoss() // Mostly for humans with robolimbs.
return getFireLoss()
/mob/living/proc/adjustFireLoss(var/amount)
//'include_robo' only applies to healing, for legacy purposes, as all damage typically hurts both types of organs
/mob/living/proc/adjustFireLoss(var/amount,var/include_robo)
if(status_flags & GODMODE) return 0 //godmode
if(amount > 0)
for(var/datum/modifier/M in modifiers)