User talk:Piotr mil/HP

Type

Let us consider an example Pokémon, like Pikachu with this set of IVs:

Hit Points Attack Defense Speed Sp.Attack Sp.Defense
30 31 31 31 30 31

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

HP(type)=Floor[(a+2b+4c+8d+16e+32f)*15/63] where a,b,c,d,e,f are calculated in this way:

  • a=1 if the Individual Value of HP is odd. If not, a=0
  • b=1 if the Individual Value of Attack is odd. If not, b=0
  • c=1 if the Individual Value of Defense is odd. If not, c=0
  • d=1 if the Individual Value of Speed is odd. If not, d=0
  • e=1 if the Individual Value of Special Attack is odd. If not, e=0
  • f=1 if the Individual Value of Special Defense is odd. If not, f=0

Which simply means that every element of the sum in the brace is the reminder 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), inclusively. 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 form 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; utilize the table 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:

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 very same manner, using the following formula: HP Power = Floor[((u+2v+4w+8x+16y+32z)*40/63)+30]

  • u=1 if the Individual Value of HP divided by 4 has a remainder of 2 or 3. If not, u=0.
  • v=1 if the Individual Value of Attack divided by 4 has a remainder of 2 or 3. If not, v=0.
  • w=1 if the Individual Value of Defense divided by 4 has a remainder of 2 or 3. If not, w=0.
  • x=1 if the Individual Value of Speed divided by 4 has a remainder of 2 or 3. If not, x=0.
  • y=1 if the Individual Value of Special Attack divided by 4 has a remainder of 2 or 3. If not, y=0.
  • z=1 if the Individual Value of Special Defense divided by 4 has a remainder of 2 or 3. If not, z=0.

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:

Hit Points Attack Defense Speed Sp.Attack Sp.Defense
30
1
31
1
31
1
31
1
30
1
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's Hidden Power's power is 70

Hit Points Attack Defense Speed Sp.Attack Sp.Defense
30 31 31 31 30 31
Hidden Power: Type:
Grass
Power:
70