Namespace TDMaker.Core.Defs

Classes

AbilityActionDef

A generic timed action channel; payloads can be combined.

AbilityDef

A purchasable ability slot with optional executable rank payloads.

AbilityExecutionDef

Executable payloads for each purchase rank.

AbilityRankDef

Complete payload of one purchased rank; rank payloads replace earlier rank payloads.

AreaEffectDef

A timed region repeatedly requesting attached effects from current occupants.

AreaPulseDef

Direct periodic region payload; recipients are rescanned each pulse, with no lingering damage after exit.

ArmorDef

Fractional physical and magical damage reductions.

AttackCycleDef

Release offsets measured from attack start; the repeat cooldown starts at that same mark.

AuraDef

An optional region emitter slot.

BarracksDef

Soldier population and rally settings.

BeamDef

A tracked single-target channel with an exact integer raw damage budget.

BountyDef

Rewards and exit penalties for an enemy.

BuildSlotDef

A location at which a tower may be built.

ChainAttackDef

One attack whose successive links visit distinct opposing units; state is held in a fixed simulation pool.

CombatModifierDef

Additional reversible combat state, suitable for support, concealment, dash and tower-disabling effects.

CompanionDef

Persistent owner-bound slots, attached through EntityTemplate.WithCustomData.

DamageDef

Immutable damage roll and optional impact area.

DamageOptions

Immutable damage extensions, including on-hit effects and experience credit.

DeploymentPlanDef

Automatic path-node production plan. Reservation and placement are atomic; failure never installs a fallback.

EntityRulesDef

Optional behavior slots; generic actions also extend enemy behavior without named unit subclasses.

EntityTemplate

An immutable template with nullable definition slots; null inherits its parent's slot.

FlyingDef

Flying component marker.

HealingDef

A health restoration formula independent of damage mitigation.

HealthDef

Immutable maximum health.

HeroDef

An independent hero behavior slot.

HeroLevelDef

A full hero growth row; null component values retain the original template's values.

HeroProfileDef

Hero progression, movement, and resurrection settings.

HeroSkillDef

Hero skill ranks with explicit level requirements and point costs.

ImpactPayloadDef

Optional payload after a resolved health packet. Despawn and defense-only packets do not trigger it. One roll gates all operations.

LevelDef

Immutable simulation inputs baked by an authoring layer.

LevelRulesDef

Level-wide economy and M2 authoring data.

LifeStealDef

Healing after positive actual health loss by this damage definition; shields and reflected packets do not qualify.

MechanicTargetDef

Additional eligibility for mechanic actions; never replaces lifecycle or faction checks.

MeleeDef

Immutable melee attack settings.

MeleeEngagementDef

Immutable template-data slot for world-axis contact geometry, independent of attack/search range.

MotionDef

Immutable movement speed.

MultiTargetAttackDef

One activation hits multiple distinct opponents in priority order, optionally reserving a total victim-health budget.

PathDef

A path consisting of lanes with matching node counts.

PathDestinationDef

A validated-at-use authored path destination.

PathDisplacementDef

Moves a living enemy along its current authored path and lane; never teleports off path geometry.

PathFollowDef

Path-following configuration.

PathTransferDef

Moves nearby path-following enemies to a destination, without requiring a damage hit.

PeriodicDamageDef

A periodic hit using inclusive uniform integer rolls.

PeriodicHealingDef

Periodic healing on an attached effect; refreshing lifetime does not reset cadence or replay the first heal.

PointRuleDef

Reusable finite-coordinate, bounds, path, and optional terrain checks.

ProjectileDef

Immutable projectile travel data.

ProjectileOptions

Prediction and target loss behavior for flight entities.

RaiseRemainsDef

Deterministic closest-then-body-Id reservation followed by delayed, atomic consumption.

RangedAttackDef

An independently timed ranged attack.

RangedDef

A read-only collection of ranged attack channels.

RecoveryDef

Recovery values; timers pause while the actor is ineligible.

ReflectionDef

One-bounce reflection from actual health loss, not raw input or shield absorption.

RenderDef

Optional engine-independent view lookup data.

ReviveDef

Finite same-identity recovery, independent of death-successor production and ordinary hero respawning.

ShieldDef

A finite damage shield, stored separately for each accepted effect binding.

SoldierDef

Soldier interception settings.

SpawnEntryDef

A timed sequence of identical enemies.

SpellDef

An authored spell combining support units, strikes, traps, and optional residual fields.

StatModifierDef

Immutable reversible stat changes, recomputed from base values in attachment order.

StatusEffectDef

Definition-key based attachment, conflict, and lifetime rules.

StatusImmunityDef

Status immunity tags matching effect identities or families.

StrikeSequenceDef

Individually timed and scattered impacts for a single cast.

SummonDef

A summon sequence that can be used by spells, abilities, and death emissions.

TargetTraitsDef

Target and immunity traits, distinct from damage mitigation.

TemplateData

Small immutable type-keyed definition array. Treat stored objects as immutable configuration.

TemplateRegistry

Resolves inheritance once and exposes immutable resolved templates.

TowerDef

Economy, branching upgrades, and ability slots for a tower.

TrapDef

A fixed-position deployment with separate arming, detection, trigger count and lifetime.

UpgradeEffectDef

An immutable numeric patch, behavior attachment, or nested template-reference substitution.

UpgradeSnapshot

Immutable battle input. Tracks apply in authored order, then stages 1..rank, then authored effect order.

UpgradeStageDef

One purchased stage; effects retain authored order.

UpgradeTargetDef

AND between supplied filters; IDs and roles are OR within their respective filters. Tags require every selected bit.

UpgradeTrackDef

One independent contiguous purchase track.

VictoryRatingDef

Immutable three-tier victory rating using the remaining/starting life ratio, with inclusive thresholds.

WaveDef

A wave whose call timing starts after the preceding wave finishes all emissions.

WaveGroupDef

A group of spawn sequences sharing a path and start delay.

Structs

UpgradeRank

A track key and its highest contiguous purchased or applied rank.

Interfaces

ILevelCompletionRule

Optional level action completion beyond waves and enemy accounting.

IMovementPolicy

Optional host navigation for friendly actors; implementations must avoid fixed-tick allocation.

IPointRule

Author-supplied terrain validation; implementations must be deterministic and allocation-free.

Enums

CompanionMode

Companion locomotion and interception model.

DamageFalloff

How impact area damage depends on distance.

DamageFlags

Independent damage control behaviors.

DamageKind

The defense channel used by a damage packet.

DamageMask

Damage channels that may be independently immunized.

DeploymentSpacingScope

Which deployments participate in minimum spacing checks.

HeroSkillMode

How hero skill ranks become active.

LaneSelection

Lane selection for each spawned unit.

ProjectileKind

The movement model of an attack projectile.

RemainsFaction

Body faction is independent from the faction of the raised result.

SuccessorBountyPolicy

Reward policy for successors. A lineage can never pay twice.

TargetPriority

Stable tower target ordering, with entity Id as the final tie breaker.

TrapPlacement

Automatic placement origin for an ability-created trap.

UpgradeField

Supported numerical destinations. All matching nested payloads in the selected template are visited.

UpgradeOperation

One arithmetic step; rounding is performed immediately, never after combining effects.

UpgradeTargetKind

Template roles used by permanent-upgrade selectors. Multiple roles are alternatives.