Skip to content
✏️

Suggest Improvements

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

Illusion - Ability ID 149

In-Game Description

"Appears as last party slot and boosts power by 1.3x until hit."

Extended In-Game Description

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

Illusion makes the Pokémon appear as the last alive party member while providing a 1.3x damage boost to all moves. The disguise is automatically broken when the Pokémon takes damage from any move that hits, revealing the true form and removing the power boost.

Character count: 289

Detailed Mechanical Explanation

For Discord/reference use

Core Mechanics

Illusion is a unique ability that combines visual deception with offensive power enhancement:

Disguise System:

  • When entering battle, automatically assumes the appearance of the last alive, non-egg Pokémon in the party
  • Excludes the Illusion user itself and any active partner in double battles
  • Shows the target Pokémon's species, sprite, and typing information
  • Does not copy stats, moves, or other abilities - only visual appearance

Power Enhancement:

  • Provides a 1.3x (30%) damage multiplier to all offensive moves while the illusion is active
  • Applied through the onOffensiveMultiplier callback in battle calculations
  • Stacks multiplicatively with other damage modifiers

Breaking Conditions:

  • Illusion breaks immediately when the user takes damage from any move that successfully hits
  • Triggered by the onDefender callback when DidMoveHit() returns true
  • Status moves that don't deal damage will not break the illusion
  • Missing moves will not break the illusion

Technical Implementation

cpp
constexpr Ability Illusion = {
    .onDefender = +[](ON_DEFENDER) -> int {
        CHECK(DidMoveHit())
        CHECK(gBattleStruct->illusion[battler].on)
        CHECK_NOT(gBattleStruct->illusion[battler].broken)

        BattleScriptCall(BattleScript_IllusionOff);
        return TRUE;
    },
    .onOffensiveMultiplier =
        +[](ON_OFFENSIVE_MULTIPLIER) {
            if (gBattleStruct->illusion[battler].on && !gBattleStruct->illusion[battler].broken) MUL(1.3);
        },
};

Illusion State Structure:

cpp
struct Illusion {
    u8 on;       // Whether illusion is active
    u8 set;      // Whether illusion has been initialized
    u8 broken;   // Whether illusion has been broken
    u8 partyId;  // ID of the party member being mimicked
    struct Pokemon *mon; // Pointer to the mimicked Pokémon
}

Setup Process

  1. SetIllusionMon() is called when the Pokémon enters battle
  2. Searches party from last slot (index 5) to first slot (index 0)
  3. Selects the first viable candidate:
    • Must have a valid species
    • Must have HP > 0 (alive)
    • Must not be an egg
    • Must not be the Illusion user itself
    • Must not be the active partner in doubles
  4. Sets up the illusion state with the selected party member

Breaking Animation

When illusion breaks:

  • Plays B_ANIM_ILLUSION_OFF animation
  • Updates the sprite to show the true form
  • Displays message: "{Pokémon}'s Illusion wore off!"
  • Permanently disables the illusion for the remainder of battle

Strategic Applications

Offensive Usage:

  • 1.3x damage boost makes setup moves and powerful attacks more threatening
  • Disguise can mislead opponents about typing and potential movesets
  • Particularly effective on frail but powerful attackers

Team Synergy:

  • Works best with diverse party members to maximize deception potential
  • Consider party positioning to control which Pokémon is mimicked
  • Strong offensive presence in the last party slot enhances the deception

Timing Considerations:

  • Most effective early in battle before taking damage
  • Prioritize dealing damage quickly to maximize the power boost
  • Switch out before taking damage to preserve the illusion

Common Users

  • Zoroark line: Primary users with high Attack/Sp. Attack stats
  • Various Pokémon with Illusion as an innate ability in Elite Redux

Damage Calculation Example

Base damage: 100 With Illusion active: 100 × 1.3 = 130 damage After illusion breaks: 100 damage (normal)

Interactions with Other Abilities

  • Fort Knox: Does not block Illusion's damage boost (non-offensive ability)
  • Trace/Role Play: Can copy Illusion but won't set up a new disguise mid-battle
  • Skill Swap: Removes Illusion ability and breaks any active illusion

Limitations

  • Illusion breaks on any damage taken, making it fragile
  • No effect if no suitable party members are available for mimicking
  • Visual deception only - doesn't change actual stats or capabilities
  • One-time use per battle entry (cannot be reactivated once broken)

Elite Redux Ability Codex