-
Notifications
You must be signed in to change notification settings - Fork 4
FRLG EncounterBots
Here are some bots that will perform different types of hunts in FRLG on Switch. I understand it's possible to manipulate RNG in FRLG, but I won't ever make tools to RNG abuse a target for you. That's the equivalent of you plugging in my toaster and boasting about the quality of your toast. The RNG Monitor is provided as a research tool, and if someone wants to use it to write a CFW RNG manipulation guide, all the power to them.
To change the program to FRLG mode, open the exe once and close it to generate a config.json. Edit this file in a text editor and change the Mode to 101.
FRLG interacts with sys-botbase and usb-botbase strangely. If your joycons are docked when you start the bot, you will no longer be able to use them to control the game until you stop the bot. If you wish to maintain control, such as when using RNG Monitor, you should undock the joycons and let them connect wirelessly before starting the bot. Sometimes, the game will crash when it is closed; this is harmless since you should have saved already.
Because of how the RNG is seeded, perfect macro behavior will result in hitting the same Pokémon. By default, all A presses in reset routines vary between 200-800 ms. You can add more time via RandomTimeSoftReset and RandomTimeBeforeEncounter if you need more variation.
You can also change in-game settings for SOUND (STEREO/MONO) or BUTTON MODE (HELP/LR/L=A) for a different assortment of initial seeds if you need to.

These settings apply to all bots that soft reset the game between encounters.
- EncounterFRLG > RandomTimeSoftReset: This setting adds extra delay before starting the game to add variability to the initial seed.
- EncounterFRLG > RandomTimeBeforeEncounter: This setting adds extra delay before starting the encounter to add variability to the encountered Pokémon.
- EncounterFRLG > LogInitialSeed: Turn this on to see the initial seed. This can be used to track variability.
This program encounters a single Pokémon and then soft resets the game. Starter and Gift Pokémon are reset from the party, so ensure that you have at least 1 open party slot.
- Starter: Save in front of the starter you want to select.
- Gift: Save in front of the NPC that gives you a gift Pokémon, such as Lapras. Use the Game Corner bot for Game Corner prizes.
- Static Encounter: Save in front of the Pokémon's icon on the overworld. Static encounters are Pokémon that are always in the same place, such as Moltres, Mewtwo, or Deoxys.
- Static Ho-Oh Encounter: Save one tile away from spawning Ho-Oh. Face upward. This encounter type is specifically for Navel Rock Ho-Oh; use the "Static Encounter" encounter type for all other static encounters.
- EncounterFRLG > EncounteringType: Select StarterFRLG, GiftFRLG, StaticFRLG, or StaticHoOhFRLG.
- StopConditions: Most of the checks will be performed if they exist in FRLG. Settings for Height and Marks should not be used.
This program buys up to 5 Pokémon from the Game Corner prize shop and checks them versus the criteria in StopConditions. It will be up to you to ensure that you have enough coins to purchase the number of Pokémon requested. Face the counter where you can purchase prizes and save.
- EncounterFRLG > GameCornerPrizeToPurchase: Set this to the Pokémon you want the bot to buy.
- EncounterFRLG > GameCornerNumberToPurchase: Set this to the number of Pokémon you want the bot to buy. Do not set this higher than the number of Pokémon you can afford or carry.
- StopConditions: Most of the checks will be performed if they exist in FRLG. Settings for Height and Marks should not be used.
This bot checks wild Pokémon in both land-based encounters and fishing encounters.
You should start the bot with your character facing down. The bot will first wiggle left/right, then switch to up/down after an encounter, and then alternate after that to avoid moving. This allows it to be useful in the Safari Zone and with repel tricks active.
You should start the bot with your character facing a water tile. The rod you want to use should be registered to SELECT. It will retry until a Pokémon is hooked.
- EncounterFRLG > EncounteringType: Select SlotsFRLG for grass/dungeon encounter slots or FishingFRLG for fishing encounters.
- StopConditions: Most of the checks will be performed if they exist in FRLG. Settings for Height and Marks should not be used.
This bot releases the roaming legendary Pokémon repeatedly until it matches the StopConditions specified. You must be ready to turn in the Sapphire to Celio to activate the link to Hoenn. Face Celio for this final conversation and save.
-
StopConditions: This will check conditions for shiny, IVs, nature, and species.
- Note that the roaming Suicune, Raikou, and Entei have glitched IVs. The HP can be any value, Attack can only be 0-7, and all other IVs must be 0. If you set IV conditions, make sure they are possible.
This program farms items with Pickup for people who do not want to inject items.
Each Pokémon it encounters will be checked versus StopConditions. If you do not want it to stop for anything, set the criteria to something impossible, such as a species that is not in FRLG.
When the PP for the lead Pokémon's attacking move is running low, the bot will heal the team using the array.
If at least 1 Pickup Pokémon is holding an item after a battle, the bot will open the Pokémon menu to collect all items. This is most effective for a team of 6 Pickup Pokémon such as Meowth.
- The bot will expect you to carry at least 2 Pickup Pokémon.
- Your lead Pokémon should be high enough level that it does not learn additional moves. Its first move should OHKO Gastly, Haunter, and Cubone in Lavender Town's Pokémon Tower.
- If your lead Pokémon can learn additional moves on level-up, this routine will overwrite the first move. You can use the Move Deleter in Fuchsia City to give them more space to learn moves at the end.
- Position your character one tile to the right of the healing array. Face downward. The bot will first wiggle left/right, then switch to up/down after an encounter, and then alternate after that to avoid moving.
- You should open the Start Menu and position the arrow next to "Pokémon" before starting the bot.
- Turn off battle animations in the game settings.
- StopConditions: Most of the checks will be performed if they exist in FRLG. Settings for Height and Marks should not be used.
Watches for the initial seed to be set if the game has not started yet, and then monitors the RNG state. You can read this guide to learn about how the initial seed is set.
- Displays total advances from the initial seed and number of advances since previous reported RNG state.
- Copies the initial RNG seed to clipboard when the bot is started.
- Optionally pauses the game by clicking HOME if
MaxTotalAdvancesis exceeded.
If you want to pause the game's RNG advancements to look at the log, minimize it with the HOME button.
- EncounterFRLG > MonitorRefreshRate: Interval in milliseconds to check the global RNG state. This can be set as low as 0 for approximately 15 ms refresh rate.
- EncounterFRLG > MaxTotalAdvances: Maximum total advances allowed before the bot clicks HOME to pause the game.