Personality value: Difference between revisions

From Bulbapedia, the community-driven Pokémon encyclopedia.
Jump to navigationJump to search
mNo edit summary
(Removing Wurmple from Aprijuice section, since it was based on the incorrect method of determining its evolution)
(13 intermediate revisions by 7 users not shown)
Line 52: Line 52:
<code>00000000 00000000 00000000 <span style="background:#FF9999">00000000</span></code><br>
<code>00000000 00000000 00000000 <span style="background:#FF9999">00000000</span></code><br>


A Pokémon's [[gender]] is determined by the lowest eight digits (the lowest byte, highlighted in <span style="background:#FF9999">red</span> above) of ''p'' in binary form. Mathematically, this can be derived by calculating <code>''p'' [[wp:modulo operation|%]] 256</code>. Below, this value will be referred to as ''p<sub>gender</sub>''.
From Generation III to Generation V, Pokémon's [[gender]] is determined by the lowest eight digits (the lowest byte, highlighted in <span style="background:#FF9999">red</span> above) of ''p'' in binary form. Mathematically, this can be derived by calculating <code>''p'' [[wp:modulo operation|%]] 256</code>. Below, this value will be referred to as ''p<sub>gender</sub>''.


In a Pokémon species' [[Pokémon base stats data structure in Generation III|base stat structure]], there is a value called the ''gender threshold'', a byte with a value ranging from 0 to 255. In most cases, if ''p<sub>gender</sub>'' is greater than or equal to the gender threshold, the Pokémon is male, otherwise it is female. There are a few special values for the gender threshold, however, that are interpreted specially and without regard to the value of ''p<sub>gender</sub>''. A gender threshold of 255 indicates genderless species of Pokémon such as {{p|Magnemite}}. The value 254 indicates female-only species such as {{p|Nidoran♀}}. Finally, the value 0 indicates male-only species such as {{p|Nidoran♂}}.
In a Pokémon species' [[Pokémon base stats data structure in Generation III|base stat structure]], 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, ''p<sub>gender</sub>'' 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), ''p<sub>gender</sub>'' is compared to the gender threshold. If ''p<sub>gender</sub>'' 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 not actually perfectly distributed between male and female according to the ideal ratios.
 
From [[Generation VI]] onward, the gender threshold is compared to a random number between 1 and 252 (inclusive) instead of ''p<sub>gender</sub>'' (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.
 
If a species has a gender threshold of 255, it is genderless species (such as {{p|Magnemite}}), so is always genderless. If a species has a gender threshold of 254, it is a female-only species (such as {{p|Nidoran♀}}), so is always female. If a species has a gender threshold of 0, it is a male-only species (such as {{p|Nidoran♂}}), so is always male.


{| class="roundy" style="text-align:center; background: #C0C0FF; border: 3px solid blue; margin-bottom: 10px"
{| class="roundy" style="text-align:center; background: #C0C0FF; border: 3px solid blue; margin-bottom: 10px"
! colspan="2" | Gender threshold
! colspan="2" | Gender threshold
! colspan="2" | Gender ratio
! rowspan="2" | Nominal ratio<br>(♂:♀)
! colspan="2" | Frequency (Gen 3-5)
! colspan="2" | Frequency (Gen 6-7)
|-
|-
! Binary
! Binary
! Decimal
! Decimal
! Male
! Female
! Male
! Male
! Female
! Female
Line 67: Line 77:
| <code>11111111</code>
| <code>11111111</code>
| 255
| 255
| colspan="2" | Genderless
| Genderless
| colspan="4" | Genderless
|- style="background:#fff"
|- style="background:#fff"
| <code>11111110</code>
| <code>11111110</code>
| 254
| 254
| Female
| 0.00%
| 100.00%
| 0.0%
| 0.0%
| 100.0%
| 100.00%
|- style="background:#fff"
| <code>‭‭11100001‬</code>
| 225
| 1:7
| colspan="2" | ''(No species)''
| 11.11%
| 88.89%
|- style="background:#fff"
|- style="background:#fff"
| <code>10111111</code>
| <code>10111111</code>
| 191
| 191
| 25.0%
| 1:3
| 75.0%
| 25.39%
| 74.61%
| 24.60%
| 75.40%
|- style="background:#fff"
|- style="background:#fff"
| <code>01111111</code>
| <code>01111111</code>
| 127
| 127
| 50.0%
| 1:1
| 50.0%
| 50.39%
| 49.61%
| 50.00%
| 50.00%
|- style="background:#fff"
|- style="background:#fff"
| <code>00111111</code>
| <code>00111111</code>
| 63
| 63
| 75.0%
| 3:1
| 25.0%
| 75.39%
| 24.61%
| 75.40%
| 24.60%
|- style="background:#fff"
|- style="background:#fff"
| <code>00011111</code>
| <code>00011111</code>
| 31
| 31
| 87.5%
| 7:1
| 12.5%
| 87.89%
| 12.11%
| 88.10%
| 11.90%
|- style="background:#fff"
|- style="background:#fff"
| <code>00000000</code>
| <code>00000000</code>
| 0
| 0
| 100.0%
| Male
| 0.0%
| 100.00%
| 0.00%
| 100.00%
| 0.00%
|}
|}
Because the comparison to determine gender is greater than or equal, Pokémon are not actually perfectly distributed between male and female according to the ideal ratios shown above. For example, for a Pokémon with a 50/50 male/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.


===Ability===
===Ability===
Line 108: Line 142:
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 <span style="background:#FF9999">red</span> 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.
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 <span style="background:#FF9999">red</span> 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.


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 <code>''p'' / 65536 % 2</code> (rounded down).
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 <code>''p'' / 65536 [[wp:modulo operation|%]] 2</code> (rounded down).


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 [[Generation VI]], it will be locked into its current Ability slot upon transfer through [[Poké Transporter]].
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 its current Ability slot upon transfer through [[Poké Transporter]].


As an example, in Generation III, {{p|Porygon}} and {{p|Porygon2}} only had the Ability {{a|Trace}}, but in Generation IV, they gained {{a|Download}} as a second Ability. If a {{p|Porygon}} from Generation III is brought to a Generation IV game, it will have Trace no matter what its personality value; however, if it evolves into {{p|Porygon2}}, it will only keep Trace if ''p'' is even.
As an example, in Generation III, {{p|Porygon}} and {{p|Porygon2}} only had the Ability {{a|Trace}}, but in Generation IV, they gained {{a|Download}} as a second Ability. If a {{p|Porygon}} from Generation III is brought to a Generation IV game, it will have Trace no matter what its personality value; however, if it evolves into {{p|Porygon2}}, it will only keep Trace if ''p'' is even.
Line 117: Line 151:


===Nature===
===Nature===
In Generations {{Gen|III}} and {{Gen|IV}} a Pokémon's [[Nature]] is determined by <code>''p'' % 25</code>. From [[Generation V]] onward, Nature is determined by a separate byte, unrelated to the personality value.
In Generations {{Gen|III}} and {{Gen|IV}} a Pokémon's [[Nature]] is determined by <code>''p'' [[wp:modulo operation|%]] 25</code>. From [[Generation V]] onward, Nature is determined by a separate byte, unrelated to the personality value.


The result of <code>''p'' % 25</code> corresponds to the following Natures:
The result of <code>''p'' % 25</code> corresponds to the following Natures:
Line 203: Line 237:
<code><span style="background:#FF9999">00000000 00000000</span> <span style="background:#9999FF">00000000 00000000</span></code>
<code><span style="background:#FF9999">00000000 00000000</span> <span style="background:#9999FF">00000000 00000000</span></code>


From Generation III onward, whether a Pokémon is {{Shiny}} 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 <span style="background:#FF9999">red</span> above) is referred to as ''p''<sub>1</sub> below, while the low half (highlighted in <span style="background:#9999FF">blue</span>) is referred to as ''p''<sub>2</sub>. Mathematically, ''p''<sub>1</sub> can be derived by calculating <code>''p'' / 65536</code> and rounding down the result, while ''p''<sub>2</sub> can be derived by calculating <code>''p'' % 65536</code>.
From Generation III onward, whether a Pokémon is {{Shiny}} 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 <span style="background:#FF9999">red</span> above) is referred to as ''p''<sub>1</sub> below, while the low half (highlighted in <span style="background:#9999FF">blue</span>) is referred to as ''p''<sub>2</sub>. Mathematically, ''p''<sub>1</sub> can be derived by calculating <code>''p'' / 65536</code> and rounding down the result, while ''p''<sub>2</sub> can be derived by calculating <code>''p'' [[wp:modulo operation|%]] 65536</code>.


:<code>''S'' = ''ID<sub>Trainer</sub>'' [[wp:Exclusive or|⊕]] ''ID<sub>Secret</sub>'' ⊕ ''p''<sub>1</sub> ⊕ ''p''<sub>2</sub></code>
:<code>''S'' = ''ID<sub>Trainer</sub>'' [[wp:Exclusive or|⊕]] ''ID<sub>Secret</sub>'' ⊕ ''p''<sub>1</sub> ⊕ ''p''<sub>2</sub></code>
Line 231: Line 265:


===Characteristic===
===Characteristic===
From [[Generation IV]] onward, Pokémon have a [[Characteristic]] which indicates their highest {{IV}}. In Generation IV and V, in the case of a tie, the personality value is used to determine which stat wins the tie; in Generation VI, the [[encryption constant]] is used in the case of a tie.
From [[Generation IV]] onward, Pokémon have a [[Characteristic]] which indicates their highest {{IV}}. In Generation IV and {{gen|V}}, 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 <code>''p'' % 6</code> 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.
The tie-breaker starts at the stat with the index <code>''p'' [[wp:modulo operation|%]] 6</code> 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.


{| class="roundy" style="text-align:center; background: #C0C0FF; border: 3px solid blue;"
{| class="roundy" style="text-align:center; background: #C0C0FF; border: 3px solid blue;"
Line 261: Line 295:
<code><span style="background:#FF9999">00000000</span> <span style="background:#9999FF">00000000</span> <span style="background:#99FF99">00000000</span> <span style="background:#FFFF99">00000000</span></code>
<code><span style="background:#FF9999">00000000</span> <span style="background:#9999FF">00000000</span> <span style="background:#99FF99">00000000</span> <span style="background:#FFFF99">00000000</span></code>


{{p|Spinda}} 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; in Generation VI, this is determined by its [[encryption constant]].
{{p|Spinda}} 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.
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.
Line 274: Line 308:
In Generation III, {{p|Unown}}'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:
In Generation III, {{p|Unown}}'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:


<code>''α'' = ''p<sub>letter</sub>'' % 28</code>
<code>''α'' = ''p<sub>letter</sub>'' [[wp:modulo operation|%]] 28</code>


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.
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===
===Wurmple's evolution===
Generations III and IV: <code>00000000 00000000 <span style="background:#FF9999">00000000 00000000</span></code><br>
<code><span style="background:#FF9999">00000000 00000000</span> 00000000 00000000</code>
Generation V: <code><span style="background:#FF9999">00000000 00000000</span> 00000000 00000000</code>


{{p|Wurmple}}'s evolution is determined by the lower half of its personality value in Generations III and IV or the upper half in Generation V (highlighted in <span style="background:#FF9999">red</span> above), referred to here as ''p<sub>w</sub>''. Mathematically, ''p<sub>w</sub>'' can be derived by calculating <code>''p'' % 65536</code> for Generations III and IV or <code>''p'' / 65536</code> (rounded down) for Generation V. In Generation VI, Wurmple's evolution is now determined by the [[encryption constant]], albeit with the same formula.
{{p|Wurmple}}'s evolution is determined by the upper half of its personality value (highlighted in <span style="background:#FF9999">red</span> above), referred to here as ''p<sub>w</sub>''. (Mathematically, this is equivalent to <code>''p'' / 65536</code>, rounded down.) From [[Generation VI]] onward, Wurmple's evolution is now determined by the [[encryption constant]], with the same formula.


If the result of <code>''p<sub>w</sub>'' % 10</code> is less than 5, Wurmple will evolve into {{p|Silcoon}}. If it is greater than or equal to 5, Wurmple will evolve into {{p|Cascoon}}.
If <code>''p<sub>w</sub>'' [[wp:modulo operation|%]] 10</code> is less than or equal to 4, Wurmple will evolve into {{p|Silcoon}}; if it is greater than 4, Wurmple will evolve into {{p|Cascoon}}.


===Size===
===Size===
Line 291: Line 324:
In Generations III and IV, there are occasionally characters who want to see large Pokémon. 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 (⊕).
In Generations III and IV, there are occasionally characters who want to see large Pokémon. 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: ''p''<sub>1</sub> (highlighted in <span style="background:#9999FF">blue</span> above) is mathematically equivalent to <code>''p'' % 256</code>, while ''p''<sub>2</sub>  (highlighted in <span style="background:#FF9999">red</span>) is equivalent to <code>(''p'' / 256) % 256</code> (rounded down). The IV values are also not used in whole; only the four {{wp|least significant bit}}s of each are used: mathematically, <code>''<stat>' = ''IV''<sub><stat></sub> % 16''</code>.
The lowest two bytes of ''p'' are used in the calculation: ''p''<sub>1</sub> (highlighted in <span style="background:#9999FF">blue</span> above) is mathematically equivalent to <code>''p'' [[wp:modulo operation|%]] 256</code>, while ''p''<sub>2</sub>  (highlighted in <span style="background:#FF9999">red</span>) is equivalent to <code>(''p'' / 256) % 256</code> (rounded down). The IV values are also not used in whole; only the four {{wp|least significant bit}}s of each are used: mathematically, <code>''<stat>' = ''IV''<sub><stat></sub> % 16''</code>.


The first step in the calculation is as follows:
The first step in the calculation is as follows:
Line 324: Line 357:
!Pokémon
!Pokémon
|-
|-
| {{GameIcon|Ru}}{{GameIcon|Sa}}
| {{gameabbrev3|RS}}
| [[Sootopolis City]]
| [[Sootopolis City]]
| {{p|Barboach}} and {{p|Shroomish}}
| {{p|Barboach}} and {{p|Shroomish}}
|-
|-
| {{GameIcon|E}}
| {{gameabbrev3|E}}
| [[Sootopolis City]]
| [[Sootopolis City]]
| {{p|Seedot}} and {{p|Lotad}}
| {{p|Seedot}} and {{p|Lotad}}
|-
|-
| {{GameIcon|FR}}{{GameIcon|LG}}
| {{gameabbrev3|FRLG}}
| {{rt|12|Kanto}}
| {{rt|12|Kanto}}
| {{p|Magikarp}}
| {{p|Magikarp}}
|-
|-
| {{GameIcon|FR}}{{GameIcon|LG}}
| {{gameabbrev3|FRLG}}
| [[Six Island]]  
| [[Six Island]]  
| {{p|Heracross}}
| {{p|Heracross}}
|-
|-
| {{GameIcon|D}}{{GameIcon|P}}{{GameIcon|P}}
| {{gameabbrev4|DPP}}
| {{rt|222|Sinnoh}}
| {{rt|222|Sinnoh}}
| {{p|Barboach}}
| {{p|Remoraid}}
|-
|-
| {{GameIcon|HG}}{{GameIcon|SS}}
| {{gameabbrev4|HGSS}}
| [[Lake of Rage]]
| [[Lake of Rage]]
| {{p|Magikarp}}
| {{p|Magikarp}}
Line 350: Line 383:


===Performance changes===
===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 ''p''<sub>0</sub> to ''p''<sub>4</sub>, in order from the least significant bit to the most significant, and they govern (in order) the attributes Power, Stamina, Skill, Jump, and Speed.
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 ''p''<sub>0</sub> to ''p''<sub>4</sub>, in order from the least significant bit 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:
The change in performance in a particular attribute is calculated as the sum of the following factors:
*'''Day of the month modifier''': <code>( ( (''day'' + ''attribute'' + 3) × (''day'' - ''attribute'' + 7) + ''p<sub>attribute</sub>'' ) % 10 ) × 2 - 9</code>, where:
*'''Day of the month modifier''': <code>( ( (''day'' + ''attribute'' + 3) × (''day'' - ''attribute'' + 7) + ''p<sub>attribute</sub>'' ) [[wp:modulo operation|%]] 10 ) × 2 - 9</code>, where:
** ''Day'' is the day of the month.
** ''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.
** ''Attribute'' is 0 for Power, 1 for Stamina, 2 for Skill, 3 for Jump, and 4 for Speed.
** ''p<sub>attribute</sub>'' is the digit of ''p'' governing the current attribute.
** ''p<sub>attribute</sub>'' 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.
: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 constrains on possible values of this modifier for Power (and, to a lesser extent, Stamina). For example, a Hardy {{p|Wurmple}} (last digit of ''p'': 0 or 5) will never get a +9 or a +7 from this modifier in Power. If it evolves into a {{p|Cascoon}} (last digit of ''p'': 5), this further reveals that its best day-of-the-month modifier (+5) will be on the first day of a month only. On the other hand, a Hardy {{p|Silcoon}} will have a +5 boost six times a month (on days ending with 4 or 6).
:Since Nature is determined by the last two digits of the personality value, the Nature of a Pokémon will reveal constrains 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.
*'''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.
{| class="roundy" style="text-align: center; background: #C0C0FF; border: 3px solid blue; margin-left: 20px"
{| class="roundy" style="text-align: center; background: #C0C0FF; border: 3px solid blue; margin-left: 20px"
Line 435: Line 467:
===Other uses===
===Other uses===
A Pokémon's personality value may also used for things unrelated to the Pokémon itself.
A Pokémon's personality value may also used for things unrelated to the Pokémon itself.
<code>00000000 00000000 <span style="background:#FF9999">00000000 00000000</span></code><br>


In {{game2|Ruby|Sapphire|Emerald}}, {{gdis|Mirage Island|III}} will appear on {{rt|130|Hoenn}} 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.
In {{game2|Ruby|Sapphire|Emerald}}, {{gdis|Mirage Island|III}} will appear on {{rt|130|Hoenn}} 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.
{{-}}
{{-}}
{{Project Games notice|game mechanic}}
{{Project Games notice|game mechanic}}

Revision as of 04:09, 18 July 2017

Get it? Because the name is unknown. The subject of this article has no official name.
The name currently in use is a fan designator; see below for more information.
050Diglett.png This article is incomplete.
Please feel free to edit this article to add missing information and complete it.
Reason: Changes in Gen VII, if any

A Pokémon's personality value (Japanese: 性格値 personality value) is an unsigned 32-bit integer 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 Pokémon data structure overhaul that occurred at the start of Generation III, and is generated using the games' pseudorandom number generator.

Generation

For Pokémon encountered in the wild, it is set upon encountering them. For gift Pokémon and Eggs, it is set upon receiving them. For Eggs from Pokémon Day Care, when it is set varies between games.

  • In Generation III except in Pokémon Emerald, 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 Pokémon Emerald 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
Size
Performance changes

Gender

00000000 00000000 00000000 00000000

From Generation III to Generation V, 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 % 256. Below, this value will be referred to as pgender.

In a Pokémon species' base stat structure, 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 not actually perfectly distributed between male and female according to the ideal ratios.

From Generation VI onward, the gender threshold is compared to a 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.

If a species has a gender threshold of 255, it is genderless species (such as Magnemite), so is always genderless. If a species has a gender threshold of 254, it is a female-only species (such as Nidoran♀), so is always female. If a species has a gender threshold of 0, it is a male-only species (such as Nidoran♂), so is always male.

Gender threshold Nominal ratio
(♂:♀)
Frequency (Gen 3-5) Frequency (Gen 6-7)
Binary Decimal Male Female Male Female
11111111 255 Genderless Genderless
11111110 254 Female 0.00% 100.00% 0.0% 100.00%
‭‭11100001‬ 225 1:7 (No species) 11.11% 88.89%
10111111 191 1:3 25.39% 74.61% 24.60% 75.40%
01111111 127 1:1 50.39% 49.61% 50.00% 50.00%
00111111 63 3:1 75.39% 24.61% 75.40% 24.60%
00011111 31 7:1 87.89% 12.11% 88.10% 11.90%
00000000 0 Male 100.00% 0.00% 100.00% 0.00%

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.

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 p / 65536 % 2 (rounded down).

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 its current Ability slot upon transfer through Poké Transporter.

As an example, in Generation III, Porygon and Porygon2 only had the Ability Trace, but in Generation IV, they gained Download as a second Ability. If a Porygon from Generation III is brought to a Generation IV game, it will have Trace no matter what its personality value; however, if it evolves into Porygon2, 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 III and IV a Pokémon's Nature is determined by p % 25. From Generation V onward, Nature is determined by a separate byte, unrelated to the personality value.

The result of p % 25 corresponds to the following Natures:

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

Shininess

00000000 00000000 00000000 00000000

From Generation III onward, whether a Pokémon is Shiny 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 % 65536.

S = IDTrainer IDSecretp1p2

A bitwise exclusive or operation (or "⊕") on inputs a and b, written as ab = 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 commutative.

From Generation III to V, 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.

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 IV. In Generation IV and V, 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 % 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 % 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. 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.

Unown's letter

00000000 00000000 00000000 00000000

pletter = 00000000

In Generation III, Unown'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:

α = 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

Wurmple'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 pw % 10 is less than or equal to 4, Wurmple will evolve into Silcoon; if it is greater than 4, Wurmple will evolve into Cascoon.

Size

00000000 00000000 00000000 00000000

In Generations III and IV, there are occasionally characters who want to see large Pokémon. 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 % 256, while p2 (highlighted in red) is equivalent to (p / 256) % 256 (rounded down). The IV values are also not used in whole; only the four least significant bits of each are used: mathematically, <stat>' = IV<stat> % 16.

The first step in the calculation is as follows:

s = ( ( (Atk'Def') * HP' ) ⊕ p1 ) * 256 + ( ( (SpAtk'SpDef') * Spd' ) ⊕ p2 )

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 65535
x 290 300 400 500 600 700 800 900 1000 1100 1200 1300 1400 1500 1700
y 1 1 2 4 20 50 100 150 150 100 50 20 5 2 1
z 0 10 110 310 710 2710 7710 17710 32710 47710 57710 62710 64710 65210 65510

The final part of the calculation gives the Pokémon's size in millimeters. The final value of Size is also rounded down.

Size = Rounddown( (s-z) / y + x ) * h / 10

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
RS Sootopolis City Barboach and Shroomish
E Sootopolis City Seedot and Lotad
FRLG Route 12 Magikarp
FRLG Six Island Heracross
DPPt Route 222 Remoraid
HGSS Lake of Rage Magikarp

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 bit 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) × (day - attribute + 7) + pattribute ) % 10 ) × 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 constrains 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 flavor * 1.5 (rounded down) plus 10 to the corresponding attribute.
    • Second strongest flavor: add flavor * 1.5 (rounded down) 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 * Rounddown( mildness / 25 )
      • 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 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).

Other uses

A Pokémon's personality value may also used for things unrelated to the Pokémon itself.

00000000 00000000 00000000 00000000

In Pokémon Ruby, Sapphire, and Emerald, Mirage Island will appear on Route 130 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.

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.