Vixen
caa30e12
csharp
public record class AbilityDefinition

An ability, as a designer wrote it.

Read the guide page for this →

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 DisplayName

    What it is called in the UI.

  • public string Icon

    The address of its icon.

  • public AbilityTargeting Targeting

    What it is aimed at.

  • public float Range

    How far, in metres. Zero is unlimited, which is what a self-cast wants.

  • public float Radius

    How wide, in metres, for Ground and the two shapes.

  • public float Angle

    How wide, in degrees, for Cone.

  • public float CastTime

    How long it takes to cast, in seconds. Zero is instant.

  • public float ChannelTime

    How long it channels for, in seconds. Zero is not a channel.

  • public float ChannelPeriod

    How often a channel ticks, in seconds.

  • public float Cooldown

    How long before it can be used again, in seconds.

  • public int Charges

    How many uses it banks. One is an ordinary cooldown.

  • public bool TriggersGlobalCooldown

    Whether using it starts the caster's global cooldown.

  • public bool RespectsGlobalCooldown

    Whether the global cooldown stops it being used.

  • public List<AbilityCostDefinition> Costs

    What it costs.

  • public List<RequirementDefinition> Requirements

    What has to be true of the caster.

  • public DamageDefinition? Damage

    What it does to what it hits, or null for an ability that only applies effects.

  • public List<string> AppliesToTarget

    The addresses of the effects it puts on what it hits.

  • public List<string> AppliesToSelf

    The addresses of the effects it puts on the caster.

  • public List<string> Tags

    What 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