0.191.1 APK Teardown: XL Candy and Pokémon HOME discoveries

Pokemon HOME
Pokemon HOME

0.191.1 is a small update to Pokémon GO in terms of features, but it seems to be great for the data mining community, as it contains a lot of code that has been blurred, allowing new findings and discoveries.

Our readers should read these articles on the 0.191 update family first to get the full picture:

As you can see, it’s a pretty bumpy upgrade family, both on the surface and under the hood. With that said, let’s dive into the latest mine of data!


Rare updates from XL Candy

0.191.1 APK Teardown: XL Candy and Pokémon HOME discoveries 5

Rare XL Candy is a new data-mined item that was first discovered in 0.191.0. From the looks of it, Rare XL Candy looks like regular-sized Rare Candies packages, but the 0.191.0 data mine suggested a conversion mechanism will also be present.

Prior to 0.191.1, it was expected that you would be rewarded through standard loot tracks: PokéStop drops, GO Battle League rewards, and more.

What’s new in 0.191.1 is that it looks like it can be rewarded with two new mechanics:

  • Feeding Pokémon in gyms
  • Transferring Pokémon to HOME

Also, the new update suggests that you should be able to use XL Candy to upgrade your Pokémon. It is very confusing what “update” means in this context, so we wouldn’t go into it too much.


Pokémon HOME updates

0.191.1 APK Teardown: XL Candy and Pokémon HOME discoveries 6

Pokémon HOME received a pretty substantial treatment with 0.191.1, and now we see some new mechanics and ideas that underpin GO to HOME connectivity. Again, we want to emphasize that this is information extracted from data, so it can always change in the future and is very prone to misinterpretation.

First, the data mines above suggest that you will need a GO Transporter to make transfers to Pokémon HOME, and that the Transporter requires Energy to make the transfer.

0.191.1 enforces this by de-obfuscating various fields in the underlying network request (PokemonHomeProto):

PokemonHomeProto 
.get_TransporterEnergy 
.set_TransporterEnergy 
.get_TransporterFullyChargedMs 
.set_TransporterFullyChargedMs 
.get_LastPassiveTransporterEnergyGainHour 
.set_LastPassiveTransporterEnergyGainHour 
TransporterEnergyFieldNumber 
TransporterFullyChargedMsFieldNumber 
LastPassiveTransporterEnergyGainHourFieldNumber 
TransporterEnergy 
TransporterFullyChargedMs 
LastPassiveTransporterEnergyGainHour

We’ve written a lot about how the Pokémon GO network stack is used protobuf, a network protocol developed by Google. Usually, the fields that are discovered as part of a protobuf network request actually paint an accurate picture of an upcoming function.

The initial 0.191.0 data mine contained a string that fairly accurately describes this mechanic, and the new fields reinforce this:

You can use the GO transporter to send Pokémon from Pokémon GO to Pokémon HOME. You must use the same Nintendo Account that you use for Pokémon HOME. GO Transporter requires GO Transporter Energy to send Pokémon to Pokémon HOME. GO Transporter Energy charges over time. Tap here for more information on how to send Pokémon to Pokémon HOME.

Data miners have also discovered that The energy costs to transfer a Pokémon are related to the Pokémon’s combat power:

PokemonHomeEnergyCostsProto
.get_Base
.set_Base
.get_Cp0To1000
.set_Cp0To1000
.get_Cp1001To2000
.set_Cp1001To2000
.get_Cp2001ToInf
.set_Cp2001ToInf

Lastly, previously discovered player level limitations and energy gains have also been verified:

PokemonHomeSettingsProto
.get_PlayerMinLevel
.set_PlayerMinLevel
.get_TransporterMaxEnergy
.set_TransporterMaxEnergy
.get_EnergySkuId
.set_EnergySkuId
.get_TransporterEnergyGainPerHour
.set_TransporterEnergyGainPerHour

Additional findings

Locked temporary evolutions and permanent mega evolutions

The code contains a handful of ramblings about “Blocking of temporal evolutions” Y “Permanent mega evolutions”. We honestly have no idea what this is and are not interested in speculating, but we will attach the code that suggests this:

.get_TempEvolutionIsLocked
.set_TempEvolutionIsLocked
.get_LockedTempEvolution
.set_LockedTempEvolution
TemporaryEvolutionFinishMs
TempEvolutionIsLocked
LockedTempEvolution
MakeTempEvoPermanent

Optional and mandatory missions

Optional and required missions have been detected! Not much at the moment, but there is code base support for this.

Pokemon Tags

A new tagging feature seems to be taking shape:

  • Players should be able to tag Pokémon in the future
  • Label information includes label color and name
  • There is a level requirement for the use of labels and there is a maximum number of labels you can use
PokemonTagSettingsProto 
.get_MinPlayerLevelForPokemonTagging 
.set_MinPlayerLevelForPokemonTagging 
.get_ColorBinding 
.get_MaxNumTagsAllowed 
.set_MaxNumTagsAllowed 
.get_TagNameCharacterLimit 
.set_TagNameCharacterLimit

Minor findings

  • Unopened / unopened gifts are tracked and sent back to Niantic for analysis
  • The game tracks how many rocket balloons you specifically make, possibly for a future badge

Data Mining Disclaimer ⛏️

Note that data miners have publicly reported everything in this article (PokéMiners). Information shared through these channels is not affiliated with or endorsed by Niantic and is always subject to change.

Don’t take it for granted, functions change and are removed all the time. It is very important that you know that these things CAN AND WILL CHANGE.

LEAVE A REPLY

Please enter your comment!
Please enter your name here