Files
tbd-station-14/Content.Shared/_Offbrand/Wounds/IntrinsicPainSystem.cs
Janet Blackquill d1d939a898 rebase
2025-11-21 00:32:28 -05:00

28 lines
736 B
C#

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<IntrinsicPainComponent, GetPainEvent>(OnGetPain);
}
private void OnGetPain(Entity<IntrinsicPainComponent> ent, ref GetPainEvent args)
{
var damageable = Comp<DamageableComponent>(ent);
foreach (var (type, coefficient) in ent.Comp.PainCoefficients)
{
if (damageable.Damage.DamageDict.TryGetValue(type, out var damage))
{
args.Pain += coefficient * damage;
}
}
}
}