From 276d47d89a877a003ff5f28e73df63b0f78fe339 Mon Sep 17 00:00:00 2001 From: Sir Warock <67167466+SirWarock@users.noreply.github.com> Date: Fri, 3 Oct 2025 06:52:41 +0200 Subject: [PATCH] Make Surgery dependant on Part Damage (#4307) * Make Surgery dependant on Part Damage * Comments * Fix things --- .../_Shitmed/Surgery/SharedSurgerySystem.Steps.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Content.Shared/_Shitmed/Surgery/SharedSurgerySystem.Steps.cs b/Content.Shared/_Shitmed/Surgery/SharedSurgerySystem.Steps.cs index 42300adfc3..4062b47760 100644 --- a/Content.Shared/_Shitmed/Surgery/SharedSurgerySystem.Steps.cs +++ b/Content.Shared/_Shitmed/Surgery/SharedSurgerySystem.Steps.cs @@ -348,16 +348,17 @@ public abstract partial class SharedSurgerySystem { var group = ent.Comp.MainGroup == "Brute" ? BruteDamageTypes : BurnDamageTypes; - if (!HasDamageGroup(args.Body, group, out var damageable) - && !HasDamageGroup(args.Part, group, out var _) + if (!HasDamageGroup(args.Part, group, out var damageable) // DeltaV - Surgery Healing Depends on Limbs. + && !HasDamageGroup(args.Body, group, out var _) || damageable == null) // This shouldnt be possible but the compiler doesn't shut up. return; // Right now the bonus is based off the body's total damage, maybe we could make it based off each part in the future. + // We did make it based of each part, the future is here - DeltaV var bonus = ent.Comp.HealMultiplier * damageable.DamagePerGroup[ent.Comp.MainGroup]; if (_mobState.IsDead(args.Body)) - bonus *= 0.2; + bonus *= 0.1; // DeltaV - Surgery Healing Depends on Limbs. var adjustedDamage = new DamageSpecifier(ent.Comp.Damage); @@ -372,8 +373,7 @@ public abstract partial class SharedSurgerySystem { var group = ent.Comp.MainGroup == "Brute" ? BruteDamageTypes : BurnDamageTypes; - if (HasDamageGroup(args.Body, group, out var _) - || HasDamageGroup(args.Part, group, out var _)) + if (HasDamageGroup(args.Part, group, out var _)) // DeltaV - Surgery Healing Depends on Limbs. args.Cancelled = true; }