diff --git a/Content.Server/Anomaly/Effects/InnerBodyAnomalySystem.cs b/Content.Server/Anomaly/Effects/InnerBodyAnomalySystem.cs index 601463b62d2..f69e68e66ce 100644 --- a/Content.Server/Anomaly/Effects/InnerBodyAnomalySystem.cs +++ b/Content.Server/Anomaly/Effects/InnerBodyAnomalySystem.cs @@ -17,6 +17,8 @@ using Robust.Shared.Physics.Events; using Robust.Shared.Prototypes; using Robust.Server.GameObjects; // Frontier +using Content.Shared.Damage; // Mono +using Content.Shared.Damage.Prototypes; // Mono namespace Content.Server.Anomaly.Effects; @@ -35,9 +37,29 @@ public sealed class InnerBodyAnomalySystem : SharedInnerBodyAnomalySystem [Dependency] private readonly StunSystem _stun = default!; [Dependency] private readonly TransformSystem _transform = default!; // Frontier [Dependency] private readonly SharedAnomalyCoreSystem _anomalyCore = default!; // Frontier + [Dependency] DamageableSystem _damageable = default!; // Mono private readonly Color _messageColor = Color.FromSrgb(new Color(201, 22, 94)); + private readonly DamageSpecifier _superCriticalDamage = new() // Mono + { + DamageDict = new() + { + { "Radiation", 250 }, + { "Caustic", 300 }, + { "Heat", 100 }, + } + }; + + private readonly DamageSpecifier _superCriticalGeneticDamage = new() // Mono + { + DamageDict = new() + { + { "Cellular", 50 }, + } + }; + + public override void Initialize() { base.Initialize(); @@ -135,7 +157,10 @@ private void OnAnomalySupercritical(Entity ent, ref A if (!TryComp(ent, out var body)) return; - _body.GibBody(ent, true, body, splatModifier: 5f); + //_body.GibBody(ent, true, body, splatModifier: 5f); + + _damageable.TryChangeDamage(ent, _superCriticalDamage, true); + _damageable.TryChangeDamage(ent, _superCriticalGeneticDamage, false); // to ensure we don't deal genetic damage to IPCs } private void OnSeverityChanged(Entity ent, ref AnomalySeverityChangedEvent args)