How do I know who attacks first?
I have been playing Pokemon White for a while now, but no matter how hard I try, I do not understand how the game calculates who attacks first in each round of a battle.
At first I thought it depended solely on your Pokemon (maybe type and level?) so I though that if my Pokemon started out going first against a particular Pokemon, that would always be the case.
Turns out, in a battle I was working on last night, I started out attacking first but then later in the battle, I wasn't anymore.
What is going on? How can I predict when I will go first? What causes it?
This is determined by a Pokemon's Speed. The Pokemon with a higher speed will attack first, with a few exceptions.
Certain moves, like Quick Attack, give the attacking Pokemon a higher priority when attacking. Other moves, like Avalanche, give the attacking Pokemon a lower priority. The Pokemon with the higher priority will always attack first, regardless of speed. If two Pokemon have equal priority, however, the game will use speed to determine who attacks first.
There are also moves which will modify the speed of a Pokemon, like Agility, which increases the speed of the user. There are also moves, such as Bubble which will decrease an opposing Pokemon's speed.
Moves like agility are called Stat Modifiers, and increase/decrease a Pokemon's in-battle stat by a number of stages. A stage just represents the stat modifier the Pokemon currently has, and by default the modifier is 1.0. In total there are 13 stages, 6 which increases the stat, 6 which decreases and the default stage which has no effect. It should be noted these stages have a strict upper and lower limit. If you try to boost a Pokemon's stat stage beyond the 13 stages the move will have no effect.
The stage modifier values are:
1/4, 2/7, 1/3, 2/5, 1/2, 2/3, 1, 3/2, 2, 5/2, 3, 7/2, 4
Some moves will have unique effects which will also modify who attacks first, such as Trick Room, which modifies the rules so the Pokemon with the lower speed will attack first.
Certain abilities can also have an effect on this. Speed Boost is a good example of this, which increases a Pokemon's speed at the end of every turn.
There are also items and berries which can modify a Pokemon's speed. Two examples would be X-Speed, which increases a Pokemon's speed; and Salac Berry, which increases the speed of a Pokemon when its health drops below 25%.
The Pokemon with the higher speed attacks first. If the speeds are tied, then a random Pokemon attacks first. Being paralyzed reduces your speed to 25% of its normal value, which means that you will almost always attack last when paralyzed.
Some moves, like Quick Attack, have an increased priority and will always attack before a move of lower priority regardless of the speed of either Pokemon. There are many levels of priority. If two moves of the same priority level are used, that's when speed comes into play.
As for knowing the speed of each Pokemon you face, that's something that just comes with experience.