Hidden Power (move)/Calculation

From Bulbapedia, the community-driven Pokémon encyclopedia.
Revision as of 13:18, 31 March 2019 by BulbaBot (talk | contribs) (Bot: Adding es:Cálculo del poder oculto)
Jump to navigationJump to search
Main article: Hidden Power (move)

In the Pokémon games, Hidden Power is a Normal-type move when the type is displayed, such as in battle and on status screens. However, the actual type of Hidden Power is determined by the Pokémon's individual values, and through calculation, can be set as one of other natural types. In Generations II to V, Hidden Power's base power is also determined by the Pokémon's individual values; in Generation II it ranges from 31 to 70, while in Generation III to V it ranges from 30 to 70. From Generation VI onward, Hidden Power's base power is always 60.

The type of Hidden Power can be checked in certain locations in the games by talking to certain NPCs. These NPCs will refuse to tell the player the Hidden Power type of a Pokémon unless it can learn the move via level up or TM (even if it knows Hidden Power at the time).

There is no in-game way to determine Hidden Power's power directly in games where it is not fixed.

Generation II

Type

Consider an example Pokémon, like Pikachu with this set of IVs:

Spr 2c 001.png Hit Points Attack Defense Speed Special
14 15 15 15 14

The type is determined by taking the two least significant bits of the Attack and Defense IVs, then concatenating these two values in that order.

Mathematically, this is the equivalent of:

File:HPtypeII.png

Where a represents the Attack IV and b represents the Defense IV.

The resulting number will correspond to a type as marked below.

Number Type
0  Fighting 
1  Flying 
2  Poison 
3  Ground 
4  Rock 
5  Bug 
6  Ghost 
7  Steel 
8  Fire 
9  Water 
10  Grass 
11  Electric 
12  Psychic 
13  Ice 
14  Dragon 
15  Dark 

In our example, we get:

HPtype=4*(15 mod 4)+(15 mod 4)=4*3+3=12+3=15, which means that our Pikachu has a Dark-type Hidden Power.

Damage

The damage of the Hidden Power is calculated using the following formula:

File:HPPowerII.png
  • The variables v through y (the "damage bits") represent the most significant bit of each IV. If a variable is less than eight, this bit is 0; otherwise, it is 1.
  • v depends on the Special IV.
  • w depends on the Speed IV.
  • x depends on the Defense IV.
  • y depends on the Attack IV.
  • Z is equal to the Special IV mod 4 (its remainder when divided by 4).

Hidden Power's base power is therefore a number ranging from 31 to 70, inclusively.

In our example, we get:

Spr 2c 001.png Hit Points Attack Defense Speed Special
14
N/A
15
1
15
1
15
1
14
1

HP Power = Floor[(5*(1 + 2*1 + 4*1 + 8*1) + 2)/2+31] = Floor[(5*(1 + 2 + 4 + 8) + 2)/2+31] = Floor[(5*15 + 2)/2+31] = Floor[(75 + 2)/2+31] = Floor[77/2+31] = Floor[38.5+31] = Floor[69.5] = 69, which means that our Pikachu's Hidden Power's power is 69

Spr 2c 001.png Hit Points Attack Defense Speed Special
14 15 15 15 14
Hidden Power: Type:
Dark
Power:
69

Generation III onward

Type

Consider an example Pokémon, like Pikachu with this set of IVs:

025Pikachu.png Hit Points Attack Defense Speed Sp. Attack Sp. Defense
30 31 31 31 30 31

Hidden Power's type of a Pokémon with given IVs is represented by a number, calculated with this formula:

File:HPcalc1.png


where a, b, c, d, e, f (the "type bits") are the least significant bit of their respective IV's. If a number is odd, its least significant bit is 1, and it is 0 otherwise.

  • a depends on the HP IV.
  • b and c depend on the Attack and Defense IV's respectively.
  • d depends on the Speed IV.
  • e and f depend on the Special Attack and Special Defense IV's respectively.

This simply means that every element of the sum in the brace is the remainder of division of corresponding IV and 2, multiplied by appropriate power of 2 (20 in case of a and 25 in case of f). The sum may range from 0 (when all IVs are even) to 63 (when all IVs are odd), inclusive. It is worth mentioning that the computed sum may be easily calculated by putting its variables a,b,c,d,e,f together in reverse order and interpreting this as a number in the binary system, which then needs to be reverted to decimal system:

fedcba(2) = 32f+16e+8d+4c+2b+a (10)

The summed value is then multiplied by 15 and divided by 63, to be sure that the number representing Hidden Power Type will range from 0 to 15, inclusively (16 values in total). The calculated number is then rounded down (floor[]), which simply means that only integral part of the calculated number is considered.

The resulting number will correspond to a type as marked below.

Number Type
0  Fighting 
1  Flying 
2  Poison 
3  Ground 
4  Rock 
5  Bug 
6  Ghost 
7  Steel 
8  Fire 
9  Water 
10  Grass 
11  Electric 
12  Psychic 
13  Ice 
14  Dragon 
15  Dark 

In our example, we get:

025Pikachu.png Hit Points Attack Defense Speed Sp. Attack Sp. Defense
30
0
31
1
31
1
31
1
30
0
31
1

HP Type = Floor[(0 + 2 + 4 + 8 + 0 + 32)*15/63] = Floor[46*15/63] = Floor[10.952] = 10, which means that our Pikachu has a Grass-type Hidden Power.

Damage

Damage of the Hidden Power is calculated in a manner very similar to that of its type, using the following formula:

File:HPcalc2.png


  • The variables u through z (the "damage bits") represent the second least significant bit of each IV. If a variable has a remainder of 2 or 3 when divided by 4, this bit is 1. Otherwise, the bit is 0.
  • u depends on the HP stat.
  • v and w depend on the Attack and Defense stats respectively.
  • x depends on the Speed stat.
  • y and z depend on the Special Attack and Special Defense stats respectively.

Like before, the sum may range from 0 to 63, inclusively. The calculated number is then multiplied by 40 and divided by 63 to make sure that the fraction will not exceed 40. Then, the number is increased by 30 and rounded down, making Hidden Power's power a number ranging from 30 to 70, inclusively.

In our example, we get:

025Pikachu.png Hit Points Attack Defense Speed Sp. Attack Sp. Defense
30
1
31
1
31
1
31
1
30
1
31
1

HP Power = Floor[((1 + 2 + 4 + 8 + 16 + 32)*40/63)+30] = Floor [(63*40/63)+30] = Floor[70] = 70, which means that our Pikachu's Hidden Power's power is 70

025Pikachu.png Hit Points Attack Defense Speed Sp. Attack Sp. Defense
30 31 31 31 30 31


Hidden Power: Type:
Grass
Power:
70

Number of possible Hidden Powers

As there are 6 IVs, ranging from 0 to 31 (32 in total), the number of different possible Hidden Powers should be 326=230, which is more than one billion possibilities. But let us consider two Pokémon with one different IV:

025Pikachu-Rock Star.png Hit Points Attack Defense Speed Sp. Attack Sp. Defense
30 31 31 31 30 31

and

025Pikachu-Libre.png Hit Points Attack Defense Speed Sp. Attack Sp. Defense
26 31 31 31 30 31

As we see, both 26 and 30 are divisible by 2 and give the remainder of 2 when divided by 4. So, in both cases the algorithms will interpret the IVs of those Pokémon in the same way, returning Grass-type Hidden Power with 70 power. It means that for the mentioned algorithms an IV of 30 is treated in the same way like IVs of 2,6,10,14,18,22 and 26 (8 in total).

In fact, there are only four essentially different types of IV when calculating Hidden Power:

1. IV that gives a remainder of 0 when divided by 4 - has damage bit 0 and type bit 0: 0, 4, 8, 12, 16, 20, 24, 28
2. IV that gives a remainder of 1 when divided by 4 - has damage bit 0 and type bit 1: 1, 5, 9, 13, 17, 21, 25, 29
3. IV that gives a remainder of 2 when divided by 4 - has damage bit 1 and type bit 0: 2, 6, 10, 14, 18, 22, 26, 30
4. IV that gives a remainder of 3 when divided by 4 - has damage bit 1 and type bit 1: 3, 7, 11, 15, 19, 23, 27, 31

In other words: only four IVs that give different remainders when divided by four would cover all possible Hidden Power types and powers.

If so, the number of possible Hidden Powers should be 46=212=64*64=4096. This number, however is again far too large, as the real number of possible variations of Hidden power is simply 16*41=656, as Hidden Power exists in 16 types and has 41 different powers. The significant difference between 656 and 4096 is explained by the function floor[], which reduces theoretically different numbers (for example 10.952 and 10.476) to the same integer, or whole number (in this case 10).

Percentage distribution of different variations of Hidden Power

Due to the fact that both Hidden Power's type and its power are the products of rounding down, chances of getting a Pokémon with certain Hidden Power are not equal, as one might have thought, and are different for every Hidden Power's type and damage value.

As it was stated before, the number of theoretically different Hidden Powers is 4096, which is the result of multiplying theoretical values of possible types (64) and powers (also 64). It means that every of 64 "types" comes into 64 "powers". After rounding down, however, the number of 64 "types" is reduced to 16 and the number of 64 "powers" to 41.

Percentage distribution of Hidden Power's type
Number Type Qty %
0 Fighting 320 7.8125%
1 Flying 256 6.25%
2 Poison 256 6.25%
3 Ground 256 6.25%
4 Rock 256 6.25%
5 Bug 320 7.8125%
6 Ghost 256 6.25%
7 Steel 256 6.25%
8 Fire 256 6.25%
9 Water 256 6.25%
10 Grass 320 7.8125%
11 Electric 256 6.25%
12 Psychic 256 6.25%
13 Ice 256 6.25%
14 Dragon 256 6.25%
15 Dark 64 1.5625%
Percentage distribution of Hidden Power's powers (prior to Generation VI)
Powers Qty %
30, 31, 33, 35, 36, 38,
40, 42, 43, 45, 47, 49,
50, 52, 54, 56, 57, 59,
61, 63, 64, 66, 68
128 each (23×) 3.125% each (23×)
32, 34, 37, 39, 41, 44,
46, 48, 51, 53, 55, 58,
60, 62, 65, 67, 69, 70
64 each (18×) 1.5625% each (18×)

External links

Many Pokémon related sites prepared web-based calculators, which allows to compute Hidden Power of a Pokémon with given IVs:

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.