public record class AbilityDefinitionAn ability, as a designer wrote it.
Remarks
Doc 28 § Combat: abilities on top of kernel effects — cast time, channel, global cooldown, charges, resource costs and a targeting mode. What an ability does is damage plus the effects it applies, both of which are the kernel's, so an ability is almost entirely data.
⚠ An ability that applies an effect names it by address rather than carrying it. The same buff is applied by a talent, a trinket and three abilities, and four copies of it is four places a balance change has to reach.
Fields and properties (19)
public string DisplayNameWhat it is called in the UI.
public string IconThe address of its icon.
public AbilityTargeting TargetingWhat it is aimed at.
public float RangeHow far, in metres. Zero is unlimited, which is what a self-cast wants.
public float RadiusHow wide, in metres, for Ground and the two shapes.
public float AngleHow wide, in degrees, for Cone.
public float CastTimeHow long it takes to cast, in seconds. Zero is instant.
public float ChannelTimeHow long it channels for, in seconds. Zero is not a channel.
public float ChannelPeriodHow often a channel ticks, in seconds.
public float CooldownHow long before it can be used again, in seconds.
public int ChargesHow many uses it banks. One is an ordinary cooldown.
public bool TriggersGlobalCooldownWhether using it starts the caster's global cooldown.
public bool RespectsGlobalCooldownWhether the global cooldown stops it being used.
public List<AbilityCostDefinition> CostsWhat it costs.
public List<RequirementDefinition> RequirementsWhat has to be true of the caster.
public DamageDefinition? DamageWhat it does to what it hits, or null for an ability that only applies effects.
public List<string> AppliesToTargetThe addresses of the effects it puts on what it hits.
public List<string> AppliesToSelfThe addresses of the effects it puts on the caster.
public List<string> TagsWhat this ability is — Ability.Cast.Fireball. What a silence blocks.
Methods (1)
public override void CollectTags(ICollection<string> tags)Every tag this definition mentions, so the content build can bake the tag table.
Used by (10)
- AbilityCasterTestsVixen.Gameplay.Combat.Tests
- AbilityDefinitionExtensionsVixen.Gameplay.Combat
- AbilityLibraryVixen.Gameplay.Combat
- AbilityLibraryTestsVixen.Gameplay.Combat.Tests
- AbilityTemplateVixen.Gameplay.Combat
- CombatModuleVixen.Gameplay.Combat
- CombatResolverTestsVixen.Gameplay.Combat.Tests
- ContentVixen.Gameplay.Combat.Tests
- TypeRegistrationVixen.Gameplay.Combat
- Vixen_Gameplay_Combat_AbilityDefinitionSerializerVixen.Gameplay.Combat