Pokemon-go – What determines the CP of a transformed Ditto

pokemon-go

If a Ditto transforms in battle it changes its CP. Is there a way to predict the resulting CP value?

Does it just copy the base stats of its opponent, which are then put into the CP formula?

It looked like the Ditto kept its own level (and IVs?) but everything else was copied. Which in turn would imply that if the Ditto is at max level with 100% IV, it would always have higher (or equal) CP than the opponent.

I'm also interested in whether it's the same behavior if the Ditto is disguised as a wild Pokemon.

Best Answer

It appears that as far as CP is concerned, Ditto simply takes on the base attack, stamina and defense stats of the Pokémon that it transforms into. These values, along with the Ditto's individual values, are plugged into the CP formula.

When it comes to HP, more research is required. Other sources are reporting that the HP stays the same, but I have not tested that aspect.

If the Ditto is at the same level as the Pokémon that it transforms into, it should have similar CP. A max level 100% Ditto, should have higher or the same CP as the Pokémon it transforms into.

So the transformed ditto CP formula looks like this:

Ditto_transformed_CP = Floor(((transformed_pokemon_base_attack + ditto_attack_iv) 
                       * (transformed_pokemon_base_defense + ditto_defense_iv)^0.5 
                       * (transformed_pokemon_base_stamina + ditto_stamina_iv)^0.5 
                       * (ditto_level_multiplier)^2) / 10)

Testing

Test 1

I used a level 10.5 Ditto with 4/11/8 IVs against a Jolteon in a gym, and the Ditto CP changed to 756.

Ditto_transformed_CP = Floor(((232+4) * (201+11)^0.5 * (130+8)^0.5 * (0.432926413)^2)/10)
Ditto_transformed_CP = Floor((236 * (212)^0.5 * (138)^0.5 * 0.18742527967914354769) / 10)
Ditto_transformed_CP = Floor((236 * 14.56021978 * 11.74734012 * 0.1874252797) / 10)
Ditto_transformed_CP = Floor((7565.674354) / 10)
Ditto_transformed_CP = Floor(756.5674354)
Ditto_transformed_CP = 756

Test 2

I used a level 26 13/4/8 IV Ditto against a Tauros, and the CP changed to 1744.

Ditto_transformed_CP = Floor(((198+13) * (197+4)^0.5 * (150+8)^0.5 * (0.68116492)^2)/10)
Ditto_transformed_CP = Floor((211 * (201)^0.5 * (158)^0.5 * 0.4639856482) / 10)
Ditto_transformed_CP = Floor((211 * 14.17744688 * 12.56980509 * 0.4639856482) / 10)
Ditto_transformed_CP = Floor(17446.71131 / 10) 
Ditto_transformed_CP = Floor(1744.671131)
Ditto_transformed_CP = 1744

enter image description here