|PRAMA Initiative a également une page sur Friendship underflow.|
Friendship Underflow is a bug present in Pokémon Diamond and Pearl, which allows raising the Friendship of any Pokémon quickly.
Procedure and Explanation
Using some items, such as Energy Powder and Energy Root, decreases the target's Friendship (by 5 and 10 respectively, or by 10 and 15 instead if the original Friendship was higher than 200).
The game normally prevents Friendship from becoming negative, however this check fails when decreasing the value by more than 2 below 0 during a fight. Since Friendship is stored as an 8-bit unsigned integer, negative values "roll over" to large positive values, close to the maximum of 255.
Some Pokémon whose evolution requires a high (220+) Friendship, such as Buneary, can be quickly evolved this way. It also strongly overpowers the move Return, whose base Power is equal to the user's Friendship divided by 2.5.
Here is the general procedure:
- Stock up on Energy Powder and/or Energy Roots in Eterna City
- Catch the Pokémon you wish to boost the Friendship of. Already-caught Pokémon also work, but you will need to know or guess its Friendship. The base Friendship of several species is listed below.
- Lower the Friendship until it's close enough to 0 that using a single of these items will bring the Friendship below -2; it's possible to do this outside of battle, or within a different battle as step 5.
- Lose some HP
- Reduce the Friendship in a battle
- Run away
- Base 0: Buneary
- Base 70: Golbat, Eevee, Pichu, Igglybuff, Togepi, Azurill, Budew, Chingling, Munchlax and Riolu
- Base 140: Chansey and Cleffa
To find the actual Friendship you obtained, add 256 to the negative amount. So, for example, using 1 (one) Energy Powder on a freshly-caught Buneary will yield 0 (base) - 5 (Energy Powder) + 256 (bug) = 251 Friendship. Since that's higher than 220, leveling the Pokémon up will evolve it into Lopunny.
Buneary is ideal for this bug, given its low base Friendship. For Riolu's base of 70, you can use 8 Energy Roots (70 - 8 * 10 = -10), for example.