Personality value

A Pokémon's personality value (Japanese: personality value) is an that is created when the Pokémon is first generated by the game. As an unsigned 32-bit integer, its value can be anywhere from 0 (32 zeroes in binary) to 4,294,967,295 (32 ones in binary), inclusive. This value was introduced with the overhaul that occurred at the start of Generation III, and is generated using the games' pseudorandom number generator.
From Generation VI onward, Pokémon have an additional random unsigned 32-bit integer value known as the encryption constant, generated at the same time as the personality value and effectively acting as an extension of it, although it is stored in a separate place in the Pokémon data structure. The encryption constant takes over many of the former roles of the personality value. Pokémon transferred from Generation V have their personality value copied to the encryption constant.
==Generation==
For Pokémon encountered in the wild, it is set upon encountering them. For gift Pokémon and s, it is set upon receiving them. For Eggs from the Pokémon Day Care, when it is set varies between games.
* In Pokémon Ruby, Sapphire, , the lower half of the personality value is set when the Day-Care Man finds the Egg, while the second half is set when the player obtains the Egg from the Day-Care Man.
* In and Generation IV, it is set when the Day-Care Man finds the Egg.
* In Generation V, it is set when the player obtains the Egg from the Day-Care Man.
==Usage==
Precisely which properties are determined by the personality value varies between generations.
 	Gen III	Gen IV	Gen V	Gen VI
Gender 	 	 	 	
Ability 	 	 	 	
Nature 	 	 	 	
Shininess 	 	 	 	
Characteristic 	 	 	 	
Spinda's spots 	 	 	 	
Unown's letter 	 	 	 	
Wurmple's evolution 	 	 	 	
Gender-counterpart species	 	 	 	
Size 	 	 	 	
Performance changes 	 	 	 	
===Gender===
00000000 00000000 00000000 00000000
From Generation III to Generation V, a Pokémon's gender is determined by the lowest eight digits (the lowest byte, highlighted in red above) of p in binary form. Mathematically, this can be derived by calculating p \bmod 256. Below, this value will be referred to as pgender.
In a Pokémon species' , there is a value called the gender threshold, a byte with a value ranging from 0 to 255. With the exception of a few special cases, pgender is compared to the gender threshold to determine if the Pokémon is male or female.
If the gender threshold is not a special value (0, 254, or 255), pgender is compared to the gender threshold. If pgender is greater than or equal to the gender threshold, the Pokémon is male, otherwise it is female. Because the comparison to determine gender is greater than or equal, Pokémon are slightly more likely to be male than they would be according to the ideal ratios.
If a species has a gender threshold of 255, it is a gender-unknown species (such as ). If a species has a gender threshold of 254, it is a female-only species (such as ). If a species has a gender threshold of 0, it is a male-only species (such as ).
In Generation VI and , the gender threshold is compared to a separate random number between 1 and 252 (inclusive) instead of pgender (which is between 0 and 255); this causes Pokémon with a "1:1" gender ratio to actually be distributed according to the ideal ratio. All other Pokémon are more likely to be the more common gender than they would be according to their nominal ratio.
In Generation VIII, the gender threshold is compared to a separate random number between 1 and 253 (inclusive) instead of pgender (which is between 0 and 255); this causes Pokémon with a "1:1" gender ratio to be slightly more likely to be male than they would be according to the ideal ratios. All other Pokémon are more likely to be the more common gender than they would be according to their nominal ratio.
Gender threshold	Gender threshold	Nominal ratio(♂:♀)	Frequency (Gen 3-5)	Frequency (Gen 3-5)	Frequency (Gen 6-7)	Frequency (Gen 6-7)	Frequency (Gen 8)	Frequency (Gen 8)
Binary 	Decimal 	Nominal ratio(♂:♀)	Male 	Female 	Male 	Female 	Male 	Female
00000000 	0 	Male 	100.00% 	0.00% 	100.00% 	0.00% 	100.00% 	0.00%
00011111 	31 	7:1 	87.89% 	12.11% 	88.10% 	11.90% 	88.14% 	11.86%
00111111 	63 	3:1 	75.39% 	24.61% 	75.40% 	24.60% 	75.49% 	24.51%
01111111 	127 	1:1 	50.39% 	49.61% 	50.00% 	50.00% 	50.20% 	49.80%
10111111 	191 	1:3 	25.39% 	74.61% 	24.60% 	75.40% 	24.90% 	75.10%
‭‭11100001‬ 	225 	1:7 	12.11% 	87.89% 	11.11% 	88.89% 	11.46% 	88.54%
11111110 	254 	Female 	0.00% 	100.00% 	0.0% 	100.00% 	0.0% 	100.00%
11111111 	255 	Gender unknown 	Gender unknown 	Gender unknown 	Gender unknown 	Gender unknown 	Gender unknown 	Gender unknown
====Cute Charm====
In Generation IV only, when forces a Pokémon to be a specific gender, it does so by setting its personality value to one out of 25 possible values that correspond to the forced gender (one value per nature). The set of possible values depends on the gender of the Pokémon with Cute Charm, and, if the Pokémon with Cute Charm is female, the wild Pokémon's gender ratio. This has significant consequences for properties determined by personality value.
As a result, when the encountered species can be affected by Cute Charm (i.e., when it is not a male-only, female-only, or gender-unknown species), the chances of encountering a Shiny Pokémon differ from the usual 1/8192, depending on how many of the 25 possible values forced by Cute Charm result in a Shiny Pokémon (in conjunction with the Trainer ID number and Secret ID): they may be as low as 1/24546 (if none of the 25 values forced by Cute Charm result in Shiny Pokémon, so the Pokémon can only be Shiny if Cute Charm fails), or as high as 21.34% (if 8 out of the 25 values forced by Cute Charm result in Shiny Pokémon).
Additionally, whose gender has been forced by Cute Charm in Generation IV only have one of 50 patterns (25 for male, 25 for female).
===Ability===
Generation III-IV origin: 00000000 00000000 00000000 00000000
Generation V origin: 00000000 00000000 00000000 00000000
In Generations III and IV, if a Pokémon's species has more than one Ability, its Ability is determined by the lowest bit (highlighted in red above) of its personality value; i.e., whether p is even or odd. If p is even (the lowest bit is 0), the Pokémon has its first Ability. If p is odd (the lowest bit is 1), it has the second one. If the Pokémon does not have a second ability, p can be whatever value.
Pokémon from Pokémon Colosseum and Pokémon XD do not have this connection between their ability and the value of p.
In Generation V, a Pokémon's Ability is determined differently depending on whether it originated in Generation V or an earlier generation. Pokémon from earlier generations will still have their Ability determined by the lowest bit in p. Pokémon originating in Generation V, however, use the lowest bit of the upper half of p to determine their Ability. Just as with Generation III and IV Pokémon, a 0 still indicates a Pokémon's first Ability, while 1 indicates its second. This can be derived by calculating \left\lfloor p / 65536 \right\rfloor \bmod 2.
If a Pokémon is transferred to a later generation where its species' Abilities have changed, it will retain the Ability it had in the earlier generation so long as it does not evolve, since the games store a Pokémon's current Ability in a value separate from its personality value. However, in Generations IV and V, when a Pokémon evolves, its personality value is rechecked and the Pokémon's Ability may change. If a Pokémon that would change Abilities on evolution is transferred to Pokémon Bank, it will be locked into the Ability slot corresponding to its current Ability upon transfer through Poké Transporter.
As an example, in Generation III, and only had the Ability , but in Generation IV, they gained as a second Ability. If a from Generation III is brought to a Generation IV game, it will have Trace no matter what its personality value is; however, if it evolves into , it will only keep Trace if p is even.
A separate bit governs whether a Pokémon has their normal Abilities or Hidden Abilities in Generation V. If a Pokémon has its Hidden Ability, its personality value is always set to be even (denoting a first Ability).
===Nature===
In Generations and a Pokémon's Nature is determined by p \bmod 25. From Generation V onward, Nature is determined by a separate byte, unrelated to the personality value.
The result of p mod 25 corresponds to the following Natures:
p mod 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
===Shininess===
00000000 00000000 00000000 00000000
From Generation III onward, whether a Pokémon is depends on its original Trainer's Trainer ID number and secret ID number and on the Pokémon's personality value. The high half of p (highlighted in red above) is referred to as p1 below, while the low half (highlighted in blue) is referred to as p2. Mathematically, p1 can be derived by calculating p / 65536 and rounding down the result, while p2 can be derived by calculating p \bmod 65536.
:S = ID_{Trainer} \oplus ID_{Secret} \oplus p_1 \oplus p_2
A bitwise operation (or "⊕") on inputs a and b, written as a ⊕ b = c, outputs c such that, if ai (bit i of a) and bi are different, then ci is 1; otherwise it is 0. For example, 11002 ⊕ 10102 = 01102. When exclusive or is applied to multiple inputs, as in the calculation for Shininess above, it may be more easily understood as, "If an odd number of bits (at position i) are 1, output 1". This operation is .
From Generation III to , if S < 8, the Pokémon is Shiny. From Generation VI onward, the Pokémon is Shiny if S < 16. This is an 8 or 16 in 65536 chance of a Pokémon being Shiny.
In , if S = 0, the Pokémon will have square sparkles rather than star sparkles during the particle effect shown for Shiny Pokémon. (If the Pokémon is Shiny, and was met in a fateful encounter or transferred from Pokémon GO, the value of S is ignored when determining sparkle type, and the Pokémon will always have square sparkles.)
====Example====
As an example, given a Trainer whose Trainer ID is 24294 and whose Secret ID is 38834...
:IDTrainer = 2429410 = 01011110111001102
:IDSecret = 3883410 = 10010111101100102
If the Trainer encounters a Pokémon whose personality value is 2814471828...
:p = 281447182810 = 101001111100000101101110100101002
:p1 = 10100111110000012
:p2 = 01101110100101002
Then S is equal to...
:S = 01011110111001102 ⊕ 10010111101100102 ⊕ 10100111110000012 ⊕ 01101110100101002
:S = 00000000000000012 = 110
Since S is less than 8, this Pokémon is Shiny.
===Characteristic===
From Generation IV onward, Pokémon have a Characteristic which indicates their highest . In Generation IV and , in the case of a tie, the personality value is used to determine which stat wins the tie; from Generation VI onward, the encryption constant is used in the case of a tie.
The tie-breaker starts at the stat with the index p \bmod 6 and increments the index (returning to 0 after reaching 5) if it is not one of the stats that is tied for highest. The first stat checked that is tied for highest wins the tie and will determine the Characteristic.
p mod 6	Stat
0 	HP
1 	Attack
2 	Defense
3 	Speed
4 	Special Attack
5 	Special Defense
===Spinda's spots===
00000000 00000000 00000000 00000000
 has four spots: two on its face, and one on each of its ears. From Generation III to V, this is determined by its personality value; from Generation VI onward, this is determined by its encryption constant.
Each byte in the personality value represents the coordinates of one of these spots. The x-coordinate is the lower four bits of the byte and the y-coordinate is the higher four bits of the byte. These coordinates determine the position of the top-left corner of the corresponding spot.
While this would appear to mean that Spinda's spots have as many possible variations as there are personality values (4,294,967,296), some coordinates will place a spot off of Spinda's body or such that one wholly overlaps another. Therefore, in practice, the number of observed variations is fewer.
In , due to a bug involving , the four bytes are read in reverse order, causing the spot pattern to be rendered incorrectly. For example, a value of 12345678 (hexadecimal) would be interpreted as 78563412 instead. As a result, Spinda is not allowed to be transferred between Pokémon Brilliant Diamond/Shining Pearl and Pokémon HOME.
Additionally, due to a separate bug, Brilliant Diamond and Shining Pearl's Super Contests generate a random encryption constant instead of using the value from the Pokémon the player chooses, which results in Spinda appearing with completely random spot patterns if selected.https://twitter.com/Sibuna_Switch/status/1828258413442142257
===Unown's letter===
00000000 00000000 00000000 00000000
pletter = 00000000
In Generation III, 's letter is determined by the composite value of the least significant 2 bits of each byte in p. With A representing 0 and each letter thereafter representing the following number value (with ! as 26 and ? as 27), Unown's letter can be determined by:
\alpha = p_{letter} \bmod 28
In Generation II, this is determined using individual values. Since Generation IV, Unown's form is determined by a separate byte, unrelated to the personality value.
===Wurmple's evolution===
00000000 00000000 00000000 00000000
's evolution is determined by the upper half of its personality value (highlighted in red above), referred to here as pw. (Mathematically, this is equivalent to p / 65536, rounded down.) From Generation VI onward, Wurmple's evolution is now determined by the encryption constant, with the same formula.
If p_w \bmod 10 is less than or equal to 4, Wurmple will evolve into ; if it is greater than 4, Wurmple will evolve into .
===Gender-counterpart species===
00000000 00000000 00000000 00000000
In Generations III and IV, the species of Pokémon in an Egg produced by or is determined by the highest bit of the lower half of p when the player obtains the Egg from the Day-Care Man. If this bit is 1, the Egg will hatch into their male-only counterpart ( or ). If this bit is 0, the Egg will hatch into the female-only species (Nidoran♀ or Illumise).pokeemerald/src/daycare.c · pret/pokeemeraldpokeheartgold/src/get_egg.c · pret/pokeheartgold Note that this has no bearing on Eggs produced by Nidoran♂, , , or Volbeat when paired with Ditto, as these will always hatch into Nidoran♂ or Volbeat, respectively.
In Generation II and from Generation V onward, this is instead determined by a separate random value generated using the games' pseudorandom number generator.pokecrystal/engine/events/daycare.asm · pret/pokecrystalPokeFinder/Source/Core/Gen5/Generators/EggGenerator5.cpp · Admiral-Fish/PokeFinderRNGWriteups/Gen 8/Egg Generation.md · Admiral-Fish/RNGWriteups
===Size===
00000000 00000000 00000000 00000000
In Generations III and IV there are occasionally characters who want to see large Pokémon.
In Generations III and IV, the calculation to determine the size of one of these Pokémon depends on its individual values and its personality value. Like the Shininess calculation, this calculation also uses exclusive or (⊕).
The lowest two bytes of p are used in the calculation: p1 (highlighted in blue above) is mathematically equivalent to p \bmod 256, while p2 (highlighted in red) is equivalent to \lfloor p / 256 \rfloor \bmod 256. The IV values are also not used in whole; only the four s of each are used: mathematically, (stat)' = IV_{(stat)} \bmod 16.
The first step in the calculation is as follows:
s = 256 \cdot (p_1 \oplus (HP' \cdot (Atk' \oplus Def'))) + (p_2 \oplus (Spd' \cdot (SpAtk' \oplus SpDef')))
For the next step, h is the species' height in tenths of a meter. and the values of x, y, and z depend on the value of s as shown in the following table.
s (max):	9 	109	309	709	2709	7709	17709	32709	47709	57709	62709	64709	65209	65409	65509	65535
x 	290	300	400	500	600 	700 	800 	900 	1000 	1100 	1200 	1300 	1400 	1500 	1600 	1700
y 	1 	1 	2 	4 	20 	50 	100 	150 	150 	100 	50 	20 	5 	2 	1 	1
z 	0 	10 	110	310	710 	2710	7710 	17710	32710	47710	57710	62710	64710	65210	65410	65510
The final part of the calculation scales the s value to produce the Pokémon's size in millimeters. The final value of Size is bounded between 0.29 and 1.725 times the standard height in meters given for the species in the Pokédex, and rounded down.
Size = \left\lfloor\frac{h \cdot \left\lfloor \frac{s - z}{y} + x \right\rfloor}{10}\right\rfloor
If the game converts this number to inches, the final result will be rounded down to the nearest tenth of an inch.
The characters searching for large Pokémon can be found at the following locations:
Games	Location 	Pokémon
 	Sootopolis City	and
 	Sootopolis City	and
 	 	
 	Water Path 	
 	 	
 	Lake of Rage 	
===Maushold's form===
 has two different forms: Family of Four and Family of Three. The form evolves into is determined based on its encryption constant (an extension of the personality value), with a 1/100 chance of evolving into the Family of Three form. This is not the case for wild Maushold in Tera Raid Battles, which have a form determined by the raid's difficulty rating (Family of Three for 4★ or Family of Four for 6★) regardless of their encryption constant value.
If the EncryptionConstant \bmod 100 is 0, the result is the Family of Three form. Any other result yields the Family of Four form.
===Dudunsparce's form===
 has two different forms: the Two-Segment Form and the Three-Segment Form. The form evolves into is determined based on its encryption constant (an extension of the personality value), with a 1/100 chance of becoming Three-Segment Form. This is not the case for wild Dudunsparce, which are always in Two-Segment Form regardless of their encryption constant value.
If the EncryptionConstant \bmod 100 is 0, the resulting is Three-Segment Form. Any other result yields Two-Segment Form.
===Performance changes===
The day-to-day performance of a Pokémon in the Pokéathlon depends on its personality value and the day of the month. It also depends on Nature, which is also calculated based on the personality value. The five least significant decimal digits of p will here be referred to as p0 to p4, in order from the least significant digit to the most significant, and they govern (in order) the attributes Power, Stamina, Skill, Jump, and Speed.
The change in performance in a particular attribute is calculated as the sum of the following factors:
*Day of the month modifier: ( ( (Day + Attribute + 3) \cdot (Day - Attribute + 7) + p_{attribute} ) \bmod 10 ) \cdot 2 - 9, where:
** Day is the day of the month.
** Attribute is 0 for Power, 1 for Stamina, 2 for Skill, 3 for Jump, and 4 for Speed.
** pattribute is the digit of p governing the current attribute.
:Note that this modifier's values range from -9 to +9, and it only takes on odd values. This also means that the day of the month modifier cycles every 10 days, excepting for Power and Speed where the modifiers for Day 1 are different from those for Days 11, 21, and 31.
:Since Nature is determined by the last two digits of the personality value, the Nature of a Pokémon will reveal constraints on possible values of this modifier for Power (and, to a lesser extent, Stamina).
*Nature modifier: the Pokémon's Nature may raise or lower its performance in an attribute. Non-neutral Natures will add or subtract 35 points from an attribute, if the Nature positively or negatively influences the stat that corresponds to the current attribute. Neutral natures will add or subtract 10 points from an attribute depending on the Nature.
Attribute	Neutral +10	Neutral -10	Non-neutral stat (+/- 35)
Power 	Hardy 	Bashful 	Attack
Stamina 	Docile 	Quirky 	Defense
Skill 	Quirky 	Serious 	Sp. Def
Jump 	Bashful 	Docile 	Sp. Atk
Speed 	Serious 	Hardy 	Speed
*Aprijuice modifier: the last Aprijuice the Pokémon drank affects the Pokémon's performance, depending on the strengths of the flavors in the Aprijuice.
** Strongest flavor: add \left\lfloor flavor \cdot 1.5 \right\rfloor + 10 to the corresponding attribute.
** Second strongest flavor: add \left\lfloor flavor \cdot 1.5 \right\rfloor to the corresponding attribute.
** Weakest flavor: subtract X times the sum of the two strongest flavors (rounded down) from the corresponding attribute, depending on the Aprijuice's mildness...
*** 0 - 199: X = 1 - 0.1 \cdot \left\lfloor mildness / 25 \right\rfloor
*** 200-254: X = 0.2
*** 255: X = 0.1
:The Aprijuice flavors correspond to the performance attributes as follows:
Flavor	Attribute
Spicy 	Power
Sour 	Stamina
Dry 	Skill
Bitter	Jump
Sweet 	Speed
The sum of these modifiers 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 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).
===Other uses===
A Pokémon's personality value may also used for things unrelated to the Pokémon itself.
00000000 00000000 00000000 00000000
In , will appear on if the lower half of the personality value of a Pokémon in the player's party matches a random number generated at the start of each day by the game. A man in Pacifidlog Town can also tell the player whether he sees the island "today", i.e., whether one of the Pokémon in the player's party matches Mirage Island's number.
==References==
Category:Game mechanics
de:Personality Value
es:Valor de personalidad
fr:Valeur Interne Personnelle
it:Personalità
ja:暗号化定数
zh:性格值