BDSP PokeRadar Encounter RNG (CFW)


This page covers how to manipulate your PokeRadar encounters. This type of RNG manipulation can be used to manipulate Pokemon with ideal stats/natures from PokeRadar chains, and is best used in tandem with PokeRadar chain length manipulation on order to achieve shiny Pokemon with high IV values.

From here it is assumed that you have read and followed all of the information found on the initial page of the PokeRadar guide.

Missed the initial setup? Click here to go back!
Important Information

The frame at which you enter a PokeRadar grass patch determines the internal values (IVs, Nature, Gender, etc.) of the Pokemon inside. However, the species remains consistent throughout a chain. Once a chain starts, all encounters will be the same species until the chain breaks.

If your party leads with a Pokémon that has the Synchronize ability, every PokéRadar encounter will match the nature of that Pokémon. For example, if you have an Adamant Pokémon with Synchronize first on your party, all encounters will have an Adamant nature.

Using this information, along with Lusamine's BDSP scripts, you can manipulate encounters to obtain shiny Pokémon with ideal IVs and Natures from PokeRadar chains.


Figure 1 - Script Setup (Delay)



Script Setup (Delay)

First, you'll need to configure the script for delay calibration. The setup will vary slightly depending on the Pokémon you're hunting, as factors like gender ratios and chain length need to be taken into account. Take note of the gender ratio of the Pokémon you're targeting, each ratio has an assigned value (listed at the top of the script).

  • In the int GenderCompare line, change the number value to match the gender ratio of the Pokemon you are hunting.
  • In the int FlawlessIVs line, make sure this value is set to 0 (you should not have a long chain when testing delays).
  • Ensure the search filters at the bottom of the script are written as comments when testing delays (comments are green and the line starts with //).
In this example we are hunting for Ditto, which has a gender value of -1. We also do not have a significant chain length that guarantees flawless IVs so this value has not been modified.

Figure 2 - Delay Calibration



Delay Calibration

It is improtant to calculate the delay for your encounter. In this context, "delay" refers to the number of frames consumed between walking into a PokeRadar patch and the generation of the Pokemon.

Step-by-step
  • Activate a chain and stand next to a radar tile, then press the Home button to freeze the RNG state.
  • Start EncBotCopySeedBS to obtain your current seed, then paste it into the script, run the script after doing so (▶ Play Button).
  • Unpause the game by pressing the Home button while walking in the direction of the radar patch.
  • Use PokeViewer.NET's Wild View feature to read the details of the Pokemon you are in battle with.
  • Copy the PID from PokeViewer, then press Crtl+F on your keyboard in the LINQPad results.
  • Paste the PID to find the frame that generated the Pokemon you are in battle with, this will be your delay.
  • Since delay is variable, repeat this process a few times to get a rough average delay value for the area you are in.

You can use the directional pad (DPAD) to take exact steps in order to stand the same distance away from the grass patch every time, using this method will provide a slightly more consistent setup.

Delay is variable between areas, you will need to re-calibrate your delay each time you move to a different location.

After 10 attempts, the following delays were calculated:

Attempt Delay
Attempt 1 134
Attempt 2 131
Attempt 3 132
Attempt 4 132
Attempt 5 134
Attempt 6 132
Attempt 7 131
Attempt 8 135
Attempt 9 133
Attempt 10 132

We can see a common delay of 131-135, so we can take these value and factor them in when attempting to hit a target frame.

Target Frame - Delay = Frame to step into grass


Finding A Target Frame


Having an IV/Shiny bonus gives you better chances of finding rare Pokemon, at this stage you should have built a chain, have an idea of your delay, and be ready to initiate the encounter.

If you have not yet built a desirable chain, you can either try to build one based on pure luck (hoping your chain doesn't break) or using the guide below to manipulate chain length via RNG.

Want to manipulate chain length? Click here for the guide!
Figure 3 - Script Setup (Encounter)



Script Setup (Encounter)

By this point the int GenderCompare line at the top of the script should already match the Pokemon you are hunting, if this is not the case or you have changed target, ensure the correct value is set.

Depending on the length of your chain, you will need to configure the int FlawlessIVs line to match the amount of guaranteed IVs your chain gives.

  • If you have a chain of 19, set the Flawless IVs to 1.
  • If you have a chain of 29, set the Flawless IVs to 2.
  • If you have a chain of 39, set the Flawless IVs to 3.
  • If you have a chain of 99, set the Flawless IVs to 5.
  • If you have a chain of any other value, set the Flawless IVs to 0.

Now you will need to set your search filters, these can be found at the bottom of the script. Use the above example as a reference point if needed. Removing the // before a filter will make the filter become active, adding the // will ignore the filter.

In the above example the filters have been set to search for any 6IV Pokemon, as we will be attempting to hit a 6IV Ditto on a chain of 99 and do not care about other variables. You can add or remove other filters if you wish.

Figure 4 - Target Frame Found!



Target Frame Found

A 6IV frame has been found in a cluster on advances 24,378-24,391, a cluster is a group of frames in a row that produce the same end result. Clusters only appear if you are searching for non-shiny targets, but if you are attempting to RNG abuse the IVs on a shiny patch, you can still search for a cluster as the Pokemon will be forced shiny regardless.

A large cluster has been produced because earlier we manipulated a chain of 99, which means the next Pokemon we encounter will have 5IVs naturally, making it much easier to find a 6IV target frame.

If you are searching for a shiny patch, spam the PokeRadar until one appears, then stand 1 tile away from the patch and press the Home button, as you would when calibrating delay.

If you are not aiming for a shiny Pokemon you do not need to spam for a shiny patch. Simply stand next to your target patch and press the Home button.

From here you will need to advance towards your target frame. The majority of the work can be done using Moarencounterbots, this will require changing settings inside the Hub tab.

Figure 5 - Advancing Setup



Advancement Setup

To advance large distances as quickly as possible, use the EncBotDexFlipBS routine. A description of this routine can be found here. Having a decent chunk of your Pokedex completed is important for optimizing this method.

Settings Toggles:
  • In the Hub tab, open the EncounterRNGBS dropdown menu.
  • Set the MaxTotalAdvances value to ~10,000 frames before your target (e.g if Target is at 100,000, set to 90,000).
  • In the Bots tab, type the local IP address into the assigned field and remove any other active bots.
  • In the dropdown menu on the right, add both EncBotDexFlipBS and EncBotRNGMonitorBS

After the settings have been properly toggled, open the Pokedex in game, disconnect all controllers using the unsync button, then start the bot. The bot will automatically pause the game when the MaxTotalAdvances has been reached. You can then reconnect the controller once the routine has ended.

Controller Connectivity Troubleshooting
  • JoyCons - Slide the JoyCons onto the Joycon rail then press any button to sync them to the console.
  • Pro Controller - Reconnect the controller from the controller settings if you are having issues with automatically connecting, or the controller is synced as a second controller.
You do not need to use the Dex Flip routine if your target is of a small distance away, scrolling the Pokedex manually while monitoring your seed is effective enough in these cases.

Final Advancements


Once you are close to your target frame (within ~10,000 frames), you will need to advance the rest of the way and hit your target frame slowly using EncBotRNGMonitorBS to monitor your seed.

The recommended method of hitting a target frame accurately (particularly for radar encounters), is by pressing the home button twice to resume and pause the game, this technique is known as "home mashing". While you can hit targets without using this technique, it is considered less consistent.

Final Advancements
  • With the game in the Home Menu, remove all active bots and add EncBotCopySeedBS to the bot list, then click the Start All button and paste your new seeds into the script, this will provide your new starting frame.
  • Remove EncBotCopySeedBS and add EncBotRNGMonitorBS instead, then start the bot to begin monitoring your seed. If done correctly the logs should start from advance 0.
  • Unpause the game, stand within a single step/tile of your encounter, then let the RNG state advance until you are within ~1000 frames of the target frame, then keep the game paused on the Home menu.
You may optionally choose to manually advance the RNG state by scrolling the Pokedex. Be careful not to overshoot your target!
  • Remove all active bots and re-add EncBotRNGMonitorBS again to monitor from 0 advances, then run the bot, paste your seed into the script once more.
  • Subtract your calibrated delay from the target frame (for example 1000 (target) - 130 (delay) = 870). This will be the frame you will aim to walk into the grass patch and initiate the encounter.
  • Use the home mashing technique mentioned above to inch towards your target frame slowly, once you hit the correct target frame keep the game paused on the Home Menu.
  • Quickly unpause the game and move in the direction of your patch to initiate the encounter, if done correctly the encounter should match what is expected by the script.
It may take multiple attempts to hit a target frame due to the fast paced nature of advancement coming from the swaying grass patches. The best advice is to seek a new target frame if you are not sure that your current target is actually hittable.

Figure 6 - Target Frame Hit



The script displays the target on advance 8601-8614, taking delay into account (131), the frame to move into the encounter is any time between frame 8470 & 8483.

SysBot logs indicate that 8481 advancements have occured, which is in the desired range. So we can now unpause the game and walk into the patch to initiate the encounter and see if we hit the target frame.

Figure 7 - Result Found (PokeViewer.NET Confirmation)



After opening PokeViewer.NET and using the Battle View function, we can see that the Pokemon matches the script search result. Mission accomplished!

Missing target frames? Click here for an encounter troubleshooting guide!