Skip to main content
bans.kv controls which ability combinations are forbidden and which abilities are excluded from mechanics like Multicast or Spell Echo. Most banned pairings are now handled by ReduxBans flags set directly on the ability data, but bans.kv covers structural rules that cannot be expressed as a simple per-ability flag.

Top-Level Blocks

BlockPurpose
BannedTowerCombinationsPairs of tower abilities that cannot coexist on the same tower.
CategoriesNamed groups of spells used as reusable references inside BannedGroups.
BannedGroupsNumbered groups where no two abilities from the same group can be selected together.
BannedTowerGroupsSame concept as BannedGroups, but for tower abilities.
noMulticastAbilities that are explicitly excluded from Ogre Magi Multicast triggering.
noSpellEchoAbilities that Spell Echo will never echo.
noWitchcraftAbilities that will not have their cooldowns lowered by the Witchcraft cooldown-reduction patch.

Categories

Categories define reusable spell groups that can be referenced inside other groups using value "2" (as opposed to "1" which references a single spell).
"Categories"
{
    "SpammableSpells"
    {
        // Include the ToggleSpells list by reference
        "ToggleSpells"                      "2"

        // Individual spammable abilities
        "abaddon_aphotic_shield"            "1"
        "abaddon_death_coil"                "1"
        "antimage_blink"                    "1"
        "bristleback_quill_spray"           "1"
        ...
    }

    "ToggleSpells"
    {
        "pudge_rot"                         "1"  // toggle
        "leshrac_pulse_nova"                "1"  // toggle and low cd
        "morph_agi_int_redux"               "1"  // toggle
        "medusa_split_shot"                 "1"  // toggle
        ...
    }
}
Do not create recursive category references. The ban system has no cycle detection — a category that references itself (directly or indirectly) will loop indefinitely.

BannedGroups

Numbered groups list abilities that are mutually exclusive — a player cannot hold more than one ability from the same group.
"BannedGroups"
{
    // One-hit combo group
    "1"
    {
        "brewmaster_drunken_brawler"        "1"
        "earthshaker_enchant_totem"         "1"
        "kunkka_tidebringer"                "1"
        "monkey_king_boundless_strike"      "1"
        "ursa_overpower"                    "1"
        "weaver_geminate_attack"            "1"
        ...
    }

    // Mega range group
    "2"
    {
        "dragon_knight_elder_dragon_form"   "1"
        "sniper_take_aim"                   "1"
        "templar_assassin_psi_blades"       "1"
        "terrorblade_metamorphosis"         "1"
        "winter_wyvern_arctic_burn"         "1"
    }

    // Bash group
    "3"
    {
        "faceless_void_time_lock"           "1"
        "slardar_bash"                      "1"
        "spirit_breaker_greater_bash"       "1"
        ...
    }

    // Cooldown manipulation group
    "5"
    {
        "tinker_rearm"                      "1"
        "death_prophet_witchcraft"          "1"
        "keeper_of_the_light_chakra_magic"  "1"
        "master_magic"                      "1"
        ...
    }
}

ReduxBans Flags vs. bans.kv Entries

Redux uses two complementary systems for banning ability combinations:
SystemWhereHowTypical Use
ReduxBans flagsOn the ability’s KV data block (npc_abilities_custom.txt or override files)A ReduxBans key lists ability names that this ability cannot be combined withSimple pairwise “troll combo” bans between two specific abilities
bans.kv entriesIn bans.kv under BannedGroups or CategoriesGroups of 3+ mutually exclusive abilities, or category-level rulesComplex group bans, mechanic exclusions (multicast, spell echo), spammable-spell enforcement

ReduxBans example (in ability data)

"lifebreak_redux"
{
    ...
    "ReduxBans"
    {
        "spectre_dispersion"    "1"
    }
}
This bans only the specific pair lifebreak_redux + spectre_dispersion.

bans.kv example (group ban)

Group 1 (the one-hit combo group) bans any combination of crit/attack-multiplier abilities. Adding a new ability to this group automatically makes it mutually exclusive with every other ability already in the group — no per-pair entries are needed.

noMulticast and noSpellEcho

These lists prevent the Ogre Magi Multicast and Spell Echo mechanics from triggering on abilities that would behave incorrectly when cast multiple times:
"noMulticast"
{
    "arc_warden_tempest_double"          "1"  // bugs out
    "alchemist_unstable_concoction_throw" "1" // wastes multicast cd
    "morphling_replicate"               "1"  // bugs out
    ...
}

"noSpellEcho"
{
    "arc_warden_tempest_double"          "1"
    "antimage_blink"                     "1"
    "furion_teleportation"               "1"
    ...
}

noWitchcraft

Abilities listed here will not have their cooldowns lowered by the Witchcraft cooldown-reduction patch applied globally by Redux:
"noWitchcraft"
{
    "chi_strike"    "1"
}

Build docs developers (and LLMs) love