diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index 73b31817eea..1001405ecf1 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -328,8 +328,9 @@ for(var/datum/wound/W in wounds) // wounds can disappear after 10 minutes at the earliest - if(W.damage == 0 && W.created + 10 * 10 * 60 <= world.time) + if(W.damage <= 0 && W.created + 10 * 10 * 60 <= world.time) wounds -= W + continue // let the GC handle the deletion of the wound // Internal wounds get worse over time. Low temperatures (cryo) stop them. @@ -340,6 +341,10 @@ if(prob(1 * wound_update_accuracy)) owner.custom_pain("You feel a stabbing pain in your [display_name]!",1) + //overdose of bicaridine begins healing IB + if(owner.reagents.get_reagent_amount("bicaridine") >= 30) + W.damage = max(0, W.damage - 0.2) + // slow healing var/heal_amt = 0 if (W.damage < 15) //this thing's edges are not in day's travel of each other, what healing? @@ -397,7 +402,10 @@ var/n_is = damage_state_text() if (n_is != damage_state) damage_state = n_is - owner.update_body(1) + if(status & ORGAN_DESTROYED) + owner.update_body(1) + else + owner.UpdateDamageIcon(1) return 1 return 0