Skip to content
✏️

Suggest Improvements

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

Eject Pack Ability - Ability ID 564

In-Game Description

"Flees when stats are lowered."

Extended In-Game Description

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

Automatically switches the Pokémon out when any of its stats are lowered by an opponent's move or ability. Functions identically to the Eject Pack item but as a permanent ability. Single-use per battle - once triggered, won't activate again if the Pokémon returns to battle.

Character count: 289

Detailed Mechanical Explanation

For Discord/reference use

Core Mechanics

  • Trigger Condition: Activates when any stat is lowered (Attack, Defense, Special Attack, Special Defense, Speed, Accuracy, or Evasion)
  • Timing: Triggers at the end of the turn during the MOVEEND_EJECT_PACK phase
  • Automatic Switch: Forces the Pokémon to switch out immediately when triggered
  • Single-Use: Uses a single-use ability counter - once triggered, it won't activate again in the same battle even if the Pokémon returns

Persistent Ability Details

The ability is marked as persistent = TRUE, meaning:

  • It cannot be suppressed by moves like Gastro Acid
  • It cannot be copied by Trace or Role Play
  • It cannot be swapped by Skill Swap
  • It remains active even under unusual battle conditions

Technical Implementation

c
// Ability definition in abilities.cc
constexpr Ability EjectPackAbility = {
    .persistent = TRUE,
};

// Activation logic in battle_script_commands.c
if (IsBattlerAlive(battler) && gRoundStructs[battler].statFell && 
    gRoundStructs[battler].disableEjectPack == 0 &&
    BATTLER_HAS_ABILITY(battler, ABILITY_EJECT_PACK_ABILITY) && 
    !GetSingleUseAbilityCounter(battler, ABILITY_EJECT_PACK_ABILITY) &&
    CanBattlerSwitch(battler))
{
    SetSingleUseAbilityCounter(battler, ABILITY_EJECT_PACK_ABILITY, TRUE);
    // Trigger emergency exit
}

Interaction Details

  • Stat Lowering Detection: Uses gRoundStructs[battler].statFell flag to detect stat reductions
  • Disable Mechanism: Can be disabled by gRoundStructs[battler].disableEjectPack flag (set by some abilities)
  • Switch Requirement: Only activates if the Pokémon has valid party members to switch into
  • Speed Priority: If multiple Pokémon have eject effects, only the fastest one activates

Competitive Applications

  1. Pivot Strategy: Allows safe switching when threatened by stat-lowering moves
  2. Intimidate Counter: Automatically escapes Intimidate users
  3. Momentum Control: Maintains battlefield control by avoiding stat debuffs
  4. Emergency Escape: Provides guaranteed escape from dangerous situations

Strategic Considerations

  • One-Time Use: The single-use nature makes timing crucial
  • Predictable: Opponents can exploit the automatic switching
  • Team Synergy: Requires good team composition to capitalize on forced switches
  • Entry Hazard Vulnerability: Switching into hazards can be costly

Comparison to Eject Pack Item

  • Permanent: Cannot be removed by Knock Off, Thief, or Trick
  • Reusable: The ability persists across battles (unlike the consumed item)
  • Single Battle Use: Limited to one activation per battle
  • Persistent Nature: Cannot be suppressed or manipulated

Notable Interactions

  • Blocked by: Abilities that set disableEjectPack flag
  • Doesn't Trigger: If no valid switch targets available
  • Priority: Fastest Pokémon's eject effect activates first in multi-target scenarios
  • Ability Popup: Shows "Tactical Retreat" name when activated

Elite Redux Ability Codex