(adsbygoogle = window.adsbygoogle || []).push({});
Pokemon GO Buddy system has been data mined from the latest app version. We will be taking our favorite Pokemon for a walk soon.
The Buddy system was first seen on
You must login or register to view this content., the biggest Github repository for analysing Pokemon GO network traffic. The Buddy system was introduced in the code base in 0.35.0 update.
In short, here’s what we know:
Pokemon Buddy System is using the
same server side distance calculation as the one used for Pokemon Eggs
Walking your Pokemon Buddy will
award you with candy. The amount of candy is yet to be determined.
You can walk the same Pokemon Buddy multiple times, but there is likely a
daily limit for obtained candy
You can walk with only
one Buddy Pokemon at a time
There are various looks of Buddy Pokemon
Medium size
Big size
Flying next to you
Rests on your shoulder
All of these changes are already present in the code base, and by the look of it, we could be getting the Buddy system in the next update.
Full Code Analysis
The following few paragraphs discuss code details and reference the code directly. We will keep the discussion simple. If you are not familiar with software development and coding practice, feel free to ask questions in the comment section below.
BudyPokemon.proto introduced
message BuddyPokemon {
fixed64 id = 1;
double start_km_walked = 2;
double last_km_awarded = 3;
}
As observed, a new file has been added to the code.
You must login or register to view this content. tracks the Buddy Id, the start distance and the last awarded distance.
According to previous experience, the app will receive the entire data package from the server side, similar to how walked egg distance is updated.
A new type of Network Response – GetBuddyWalkedResponse
message GetBuddyWalkedResponse
{
bool success = 1;
.POGOProtos.Enums.PokemonFamilyId family_candy_id = 2;
int32 candy_earned_count = 3;
}
You must login or register to view this content. records the awarded Candy amount and logs the event inside the Journal. Not much to explain here, it’s a new type of Network Response clearly indicating that you will
get Candy from walking a Buddy Pokemon.
The response is in line with the structure of other Network responses and it looks lightweight.
Set Buddy and Get Buddy Walked messages
message SetBuddyPokemonMessage {
fixed64 pokemon_id = 1;
}
message GetBuddyWalkedMessage {
}
There are two new functions in the Network Requests code base:
SetBuddyPokemonMessage
GetBuddyWalkedMessage
The implementation is currently missing but their naming clearly indicates the intent.
As there are no extra parameters sent via GetBuddyWalkedMessage we believe you will be
able to walk with only one Buddy Pokemon at a time.
New BuddySize enumeration
enum BuddySize
{
BUDDY_MEDIUM = 0;
BUDDY_SHOULDER = 1;
BUDDY_BIG = 2;
BUDDY_FLYING = 3;
}
As expected, a new BuddySize enumeration has been added in regards to Buddy Pokemon. The code is inside
You must login or register to view this content.
and clearly references various sizes and looks of buddies.
We are not sure how it will look and feel, but Shoulder buddy sounds bloody amazing.
Conclusion
There are still quite a few changes were not noting or discussing here for the sake of brevity. If you are interested in the full list of code changes, visit the
You must login or register to view this content..
The Pokemon Buddy system looks promising and simple. We expect it to
land in the update next week as it reuses the Egg distance walked calculation and multiple existing endpoints.
Share your thoughts in the comment section. Stay safe!
You must login or register to view this content.