From b262fa48ce13b56c9eb71ec22cbe3f6db5012fba Mon Sep 17 00:00:00 2001 From: SkyratBot <59378654+SkyratBot@users.noreply.github.com> Date: Tue, 18 Jul 2023 22:52:09 +0200 Subject: [PATCH] [MIRROR] Fix organ damage being uncapped [MDB IGNORE] (#22161) * Fix organ damage being uncapped * Update damage_procs.dm --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> Co-authored-by: Bloop --- code/modules/mob/living/carbon/damage_procs.dm | 2 +- code/modules/surgery/organs/_organ.dm | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/damage_procs.dm b/code/modules/mob/living/carbon/damage_procs.dm index 2c14cc678e7..98827ae3ce3 100644 --- a/code/modules/mob/living/carbon/damage_procs.dm +++ b/code/modules/mob/living/carbon/damage_procs.dm @@ -116,7 +116,7 @@ * * maximum - currently an arbitrarily large number, can be set so as to limit damage * * required_organ_flag - targets only a specific organ type if set to ORGAN_ORGANIC or ORGAN_ROBOTIC */ -/mob/living/carbon/adjustOrganLoss(slot, amount, maximum = INFINITY, required_organ_flag = NONE) +/mob/living/carbon/adjustOrganLoss(slot, amount, maximum, required_organ_flag = NONE) var/obj/item/organ/affected_organ = get_organ_slot(slot) if(!affected_organ || (status_flags & GODMODE)) return diff --git a/code/modules/surgery/organs/_organ.dm b/code/modules/surgery/organs/_organ.dm index 1cdbc3ba5a9..d587ca08c54 100644 --- a/code/modules/surgery/organs/_organ.dm +++ b/code/modules/surgery/organs/_organ.dm @@ -240,6 +240,7 @@ INITIALIZE_IMMEDIATE(/obj/item/organ) /obj/item/organ/proc/apply_organ_damage(damage_amount, maximum = maxHealth, required_organ_flag = NONE) //use for damaging effects if(!damage_amount) //Micro-optimization. return + maximum = clamp(maximum, 0, maxHealth) // the logical max is, our max if(maximum < damage) return if(required_organ_flag && !(organ_flags & required_organ_flag))