Class BeamDef
A tracked single-target channel with an exact integer raw damage budget.
public sealed class BeamDef : IAbilityAction
- Inheritance
-
BeamDef
- Implements
- Inherited Members
Constructors
BeamDef(string, DamageDef, int, int, float, float, float, MechanicTargetDef, bool, bool, bool)
Creates a budget channel. Mitigation, shields and independent on-hit payloads are outside the primary raw budget.
public BeamDef(string id, DamageDef damage, int totalDamage, int pulseCount, float interval, float range, float firstDelay = 0, MechanicTargetDef targets = null, bool targetsFlying = true, bool targetsGround = true, bool cancelWithSource = true)
Parameters
idstringdamageDamageDeftotalDamageintpulseCountintintervalfloatrangefloatfirstDelayfloattargetsMechanicTargetDeftargetsFlyingbooltargetsGroundboolcancelWithSourcebool
Fields
MaximumExactBudget
Largest budget exactly representable by single-precision integer packets.
public const int MaximumExactBudget = 16777216
Field Value
Properties
CancelWithSource
Cancels on source loss, stun, disarm or movement order. False continues from the last available source position.
public bool CancelWithSource { get; }
Property Value
Damage
Damage behavior; endpoints are ignored. Execute, despawn, defense-only and area packets are rejected.
public DamageDef Damage { get; }
Property Value
FirstDelay
Delay before the first pulse; creation still yields at least one fixed tick.
public float FirstDelay { get; }
Property Value
Id
Neutral channel/event identity.
public string Id { get; }
Property Value
Interval
Seconds between pulses, at most one per fixed tick.
public float Interval { get; }
Property Value
PulseCount
Number of pulses. Integer remainder is distributed to earlier pulses; zero slices do not request effects.
public int PulseCount { get; }
Property Value
Range
Initial targeting range and ongoing tracking limit, affected by current source range modifiers.
public float Range { get; }
Property Value
Targets
Recipient eligibility, rechecked on every pulse.
public MechanicTargetDef Targets { get; }
Property Value
TargetsFlying
Allows airborne recipients.
public bool TargetsFlying { get; }
Property Value
TargetsGround
Allows ground recipients.
public bool TargetsGround { get; }
Property Value
TotalDamage
Authored integer raw budget before captured source scaling; scaling is rounded up once and capped at MaximumExactBudget.
public int TotalDamage { get; }