Skip to main content
abilities.kv is the authoritative list of every ability that can appear on the Legends of Dota Redux skill-select screen. It is loaded at game start and drives what players can choose when drafting their build.

Top-Level Structure

The file has two top-level blocks inside the root "Abilities" key:

Ability Brackets

Brackets are named sub-blocks inside skills. Each bracket groups abilities that share a category or restriction. The numbers assigned to each ability entry ("1") are used internally for network-encoding ability selections and for the encryption layer — they are not ability levels.

File Format

Sub-abilities (e.g. alchemist_unstable_concoction_throw, the throw sub-ability of Unstable Concoction) are intentionally commented out. Showing them on the pick screen would allow players to select a sub-ability without its parent, causing broken behaviour.

Real Snippet

The following is taken directly from the top of the main bracket:
Abilities marked // custom are Redux-specific Lua implementations. Unmarked abilities are standard Dota 2 abilities that work as-is.

Adding an Ability

  1. Define the ability — either add a KV entry to npc_abilities_custom.txt (for a Lua-backed ability) or confirm it already exists in the base game.
  2. Add the line to the appropriate bracket in abilities.kv:
  3. Comment out sub-abilities if your ability spawns sub-abilities that should not be independently selectable.
  4. Restart the server (or reload KVs via the dev console) so the updated file is loaded.
If an ability crashes the server or has known bugs, comment it out with a descriptive note rather than deleting the line — this makes it easy to re-enable once the bug is fixed.