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 insideskills. 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 themain bracket:
// custom are Redux-specific Lua implementations. Unmarked abilities are standard Dota 2 abilities that work as-is.
Adding an Ability
- 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. - Add the line to the appropriate bracket in
abilities.kv: - Comment out sub-abilities if your ability spawns sub-abilities that should not be independently selectable.
- Restart the server (or reload KVs via the dev console) so the updated file is loaded.

