using Content.Shared.Damage.Components; using Content.Shared.Damage; namespace Content.Shared._Offbrand.Wounds; public sealed class IntrinsicPainSystem : EntitySystem { public override void Initialize() { base.Initialize(); SubscribeLocalEvent(OnGetPain); } private void OnGetPain(Entity ent, ref GetPainEvent args) { var damageable = Comp(ent); foreach (var (type, coefficient) in ent.Comp.PainCoefficients) { if (damageable.Damage.DamageDict.TryGetValue(type, out var damage)) { args.Pain += coefficient * damage; } } } }