Class SummonDef

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

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

public sealed class SummonDef
Inheritance
SummonDef
Inherited Members

Constructors

SummonDef(string, int, float, float, float, float, bool, bool, int)

Creates summon behavior.

public SummonDef(string templateId, int count, float delay = 0, float interval = 0, float lifetime = 0, float formationRadius = 0, bool hostile = false, bool cancelWithSource = true, int populationLimit = 0)

Parameters

templateId string
count int
delay float
interval float
lifetime float
formationRadius float
hostile bool
cancelWithSource bool
populationLimit int

Properties

BountyPolicy

Successor reward rule, additionally bounded by the lineage's one-payment record.

public SuccessorBountyPolicy BountyPolicy { get; }

Property Value

SuccessorBountyPolicy

CancelWithSource

Cancels pending spawns when the source dies or is removed.

public bool CancelWithSource { get; }

Property Value

bool

Count

Total units in one activation.

public int Count { get; }

Property Value

int

DeathChainBudget

Maximum shared death-emission links; one activation can emit several siblings.

public int DeathChainBudget { get; }

Property Value

int

Delay

Delay before the first spawn.

public float Delay { get; }

Property Value

float

ExcludeWhileRising

Attack-acquisition exclusion during preparation.

public bool ExcludeWhileRising { get; }

Property Value

bool

FormationRadius

Radius of the new friendly unit formation.

public float FormationRadius { get; }

Property Value

float

Hostile

Creates enemies on the source's path instead of independent friendly soldiers.

public bool Hostile { get; }

Property Value

bool

IgnoreDamageWhileRising

Damage immunity during successor preparation; false preserves normal enemy vulnerability.

public bool IgnoreDamageWhileRising { get; }

Property Value

bool

Interval

Delay between following spawns; zero still yields between units.

public float Interval { get; }

Property Value

float

Lifetime

Temporary unit lifetime; zero means no timed expiration.

public float Lifetime { get; }

Property Value

float

PopulationLimit

Limit of alive and pending units per source and template; zero means unlimited.

public int PopulationLimit { get; }

Property Value

int

RiseDuration

Successor preparation after insertion.

public float RiseDuration { get; }

Property Value

float

TemplateId

Template to instantiate.

public string TemplateId { get; }

Property Value

string

Methods

WithDeathSuccession(int, float, SuccessorBountyPolicy, bool, bool)

Copies a summon and configures death-only lineage/preparation behavior. Normal summons keep their original behavior.

public SummonDef WithDeathSuccession(int chainBudget = 1, float riseDuration = 0, SuccessorBountyPolicy bountyPolicy = SuccessorBountyPolicy.OncePerLineage, bool ignoreDamageWhileRising = false, bool excludeWhileRising = false)

Parameters

chainBudget int
riseDuration float
bountyPolicy SuccessorBountyPolicy
ignoreDamageWhileRising bool
excludeWhileRising bool

Returns

SummonDef