Files
tbd-station-14/Content.Shared/_Offbrand/Wounds/IntrinsicPainSystem.cs
Janet Blackquill 5fa17e22a1 De-MPL Offbrand
2025-09-27 22:43:24 -04:00

27 lines
696 B
C#

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;
}
}
}
}