Skip to content

Create Lucky Egg farm Mode in FR/LG Safari #535

Description

@ThibaultLassiaz

Lucky Egg Farming in Safari Zone (FireRed/LeafGreen)

Farming for Lucky Eggs in the Safari Zone can be a challenging process, as it involves capturing Chansey and checking if they hold the item. This issue aims to automate the farming process by incorporating encounters, captures, item checks, and soft resets if no Lucky Egg is obtained during the current iteration.


Goal

We recently introduced a Safari Zone auto-catching strategy for FireRed/LeafGreen to optimize Pokémon captures based on the remaining Safari Ball count.

The goal of this issue is to develop a Lucky Egg farming mode for the Safari Zone. This mode will automate the process of encountering and capturing Chansey, checking their held items, and performing soft resets if a Lucky Egg is not found.


Implementation Plan

  1. Pre-Mode Initialization:

    • Ensure the player starts at the tile before the Safari Zone entrance dialog.
    • Ensure the player has saved the game before starting the mode.
    • Raise an error if no recent save is detected on this tile (already implemented in other modes).
    • Verify that at least x party slots (e.g., 3) are open. During my tests, capturing 1-4 Chansey per 30 Safari Balls was the norm.
    • Confirm the player has sufficient funds to enter the Safari Zone.
  2. Chansey Encounter and Capture:

    • Navigate to a specific tile where Chansey encounters are optimized (e.g., the grass at the entrance of the top map in the first Safari Zone area). The bot may:
      • Use Surf to reach the tile quickly.
      • Walk through the maps: entrance → right map → top map.
    • Use judge_encounter to assess each encounter:
      • Shiny Pokémon: If a shiny is encountered, stop the bot immediately or try to catch. If catched → stop. It can be annoying for soft resets and will potentially take slots in our party. So let the player decide what he wants to do.
      • Chansey: Capture only Chansey using the auto-catch Safari strategy.
  3. Check for Lucky Egg:

    • After each Chansey capture, inspect its held item (Open party menu, to mimic the player behavior):
      • Lucky Egg Found: Stop the bot and notify the player.
      • No Lucky Egg: Resume hunting and encountering.
  4. Soft Reset Logic:

    • Conditions for Reset:
      • If Safari Balls are depleted and no Lucky Egg is obtained.
      • If the player's party is full, no Lucky Egg is found, and Safari Balls remain.
    • Perform a soft reset and restart the Lucky Egg farming process.
  5. Repeat Until Success:

    • Continue the above process until a Chansey holding a Lucky Egg is captured.

Create a Wiki Page to help players understand the mode's objective, the necessary requirements, and the optimizations needed to make it more efficient.


Optional Features

  1. Optimizing Chansey Encounters:

    • Use the Repel Trick:
      • A level 26 lead Pokémon increases Chansey encounter rates from 4% to ~5%.
      • A level 26 Pokémon that knows Surf can streamline the bot’s movement to the optimal tile.
    • Consider making Surf mandatory if pathing to the target tile is too complex.
  2. Infinite Lucky Egg Farming:

    • Implement a loop for continuous Lucky Egg farming:
      • After obtaining a Lucky Egg:
        • Exit the Safari Zone.
        • Save the game.
        • Retrieve the Lucky Egg from the Pokémon.
        • Release captured Chansey at the town PC.
        • Re-enter the Safari Zone.
      • Ensure the player has:
        • Sufficient funds for repeated Safari entries or raise a BotModeError.
        • Enough Repels for multiple runs if running a lvl 26 Pokémon.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions