Pokémon Go: Difference between revisions
Tag: Reverted |
|||
| (37 intermediate revisions by the same user not shown) | |||
| Line 24: | Line 24: | ||
CPMs range from 0.094 to 0.8403. Non-integer Levels are always defined using the quadratic mean (root of mean of squares): CPM(L + 0.5) = √((CPM(L)<sup>2</sup> + CPM(L + 1)<sup>2</sup>) / 2), getting us down to 50 constants. | CPMs range from 0.094 to 0.8403. Non-integer Levels are always defined using the quadratic mean (root of mean of squares): CPM(L + 0.5) = √((CPM(L)<sup>2</sup> + CPM(L + 1)<sup>2</sup>) / 2), getting us down to 50 constants. | ||
There are five regimes of growth: 1–9.5, 10–19.5, 20–29.5, 30–39.5, and 40+. Beginning at Level 40, CPM growth becomes linear: 0.7903 (40), 0.8103 (44), 0.8303 (48), 0.8403 (50). So CPM is perfectly fit for | There are five regimes of growth: 1–9.5, 10–19.5, 20–29.5, 30–39.5, and 40+. Beginning at Level 40, CPM growth becomes linear: 0.7903 (40), 0.8103 (44), 0.8303 (48), 0.8403 (50). So CPM is perfectly fit for halflevels 79+ by the function ''0.0025 * (L - 79) + 0.7903''. We can define all 99 half-level CPMs recursively in O(n) time and O(1) space using seven floating-point and six integer constants: | ||
<syntaxhighlight lang="c"> | <syntaxhighlight lang="c"> | ||
float nextcpm(float cpm, float step){ | float nextcpm(float cpm, float step){ | ||
return sqrt( | return sqrt(pow(cpm, 2) + step); | ||
} | } | ||
// halflevel: positive integer (usually less than 100) equal to L * 2 - 1 | // halflevel: positive integer (usually less than 100) equal to L * 2 - 1 | ||
float cpm(int halflevel){ | float cpm(int halflevel){ | ||
float step; | |||
if(halflevel >= 79){ // Levels 40 and above are computed directly | if(halflevel >= 79){ // Levels 40 and above are computed directly | ||
return 0.0025 * (halflevel - | return 0.0025 * (halflevel - 79) + 0.7903; | ||
}else if(halflevel >= 59){ // Levels 30..39.5 | }else if(halflevel >= 59){ // Levels 30..39.5 | ||
step = 0.00445946079; | step = 0.00445946079; | ||
| Line 48: | Line 49: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Powering up has a cost in Stardust and XL Candy. The XL Candy cost is 0 until Level 40 | Powering up has a cost in Stardust, Candy, and [[XL Candy]]. The XL Candy cost is 0 until Level 40, at which point it costs 10 to power up to 40.5, up to 20 to power up from 49.5 to 50. The total cost from Levels 40 to 50 is 250k Stardust and 296 XL Candy. | ||
{{:Pokémon_Go_CPM_data}} | {{:Pokémon_Go_CPM_data}} | ||
| Line 84: | Line 85: | ||
* Eff<sub>S</sub> = (181 + 15) * CPM = 196 * 0.6811649 = 133.5083204 | * Eff<sub>S</sub> = (181 + 15) * CPM = 196 * 0.6811649 = 133.5083204 | ||
Taking the floor of Eff<sub>S</sub> tells you maximum HP. | Taking the floor of Eff<sub>S</sub> tells you maximum HP. | ||
* MHP = ⌊Eff<sub>S</sub>⌋ = 133 | * MHP = min(1, ⌊Eff<sub>S</sub>⌋) = 133 | ||
''nb: i've seen other formulas claimed for maximum HP, but they don't seem to match reality. everywhere i've checked, maximum HP = ⌊Eff<sub>S</sub>⌋'' | ''nb: i've seen other formulas claimed for maximum HP, but they don't seem to match reality. everywhere i've checked, maximum HP = ⌊Eff<sub>S</sub>⌋'' | ||
| Line 100: | Line 101: | ||
{{:Pokémon_Go_charged_Attack_data}} | {{:Pokémon_Go_charged_Attack_data}} | ||
====Stat Effects==== | |||
Charged Attacks can have effects on either Pokémons' Eff<sub>A</sub> or Eff<sub>D</sub> lasting the duration of a battle. Some of these effects are probabilistic (I believe this to be the only use of random numbers in battles). | |||
====Adventure Effects==== | ====Adventure Effects==== | ||
| Line 122: | Line 125: | ||
==Battle mechanics== | ==Battle mechanics== | ||
Battles proceed in "turns" corresponding to half-second quanta. | Battles proceed in "turns" corresponding to half-second quanta. Fundamentally, active Pokémon use Fast Attacks to deal Damage and build up Energy. When sufficient Energy has been accumulated, a more powerful Charged Attack can be used, consuming Energy. | ||
===Types of combat=== | ===Types of combat=== | ||
* ''Gym battles'' occur when a Gym occupied by one Team is assaulted by Trainers of other teams. A Gym is defended by between one and six Pokémon of the same Team. Each Trainer can bring six Pokémon to the assault. The attackers fight the defenders in series. When a defender is KOd, it is returned (with zero health) to its Trainer. When all defenders are KOd, the Gym is cleared, and a new Team can take it by leaving a defender. Defenders cannot be recalled. There are no shields, but play is otherwise in the style of Trainer Battles. | * ''Gym battles'' occur when a Gym occupied by one Team is assaulted by Trainers of other teams. A Gym is defended by between one and six Pokémon of the same Team. Each Trainer can bring six Pokémon to the assault. The attackers fight the defenders in series. When a defender is KOd, it is returned (with zero health) to its Trainer. When all defenders are KOd, the Gym is cleared, and a new Team can take it by leaving a defender. Defenders cannot be recalled. There are no shields, but play is otherwise in the style of Trainer Battles. | ||
* ''Raids'' task one or more (up to twenty) Trainers with defeating a powerful raid boss within a time limit. Each Trainer can bring six Pokémon into the battle at a time. If all six are defeated, the Trainer can reenter the raid with another six (assuming there is time left). | * ''Raids'' task one or more (up to twenty) Trainers with defeating a powerful raid boss within a time limit. Each Trainer can bring six Pokémon into the battle at a time. If all six are defeated, the Trainer can reenter the raid with another six (assuming there is time left). | ||
* ''Max battles'' task one or more (up to four) Trainers with defeating a powerful Dynamax or Gigantamax Pokémon in a form similar to a Raid. They furthermore feature a "Max Meter", shared by all Trainers. When the Max Meter fills, active Pokémon shift to their Dynamax or Gigantimax forms, and can execute three Max Moves. They then revert to their normal forms, and the Meter is reset. The Meter advances whenever damage is done to the opponent, when defeated Trainers cheer, and when active Pokémon pick up a Max Bonus on the field. Each Trainer can bring three Dynamax-capable Pokémon into the battle. If all three are defeated, the Trainer can cheer remaining Trainers | * ''Max battles'' task one or more (up to four) Trainers with defeating a powerful Dynamax or Gigantamax Pokémon in a form similar to a Raid. They furthermore feature a "Max Meter", shared by all Trainers. When the Max Meter fills, active Pokémon shift to their Dynamax or Gigantimax forms, and can execute three Max Moves. They then revert to their normal forms, and the Meter is reset. The Meter advances whenever damage is done to the opponent, when defeated Trainers cheer, and when active Pokémon pick up a Max Bonus on the field. Each Trainer can bring three Dynamax-capable Pokémon into the battle. If all three are defeated, the Trainer can cheer remaining Trainers | ||
* ''Trainer Battles'' pit two teams of three Pokémon against one another. One Pokémon is active for each side at a time. The Battle is over when one or both sides have no Pokémon left standing (or surrender). Each team gets two Shields capable of blocking Charged Attacks. Trainers can pick the next active Pokémon when one is KOd, and there are limited substitutions. | |||
====Trainer Battle details==== | |||
Trainer Battles are in my mind the most interesting element of PGO. | |||
When both Pokémon launch a Charged Attack on the same turn, Charged Move Priority determines which goes first. CMP is currently decided by the greater base ATK, i.e. ''unmodified'' by IVs or stat effects. | |||
Calculating | ===Damage=== | ||
Calculating Damage dealt requires the attacker's Eff<sub>A</sub>, the defender's Eff<sub>D</sub>, two multipliers M and M<sub>M</sub>, and the Attack's P. The result is subtracted from the defender's HP. We will see that damage is always a positive integer, and thus HP is always an integer. | |||
Multiplier M is defined as the product of: | Multiplier M is defined as the product of: | ||
| Line 194: | Line 204: | ||
*** Impact of IVs goes down as Pokémon grow more absolutely powerful and 15 << base stats | *** Impact of IVs goes down as Pokémon grow more absolutely powerful and 15 << base stats | ||
*** In mismatched battles, an IV advantage ''for the weaker Pokémon'' can shrink the difference; an IV advantage for the stronger Pokémon has much less effect | *** In mismatched battles, an IV advantage ''for the weaker Pokémon'' can shrink the difference; an IV advantage for the stronger Pokémon has much less effect | ||
* | * CPM ratio has less range than A/D | ||
** We can factor out the CPM ratio and define a constant 100x100 symmetric matrix | ** We can factor out the CPM ratio and define a constant 100x100 symmetric matrix | ||
** Minimum value: 0.094 / 0.8403 ~= 0.11186 | ** Minimum value: 0.094 / 0.8403 ~= 0.11186 | ||
| Line 210: | Line 220: | ||
An interesting observation is that Attack effectiveness is 1.6x as potent as Attack resistance (60% increase vs 37.5% decrease), ''but'' Attack effectiveness is completely negated by Attack resistance (-1 + 1 == 0). For instance, an Electric Attack on a Dragon-Flying Pokémon like [https://db.pokemongohub.net/pokemon/149 Dragonite] is neutral, because Dragon is resistant to Electric, and Flying is vulnerable. | An interesting observation is that Attack effectiveness is 1.6x as potent as Attack resistance (60% increase vs 37.5% decrease), ''but'' Attack effectiveness is completely negated by Attack resistance (-1 + 1 == 0). For instance, an Electric Attack on a Dragon-Flying Pokémon like [https://db.pokemongohub.net/pokemon/149 Dragonite] is neutral, because Dragon is resistant to Electric, and Flying is vulnerable. | ||
These data were taken from [https://niantic.helpshift.com/hc/en/6-pokemon-go/faq/2132-type-effectiveness-in-battle/ Niantic's site] 2025-05-24. Note that type effectiveness has changed over time, e.g. Water used to be effective against Electric, but no longer is. | |||
{| class="wikitable sortable" style="text-align: center" | {| class="wikitable sortable" style="text-align: center" | ||
|+ Attack type (rows) vs defender species type(s) (columns). Smaller numbers favor defense. | |+ Attack type (rows) vs defender species type(s) (columns). Smaller numbers favor defense. | ||
| Line 216: | Line 227: | ||
| '''Normal''' || 0 || 0 || 0 || 0 || 0 || -1 || 0 || -2 || -1 || 0 || 0 || 0 || 0 || 0 || 0 || 0 || 0 || 0 || '''-4''' | | '''Normal''' || 0 || 0 || 0 || 0 || 0 || -1 || 0 || -2 || -1 || 0 || 0 || 0 || 0 || 0 || 0 || 0 || 0 || 0 || '''-4''' | ||
|- | |- | ||
| '''Fighting''' || 1 || 0 || -1 || -1 || 0 || 1 || -1 || -2 || 1 || 0 || 0 || 0 || 0 || -1 || 1 || | | '''Fighting''' || 1 || 0 || -1 || -1 || 0 || 1 || -1 || -2 || 1 || 0 || 0 || 0 || 0 || -1 || 1 || 0 || 1 || -1 || '''-2''' | ||
|- | |- | ||
| '''Flying''' || 0 || 1 || 0 || 0 || 0 || | | '''Flying''' || 0 || 1 || 0 || 0 || 0 || -1 || 1 || 0 || -1 || 0 || 0 || 1 || -1 || 0 || 0 || 0 || 0 || 0 || '''0''' | ||
|- | |- | ||
| '''Poison''' || 0 || 0 || 0 || -1 || -1 || -1 || 0 || -1 || -2 || 0 || 0 || 1 || 0 || 0 || 0 || 0 || 0 || 1 || '''-4''' | | '''Poison''' || 0 || 0 || 0 || -1 || -1 || -1 || 0 || -1 || -2 || 0 || 0 || 1 || 0 || 0 || 0 || 0 || 0 || 1 || '''-4''' | ||
| Line 234: | Line 245: | ||
| '''Fire''' || 0 || 0 || 0 || 0 || 0 || -1 || 1 || 0 || 1 || -1 || -1 || 1 || 0 || 0 || 1 || -1 || 0 || 0 || '''0''' | | '''Fire''' || 0 || 0 || 0 || 0 || 0 || -1 || 1 || 0 || 1 || -1 || -1 || 1 || 0 || 0 || 1 || -1 || 0 || 0 || '''0''' | ||
|- | |- | ||
| '''Water''' || 0 || 0 || 0 || 0 || 1 || 1 || 0 || 0 || 0 || 1 || -1 || -1 || | | '''Water''' || 0 || 0 || 0 || 0 || 1 || 1 || 0 || 0 || 0 || 1 || -1 || -1 || 0 || 0 || 0 || -1 || 0 || 0 || '''0''' | ||
|- | |- | ||
| '''Grass''' || 0 || 0 || -1 || -1 || 1 || 1 || -1 || 0 || -1 || -1 || 1 || -1 || 0 || 0 || 0 || -1 || 0 || 0 || '''-4''' | | '''Grass''' || 0 || 0 || -1 || -1 || 1 || 1 || -1 || 0 || -1 || -1 || 1 || -1 || 0 || 0 || 0 || -1 || 0 || 0 || '''-4''' | ||
| Line 244: | Line 255: | ||
| '''Ice''' || 0 || 0 || 1 || 0 || 1 || 0 || 0 || 0 || -1 || -1 || -1 || 1 || 0 || 0 || -1 || 1 || 0 || 0 || '''0''' | | '''Ice''' || 0 || 0 || 1 || 0 || 1 || 0 || 0 || 0 || -1 || -1 || -1 || 1 || 0 || 0 || -1 || 1 || 0 || 0 || '''0''' | ||
|- | |- | ||
| '''Dragon''' || 0 || 0 || 0 || 0 || 0 || 0 || 0 || 0 || -1 || 0 || 0 || 0 || 0 || 0 || 0 || 1 || 0 || -2 || '''- | | '''Dragon''' || 0 || 0 || 0 || 0 || 0 || 0 || 0 || 0 || -1 || 0 || 0 || 0 || 0 || 0 || 0 || 1 || 0 || -2 || '''-2''' | ||
|- | |- | ||
| '''Dark''' || 0 || -1 || 0 || 0 || 0 || 0 || 0 || 1 || 0 || 0 || 0 || 0 || 0 || 1 || 0 || 0 || -1 || -1 || '''-1''' | | '''Dark''' || 0 || -1 || 0 || 0 || 0 || 0 || 0 || 1 || 0 || 0 || 0 || 0 || 0 || 1 || 0 || 0 || -1 || -1 || '''-1''' | ||
| Line 250: | Line 261: | ||
| '''Fairy''' || 0 || 1 || 0 || -1 || 0 || 0 || 0 || 0 || -1 || -1 || 0 || 0 || 0 || 0 || 0 || 1 || 1 || 0 || '''0''' | | '''Fairy''' || 0 || 1 || 0 || -1 || 0 || 0 || 0 || 0 || -1 || -1 || 0 || 0 || 0 || 0 || 0 || 1 || 1 || 0 || '''0''' | ||
|- style="font-weight: bold" | |- style="font-weight: bold" | ||
| Total<br>(Defense) || -1 || 0 || - | | Total<br>(Defense) || -1 || 0 || -2 || -3 || -1 || 1 || 0 || -4 || -9 || -3 || -2 || 1 || -2 || 1 || 3 || -1 || -1 || -3 || -26 | ||
|- | |- | ||
|} | |} | ||
The rightmost column is the sum over given Attack types (larger is better). The bottommost row is the sum over given base types (smaller is better). The rightmost, bottommost cell is the sum over all relationships; equally, it is the sum over the rightmost column; equally, it is the sum over the bottommost row. Its value of - | The rightmost column is the sum over given Attack types (larger is better). The bottommost row is the sum over given base types (smaller is better). The rightmost, bottommost cell is the sum over all relationships; equally, it is the sum over the rightmost column; equally, it is the sum over the bottommost row. Its value of -26 indicates that type effectiveness favors the defender overall, though the most common relationship is neutrality: there are 324 total interactions, and 208 of them (~64.2%) are neutral. Note that this completely ignores e.g. type population and strength of type population. | ||
It is interesting (surprising?) to note that different Attack types have different total strengths. Only two Attack types are strong against their own type: Ghost and Dragon. Nine are weak against their own type: Fire, Water, Grass, Electric, Ice, Poison, Psychic, Dark, and Steel. Only three Attack types have overall net effectiveness: Flying, Ground, and Rock, each with a net 1. Four types sum to -4: Grass, Bug, Normal, and Poison. Electric and Fighting have -3. Psychic has -2. | It is interesting (surprising?) to note that different Attack types have different total strengths. Only two Attack types are strong against their own type: Ghost and Dragon. Nine are weak against their own type: Fire, Water, Grass, Electric, Ice, Poison, Psychic, Dark, and Steel. Only three Attack types have overall net effectiveness: Flying, Ground, and Rock, each with a net 1. Four types sum to -4: Grass, Bug, Normal, and Poison. Electric and Fighting have -3. Psychic has -2. | ||
Likewise, different species types provide different total defense. Rock, Grass, Psychic, and Ice all have net weakness, especially Ice (3 | Likewise, different species types provide different total defense. Rock, Grass, Psychic, and Ice all have net weakness, especially Ice (3). Fighting and Bug are neutral; each have three weaknesses balanced out by three strengths. Water, Electric, and Dragon at -2 have nothing to be embarrassed about. Fire and Poison both enjoy -3. Ghost is less generally robust than its -4 suggests, due to -2 against Normal and Fighting. Steel is pretty insane at -9, with resistance to 10 different types, weakness against three, and strong resistance to Poison. As Josef Stalin said, it's good to be Steel. | ||
Grass eats the shit sandwich of type effectiveness as the only type both net-susceptible (1) and net-weak (-4). Subtracting the defense total from the attack total for a type yields a net core effectiveness, ranging from -5 (Grass) to a stunning 8 (Steel). | Grass eats the shit sandwich of type effectiveness as the only type both net-susceptible (1) and net-weak (-4). Subtracting the defense total from the attack total for a type yields a net core effectiveness, ranging from -5 (Grass) to a stunning 8 (Steel). | ||
| Line 266: | Line 277: | ||
| '''Normal''' || -4 || -1 || -3 | | '''Normal''' || -4 || -1 || -3 | ||
|- | |- | ||
| '''Fighting''' || - | | '''Fighting''' || -2 || 0 || -2 | ||
|- | |- | ||
| '''Flying''' || | | '''Flying''' || 0 || -2 || 2 | ||
|- | |- | ||
| '''Poison''' || -4 || -3 || -1 | | '''Poison''' || -4 || -3 || -1 | ||
| Line 274: | Line 285: | ||
| '''Ground''' || 1 || -1 || 0 | | '''Ground''' || 1 || -1 || 0 | ||
|- | |- | ||
| '''Rock''' || 1 || | | '''Rock''' || 1 || 1 || 0 | ||
|- | |- | ||
| '''Bug''' || -4 || 0 || -4 | | '''Bug''' || -4 || 0 || -4 | ||
| Line 294: | Line 305: | ||
| '''Ice''' || 0 || 3 || -3 | | '''Ice''' || 0 || 3 || -3 | ||
|- | |- | ||
| '''Dragon''' || - | | '''Dragon''' || -2 || -1 || -1 | ||
|- | |- | ||
| '''Dark''' || -1 || -1 || 0 | | '''Dark''' || -1 || -1 || 0 | ||
| Line 329: | Line 340: | ||
The scaled total sums over the products of typing count and net exponent. | The scaled total sums over the products of typing count and net exponent. | ||
{| class="wikitable sortable" style="text-align: center" | {| class="wikitable sortable" style="text-align: center" | ||
! | ! Type !! BN2 !! BN1 !! B0 !! BP1 !! -3 !! -2 !! -1 !! 0 !! 1 !! 2 !! Total | ||
|- | |- | ||
| '''Normal''' || 1 || 2 || 15 || 0 || 2 || 17 || | | '''Normal''' || 1 || 2 || 15 || 0 || 2 || 17 || 32 || 118 || 0 || 0 || '''-72''' | ||
|- | |- | ||
| '''Fighting''' || 1 || | | '''Fighting''' || 1 || 5 || 7 || 5 || 5 || 18 || 45 || 53 || 40 || 10 || '''-36''' | ||
|- | |- | ||
| '''Flying''' || 0 || | | '''Flying''' || 0 || 3 || 12 || 3 || 0 || 3 || 39 || 87 || 39 || 3 || '''0''' | ||
|- | |- | ||
| '''Poison''' || 1 || 4 || 11 || 2 || 4 || 18 || 50 || 74 || 24 || 1 || '''-72''' | | '''Poison''' || 1 || 4 || 11 || 2 || 4 || 18 || 50 || 74 || 24 || 1 || '''-72''' | ||
| Line 355: | Line 366: | ||
| '''Grass''' || 0 || 7 || 8 || 3 || 0 || 21 || 63 || 57 || 27 || 3 || '''-72''' | | '''Grass''' || 0 || 7 || 8 || 3 || 0 || 21 || 63 || 57 || 27 || 3 || '''-72''' | ||
|- | |- | ||
| '''Electric''' || 1 || 3 || 12 || 2 || 3 || 11 || 41 || 89 || 26 || 1 || '''- | | '''Electric''' || 1 || 3 || 12 || 2 || 3 || 11 || 41 || 89 || 26 || 1 || '''-54''' | ||
|- | |- | ||
| '''Psychic''' || 1 || 2 || 13 || 2 || 2 || 15 || 30 || 95 || 28 || 1 || '''-36''' | | '''Psychic''' || 1 || 2 || 13 || 2 || 2 || 15 || 30 || 95 || 28 || 1 || '''-36''' | ||
| Line 361: | Line 372: | ||
| '''Ice''' || 0 || 4 || 10 || 4 || 0 || 6 || 44 || 71 || 44 || 6 || '''0''' | | '''Ice''' || 0 || 4 || 10 || 4 || 0 || 6 || 44 || 71 || 44 || 6 || '''0''' | ||
|- | |- | ||
| '''Dragon''' || 1 || 1 || 15 || 1 || 1 || 16 || 17 || 121 || 16 || 0 || '''- | | '''Dragon''' || 1 || 1 || 15 || 1 || 1 || 16 || 17 || 121 || 16 || 0 || '''-36''' | ||
|- | |- | ||
| '''Dark''' || 0 || 3 || 13 || 2 || 0 || 3 || | | '''Dark''' || 0 || 3 || 13 || 2 || 0 || 3 || 42 || 97 || 28 || 1 || '''-18''' | ||
|- | |- | ||
| '''Fairy''' || 0 || 3 || 12 || 3 || 0 || 3 || 39 || 87 || 39 || 3 || '''0''' | | '''Fairy''' || 0 || 3 || 12 || 3 || 0 || 3 || 39 || 87 || 39 || 3 || '''0''' | ||
| Line 420: | Line 431: | ||
'''FIXME:''' Now, we know the target type for Raids and Max battles, so this is only really relevant for PvP. We can only bring 3 Pokémon to a PvP battle, but each can have a different type of Fast Attack and (technically two different) Charged Attacks. So it would be nice to know three sets of two (or three) where one of the Attacks is efficient against a type, and the other class of Attacks is not inefficient against that same type. | '''FIXME:''' Now, we know the target type for Raids and Max battles, so this is only really relevant for PvP. We can only bring 3 Pokémon to a PvP battle, but each can have a different type of Fast Attack and (technically two different) Charged Attacks. So it would be nice to know three sets of two (or three) where one of the Attacks is efficient against a type, and the other class of Attacks is not inefficient against that same type. | ||
==XP rewards== | ==XP rewards== | ||
| Line 536: | Line 540: | ||
==Evolution== | ==Evolution== | ||
Evolution does not preserve Attacks, though it does preserve IVs. Evolution preserves Max Move levels. Evolution generates 1 Candy of the Pokémon's Candy type. Evolution counts as capturing the target Pokémon. Shiny Pokémon stay Shiny through Evolution, and Evolution cannot Shiny up a non-Shiny Pokémon. A Pokémon can be Evolved even at 0 HP. A freshly-Evolved Pokémon has full HP. Evolution does not change Level. Evolution typically raises CP, but not always (and it might even lower it). Evolution preserves traded status. | Evolution does not necessarily preserve Attacks, though it does preserve IVs. Evolution preserves Max Move levels. Evolution generates 1 Candy of the Pokémon's Candy type. Evolution counts as capturing the target Pokémon. Shiny Pokémon stay Shiny through Evolution, and Evolution cannot Shiny up a non-Shiny Pokémon. A Pokémon can be Evolved even at 0 HP. A freshly-Evolved Pokémon has full HP. Evolution does not change Level. Evolution typically raises CP, but not always (and it might even lower it). Evolution preserves traded status. | ||
===Item required=== | ===Item required=== | ||
Some evolutions require an item in addition to Candy. The item will be consumed. | Some evolutions require an item in addition to Candy. The item will be consumed. | ||
{|class="wikitable" | {|class="wikitable" | ||
! Target | ! Target !! Base !! Requirements | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/182 Bellossom] || [https://db.pokemongohub.net/pokemon/44 Gloom] | | [https://db.pokemongohub.net/pokemon/182 Bellossom] || [https://db.pokemongohub.net/pokemon/44 Gloom] || 100 Oddish Candy + Sun Stone | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/192 Sunflora] || [https://db.pokemongohub.net/pokemon/191 Sunkern] | | [https://db.pokemongohub.net/pokemon/192 Sunflora] || [https://db.pokemongohub.net/pokemon/191 Sunkern] || 50 Sunkern Candy + Sun Stone | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/547 Whimsicott] || [https://db.pokemongohub.net/pokemon/546 Cottonee] | | [https://db.pokemongohub.net/pokemon/547 Whimsicott] || [https://db.pokemongohub.net/pokemon/546 Cottonee] || 50 Cottonee Candy + Sun Stone | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/549 Lilligant] || [https://db.pokemongohub.net/pokemon/548 Petilil] | | [https://db.pokemongohub.net/pokemon/549 Lilligant] || [https://db.pokemongohub.net/pokemon/548 Petilil] || 50 Petilil Candy + Sun Stone | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/695 Heliolisk] || [https://db.pokemongohub.net/pokemon/694 Helioptile] | | [https://db.pokemongohub.net/pokemon/695 Heliolisk] || [https://db.pokemongohub.net/pokemon/694 Helioptile] || 50 Helioptile Candy + Sun Stone | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/230 Kingdra] || [https://db.pokemongohub.net/pokemon/117 Seadra] | | [https://db.pokemongohub.net/pokemon/230 Kingdra] || [https://db.pokemongohub.net/pokemon/117 Seadra] || 100 Horsea Candy + Dragon Scale | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/233 Porygon2] || [https://db.pokemongohub.net/pokemon/137 Porygon] | | [https://db.pokemongohub.net/pokemon/233 Porygon2] || [https://db.pokemongohub.net/pokemon/137 Porygon] || 25 Porygon Candy + Upgrade | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/474 Porygon-Z] || [https://db.pokemongohub.net/pokemon/233 Porygon2] | | [https://db.pokemongohub.net/pokemon/474 Porygon-Z] || [https://db.pokemongohub.net/pokemon/233 Porygon2] || 100 Porygon Candy + Sinnoh Stone | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/463 Lickilicky] || [https://db.pokemongohub.net/pokemon/108 Lickitung] | | [https://db.pokemongohub.net/pokemon/463 Lickilicky] || [https://db.pokemongohub.net/pokemon/108 Lickitung] || 100 Lickitung Candy + Sinnoh Stone | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/465 Tangrowth] || [https://db.pokemongohub.net/pokemon/114 Tangela] | | [https://db.pokemongohub.net/pokemon/465 Tangrowth] || [https://db.pokemongohub.net/pokemon/114 Tangela] || 100 Tangela Candy + Sinnoh Stone | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/466 Electivire] || [https://db.pokemongohub.net/pokemon/125 Electabuzz] | | [https://db.pokemongohub.net/pokemon/466 Electivire] || [https://db.pokemongohub.net/pokemon/125 Electabuzz] || 100 Elekid Candy + Sinnoh Stone | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/467 Magmortar] || [https://db.pokemongohub.net/pokemon/126 Magmar] | | [https://db.pokemongohub.net/pokemon/467 Magmortar] || [https://db.pokemongohub.net/pokemon/126 Magmar] || 100 Magby Candy + Sinnoh Stone | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/461 Weavile] || [https://db.pokemongohub.net/pokemon/215 Sneasel] | | [https://db.pokemongohub.net/pokemon/461 Weavile] || [https://db.pokemongohub.net/pokemon/215 Sneasel] || 100 Sneasel Candy + Sinnoh Stone | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/468 Togekiss] || [https://db.pokemongohub.net/pokemon/176 Togetic] | | [https://db.pokemongohub.net/pokemon/468 Togekiss] || [https://db.pokemongohub.net/pokemon/176 Togetic] || 100 Togepi Candy + Sinnoh Stone | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/469 Yanmega] || [https://db.pokemongohub.net/pokemon/193 Yanma] | | [https://db.pokemongohub.net/pokemon/469 Yanmega] || [https://db.pokemongohub.net/pokemon/193 Yanma] || 100 Yanma Candy + Sinnoh Stone | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/472 Gliscor] || [https://db.pokemongohub.net/pokemon/207 Gligar] | | [https://db.pokemongohub.net/pokemon/472 Gliscor] || [https://db.pokemongohub.net/pokemon/207 Gligar] || 100 Gligar Candy + Sinnoh Stone | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/430 Honchkrow] || [https://db.pokemongohub.net/pokemon/198 Murkrow] | | [https://db.pokemongohub.net/pokemon/430 Honchkrow] || [https://db.pokemongohub.net/pokemon/198 Murkrow] || 100 Murkrow Candy + Sinnoh Stone | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/475 Gallade] || Male [https://db.pokemongohub.net/pokemon/281 Kirlia] | | [https://db.pokemongohub.net/pokemon/475 Gallade] || Male [https://db.pokemongohub.net/pokemon/281 Kirlia] || 100 Ralts Candy + Sinnoh Stone | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/429 Mismagius] || [https://db.pokemongohub.net/pokemon/200 Misdreavus] | | [https://db.pokemongohub.net/pokemon/429 Mismagius] || [https://db.pokemongohub.net/pokemon/200 Misdreavus] || 100 Misdreavus Candy + Sinnoh Stone | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/473 Mamoswine] || [https://db.pokemongohub.net/pokemon/221 Piloswine] | | [https://db.pokemongohub.net/pokemon/473 Mamoswine] || [https://db.pokemongohub.net/pokemon/221 Piloswine] || 100 Swinub Candy + Sinnoh Stone | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/477 Dusknoir] || [https://db.pokemongohub.net/pokemon/356 Dusclops] | | [https://db.pokemongohub.net/pokemon/477 Dusknoir] || [https://db.pokemongohub.net/pokemon/356 Dusclops] || 100 Duskull Candy + Sinnoh Stone | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/478 Froslass] || Female [https://db.pokemongohub.net/pokemon/361 Snorunt] | | [https://db.pokemongohub.net/pokemon/478 Froslass] || Female [https://db.pokemongohub.net/pokemon/361 Snorunt] || 100 Snorunt Candy + Sinnoh Stone | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/424 Ambipom] || [https://db.pokemongohub.net/pokemon/190 Aipom] | | [https://db.pokemongohub.net/pokemon/424 Ambipom] || [https://db.pokemongohub.net/pokemon/190 Aipom] || 100 Aipom Candy + Sinnoh Stone | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/407 Roserade] || [https://db.pokemongohub.net/pokemon/315 Roselia] | | [https://db.pokemongohub.net/pokemon/407 Roserade] || [https://db.pokemongohub.net/pokemon/315 Roselia] || 100 Budew Candy + Sinnoh Stone | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/212 Scizor] || [https://db.pokemongohub.net/pokemon/123 Scyther] | | [https://db.pokemongohub.net/pokemon/212 Scizor] || [https://db.pokemongohub.net/pokemon/123 Scyther] || 50 Scyther Candy + Metal Coat | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/208 Steelix] || [https://db.pokemongohub.net/pokemon/95 Onix] | | [https://db.pokemongohub.net/pokemon/208 Steelix] || [https://db.pokemongohub.net/pokemon/95 Onix] || 50 Onix Candy + Metal Coat | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/186 Politoed] || [https://db.pokemongohub.net/pokemon/61 Poliwhirl] | | [https://db.pokemongohub.net/pokemon/186 Politoed] || [https://db.pokemongohub.net/pokemon/61 Poliwhirl] || 100 Poliwag Candy + King's Rock | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/199 Slowking] || [https://db.pokemongohub.net/pokemon/79 Slowpoke] | | [https://db.pokemongohub.net/pokemon/199 Slowking] || [https://db.pokemongohub.net/pokemon/79 Slowpoke] || 50 Slowpoke Candy + King's Rock | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/841 Flapple] || [https://db.pokemongohub.net/pokemon/840 Applin] | | [https://db.pokemongohub.net/pokemon/841 Flapple] || [https://db.pokemongohub.net/pokemon/840 Applin] || 200 Applin Candy + 20 Tart Apples | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/842 Appletun] || [https://db.pokemongohub.net/pokemon/840 Applin] | | [https://db.pokemongohub.net/pokemon/842 Appletun] || [https://db.pokemongohub.net/pokemon/840 Applin] || 200 Applin Candy + 20 Sweet Apples | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/464 Rhyperior] || [https://db.pokemongohub.net/pokemon/112 Rhydon] | | [https://db.pokemongohub.net/pokemon/464 Rhyperior] || [https://db.pokemongohub.net/pokemon/112 Rhydon] || 100 Rhyhorn Candy + Sinnoh Stone | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/718-Fifty_Percent Zygarde 50% Form] || [https://db.pokemongohub.net/pokemon/718-Ten_Percent Zygarde 10% Form] | | [https://db.pokemongohub.net/pokemon/718-Fifty_Percent Zygarde 50% Form] || [https://db.pokemongohub.net/pokemon/718-Ten_Percent Zygarde 10% Form] || 50 Zygarde Cells | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/718-Complete Zygarde Complete Form] || [https://db.pokemongohub.net/pokemon/718-Fifty_Percent Zygarde 50% Form] | | [https://db.pokemongohub.net/pokemon/718-Complete Zygarde Complete Form] || [https://db.pokemongohub.net/pokemon/718-Fifty_Percent Zygarde 50% Form] || 200 Zygarde Cells | ||
|- | |- | ||
|} | |} | ||
===Special requirements=== | ===Special requirements=== | ||
The special requirements must be fulfilled while the Pokémon to be evolved is your Buddy. | |||
{|class="wikitable" | {|class="wikitable" | ||
! Target | ! Target !! Base !! Requirements | ||
|- | |||
| [https://db.pokemongohub.net/pokemon/462 Magnezone] || [https://db.pokemongohub.net/pokemon/82 Magneton] || 100 Magnemite Candy + Evolve near an active Magnetic Lure | |||
|- | |||
| [https://db.pokemongohub.net/pokemon/476 Probopass] || [https://db.pokemongohub.net/pokemon/299 Nosepass] || 50 Nosepass Candy + Evolve near an active Magnetic Lure | |||
|- | |||
| [https://db.pokemongohub.net/pokemon/706 Goodra] || [https://db.pokemongohub.net/pokemon/705 Sliggoo] || 100 Goomy Candy + Evolve near an active Rainy Lure | |||
|- | |||
| [https://db.pokemongohub.net/pokemon/983 Kingambit] || [https://db.pokemongohub.net/pokemon/625 Bisharp] || 100 Pawniard Candy + defeat 15 Dark- or Steel-type in raids | |||
|- | |||
| [https://db.pokemongohub.net/pokemon/979 Annihilape] || [https://db.pokemongohub.net/pokemon/57 Primeape] || 100 Mankey Candy + defeat 30 Psychic- or Ghost-type in battles | |||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/ | | [https://db.pokemongohub.net/pokemon/671 Florges] || [https://db.pokemongohub.net/pokemon/670 Floette] || 100 Flabébé Candy + earn 20 hearts | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/ | | [https://db.pokemongohub.net/pokemon/936 Armarouge] || [https://db.pokemongohub.net/pokemon/935 Charcadet] || 50 Charcadet Candy + defeat 30 Psychic-type in battles | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/ | | [https://db.pokemongohub.net/pokemon/937 Ceruledge] || [https://db.pokemongohub.net/pokemon/935 Charcadet] || 50 Charcadet Candy + defeat 30 Ghost-type in battles | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/ | | [https://db.pokemongohub.net/pokemon/904 Overqwil] || [https://db.pokemongohub.net/pokemon/211-Hisuian Hisuian Qwilfish] || 50 Qwilfish Candy + win 10 raids | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/ | | [https://db.pokemongohub.net/pokemon/892-Rapid_Strike Rapid Strike Style Urshifu] || [https://db.pokemongohub.net/pokemon/891 Kubfu] || 200 Kubfu Candy + defeat 30 Water-type in raids or Max battles | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/ | | [https://db.pokemongohub.net/pokemon/892-Single_Strike Single Strike Style Urshifu] || [https://db.pokemongohub.net/pokemon/891 Kubfu] || 200 Kubfu Candy + defeat 30 Dark-type in raids or Max battles | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/ | | [https://db.pokemongohub.net/pokemon/687 Malamar] || [https://db.pokemongohub.net/pokemon/686 Inkay] || 50 Inkay Candy + turning the mobile device upside-down | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/ | | [https://db.pokemongohub.net/pokemon/416 Vespiquen] || Female [https://db.pokemongohub.net/pokemon/415 Combee] || 50 Combee Candy | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/ | | [https://db.pokemongohub.net/pokemon/699 Aurorus] || [https://db.pokemongohub.net/pokemon/698 Amaura] || 50 Amaura Candy, and evolve at night | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/ | | [https://db.pokemongohub.net/pokemon/697 Tyrantrum] || [https://db.pokemongohub.net/pokemon/696 Tyrunt] || 50 Tyrunt Candy, and evolve during the day | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/ | | [https://db.pokemongohub.net/pokemon/675 Pangoro] || [https://db.pokemongohub.net/pokemon/674 Pancham] || 50 Pancham Candy + capture 32 Dark-type | ||
|- | |- | ||
| | |} | ||
===Walk-assisted=== | |||
The Pokémon to be evolved must be walked a certain distance while actively "on your adventure", i.e. on the map screen. | |||
{|class="wikitable" | |||
! Target !! Base !! Requirements | |||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/ | | [https://db.pokemongohub.net/pokemon/528 Swoobat] || [https://db.pokemongohub.net/pokemon/527 Woobat] || 50 Woobat Candy + 1km | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/ | | [https://db.pokemongohub.net/pokemon/903 Sneasler] || [https://db.pokemongohub.net/pokemon/215-Hisuian Hisuian Sneasel] || 100 Sneasel Candy + 7km, and evolve during the day | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/ | | [https://db.pokemongohub.net/pokemon/122 Mr. Mime] || [https://db.pokemongohub.net/pokemon/439 Mime Jr.] || 50 Mime Jr. Candy + 15km | ||
|- | |||
| [https://db.pokemongohub.net/pokemon/185 Sudowoodo] || [https://db.pokemongohub.net/pokemon/438 Bonsly] || 50 Bonsly Candy + 15km | |||
|- | |||
| [https://db.pokemongohub.net/pokemon/113 Chansey] || [https://db.pokemongohub.net/pokemon/440 Happiny] || 25 Happiny Candy + 15km | |||
|- | |||
| [https://db.pokemongohub.net/pokemon/350 Milotic] || [https://db.pokemongohub.net/pokemon/349 Feebas] || 100 Feebas Candy + 20km | |||
|- | |||
| [https://db.pokemongohub.net/pokemon/923 Pawmot] || [https://db.pokemongohub.net/pokemon/922 Pawmo] || 100 Pawmi Candy + 25km | |||
|- | |- | ||
|} | |} | ||
| Line 651: | Line 678: | ||
Some Pokémon require no Candy to evolve ''once they have been traded.'' Without a trade, they have usual Candy requirements. The trade can take place prior to the specified Evolution, i.e. a traded Machop Evolved to Machoke can be evolved to Machamp for zero Candy. | Some Pokémon require no Candy to evolve ''once they have been traded.'' Without a trade, they have usual Candy requirements. The trade can take place prior to the specified Evolution, i.e. a traded Machop Evolved to Machoke can be evolved to Machamp for zero Candy. | ||
{|class="wikitable" | {|class="wikitable" | ||
! Target | ! Target !! Base !! Requirements | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/65 Alakazam] || [https://db.pokemongohub.net/pokemon/64 Kadabra] | | [https://db.pokemongohub.net/pokemon/65 Alakazam] || [https://db.pokemongohub.net/pokemon/64 Kadabra] || 100 Abra Candy OR the Kadabra was traded | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/68 Machamp] || [https://db.pokemongohub.net/pokemon/67 Machoke] | | [https://db.pokemongohub.net/pokemon/68 Machamp] || [https://db.pokemongohub.net/pokemon/67 Machoke] || 100 Machop Candy OR the Machoke was traded | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/76 Golem] || [https://db.pokemongohub.net/pokemon/75 Graveler] | | [https://db.pokemongohub.net/pokemon/76 Golem] || [https://db.pokemongohub.net/pokemon/75 Graveler] || 100 Geodude Candy OR the Graveler was traded | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/75-Alola Alolan Golem] || [https://db.pokemongohub.net/pokemon/75-Alola Alolan Graveler] | | [https://db.pokemongohub.net/pokemon/75-Alola Alolan Golem] || [https://db.pokemongohub.net/pokemon/75-Alola Alolan Graveler] || 100 Geodude Candy OR the Alolan Graveler was traded | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/93 Haunter] || [https://db.pokemongohub.net/pokemon/94 Gengar] | | [https://db.pokemongohub.net/pokemon/93 Haunter] || [https://db.pokemongohub.net/pokemon/94 Gengar] || 100 Gastly Candy OR the Gengar was traded | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/534 Conkeldurr] || [https://db.pokemongohub.net/pokemon/533 Gurdurr] | | [https://db.pokemongohub.net/pokemon/534 Conkeldurr] || [https://db.pokemongohub.net/pokemon/533 Gurdurr] || 200 Timburr Candy OR the Gurdurr was traded | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/526 Gigalith] || [https://db.pokemongohub.net/pokemon/525 Boldore] | | [https://db.pokemongohub.net/pokemon/526 Gigalith] || [https://db.pokemongohub.net/pokemon/525 Boldore] || 200 Roggenrola Candy OR the Boldore was traded | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/589 Escavlier] || [https://db.pokemongohub.net/pokemon/588 Karrablast] | | [https://db.pokemongohub.net/pokemon/589 Escavlier] || [https://db.pokemongohub.net/pokemon/588 Karrablast] || 200 Karrablast Candy OR the Karrablast was traded | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/617 Accelgor] || [https://db.pokemongohub.net/pokemon/616 Shelmet] | | [https://db.pokemongohub.net/pokemon/617 Accelgor] || [https://db.pokemongohub.net/pokemon/616 Shelmet] || 200 Shelmet Candy OR the Shelmet was traded | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/709 Trevenant] || [https://db.pokemongohub.net/pokemon/708 Phantump] | | [https://db.pokemongohub.net/pokemon/709 Trevenant] || [https://db.pokemongohub.net/pokemon/708 Phantump] || 200 Phantump Candy OR the Phantump was traded | ||
|- | |- | ||
| [https://db.pokemongohub.net/pokemon/711 Gourgeist] || [https://db.pokemongohub.net/pokemon/710 Pumpkaboo] | | [https://db.pokemongohub.net/pokemon/711 Gourgeist] || [https://db.pokemongohub.net/pokemon/710 Pumpkaboo] || 200 Pumpkaboo Candy OR the Pumpkaboo was traded | ||
|- | |- | ||
|} | |} | ||
| Line 862: | Line 889: | ||
===On-device=== | ===On-device=== | ||
* <tt>Android/data/com.nianticlabs.pokemongo/files/il2cpp/Metadata/global-metadata.dat</tt> (salt for your OS) | * <tt>Android/data/com.nianticlabs.pokemongo/files/il2cpp/Metadata/global-metadata.dat</tt> (salt for your OS) | ||
** il2cpp indicates [https://docs.unity3d.com/Manual/scripting-backends-il2cpp.html Unity stuff] fwiw | ** il2cpp indicates [https://docs.unity3d.com/Manual/scripting-backends-il2cpp.html Unity stuff] fwiw, including in <tt>global-metadata.dat</tt> | ||
** you can use e.g. [https://github.com/djkaty/Il2CppInspector Il2CppInspector] to tear this apart | |||
==External links== | ==External links== | ||
| Line 871: | Line 899: | ||
* [https://www.pokebattler.com/ Pokebattler] is legit | * [https://www.pokebattler.com/ Pokebattler] is legit | ||
* [https://www.reddit.com/r/TheSilphArena/comments/aa3e1z/guide_primer_on_stats_and_level_when_constrained/ Primer on stats and levels when constrained by CP] by u/glencurio on r/TheSilphArena | * [https://www.reddit.com/r/TheSilphArena/comments/aa3e1z/guide_primer_on_stats_and_level_when_constrained/ Primer on stats and levels when constrained by CP] by u/glencurio on r/TheSilphArena | ||
* [https://pogo.gamepress.gg/attack-based-charged-move-priority-added-trainer-battles Attack-Based Charged Move Priority Added to Trainer Battles] by Tyler on Gamepress | |||
[[CATEGORY: PGO]] | |||