Please remember to follow the manual of style and code of conduct at all times.
Check BNN and Bulbanews for up-to-date Pokémon news and discuss it on the forums or in our IRC channel #bulbagarden on

Difference between revisions of "Personality value"

From Bulbapedia, the community-driven Pokémon encyclopedia.
Jump to: navigation, search
m (Undo revision 2009469 by TortiOisi (talk) Same as other undo)
Line 173: Line 173:
''E'' xor ''F'' < 8 , then ''Shiny''
''E'' xor ''F'' < 8 , then ''Shiny''
Apparently, in Gen VI, the result of "E xor F" must be under 16 instead of 8, making a 16 in 65536 (or 1 in 4096, simplified) chance of finding a Shiny Pokémon. However, this hasn't been confirmed yet.

Revision as of 12:46, 8 November 2013

A Pokémon's personality value is an unsigned 32-bit integer that is created when the Pokémon is first encountered; it is set as soon as the Pokémon appears in the wild, the Pokémon's Egg is received from the Day Care man or another NPC, or the Pokémon itself is received from an NPC. As an unsigned 32-bit integer, its value can be anywhere between 0, which is represented as 00000000 00000000 00000000 00000000 (32 zeroes) in binary, and 4,294,967,295, represented as 11111111 11111111 11111111 11111111 (32 ones) in binary, inclusive. This value was introduced with the Pokémon data structure overhaul that occurred at the start of Generation III, and is generated using the games' pseudorandom number generator.

For each operation, the portion of the 32-bit value used will be indicated at the beginning of the section by highlighting, unless the full value is used. The integer's full value will be known as p, other values will be declared as px, py, and so on. Much of this article will be discussing values in binary.


00000000 00000000 00000000 00000000

A Pokémon's gender is determined by the lowest eight digits (a byte) of p in binary form; essentially, p % 256. This value will, from here on out, be known as pgender.

In a Pokémon species's base stat structure, there is a byte called the gender threshold, with a value between 00000000 and 11111111. For genderless Pokémon such as Magnemite, the value of this byte is 11111111. For female only Pokémon such as Nidoran♀, the value of this byte is 11111110. For male only Pokémon such as Nidoran♂, the value of this byte is 00000000. Pokémon with both genders occupy the rest of the spectrum. For these Pokémon, if the value of pgender is equal to or greater than that of the base stat value (the gender threshold), the Pokémon is male, otherwise it is female.

Base stat value Gender ratio
Binary Decimal Male Female
11111111 255 Genderless
11111110 254 0.0% 100.0%
11011111 223 12.5% 87.5%
10111111 191 25.0% 75.0%
01111111 127 50.0% 50.0%
00111111 63 75.0% 25.0%
00011111 31 87.5% 12.5%
00000000 0 100.0% 0.0%

Because gender is determined by a greater than or equal check, Pokémon are not actually evenly distributed between male and female. For example, for a Pokémon with a 1:1 male to female gender ratio, there is actually a 129/256 (50.390625%) chance for the Pokémon to be male and 127/256 (49.609375%) chance for the Pokémon to be female.


If p is even, that Pokémon has the first Ability for its species. If it's odd, it has the second. If a species has only one Ability while p is odd, it gets the only Ability it can. Pokémon transferred from Generation III to Generation IV or Generation V that can get one of the new Abilities will retain the Ability they had in the previous generation; however, if they can evolve and their personality value is odd, they will get the new Ability upon evolution. For example, a Porygon that has the Ability Trace is brought to a Generation IV game. If it then evolves into Porygon2, it may keep Trace (if p is even), or it may switch to the Ability Download (if p is odd). The reason this happens is because although the Ability is initially determined by the personality value, the Ability is stored as a separate value in the Pokémon data, and alongside the IVs in Generation III. When the Pokémon evolves in Generation IV, the personality value is rechecked, and a new Ability assigned.

Note that a separate bit governs whether a Pokémon has their normal Abilities or Hidden Abilities in Generation V; the personality value of a Pokémon is always set to have its first Ability in this case, so as to allow the inclusion of a second Hidden Ability in a future generation.


In Generations III and IV a Pokémon's Nature is determined by p % 25.

The number acquired as the remainder corresponds to the personality as follows:

p % 25 Nature
0 Hardy
1 Lonely
2 Brave
3 Adamant
4 Naughty
5 Bold
6 Docile
7 Relaxed
8 Impish
9 Lax
10 Timid
11 Hasty
12 Serious
13 Jolly
14 Naive
15 Modest
16 Mild
17 Quiet
18 Bashful
19 Rash
20 Calm
21 Gentle
22 Sassy
23 Careful
24 Quirky

In Generation V the nature is untied from the personality value, and stored separately.


00000000 00000000 00000000 00000000

The red value will be represented as p1, while the blue value will be represented as p2.

Whether a Pokémon is Shiny or not depends on the values of the Trainer ID number, secret ID number, and personality value. There is an 8 in 65536 chance (0.012207% or 2-13) of a Pokémon being Shiny (which simplifies to 1/8192).

Variables E and F are declared to hold the values that result.

A bitwise exclusive or (xor) operation (such as a xor b = c) is equivalent to saying "If each bit of ab, c is true." In other words, 11010111 xor 01101010 = 10111101. Each xor in the operation is a bitwise xor.

E = IDTrainer xor IDSecret

F = p1 xor p2

E xor F < 8 , then Shiny


As an example, let's take a Trainer whose Trainer ID is 24294 and whose Secret ID is 38834.

IDTrainer = 24294 = 0101111011100110 in binary.

IDSecret = 38834 = 1001011110110010 in binary.

This Trainer encounters a Pokémon whose personality value is 2814471828.

p = 2814471828 = 1010011111000001 0110111010010100 in binary.

p1 = 1010011111000001

p2 = 0110111010010100

The E value is 0101111011100110 xor 1001011110110010

E = 1100100101010100

The F value is 1010011111000001 xor 0110111010010100

F = 1100100101010101

E xor F = 0000000000000001, which is less than eight. Therefore, this Pokémon is Shiny.


From Generation IV onward, Pokémon have a Characteristic which indicates their highest IV. In the case of a tie, the personality value is used to determine which stat is used.

The stat checked first is the stat with the index of p % 6, then proceeding through the index list of stats (after reaching 5 the game loops back to 0). The first checked stat to be a part of the tie determines the Characteristic that is used.

Stats by index number

p % 6 Stat
0 HP
1 Attack
2 Defense
3 Speed
4 Special Attack
5 Special Defense

Spinda's spots

00000000 00000000 00000000 00000000

Spinda has four spots: two on its face, and one on each of its ears. Each of the four bytes represents the coordinates of the spot on Spinda's face or ears. The first four digits of each byte represents the x-coordinate of the top left of the spot when translated into decimal notation, while the last four represent the y-coordinate of the top left of the spot when translated into decimal. There are 4,294,967,296 different spot variations.

Unown's letter (Generation III only)

00000000 00000000 00000000 00000000

pletter = 00000000

In Generation III, Unown's letter is taken from the modulus of the combination of the least significant 2 bits of each byte in p. With A representing 0, and each letter thereafter representing the following number value (? as 26 and ! as 27), the letter can be determined by:

up = pletter % 28

In Generation II this is determined using individual values. In Generations IV and V Unown's letter is determined by a separate byte, unrelated to the personality value.

Wurmple's evolution

00000000 00000000 00000000 00000000

The value in red will be known as pw; it is essentially p % 65536.

Wurmple's evolution does not depend on time of day, despite what many game guides say. In fact, the evolution is determined by taking pw % 10. If the remainder is less than 5, Wurmple will become a Silcoon, and if it is greater than or equal to 5, it will become a Cascoon.

Performance changes

The day-to-day performance of a Pokémon, for the purposes of the Pokéathlon, depends on the personality value as well as the day of the month. It also depends on Nature, which is also calculated based on personality value. The five least significant digits govern, from least significant to most significant, Power, Stamina, Skill, Jump, and Speed.

The change in performance in a particular attribute is calculated as the sum of the following factors:

  • The day of month modifier: This modifier depends on the day of the month and one particular digit of the personality value (determined based on the attribute in question). It is calculated as (((Day + Attribute + 3) × (Day - Attribute + 7) + Personality) mod 10) × 2 - 9, where:
    • Attribute is 0 for Power, 1 for Stamina, 2 for Skill, 3 for Jump, and 4 for Speed
    • Personality is the relevant value of the particular digit
  • The Nature modifier: This modifier depends on the Nature of the Pokémon. Each of the neutral Natures raise one attribute by 10 points while lowering another by 10 points, while the other 20 Natures each raise one attribute by 35 points while lowering another by 35 points, based on which stats they normally raise and lower.
  • The Aprijuice modifier: This modifier depends on the Aprijuice applied to the Pokémon. The Pokémon receives 1.5× the flavor values in the attributes corresponding to the strongest and second-strongest flavors of the Aprijuice, an additional 10-point bonus in the strongest flavor of the Aprijuice, and a penalty to the attribute corresponding to the weakest flavor of the Aprijuice based on its mildness and the sum of the Aprijuice's two strongest flavors (see Apriblender for further details).

Note that the day of month modifier is at most -9 and at most +9 (and only takes on odd values therein). Also as a result, the day of month modifier cycles every 10 days (exception: for Power and Speed, the modifiers in effect for the first day of each month are different from those of Day 11, Day 21, and Day 31, though the latter three have the same modifiers).

Also, since Nature is also determined by the last two digits of the personality value, the Nature of a Pokémon will constrain the day of month modifier in Power (and to a lesser extent, Stamina) for a Pokémon. For example, a Hardy Wurmple (last digit 0 or 5) will never get a +9 or a +7 from a day of month modifier in Power; if it evolves into a Cascoon (the last digit is 5) it furthermore entails that its best performance will be on the first day of each month, barring Aprijuice factors (as it has its sole +5 boost on the first day on each month)—in contrast, a Hardy Silcoon will have a +5 boost six times a month (on days ending with 4 or 6).

Attribute Attribute modifier Personality digit Neutral Nature +10 Neutral Nature -10 Other Nature stat
Power 0 Ones Hardy Bashful Attack
Stamina 1 Tens Docile Quirky Defense
Skill 2 Hundreds Quirky Serious Sp. Def
Jump 3 Thousands Bashful Docile Sp. Atk
Speed 4 Ten-thousands Serious Hardy Speed

Note that the association of Skill and Jump to Natures is reversed relative to a Pokémon's preferred flavors. That is, a Pokémon which prefers dry food will have a +35 boost in Jump (otherwise associated with bitter foods) rather than Skill. However, giving this Pokémon a dry Aprijuice will boost its Skill, rather than its Jump.

The calculated value is then translated into a difference in stars as follows:

Stars -4 -3 -2 -1 0 1 2 3 4
Score < -120 -119 - -80 -79 - -40 -39 - -15 -14 - 14 15 - 39 40 - 79 80 - 119 > 120

Note that performance changes may not drop below the Pokémon's minimum performance rating, nor may it exceed the Pokémon's maximum performance rating. Thus, for example, a Cradily may never have its Speed or Jump rating improved or degraded as those attributes are fixed (as such, for example, it is advisable to give it dry Aprijuices for which sweetness or bitterness is its weakest flavor).

Project Games logo.png This game mechanic article is part of Project Games, a Bulbapedia project that aims to write comprehensive articles on the Pokémon games.