Class AbilityActionDef

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

A generic timed action channel; payloads can be combined.

public sealed class AbilityActionDef
Inheritance
AbilityActionDef
Inherited Members

Constructors

AbilityActionDef(float, RangedAttackDef, StatusEffectDef, SummonDef, AreaEffectDef, float, float)

Creates a generic activation channel.

public AbilityActionDef(float cooldown, RangedAttackDef attack = null, StatusEffectDef selfEffect = null, SummonDef summon = null, AreaEffectDef area = null, float skillExperiencePerRank = 0, float initialDelay = 0)

Parameters

cooldown float
attack RangedAttackDef
selfEffect StatusEffectDef
summon SummonDef
area AreaEffectDef
skillExperiencePerRank float
initialDelay float

AbilityActionDef(IAbilityAction, float, float)

Creates a custom-only timed action without changing the original constructor.

public AbilityActionDef(IAbilityAction customAction, float cooldown, float initialDelay = 0)

Parameters

customAction IAbilityAction
cooldown float
initialDelay float

Examples

new AbilityActionDef(new ShieldPulse(), 2, initialDelay: 1);

AbilityActionDef(IAbilityAction, float, float, float)

Creates a custom action awarding skill experience per active hero rank on successful activation.

public AbilityActionDef(IAbilityAction customAction, float cooldown, float initialDelay, float skillExperiencePerRank)

Parameters

customAction IAbilityAction
cooldown float
initialDelay float
skillExperiencePerRank float

Examples

new AbilityActionDef(new ShieldPulse(), 2, initialDelay: 1, skillExperiencePerRank: 3);

Properties

Area

Optional emitted region.

public AreaEffectDef Area { get; }

Property Value

AreaEffectDef

Attack

Optional additional ranged attack.

public RangedAttackDef Attack { get; }

Property Value

RangedAttackDef

Cooldown

Repeat delay measured from successful activation.

public float Cooldown { get; }

Property Value

float

CustomAction

Optional custom activation payload; shared configuration must remain immutable.

public IAbilityAction CustomAction { get; }

Property Value

IAbilityAction

InitialDelay

Delay before a newly activated channel can run.

public float InitialDelay { get; }

Property Value

float

SelfEffect

Optional self attachment.

public StatusEffectDef SelfEffect { get; }

Property Value

StatusEffectDef

SkillExperiencePerRank

Optional hero skill experience per active rank on successful activation.

public float SkillExperiencePerRank { get; }

Property Value

float

Summon

Optional summon sequence.

public SummonDef Summon { get; }

Property Value

SummonDef

Methods

WithCustomAction(IAbilityAction)

Copies a built-in or custom action and replaces its custom payload.

public AbilityActionDef WithCustomAction(IAbilityAction customAction)

Parameters

customAction IAbilityAction

Returns

AbilityActionDef

Examples

var combined = attackAction.WithCustomAction(new ShieldPulse());