From 3e3cb10a96993b711ea8aeb696f157f40c728e49 Mon Sep 17 00:00:00 2001 From: Pieter-Jan Briers Date: Sun, 28 Jan 2024 00:51:54 +0100 Subject: [PATCH] Make some damage sources not cancel do afters (#24635) - poison chemicals (HealthChange effect) - being on fire - guardians transferring damage to owner --- Content.Server/Atmos/EntitySystems/FlammableSystem.cs | 2 +- Content.Server/Chemistry/ReagentEffects/HealthChange.cs | 6 +++++- Content.Server/Guardian/GuardianSystem.cs | 6 +++++- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/Content.Server/Atmos/EntitySystems/FlammableSystem.cs b/Content.Server/Atmos/EntitySystems/FlammableSystem.cs index c9ecc9c523..cb1cb9bc15 100644 --- a/Content.Server/Atmos/EntitySystems/FlammableSystem.cs +++ b/Content.Server/Atmos/EntitySystems/FlammableSystem.cs @@ -402,7 +402,7 @@ namespace Content.Server.Atmos.EntitySystems if (TryComp(uid, out TemperatureComponent? temp)) _temperatureSystem.ChangeHeat(uid, 12500 * damageScale, false, temp); - _damageableSystem.TryChangeDamage(uid, flammable.Damage * damageScale); + _damageableSystem.TryChangeDamage(uid, flammable.Damage * damageScale, interruptsDoAfters: false); AdjustFireStacks(uid, flammable.FirestackFade * (flammable.Resisting ? 10f : 1f), flammable); } diff --git a/Content.Server/Chemistry/ReagentEffects/HealthChange.cs b/Content.Server/Chemistry/ReagentEffects/HealthChange.cs index a0c976bdc9..2a6181c7f3 100644 --- a/Content.Server/Chemistry/ReagentEffects/HealthChange.cs +++ b/Content.Server/Chemistry/ReagentEffects/HealthChange.cs @@ -115,7 +115,11 @@ namespace Content.Server.Chemistry.ReagentEffects var scale = ScaleByQuantity ? args.Quantity : FixedPoint2.New(1); scale *= args.Scale; - args.EntityManager.System().TryChangeDamage(args.SolutionEntity, Damage * scale, IgnoreResistances); + args.EntityManager.System().TryChangeDamage( + args.SolutionEntity, + Damage * scale, + IgnoreResistances, + interruptsDoAfters: false); } } } diff --git a/Content.Server/Guardian/GuardianSystem.cs b/Content.Server/Guardian/GuardianSystem.cs index 02099b2c7b..627c336a36 100644 --- a/Content.Server/Guardian/GuardianSystem.cs +++ b/Content.Server/Guardian/GuardianSystem.cs @@ -262,7 +262,11 @@ namespace Content.Server.Guardian if (args.DamageDelta == null || component.Host == null || component.DamageShare > 0) return; - _damageSystem.TryChangeDamage(component.Host, args.DamageDelta * component.DamageShare, origin: args.Origin); + _damageSystem.TryChangeDamage( + component.Host, + args.DamageDelta * component.DamageShare, + origin: args.Origin, + interruptsDoAfters: false); _popupSystem.PopupEntity(Loc.GetString("guardian-entity-taking-damage"), component.Host.Value, component.Host.Value); }