Jump to content
OmegaDonut

Pokewalker PID restrictions

Recommended Posts

By now it's known that the PIDs of all Pokemon from the Pokewalker come in the form D5FFFF??, possibly from an inability of the Pokewalker to handle 32-bit numbers. However, it seems the PIDs are also restricted by course.

For instance, all the values of ?? for Pokemon from Winner's Road range from E8-FF. At least, all the ones I've caught. It probably ranges from E7-FF, in order to get the full range of natures.

There are two applications to finding out the PID ranges for specific courses:

- Giving the Legality Checker more criteria to verify the PIDs of Pokewalker Pokemon

- Scoring a shiny Surfing Pikachu

I suspect at this point that it's impossible to get both a shiny Surfing Pikachu and a shiny Flying Pikachu on the same game. They're set to different genders, so they probably have different, non-overlapping PID groups.

Anyway, I'm looking to the community for more data. Please, could you share the PIDs of your Pokewalker Pokemon? The PIDs of Surfing\Flying Pikachus are a priority because there's no other way to get them without a set nature, but PIDs of other Pokewalker Pokemon are helpful too.

Share this post


Link to post
Share on other sites

Here are some PIDs for you. Some of them are from my own game and others are fodder I've obtained in trades. I included Trainer ID and SID, since that appears to affect the first two digits of the PID.

ID 30859, SID 63760

Pikachu -- 0x7DFFFF60

Pikachu -- 0x7DFFFF65

Surfing Pikachu -- 0x7E000003

Others

Pikachu -- 0x34000089 (ID 20790, SID 39664)

Pikachu -- 0x71FFFF5A (ID 49017, SID 12807)

Pikachu -- 0xC0000001 (ID 17398, SID 31936)

Koffing -- 0xE9000009 (ID 55007, SID 49214)

Onix -- 0xE7FFFF61 (ID 35955, SID 39719)

Volt Tackle Pikachu -- 0x2FFFFF5E (ID 27008, SID 42726)

Pikachu -- 0x59FFFFFE (ID 51223, SID 28044)

Pikachu -- 0x2100008F (ID 31526, SID 42406)

Psyduck -- 0x3FFFFF55 (ID 36774, SID 12433)

Share this post


Link to post
Share on other sites

As far as I can tell, the differing PIDs depending on TID and SID ensure that the Pokéwalker Pokémon can never be shiny.

A Pokémon is shiny if its TID, SID, and both 16-bit halves of its PID XOR together to make a number less than 8.

For all the Pokémon of PIDs with the format 0xXX0000YY, the XX is the inverse of the upper 8 bits of TID^SID. Therefore, the 'shiny value' for these Pokémon takes the form of 0xFFZZ, meaning that they can never be shiny.

For the Pokémon with PIDs like 0xXXFFFFYY, the 'shiny value' differs; however, the lower 2 bits are always 1 in the samples above.

The 'shiny values' for the given Pokémon are (in the same order as above):

0x0304

0x0301

0xFF98

0xFF4F

0x03DB

0xFF37

0xFFE8

0x0FCA

0x1FC7

0x039A

0xFF0F

0x7F9D

So it looks like Pokéwalker Pokémon can't be shiny. I'll test this theory with my Pokéwalker-obtained Pokémon, too. However, we still need to figure out what determines which of the two groups a Pokémon falls into (0xXX0000YY or 0xXXFFFFYY). Could you provide the gender of each of the Pikachu?

Share this post


Link to post
Share on other sites

ID 30859, SID 63760

Pikachu -- 0x7DFFFF60 -- female

Pikachu -- 0x7DFFFF65 -- female

Surfing Pikachu -- 0x7E000003 -- female

Others

Pikachu -- 0x34000089 (ID 20790, SID 39664) -- male

Pikachu -- 0x71FFFF5A (ID 49017, SID 12807) -- female

Pikachu -- 0xC0000001 (ID 17398, SID 31936) -- female

Koffing -- 0xE9000009 (ID 55007, SID 49214) -- female

Onix -- 0xE7FFFF61 (ID 35955, SID 39719) -- female

Volt Tackle Pikachu -- 0x2FFFFF5E (ID 27008, SID 42726) -- female

Pikachu -- 0x59FFFFFE (ID 51223, SID 28044) -- male

Pikachu -- 0x2100008F (ID 31526, SID 42406) -- male

Psyduck -- 0x3FFFFF55 (ID 36774, SID 12433) -- female

Share this post


Link to post
Share on other sites

Sorry to revive this. As I am able to only play on emulators, I must generate Pokewalker-exclusive Pokemons in order to obtain them. I will share my observation for the PID generation for Pokewalker pokemons. 

On 4/21/2010 at 6:04 PM, Wichu said:

For all the Pokémon of PIDs with the format 0xXX0000YY, the XX is the inverse of the upper 8 bits of TID^SID. Therefore, the 'shiny value' for these Pokémon takes the form of 0xFFZZ, meaning that they can never be shiny.

For the Pokémon with PIDs like 0xXXFFFFYY, the 'shiny value' differs; however, the lower 2 bits are always 1 in the samples above.

As Wichu had noted, the general format of a Pokewalker pokemon is either 0xXX0000YY or 0xXXFFFFYY where,

XX is dependant to the TID and SID and YY governs the natures of the pokemon.

The calculation for XX is as follow:

For PID with format 0xXX0000YY, XX is the upper 8 bits of NOT (TID XOR SID)

For PID with format 0xXXFFFFYY*, XX is (the upper 8 bits of NOT (TID XOR SID)) - 1

*not true for this:

On 4/22/2010 at 2:45 AM, Kamek said:

Onix -- 0xE7FFFF61 (ID 35955, SID 39719) -- female

 

YY is based on the gender of the pokemon. Do check the gender of generated pokemon at https://www.serebii.net/heartgoldsoulsilver/pokewalker-area.shtml. I had also obtained some .pkm files from HaxAras from below page

I had observed that, for pokemons with 0xXXFFFFYY, YY for male pokemons ranges from E8 to FF, while for female, 52 to 6A.

However for 0xXX0000YY pokemons, there was insufficient data to deduce a range. It can however be seen that 0xXX0000YY pokemons were usually Pikachus (most likely from Yellow Forest to tell the cartridge of those special Pikachus with special moves. If there is anyone still playing HGSS and real pokemon caught from Pokewalker, it would be appreciated if they are put here.

Share this post


Link to post
Share on other sites
59 minutes ago, R0G3R said:

Sorry to revive this. As I am able to only play on emulators, I must generate Pokewalker-exclusive Pokemons in order to obtain them. I will share my observation for the PID generation for Pokewalker pokemons. 

As Wichu had noted, the general format of a Pokewalker pokemon is either 0xXX0000YY or 0xXXFFFFYY where,

XX is dependant to the TID and SID and YY governs the natures of the pokemon.

The calculation for XX is as follow:

For PID with format 0xXX0000YY, XX is the upper 8 bits of NOT (TID XOR SID)

For PID with format 0xXXFFFFYY*, XX is (the upper 8 bits of NOT (TID XOR SID)) - 1

*not true for this:

 

YY is based on the gender of the pokemon. Do check the gender of generated pokemon at https://www.serebii.net/heartgoldsoulsilver/pokewalker-area.shtml. I had also obtained some .pkm files from HaxAras from below page

I had observed that, for pokemons with 0xXXFFFFYY, YY for male pokemons ranges from E8 to FF, while for female, 52 to 6A.

However for 0xXX0000YY pokemons, there was insufficient data to deduce a range. It can however be seen that 0xXX0000YY pokemons were usually Pikachus (most likely from Yellow Forest to tell the cartridge of those special Pikachus with special moves. If there is anyone still playing HGSS and real pokemon caught from Pokewalker, it would be appreciated if they are put here.

Thank you for helping with the research. I think @Kaphotics has already added this to PKHex.

Share this post


Link to post
Share on other sites

Hmm...

1) Can the pokewalker PID generation restriction be shared out? Would love to be able to generate a Skitty (can't seem to make it right, PID mismatch).

2) PKHEX still can't reroll a PID for pokewalker pokemons?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...