[on site] The Process of Deducing your Secret ID

mingot

free agent
is a Site Content Manager Alumnusis a Battle Simulator Admin Alumnusis a Top Researcher Alumnusis a Contributor Alumnusis a Smogon Media Contributor Alumnusis an Administrator Alumnus
The Process of Deducing your Secret ID Without an External Device

Credits

Without X-Act's initial article on PID and IV creation this would either not exist or be much more complex than needbe. Thank You.

Introduction

What is a Secret ID?

While it is common knowledge that each trainer has an ID it is somewhat less known that he or she also has a Secret ID which is hidden away. As the Trainer ID, this Secret ID is also recorded on each Pokemon a Trainer captures or breeds. This Secret ID is used in the equation which determines whether a Pokemon is shiny or not.

Why would I care?

Recently it has been discovered that the Random Number Generator, which controls IV's, natures, and whether a Pokemon is shiny, produces very predictable results. With little effort shiny Pokemon may be bred (in 4th generation games) or captured (in Emerald and 4th generation games), but it does require your Secret ID. There are ways to determine your Secret ID through the use of cheat devices but this guide explains how to find it for those that don't have access to or don't wish to use one of these.

For information on using your Secret ID to breed or capture shiny Pokemon please refer to the threads listed below:

Diamond / Pearl / Platinum
Emerald

Preliminaries


Before you begin you will need the following:

A Non-bred/non-chained shiny Pokemon that was caught in the game where you wish to determine the Secret ID. Pokemon caught while chaining, but from non-shiny patches are considered to be non-chained.

Access to a calculator that is capable of doing Hexadecimal and Binary conversions. Both the standard Windows and Macintosh calculators will do, but the body of this guide will assume that you are using the Windows Calculator.

Deducing your Secret ID

Find your IVs

You will need to discover the exact IVs of your shiny Pokemon first. Depending on the level this could be either extremely easy or difficult. Check them with Metalkid's IV Calculator. It may be that the EVs of the Pokemon are unknown, and in this case you will want to use EV reducing berries to clear them before using MetalKid's IV Calculator.

Find your PID

One you have found the IVs of your shiny Pokemon you will need to find its PID. The easiest way to accomplish this is by using X-Act's IV to PID Applet. Simply enter the IVs you calculated above and the nature of your Pokemon. X-Act's IV to PID Applet will then display a list of all possible PIDs based on the information you have entered. For our example we'll use a captured Fearow with IVs of 6 / 22 / 29 / 17 / 15 / 4 and a Serious nature which was captured in Pokemon Pearl.

Look for output that is similar to the following:

PID: 0466036312 [1BC72658] | Created by Method 1 | Gender Number: 088 | Ability: 0
PID: 4009280062 [EEF8C23E] | Created by Method 2 | Gender Number: 062 | Ability: 0
2 possibilities

Depending on the game where the Pokemon was captured will determine which of these lines you are interested in.

For all Legendaries in all games you will look for PIDs created by Method 1.
For 4th Generation games you will look for PIDs created by Method 1.
For wild Pokemon in 3rd Generation games you will look for PIDs created by Methods 1, 2, 3, or 4.

Note: There may be more than one line in the output that satisfies the criteria for the Pokemon whose IVs you have entered. In this situation, you will be forced to complete the following steps for both of these PIDs and determine which one was correct at a later time by using Random Number Generator abuse techniques.

Calculate your Secret ID

Following along with the sample data from above we will take the hexadecimal version of the PID (highlighted and in square brackets above), then add as many 0's to the front as are necessary to make this a 8 digits long.

As our example number is already 8 digits we do not have to pad the number.

Resulting PID: 1BC72658

Our next step is to take this number and half it into two four digit numbers as such:

1BC7
2658


Now open your calculator and convert both of these numbers to Binary. Using Windows built in calculator to do this is quite simple. Select the View->Scientific menu item and then click on the Radio Button next to 'Hex'. Paste in the Hexadecimal number and then click on the radio button next to 'Bin' to switch to the Binary view of this number.

Do this for both halves of the PID and paste the results into a text file.

1101111000111
10011001011000

Once this is done, switch your calculator into decimal mode and paste in your Trainer ID. We will be using 55083 for this example. Click the Radio Button next to 'Bin' to convert this into a third Binary number and paste the results into your text file under the first two.

1101011100101011

The next task is to make each of these binary numbers exactly 16 digits long. If any number has less than 16 digits, simply add enough zeros to the beginning of the number to make it so.

Now these numbers should line up as below:

0001101111000111
0010011001011000
1101011100101011
---------------------------

Our next step is to use these three numbers to create a 4th number, which will be our deduced secret ID.

Our goal when creating our 4th number is to have the sum of the number in each individual column equal either 0, 2, or 4; that is for the number of ones in each column to be an even number. Please note that this calculation is only necessary for the first 13 columns.

The example below shows the math for each of the 13 columns.

0001101111000|111
0010011001011|000
1101011100101|011
---------------|---
1--------------|000

As the sum of the first digits in this column add up to 1 we will add 1 to get our even result, which is 2 in this case.


0001101111000|111
0010011001011|000
1101011100101|011
---------------|---
11-------.-----|000

As the sum of the first digits in this column add up to 1 we will add 1 to get our even result, which is 2 in this case.


0001101111000|111
0010011001011|000
1101011100101|011
---------------|---
111--------.---|000


As the sum of the first digits in this column add up to 1 we will add 1 to get our even result, which is 2 in this case.


0001101111000|111
0010011001011|000
1101011100101|011
---------------|---
1110--------. -|000

As the sum of the first digits in this column add up to 2 we will add 0 to get our even result, which is 2 in this case.


0001101111000|111
0010011001011|000
1101011100101|011
---------------|---
11101-------..-|000

As the sum of the first digits in this column add up to 1 we will add 1 to get our even result, which is 2 in this case.


0001101111000|111
0010011001011|000
1101011100101|011
---------------|---
111010--------|000

As the sum of the first digits in this column add up to 2 we will add 0 to get our even result, which is 2 in this case.


0001101111000|111
0010011001011|000
1101011100101|011
---------------|---
1110101-------|000

As the sum of the first digits in this column add up to 3 we will add 1 to get our even result, which is 4 in this case.


0001101111000|111
0010011001011|000
1101011100101|011
---------------|---
11101010------|000

As the sum of the first digits in this column add up to 2 we will add 0 to get our even result, which is 2 in this case.


0001101111000|111
0010011001011|000
1101011100101|011
---------------|---
111010101-----|000

As the sum of the first digits in this column add up to 1 we will add 1 to get our even result, which is 2 in this case.


0001101111000|111
0010011001011|000
1101011100101|011
---------------|---
1110101010-.--|000

As the sum of the first digits in this column add up to 2 we will add 0 to get our even result, which is 2 in this case.


0001101111000|111
0010011001011|000
1101011100101|011
---------------|---
11101010101-.-|000

As the sum of the first digits in this column add up to 1 we will add 1 to get our even result, which is 2 in this case.


0001101111000|111
0010011001011|000
1101011100101|011
---------------|---
111010101011-|000

As the sum of the first digits in this column add up to 1 we will add 1 to get our even result, which is 2 in this case.


0001101111000|111
0010011001011|000
1101011100101|011
---------------|---
1110101010110|000 <- Final Secret ID

As the sum of the first digits in this column add up to 2 we will add 0 to get our even result, which is 2 in this case.

This leaves with a final binary number which represents our Secret ID.

1110101010110000

Switch your calculator to 'Bin' and paste in this result and then switch the calculator to 'Dec' to finally retrieve you Secret ID in decimal. The Secret ID in our example was 60080.

Afterward

The following is technical and likely not of interest to those who simply wish to use the results of the method outlined above to breed and capture shiny Pokemon.

This does not always give you your exact Secret ID, but as only the first 13 bits of your Secret ID are taken into account for determining shininess it does give a compatible result. The actual Secret ID will be in the range of the number this method produces (n) and n+7. For example, if the method results in 10000 as the Secret ID the actual Secret ID is some number between 10000 and 10007.
 

X-Act

np: Biffy Clyro - Shock Shock
is a Site Content Manager Alumnusis a Programmer Alumnusis a Smogon Discord Contributor Alumnusis a Top Researcher Alumnusis a Top CAP Contributor Alumnusis a Top Tiering Contributor Alumnusis a Top Contributor Alumnusis a Smogon Media Contributor Alumnusis an Administrator Alumnus
Good article. Slight nitpick:

The actual Secret ID will be in the range of the number this method produces (n) and n+7.

Fixed.

This process is very similar to how the PID of chained shinies are created.
 
You will need to discover the exact IVs of your shiny Pokemon first. Depending on the level this could be either extremely easy or difficult. Check them with Metalkid's IV Calculator. It may be that the EVs of the Pokemon are unknown, and in this case you will want to use IV reducing berries to clear them before using MetalKid's IV Calculator.
very minor nitpick, but this needs to be EV reducing berries.
 

Caelum

qibz official stalker
is a Site Content Manager Alumnusis a Community Leader Alumnusis a Smogon Discord Contributor Alumnusis a Tiering Contributor Alumnusis a Top Contributor Alumnusis a Smogon Media Contributor Alumnusis a Battle Simulator Moderator Alumnus
Nice work. One comment though.

I know how to get my secret ID, now what? You say that this is used to "abuse" the RNG. It would be nice to let the reader actually know how they go about using their Secret ID. A simple link for more information would suffice.
 

mingot

free agent
is a Site Content Manager Alumnusis a Battle Simulator Admin Alumnusis a Top Researcher Alumnusis a Contributor Alumnusis a Smogon Media Contributor Alumnusis an Administrator Alumnus
Good article. Slight nitpick:

The actual Secret ID will be in the range of the number this method produces (n) and n+7.

Fixed.

This process is very similar to how the PID of chained shinies are created.
Thank you, and fixed.

Speaking chained shinies, I've given a lot of thought to trying to come up with a way to deduce a Secret ID using one and come to the conclusion that there is just not enough information to do so. But then I could just be missing something obvious.

Since any PID can be "fixed" to be shiny and all we know of the end PID is the nature and possible gender/ability it might be possible to get the initial pid and then run through the "fix" with all possible SIDs, discarding those that are not the correct nature. But then that should give about 2,700 false positives. It might be possible to require the IVs/Nature of 10+ chained Pokemon and then to take the intersection of those results.

Any thoughts on the viability of that or perhaps another idea?

very minor nitpick, but this needs to be EV reducing berries.
Pretty major minor nitpick. Fixed, and thank you.

Nice work. One comment though.

I know how to get my secret ID, now what? You say that this is used to "abuse" the RNG. It would be nice to let the reader actually know how they go about using their Secret ID. A simple link for more information would suffice.
Thank you, I've went ahead and linked both of the threads that have information necessary to take advantage of this. At some point, once cleaned up and a few things finished I hope to move the DPPt information to C&C.
 

Malfunction

nice desu ne
Unless I'm missing something, I would like to know: Does the shiny pokemon you use to find your secret ID have to be your own, or would just any non-bred/non-chained shiny be ok? It would be a good thing to mention that on the guide.
Looks like a really good guide, props. ^_^
 
Unless I'm missing something, I would like to know: Does the shiny pokemon you use to find your secret ID have to be your own, or would just any non-bred/non-chained shiny be ok? It would be a good thing to mention that on the guide.
Looks like a really good guide, props. ^_^
Yes, it has to be one of your own caught shinies from that game.
 

mingot

free agent
is a Site Content Manager Alumnusis a Battle Simulator Admin Alumnusis a Top Researcher Alumnusis a Contributor Alumnusis a Smogon Media Contributor Alumnusis an Administrator Alumnus
Unless I'm missing something, I would like to know: Does the shiny pokemon you use to find your secret ID have to be your own, or would just any non-bred/non-chained shiny be ok? It would be a good thing to mention that on the guide.
Looks like a really good guide, props. ^_^
Thanks!

Fair enough question. I have amended the item in the preliminaries section as such:

A Non-bred/non-chained shiny Pokemon that was caught in the game where you wish to determine the Secret ID.
 

mingot

free agent
is a Site Content Manager Alumnusis a Battle Simulator Admin Alumnusis a Top Researcher Alumnusis a Contributor Alumnusis a Smogon Media Contributor Alumnusis an Administrator Alumnus
As long as they are from the same game and both captured (not bred or chained) you will. The secret ID linked to the trainer and will be the same for all Pokemon.
 

Users Who Are Viewing This Thread (Users: 1, Guests: 0)

Top