Skip to content
✏️

Suggest Improvements

Help improve (ID: ) - Spot errors or suggest better descriptions

Competitive - Ability ID 172

In-Game Description

"Raises Sp. Atk by two stages if stats are lowered by an enemy."

Extended In-Game Description

For use in Elite Redux extended ability UI (IMPORTANT: exactly 280-300 chars counted WITH spaces)

Competitive sharply raises Special Attack by 2 stages whenever an enemy lowers any of this Pokémon's stats. This includes direct stat-lowering moves, secondary effects from attacks, abilities, and items used by opponents. The boost only occurs from enemy actions, not self-inflicted stat drops.

Character count: 297

Detailed Mechanical Explanation

For Discord/reference use

Trigger Conditions:

  • Activates when any stat is lowered by an opponent (not self-inflicted)
  • Monitored through gTurnStructs[battler].changedStatsBattlerId tracking system
  • Only triggers when changedStatsBattlerId is set to an enemy battler (gBattlerAttacker ≠ gBattlerTarget)

Implementation Details:

  • Location: src/battle_util.c lines 1142-1145
  • Battle Script: BattleScript_CompetitiveActivates in data/battle_scripts_1.s
  • Effect: Raises Special Attack by exactly 2 stages (+2)
  • Safety Check: Will not activate if Special Attack is already at maximum (+6 stages)

What Triggers Competitive:

  • Direct stat-lowering moves (Growl, Leer, Intimidate, etc.)
  • Secondary effects from damaging moves (Crunch lowering Defense, etc.)
  • Opponent abilities that lower stats (Intimidate on switch-in)
  • Items used by opponents that lower stats
  • Field effects caused by opponents

What Does NOT Trigger Competitive:

  • Self-inflicted stat drops (Superpower, Close Combat, etc.)
  • Stat drops from ally Pokémon in doubles
  • Burns lowering Attack (status condition, not direct stat lowering)
  • Paralysis lowering Speed (status condition, not direct stat lowering)

Battle Mechanics:

  1. When an opponent lowers any stat, STRINGID_DEFENDERSSTATFELL message is triggered
  2. Game checks if target has Competitive ability
  3. If Special Attack is not at maximum (+6), ability activates
  4. Special Attack is raised by 2 stages immediately
  5. Ability popup is displayed and stat change animation plays

Interaction Notes:

  • Works in singles and doubles battles
  • Multiple stat drops in one turn only trigger Competitive once
  • Can stack with other stat-boosting effects
  • Mold Breaker and similar abilities do NOT bypass this trigger (it's not a protective ability)
  • Works even if the Pokémon is behind a Substitute

Competitive Viability:

  • Excellent deterrent against stat-lowering strategies
  • Pairs well with special attacking movesets
  • Particularly effective against Intimidate users
  • Can turn opponent's debuffing attempts into setup opportunities
  • Strong in formats with common stat-lowering moves or abilities

Code References:

  • Proto definition: proto/AbilityList.textproto line 865-868
  • Trigger logic: src/battle_util.c lines 1142-1145
  • Battle script: data/battle_scripts_1.s lines 9490-9493
  • Stat change tracking: src/battle_script_commands.c line 9575

Elite Redux Ability Codex