using Content.Shared.Damage.Prototypes; using Content.Shared.FixedPoint; using Robust.Shared.GameStates; using Robust.Shared.Prototypes; using Robust.Shared.Serialization; namespace Content.Shared._Offbrand.Wounds; [RegisterComponent, NetworkedComponent] [Access(typeof(HeartDamageOnDamageSystem))] public sealed partial class HeartDamageOnDamageComponent : Component { [DataField(required: true)] public List Thresholds; } [DataDefinition, Serializable, NetSerializable] public sealed partial class OrganDamageThresholdSpecifier { /// /// The damage type this unique wound happens to /// [DataField(required: true)] public HashSet> DamageTypes; /// /// The minimum overall damage of the DamageTypes required to apply organ damage /// [DataField(required: true)] public FixedPoint2 MinimumTotalDamage; /// /// The factor for converting incoming damage into organ damage /// [DataField(required: true)] public double ConversionFactor; }