Ability

An Ability is a discreet action (or series of actions) that are initiated due to some set of rules (user input, scripting, etc).

Abilities themselves are made up of actions called Tasks that are executed along a timeline and according to the rules of the Ability itself.

Abilities come in two flavors:

Active

    • Characters are limited to 1 Active Ability at a time.
    • Can be Interrupted or Branched out of.
    • Examples of an Active Ability are Dodges, Weapon Attacks/Combos, Spells, etc.

Passive

    • By default, Characters have no limit to the number of Passives on them, although Designers can easily change that behavior through Blueprint scripting.
    • Can only be completed naturally (cannot be interrupted or branched out of), or removed through Blueprint scripting.
    • Supports the concepts of having a Stack, and various behaviors that go along with it (see below).
    • Examples of a Passive Ability are Auras, Buffs / Debuffs, Heals Over Time, Damage Over Time, etc.

Both

    • Support Targeting (although it's rare for a Passive to need Targeting, generally you have an Active Ability which uses Targeting to apply a Passive).
    • Support having a Cooldown (see below).
    • Support Looping (either the whole Ability, or just a section of the Ability).

Base Properties

  • Length
    • The time, in seconds, that it takes for the Ability to complete.
  • Cooldown (Optional)
    • How long, in seconds, before the Character can re-activate this Ability.

Passive Properties

  • Is Passive
    • Marks the Ability as a Passive Ability.
  • Max Stacks
    • The total number of "Stacks" allowed for this Ability.
    • Can be controlled / queried from Blueprints to allow Designers full control.
  • Refresh Duration On New Stack (optional)
    • If true, the Ability duration will be reset back to 0 every time a Stack is successfully applied.
  • Always Refresh Duration (optional)
    • if true, the Ability duration will always be reset to 0 every time a Stack is attempted to be added (whether successful, e.g. due to max stack limit, or not).
  • Only Refresh Loop Time (optional)
    • if true, instead of resetting the Ability duration to 0, it'll reset the duration to the Loop Start time.

Loop Properties

  • Is Looping
    • Marks the Ability as Looping.
  • Loop Start
    • When Looping, this is the time value, in seconds, where our Loop will begin at each iteration.
  • Loop End
    • When Looping, this is the time value, in seconds, where our Loop will end at each iteration.
  • Max Iterations
    • The total amount of Loop iterations allowed for this Looping Ability (0 = Infinite).

Targeting Properties

  • Requires Targeting (Optional)
    • If true, if the Target Logic fails to find at least 1 Target - the Ability will not execute.
  • Target Logic

Channeling Properties

  • Is Channeled
    • Marks the Ability as a Channeled Ability.
  • Channel Conditions
    • See Channel Conditions
  • Must Pass All Conditions
    • If true, all the conditions supplied must be passed each frame to avoid failing the channel.
  • Failed Channel Result
    • If the channel fails, this option tells the Ability system how to treat the failure internally. By default, it's treated as an Interrupt.

Tag Properties

  • Tag Container
    • A set of UE4 Gameplay Tags that can be queried from Blueprint scripting.