public struct DamageEventOne hit, as it passes through the pipeline.
Remarks
A mutable struct passed by ref, because a raid is thousands of these a second and a class per hit is a garbage collection during a boss pull. Every stage reads what the ones before it wrote.
⚠ Random is seeded from EventId and nothing else. The same reason a loot roll is: a crit that cannot be recomputed from a number in the log is a support ticket nobody can answer. It is also why the realm rolls it and the client does not — doc 28 § Authority gives the client hit feedback and never the number.
Fields and properties (16)
public DefId AbilityWhich ability caused it.
public ulong EventIdWhat caused it, as the caller numbers events. The one number it is reproducible from.
public GameplaySubject? SourceWho did it, or null for the world — a fall, a fire, a hazard.
public GameplaySubject TargetWho it happened to.
public GameplayTag SchoolWhat kind of damage — Damage.Fire. One school per hit.
public bool IsHealingWhether this heals rather than harms.
public float ThreatMultiplierHow much threat it makes per point.
public GameplayRandom RandomThe stream every roll in the pipeline comes from.
public float AmountWhat it is worth right now. Every stage before Apply edits this.
public bool IsCriticalWhether it crit.
public float MitigatedHow much mitigation took off.
public float AbsorbedHow much a shield soaked.
public float AppliedHow much actually landed.
public float ThreatHow much threat it made.
public bool KilledWhether it killed the target.
public bool CancelledWhether a rule stopped it. Every later stage is skipped.
Used by (15)
- BaseDamageRuleVixen.Gameplay.Combat
- CancellerVixen.Gameplay.Combat.Tests
- CombatResolverVixen.Gameplay.Combat
- CriticalStrikeRuleVixen.Gameplay.Combat
- DamagePipelineVixen.Gameplay.Combat
- DamagePipelineTestsVixen.Gameplay.Combat.Tests
- DamageRuleTestsVixen.Gameplay.Combat.Tests
- HalverVixen.Gameplay.Combat.Tests
- HealthRuleVixen.Gameplay.Combat
- IDamageRuleVixen.Gameplay.Combat
- NumberedVixen.Gameplay.Combat.Tests
- RecorderVixen.Gameplay.Combat.Tests
- ResistanceRuleVixen.Gameplay.Combat
- ShieldAbsorbRuleVixen.Gameplay.Combat
- ThreatRuleVixen.Gameplay.Combat