0.131.1 PVP APK Mine: The Big One

Zero is off doing a big sleep so I am gonna try and take over for a bit on the data mining. I do not claim to be a top tier data miner however, so bear with me as I roll through all this and show the big changes in the Metadata and files of the game. It is a lot of changes, namely PVP, so I will segment this as much as possible to make this digestible. We have the official update notes up first, and then what is below the surface later on:

Photo Credits go to u/ricardo2g on Reddit. 

Update Note: Added found PVP Win/Loss files. Elaborated on findings to manage the hype.

PVP

This should not be a shock, so we will get this out of the way. 

All manner of code has been added for PVP, as to be expected, since it had been announced Trainer Battles were already coming and the patch notes above said outright it was coming along. That being said, adding all of the code on this article would easily make it the longest article the Hub has ever posted, so we will stick to the very interesting bits.

get_MyCombatPokemon
get_OpponentCombatPokemon
get_BackgroundCamera
get_OpponentAvatarAnimator
get_OpponentAvatarTransform
get_MyPokemonRootTransform
opponentPlayer
SnapTo
UpdateScene
SetLinesActive
PlayerAvatarSwapPokemon
PlayerAvatarThrowPokeball
OpponentAvatarThrowPokeball
WaitForOpponentThrowTiming
pokeball
endPos
flyCurve
MovePokeball
SpawnCombatPokemon
OpponentThrowBallSpawnCombatPokemon
OpponentRetrievePokemon
SetDynamicPokemonPosition
PlayShowPokemonSounds
ShowPokemonAndShadow
DisplayShield
DisplayPlayerShield
DisplayOpponentShield
HidePhysicalShield

This is some of the base code relating to the visual components, spawning the Pokémon, shields, field, etc. This next part meanwhile, relates to some of the minigames you play for Charge Move usage, on Defense, Offense, and how good one does:

StartAttackMinigame
StartDefenseMinigame
StartTimingMinigame
spamTapInputChallengeFactory
timingInputChallengeFactory
spinInputChallengeFactory
challengeDurationSeconds
attackMinigameButton
attackScoreText
defenseMinigameButton
defenseScoreText
timingMinigameButton
timingScoreText

References in the code can be found that relate to Web Sockets. To put this concept as simply as possible, the connection, as long as networking is fast and sound, is constantly connected between server and the device in use. In this case, your phone does not have to constantly poll the Niantic server with requests, data can be sent from Niantic or sent from the phone whenever, at least this seems the case for PVP. Sockets have the benefit of being much faster in the grand scheme of things, but there is the worry that, with so many phones directly connected to the server in such a manner, that the strain on systems may grow. Only time will tell whether this is the case or not.

Socket mentions grew with the Metadata of 131.1, and all seemed to relate around base additions to previous mentions of sockets systems, or code like the ones below where it specifically makes references to combat, the common word used when referring to PVP in the code.

OpenCombatSocketListener
get_CombatSockets

Buffs and Debuffs?

This came alongside some of the PVP code, but it clearly warrants a dedicated section. The code references multiple levels of Buffs and Debuffs, as well as sound effects related to Buffs and Debuffs. The interesting fact is that the sound effects are present in the APK files, and they are almost exactly like the sound effects for main series buff and debuff sound effects, such as when your Squirtle uses Tail Whip and the opponent loses Defense. Of course though, you can make that determination for yourself here (for comparison some old school GBA Emerald Version rips are included, courtesy of khinsider.com:

get_AttackerAttackStatStageChange
set_AttackerAttackStatStageChange
get_AttackerDefenseStatStageChange
set_AttackerDefenseStatStageChange
get_TargetAttackStatStageChange
set_TargetAttackStatStageChange
get_TargetDefenseStatStageChange
set_TargetDefenseStatStageChangepokemonBuffFx
pokemonBuffFx
pokemonDebuffFx
StatEffectivenessLevels
DebuffLevel3
DebuffLevel2
DebuffLevel1
BuffLevel1
BuffLevel2
BuffLevel3

There is plenty more code related here, all seemingly related to the game knowing stat changes to Attack and Defense, having the game set these changes, having the game communicate with the network to get the stat changes, and much more.

There has been no indication stat changes would be implemented in the game and I frankly have no real explanation behind the coding. One way to look at it is buffing and debuffing to fit in the leagues, after all there is coding for min and max cp changes and checks to ensure you are all in the correct league. Another non-buff explanation is, in recent history in the main series, special Pokemon receive stat boosts at the start of a battle. This being the case with Legendaries/Snorlax in Let’s Go, and the Ultra Beasts in Sun and Moon. Perhaps this is a way to buff the Team Leader Trainers. However, if it appears to be related to actual stat changes to the Pokémon, the complexity of PVP, and perhaps all of Pokémon Go, just got amped up to levels some have wanted since launch.

Whatever they are used for, enjoy the sound files for PVP wins and losses:

Move Sounds

The big hurdles for adding new moves into the game include having them present in the Metadata, having related assets like sound and visual components present in the APKs, and having them put into the Game Master with stats and assignments to various Pokémon. Trainers, I can confirm that most of the previous moves we saw added into the APK back in 123.1 have sounds associated with them, and possibly their related visual assets down below! I say most, because we are still missing:

  • Razor Shell
  • Blaze Kick
  • Muddy Water
  • Shadow Bone
  • Lunge

That being said, we still have received:

An interesting thing to note is that quite a number of these moves, save for a few notable exceptions, buff or debuff something in the main series, be it Accuracy, Attack, Special Attack, Defense, or Special Defense. This might be a possible explanation as to why there had been the coding for Buffs and Debuffs in the code, however that is just a theory, manage any potential hype appropriately. Regardless, new moves are always welcome to try and shake up the meta, so bring on the moves, Niantic!

New Textures

Some odd ball ones here, but several new textures had been added into the files. Most of them appear to be related to battle effects on the field, since some ground cracking, like in ground_crack below, appears on the loading image, as well their labels include battle scars like smoke, ground_crack_lava, impact01, impact02, impact03, and flame_ball. Either they are marks on the field, or are related to the new moves listed above, which would make sense for the likes of Acid Spray and the acid_ball and others like Earth Power and the ground quakes. If the latter then, all visual and sound effects would be in for the moves, and make them all set to go, besides a GM assignment.

There are also male and female skin masks, as well as black and white textures labeled as male and female defaults. Combined with the news of additional skin tones and hair colors, this might be the explanation. Apologies but those the eyeless Avatar masks might disturb.

There are a few more to be seen here,

To coincide with these as well, I will turn your attention to Chrales, who not only confirms the move sound files from earlier, but found somethings server side that, as far as I’ve been able to deduce, are not ran client side. Such things include leader and league icons, and backgrounds for the leaders.

New Loading Screen

You can finally stop shivering in the cold while looking at a summer loading screen that in no way reflects the majority of the real world! As you can see from what will follow, the default_loading_screen has been replaced with the leaked image from a few days ago:

 

Miscellaneous Stuff

  • Some Pokestop related coding was fiddled with, indicating some changes brought about by the Beta Pokestop Submission process. In short they appear to be location checks and telemetry, indicating an aim to produce more accurate locations when submitting.
  • New Badges, simply shown as:BADGE_TOP_BANANA_1, BADGE_TOP_BANANA_2, and BADGE_TOP_BANANA_3. Chrales saw some of this as well, but no solid leads on what these mean.
  • Several bits of random code was removed from a section relating to friends and code scanning. Whether this means anything is yet to be seen, but let’s see how things work around the friend processes.
  • There was nothing to show the costs of adding the second charge move, however the coding to allow a second charge move is in.
PokemonThirdMoveAttributesProto
get_StardustToUnlock
set_StardustToUnlock
get_CandyToUnlock
set_CandyToUnlock
  • Code inside shows the game requesting and receiving NPC Pokemon stats and your own Pokemon stats. In addition, it appears to keep track of NPC battle stats and your own wins, losses, and draws.
  • In the sections of toggles, for items like push notifications for gifts and such, there are toggles for combat. Most likely to opt into and out of receiving trainer battles, however this is merely a educated guess.
OnToggleFriendCombatClick
OnToggleNearbyCombatClick
ToggleLowMotivationPushNotification
  • New code hinting at nice quality of life features, like filtering by moves and possibly giving a warning if you raise a Pokemon out of its League:
FilterByMove
upgradedCp
CheckIfUpgradedPokemonWillLeaveALeague
leagueProto
VerifyEligibility
  • At the time of writing the new hair options are live, however the new skins are not. The hair includes various shades on black, brown, blue, purple, and blonde hairs, as well as new colors in green and white.

There you have it, hopefully I managed to not miss anything spectacular, and let’s just all be hyped for the future trainers! PVP is here soon, it seems like it might be rather complicated compared to what we initially thought, a new loading screen has finally hit, and we got wind of a winter event with Delibird.

 

Advertisements

Post Author: PokemonGo

Join our community of Pokémon GO, the Premier Community for Pokémon GO in the Philippines, the unofficial Website of Pokemon Go Philippines. Get the latest updates, news, and tips & techniques on how to play Pokemon Go

This site uses Akismet to reduce spam. Learn how your comment data is processed.