**Determining your SSF with an Everstone**

If you're fortunate enough to hatch an egg that's not your everstone nature, you likely won't have to do anything whatsoever. You'll probably just be able to match nature/gender/ability to the list in RNG Reporter and go on your merry way.

If you do hatch an egg with your everstone nature, there are a few things you can do to figure out your SSF.

**Prerequisites:**

- Knowledge of your parents IVs.
- A calculator capable of converting hexadecimal to decimal. this one works fine
- A calculator capable of doing modular arithmetic this one works fine
- A piece of paper and something to write with.

For the calcualtors, you can use any hexadecimal converter you wish. For modular arithmetic, you can use WolframAlpha, it's pretty good (just type in 499 mod 6, for example, to find the remainder of 499 when divided by 6). You can also use my Python toolbox, but I'll get to that later.

**Step 1:** Check the Baby's IVs and Compare Inheritance

You can do this with Rare Candies if you want, but I usually just go to the potential judge inside Gear Station in Nimbasa City. It's useful when you're passing down and your seed has known 31 IVs, because he'll tell you which stats "Can't Be Better," instantly. It's then easy to see whether the stat came from your seed or was inherited. **As of RNG Reporter 9.79, you can display the parents IVs in the search by right clicking in the window where the Breeding (BW) information is displayed and selecting "Display Parents in Search" (toward the bottom). This allows you to input the parents' IVs and the IVs from the RNG (frame 8 IVs) and will show you the exact IVs of the egg generated on frames.**

For example:

My frame 8 spread has X/X/X/31/31/31 and both parents are hexflawless. I hatch a baby with 31/31/X/31/31/31. Then, I only need to look at frames where Attack and Defense were inherited from the parents.

**Step 2:** Check the PID % 6 vs. the Characteristic

If you can't determine it by inheritance, you can use a mechanic introduced in DPPt, the **characteristic** to help determine your starting frame. On the summary screen, the characteristic clues you into the highest IV -- it's where it says "Often Dozes Off, Alert to Sounds," etc. In the case of an IV tie, the PID is used to determine the characteristic of the Pokemon, hence, we have an additional "comb" with which to match Pokemon.

In the case of an IV tie, the stat mentioned in the characteristic is determined by the following algorithm:

Code:

[b]Let[/b] I = [H,A,D,S,SA,SD] indexed as HP IV = H = 0, Attack IV= A = 1, Defense IV= D = 2, Speed IV = S = 3, Special Attack IV = SA = 4, and Special Defense IV = SD = 5 be the list of IVs.
[b]Let[/b] M = max[I], the maximum IV in I.
[b]Initialize[/b] T = [], an empty list.
[b]Scan[/b] the list I. [b]If[/b] an element in I == (is equal to) M, then add its numerical index (e.g. 0 for HP) to T.
Now, T is the [b]list of stat indices participating in the IV tie.[/b]
[b]Let[/b] P = PID, the PID of the Pokemon (a hexadecimal value).
[b]Let[/b] i = P % 6, the remainder of the PID when divided by 6. i is equal to 0 (HP),1 (Attack),2 (Defense),3 (Speed),4 (Sp. Attack), or 5 (Sp. Defense). This is the [b]characteristic index stat[/b].
[b]Scan[/b] T for i.
[b]If[/b] i is [b]in[/b] T, then i is the [b]characteristic stat[/b].
[b]If[/b] i is [b]not in[/b] [T], then add 1 to i and mod by 6. (In other words, If i = 5, then i + 1 = 0)
[b]Scan[/b] again and continue to add 1 to the index until the [b]characteristic stat[/b] is found.

It's highly possible you don't care about the above, and hence I've hidden it. In either case, we can use this to our advantage.

If you're at this point, you likely have multiple frames you're looking at as a potential starting frame. As long as they have differing PIDs, you should in many cases be able to determine which frame you are with this method.

1.) Convert the PIDs from your frames into decimal form with a calculator.

2.) Find the remainders when the decimal form of your PIDs are divided by 6 (numbers 0-5).

3.) Now, draw a hexagon on your piece of paper. Label the top point 0 and then label the other points, 1,2,3,4,5 going clockwise, like so:

4.) Mark the points of the Hexagon which correspond to the stats which are tied as max on your baby (in most cases, mark the stats which the subway judge says "can't be better.")

**Example:** My baby has 31s in HP, Attack and Defense.

5.) Mark (diferently) the point of the hexagon which corresponds to the remainder of the PID divided by 6.

**Example:** The PID % 6 is 3.

6.) Travel clockwise from your remainder mark until you get to a point which is marked as one of your baby's stats. If a baby had that PID and the IVs you reported, that's the stat which would be mentioned in the characteristic. In our example, even though the index stat is Speed, the characteristic will be defined by HP.

For HP it will say **Often dozes off** for a 31.

For Attack it will say **Likes to thrash about** for a 31.

For Defense it will say **Capable of taking hits** for a 31.

For Speed it will say **Alert to sounds** for a 31.

For Special Attack it will say **Mischievous** for a 31.

For Special Defense it will say **Somewhat Vain** for a 31.

If the baby's characteristic doesn't match what this method predicts for a particular frame, then the baby's PID is different and therefore is not generated on that frame. Check the other frames which match and you should be able to determine your SSF.

**In some cases, two frames will have the same PID or end up with the same characteristic. In order to figure it out then, you'll have to try to hatch the next egg in the sequence and figure it out that way.**

**Using my Python Tool:**

1.) Download and install Python 3.2 from http://python.org/download/

2.) Download Poketools (right click and save as) and extract the file **poketools.py** into your Python 3.2 directory (usually C:/Python32 on Windows)

3.) The Windows version comes with **IDLE (Python GUI)**. Run it from the START Menu.

4.) Type from **poketools import *** and hit Enter.

5.) Type **IV = [...]** which is the list of your IVs. Input them in this order: Hp, Attack, Defense, Speed, Special Attack, Special Defense. If you don't know one of the IVs, and you know it's less than the max IVs, then you can input 'X'.. Example from earlier, I'd input IV = [31,31,31,'X','X','X']

6.) Type P**ID = 'XXXXXX'** where XXXXXX is your PID and hit **Enter.** Let's pretend that in this hypothetical example the PID is simply 3, so I'd type PID = '3'

7.) Type **characteristic_determine(IV,PID)** and hit **Enter.**

It'll return what the characteristic would say for those IVs and that PID. Here's what it looks like:

Same result as the hexagon method above

If you want to check the same IVs with a different PID, just redefine PID and enter the same command as step 7 :)