PvP battles work very differently from Gym battles. Gamepress has a great summary of how trainer battles work. I've updated the calculator here to handle all differences for trainer battles.
First, the stats for each move was changed. This also doesn't change how to calculate DPS, but it really changes the meta-game. All the moves were changed into a number of turns, each 0.5 seconds long. Fast moves were converted exactly according to their Gym battle durations. In the game_master file, moves that were 0.5 - 1 seconds long are listed to be 1 turn long. Moves that were 1 - 1.5 seconds are 2 turns long. Yes, that also means moves that that were 0 - 0.5 seconds long don't have a number of turns. Currently, the assumption is that all fast moves take one additional turn than what is shown.
Strangely, charge moves also don't have any turns listed in the game_master file. As a charge move happens, the opponent cannot attack, even if they choose not to shield. And immediately after the charge move, both pokemon can immediately start attacking. So unlike fast moves, I think charge moves take zero turns and that is what I'm currently using in this calculator
There also have been some simplifying changes from gym battles. The greatest simplifying change is that opponent damage doesn't give energy anymore. This means the fast/charge cycles are independent between Pokemon and do not require solving two equations simultaneously.
The next simplifying change is how energy is handled. In gym battles, one bar charge moves would need 100 energy from fast moves and filling the bar to 100 would have some energy overfill the bar and is wasted. This would have to be accounted for in DPS calculations. In trainer battles, the energy bar is still holds 100 energy. However, the most expensive charge move is only 80 energy. So when the charge move is ready, there is still room for 20 extra energy. Since the most expensive fast move gives 12 energy, it cannot be wasted. This entire part of the calcluation is left out for trainer battles.
With the release of PvP, they also increased type effectiveness bonuses. Though this doesn't change how things are calculated, it has a huge influence in the meta-game.
- Super Effective: 1.4 -> 1.6
- Not Very Effective: 0.714 -> 0.625
- Immune: 0.51 -> 0.390625
That's it! Enjoy the calculator. I hope you're as excited as I am for trainer battles. If you have any suggestions or comments, please use this reddit post