Class BeamDef

Namespace
TDMaker.Core.Defs
Assembly
TDMaker.Core.dll

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

id string
damage DamageDef
totalDamage int
pulseCount int
interval float
range float
firstDelay float
targets MechanicTargetDef
targetsFlying bool
targetsGround bool
cancelWithSource bool

Fields

MaximumExactBudget

Largest budget exactly representable by single-precision integer packets.

public const int MaximumExactBudget = 16777216

Field Value

int

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

bool

Damage

Damage behavior; endpoints are ignored. Execute, despawn, defense-only and area packets are rejected.

public DamageDef Damage { get; }

Property Value

DamageDef

FirstDelay

Delay before the first pulse; creation still yields at least one fixed tick.

public float FirstDelay { get; }

Property Value

float

Id

Neutral channel/event identity.

public string Id { get; }

Property Value

string

Interval

Seconds between pulses, at most one per fixed tick.

public float Interval { get; }

Property Value

float

PulseCount

Number of pulses. Integer remainder is distributed to earlier pulses; zero slices do not request effects.

public int PulseCount { get; }

Property Value

int

Range

Initial targeting range and ongoing tracking limit, affected by current source range modifiers.

public float Range { get; }

Property Value

float

Targets

Recipient eligibility, rechecked on every pulse.

public MechanicTargetDef Targets { get; }

Property Value

MechanicTargetDef

TargetsFlying

Allows airborne recipients.

public bool TargetsFlying { get; }

Property Value

bool

TargetsGround

Allows ground recipients.

public bool TargetsGround { get; }

Property Value

bool

TotalDamage

Authored integer raw budget before captured source scaling; scaling is rounded up once and capped at MaximumExactBudget.

public int TotalDamage { get; }

Property Value

int