Static Gift / Encounter RNG (CFW)

A guide for RNG manipulating Pokémon from static gifts or encounters in the Switch ports of FireRed & LeafGreen.
What are "Statics"?

As mentioned on the main page, “statics” refer to Pokémon that are encountered or obtained from an NPC in a fixed location and always result in the same species. Static encounters also typically appear as overworld interactions, meaning you directly engage with the Pokémon before the battle begins.

Examples of static encounters include:

If your Pokémon is generated by walking randomly by taking steps in grass/caves/water (or by using Sweet Scent/Fishing Rods), you are in the wrong place. Follow the Wild Encounter section of the guide instead.

I am in the wrong place! Send me to Wild Encounters!

Figure 1 - Getting Started

static-1
Getting Started

Ensure you have progressed far enough in the game to access your desired encounter or gift, you will now need to prepare your bag and party according to the requirements of your target Pokémon. The in-game conditions you need to meet will be slightly different depending on if your target is an encounter or a gift.

Encounter Setup:
  1. Gather enough bag resources (e.g. Poké Balls, Potions, etc.) to ensure you can handle the encounter.
  2. Prepare your party with Pokémon that can help streamline the capture process (e.g. False Swipe, status infliction).
  3. Stand directly outside your target encounter and save the game.
Gift Setup:
  1. Have at least one spare space in your party for the gift to go into for easier checking.
  2. If your target is a Game Corner Pokémon, ensure you have enough coins to buy it.
  3. Stand directly outside your target gift and save the game.

Figure 2 - Delay Calibration

static-2
Delay Calibration

It is a good idea to calibrate your delay before doing anything else - knowing the rough delay value before we move onto actual attempts will help to increase the chances of actually hitting our target seed. Delay will vary depending on the encounter type and location.

To calibrate delay for a specific encounter, pick between manual or automatic calibration and follow the relevant steps. The above example uses automatic calibration (Baby Mode).

Step-by-step (Manual Calibration)
  1. Launch the game and enter the overworld, then connect to GRASS and open the Static tab.
  2. Input the details of your target encounter if you have not already done so (species, method, etc.).
  3. Reach the screen of the final button input for your target (ignore the offset values on this page).
  4. Press the A button once you reach a round number of advances (such as a multiple of 1,000) of advances for simplicity.
    • For Ho-Oh specifically you do not press the A button, instead you must press UP on your controller.
  5. The next step will depend on if you are in an encounter or redeeming a gift.
    • For encounters, click the Read Encounter button to read the details of the Pokémon you are in battle with.
    • For gifts, check which party slot the Pokémon has been sent to and enter the number into the field next to the Read Party button, then click the button.
  6. Click the Copy IVs to Filters button, then click the Generate button. You should now see the Pokémon you hit in the search results table.
    • If you do not see your result in the table this is likely because it uses a different generation Method, swap between methods and click Generate again to find the correct one.
  7. Confirm the advance that your Pokémon was generated on in the generated table, and subtract it from the advance that you initiated the encounter/redemption on.
    • For example, if we initiated the encounter/redemption on advance 2000 and the Pokémon was generated on advance 2,050, our delay for this attempt is 50.
  8. Repeat this process multiple times until you see a level of consistency in your delay.
    • If you are not seeing consistency at all you can consider using the Baby Mode method instead (read below).

Step-by-step (Automatic Calibration)
  1. Launch the game and enter the overworld, then connect to GRASS and open the Static tab.
  2. Input the details of your target encounter if you have not already done so (species, method, etc.).
  3. Reach the screen of the final button input for your target (ignore the offset values on this page).
  4. In the Baby Mode section of the main window, enter a round number (such as a multiple of 1,000) inside the empty field and set the correct button input in the dropdown menu. In most cases this should be set to A.
    • Setting the advance value to a round number helps to maintain consistency and makes calculation slightly easier when calibrating your delay.
    • For Ho-Oh specifically, set the button input to D-UP and check that your in-game settings are not configured to L=A.
  5. Resume the game, then wirelessly connect your controllers and disconnect them immediately afterwards.
    • On JoyCons the disconnect button is found on the side of the controller.
    • On Pro Controllers the disconnect button is found on the top of the controller.
    • This is required for the program to send button inputs to the controller.
  6. Press the Go! button in the Baby Mode section of GRASS and wait. The final button input will be pressed automatically on your target advance.
  7. The next step will depend on if you are in an encounter or redeeming a gift.
    • For encounters, click the Read Encounter button to read the details of the Pokémon you are in battle with.
    • For gifts, check which party slot the Pokémon has been sent to and enter the number into the field next to the Read Party button, then click the button.
  8. Click the Copy IVs to Filters button, then click the Generate button. You should now see the Pokémon you hit in the search results table.
    • If you do not see your result in the table this is likely because it uses a different generation Method, swap between methods and click Generate again to find the correct one.
  9. Confirm the advance that your Pokémon was generated on in the generated table, and subtract it from the advance that you initiated the encounter/redemption on.
    • For example, if we initiated the encounter/redemption on advance 2000 and the Pokémon was generated on advance 2,050, our delay for this attempt is 50.
  10. Repeat this process multiple times until you see a level of consistency in your delay.

Information - You must stick to whichever method you used to calibrate your delay when aiming for your desired Pokémon in practice. For example, if you used the automatic calibration method, you must use the Baby Mode method when you attempt to hit your target Pokémon.

Figure 3 - Seed Resetting

static-3
Seed Resetting

The next steps depend on whether you are targeting a specific spread (for example, specific IVs or a spread made shiny through SID manipulation). If you are, start from Step 1. For targeting a random spread, start from Step 7 instead.

The image above demonstrates the process for targeting a specific spread as we manipulated our SID earlier to make a specific spread generate as shiny, but the steps below should be straightforward regardless of the spread you are targeting.

Step-by-step:
  1. Open the Spread Finder tab, then search for your target spread.
  2. Right-click your target spread and click Copy Seed to Clipboard.
  3. Open the Seed Reset tab and paste your seed into the Target Seed field.
  4. Next, you can decide how you want the program to search for your seed.
    • Search by Number of Seeds will calculate the provided amount of initial seeds closest to your target, and tell you the maximum number of advances that you will be waiting from the furthest of those initial seeds.
    • Search by Distance to Target will search for any initial seed within the provided number of advances from your target seed, and calculate how many seeds exist in that range. Use this when you don't care as much about how long it takes to find a seed, but know how long you're willing to wait from initial seed to target.
    • Search for Specific Seeds will search for the seeds you provide it with and only those seeds. Use this when you are targeting multiple different spreads and don't mind which one you find an initial seed for first.
    • You can also calculate the expected number of resets it will take to find your seed by clicking the Calculate button towards the bottom of the Seed Reset tab. It is recommended to apply less strict search filters if you are unhappy with the average reset value.
  5. Connect your controller wirelessly, then press the disconnect button on the controller.
    • On JoyCons the disconnect button is found on the side of the controller.
    • On Pro Controllers the disconnect button is found on the top of the controller.
    • This is required for the program to send button inputs to the controller.
  6. Connect to the program, click Reset for Seed, then wait until a result is found.

  7. Open the Static tab, then select your desired Species and Method.
  8. Set your search filters, for example filtering for a shiny Pokémon.
    • You can be more specific with your search filters if you wish, but keep in mind that if you did not manipulate your SID earlier you will experience limitations on the spreads that are shiny possible.
    • If you are not targetting a shiny Pokémon, you can ignore the Shiny filter and simply target a specific IV spread, this will work regardless of if you manipulated your SID or not.

Figure 4 - Target Found / Advancing to the Target

static-4
Target Found

In the above example we can see our target squirtle can be found on advance 8,988, and when calibrating our delay for this gift we were hitting a rough delay of ~9. With this in mind we can now move on to attempting to hit a target frame in practice.

As we used Baby Mode during the delay calibration example we will now need to use Baby Mode again when attempting to hit our target frame in practice. Avoid mixing modes as this will result in delay differences/inaccuracies.

Advancing to the Target (Manual Input):
  1. Launch the game and advance your seed until you are close to your target advance (within ~20,000 advances away).
    • Using the Teachy TV item causes the RNG state to advance very quickly and is accessible shortly after redeeming your starter. Consider using it to advance large distances.
    • Baby Mode can also be used to press the HOME button once you reach a specific advance to avoid overshooting your target.
  2. Head to the location that contains your target, then reach the screen of the final button input.
  3. Set your delay inside the Static tab and search for your target again, this will be the advance you will aim to generate the encounter/gift on.
  4. Wait for your target advance, then quickly press whichever button is needed to initiate the encounter or gift redemption.
  5. The next step will depend on if you are in an encounter or redeeming a gift.
    • For encounters, click the Read Encounter button to read the details of the Pokémon you are in battle with.
    • For gifts, check which party slot the Pokémon has been sent to and enter the number into the field next to the Read Party button, then click the button.
  6. Confirm that the Pokémon matches what is expected, adjust the delay accordingly if you are consistently missing your target.
    • Undershoot = Decrease Delay
    • Overshoot = Increase Delay
  7. Repeat the process until you hit the correct target seed and generate the correct Pokémon.

Advancing to the Target (Baby Mode):
  1. Launch the game and advance your seed until you are close to your target advance (within ~20,000 advances away).
    • Using the Teachy TV item causes the RNG state to advance very quickly and is accessible shortly after redeeming your starter. Consider using it to advance large distances.
    • Baby Mode can also be used to press the HOME button once you reach a specific advance to avoid overshooting your target.
  2. Head to the location that contains your target, then reach the screen of the final button input.
  3. Set your delay and button input inside the Baby Mode section, this should be set according to earlier delay calibration setup.
  4. Connect your controller wirelessly, then press the disconnect button on the controller.
  5. Enter your target advance into the Baby Mode field, then click Go! and wait for the bot to automatically redeem/encounter the Pokémon.
    • For encounters, click the Read Encounter button to read the details of the Pokémon you are in battle with.
    • For gifts, check which party slot the Pokémon has been sent to and enter the number into the field next to the Read Party button, then click the button.
  6. Confirm that the Pokémon matches what is expected, adjust the delay accordingly if you are consistently missing your target.
    • Undershoot = Decrease Delay
    • Overshoot = Increase Delay
  7. Repeat the process until you hit the correct target seed and generate the correct Pokémon.

Information - For consistency, you will almost always want your delay to match the parity (odd or even) of your target advance. In practice, this means that if your target advance is odd, your delay should also be odd, and if your target advance is even, your delay should also be even.

In the Switch ports, overworld seed advances typically progress 2-by-2 rather than 1-by-1 like the original GBA versions, so your delay will usually be an even number. If your current advance has the wrong parity, you can often change it by opening and closing the party menu or another start menu option.

Figure 5 - Target Hit

static-5

After initiating the encounter/redemption process and reading the details of the Pokémon, you should see that the correct Pokémon was generated. This confirms that the manipulation was successful!

Information - Due to the varying delay it may take multiple attempts to hit your target, even after calibrating your delay multiple times. Don't get discouraged if you don't hit your target on the first few tries!
Send me back to the Main Page!