[on site] The Process of Deducing your Secret ID

Discussion in 'Archives' started by mingot, Apr 23, 2009.

  1. mingot

    mingot free agent
    is a member of the Site Staffis a Battle Server Administratoris an Administrator

    Joined:
    Jun 15, 2008
    Messages:
    3,049
    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.
  2. X-Act

    X-Act np: Biffy Clyro - Shock Shock
    is a Site Staff Alumnusis a Programmer Alumnusis a CAP Contributor Alumnusis a Researcher Alumnusis a Tiering Contributor Alumnusis a Contributor Alumnusis an Administrator Alumnus

    Joined:
    Feb 17, 2006
    Messages:
    4,675
    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.
  3. foibles

    foibles

    Joined:
    Sep 6, 2008
    Messages:
    898
    very minor nitpick, but this needs to be EV reducing berries.
  4. Caelum

    Caelum qibz official stalker
    is a Site Staff Alumnusis a Smogon IRC AOp Alumnusis a Forum Moderator Alumnusis a Tiering Contributor Alumnusis a Contributor Alumnusis a Battle Server Moderator Alumnus

    Joined:
    Apr 5, 2008
    Messages:
    1,656
    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.
  5. mingot

    mingot free agent
    is a member of the Site Staffis a Battle Server Administratoris an Administrator

    Joined:
    Jun 15, 2008
    Messages:
    3,049
    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?

    Pretty major minor nitpick. Fixed, and thank you.

    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.
  6. Malfunction

    Malfunction

    Joined:
    Nov 29, 2007
    Messages:
    1,557
    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. ^_^
  7. RBG

    RBG It feels like a perfect night to dress up like hipsters
    is a Super Moderatoris a Smogon Media Contributoris a Site Staff Alumnusis a Smogon IRC AOp Alumnusis a Researcher Alumnusis a Tiering Contributor Alumnusis a Battle Server Moderator Alumnus
    Facebook Manager

    Joined:
    Jan 27, 2008
    Messages:
    3,319
    Yes, it has to be one of your own caught shinies from that game.
  8. mingot

    mingot free agent
    is a member of the Site Staffis a Battle Server Administratoris an Administrator

    Joined:
    Jun 15, 2008
    Messages:
    3,049
    Thanks!

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

  9. Blue Kirby

    Blue Kirby Never back down.
    is a Tutor Alumnusis a Site Staff Alumnusis a Battle Server Admin Alumnusis a Programmer Alumnusis a Smogon IRC SOp Alumnusis a Smogon Media Contributor Alumnusis a Contributor Alumnusis an Administrator Alumnusis a Past SPL + WCoP Winner

    Joined:
    Nov 1, 2007
    Messages:
    2,837
  10. Staraptor Call

    Staraptor Call

    Joined:
    Mar 7, 2009
    Messages:
    1,422
    If I caught a shiny Pokemon while chaining but it wasn't in a shiny patch, can I still find my SID using that Pokemon?
  11. mingot

    mingot free agent
    is a member of the Site Staffis a Battle Server Administratoris an Administrator

    Joined:
    Jun 15, 2008
    Messages:
    3,049
    Yes can find your SID with that as it is not considered a chained shiny.
  12. agiyr

    agiyr

    Joined:
    Jun 20, 2009
    Messages:
    45
    Will I get the same result no matter whitch shiny I use for the test?
  13. mingot

    mingot free agent
    is a member of the Site Staffis a Battle Server Administratoris an Administrator

    Joined:
    Jun 15, 2008
    Messages:
    3,049
    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 Viewing Thread (Users: 0, Guests: 0)