So we've covered the basics of Pokemon battles, which is enough to get you started on the road to becoming a respectable Pokemon trainer. However Pokemon is a lot more complicated than just that. If you want to excel above the rest, here are some tips from the Pokemon veterans among us.
Same Type Attack Bonus
Commonly abbreviated to STAB, what this means if that when a Pokemon uses a move whose Type matches one of the Pokemon's Types, that move will deal 50% more damage. Hence the term.
The point of STAB is to encourage Pokemon to use moves of their Type. Because otherwise, you could have, for example, a Dragon-type Pokemon and a Fire-type Pokemon using Fire type moves that deal the same damage. But the Dragon-type has a lot more Type resistances, making it a lot more attractive.
If a Pokemon has two Types, it gains STAB from both Types. As a general rule of thumb, Pokemon should always carry at least one move with STAB; one from each Type if they're dual-type. Although that's not to say they shouldn't carry other moves, as we'll explain next...
Variety is the Spice of Life
Unless you're purposely challenging yourself, you should aim to make your Pokemon party as diverse as possible. Even if love Fire-types, for instance, it's not smart to fill your party with Fire-types only, as you'll come a cropper against Water, Rock and Ground-types and potentially ones that resist Fire.
Since you can field up to 6 Pokemon and Pokemon can have up to two Types, you can represent 12 of the 18 Types with just your Pokemon alone. For the missing types, you can teach your Pokemon moves from that Type, via TMs or other means.
Although your Pokemon won't gain STAB from using moves not of their Type, if you're up against a Pokemon that's weak to those moves, you'll still inflict 2 times damage (or 4 times if they're double-weak), which is better than neutral damage with STAB.
Avoid Being Empty-Handed
Each of the Pokemon in your party can hold onto one item and you should ideally give them something beneficial to hold onto, rather than nothing. This could be a berry that automatically cures an ailment or an item such as the Silk Scarf that boosts the power of a particular Type of move.
You can give Pokemon items to hold onto via the Pokemon menu or Bag menu. Be sure to select the "Held Item" option for the former and "Give to Pokemon" option for the latter. Berries are consumed when used, but other items will remain unless you use a move like Fling to chuck it away.
No Use For This...
Not all items can be used by Pokemon though. Man-made items such as Potions and Poke Balls will do nothing in a Pokemon's hands. If in doubt, consult the item's description and look to see if it has an effect "when held by a Pokemon".
Keeping your Priorities Straight
You may notice some moves claim they "go first in battle" or perhaps you've been in the receiving end of such a move. What this means is that when this move is used, it will go first regardless of the Pokemon's Speed stat. These moves are known as "Priority Moves". For example, Quick Attack.
Priority Moves normally inflict less damage compared to other moves learned later on, but they can be immensely useful--and should not be underlooked if an opponent may have one.
Here's a common scenario. Your Pokemon is faster than the opponent's and both your Pokemon are at critical health. You may think it's safe to take out the opposing Pokemon before healing or switching out, but suddenly the opposing Pokemon uses a Priority Move to go first and give you a surprise KO.
When both Pokemon use a Priority Move, the Pokemon with the higher Speed stat goes first like normal.
Another thing to note is that some moves have a higher priority than others. At the high end of the spectrum are moves like Protect and Endure, which normally always go first. Moves can even have negative priority, making the user go last.
Out with a Bang!
We don't want to jinx it, but sometimes things... happen. Perhaps you were fooled into a bad match up or the opposing Pokemon is tougher than you imagined. During situations like these, you may wish to consider sacrificing your current Pokemon for the cause.
For instance, perhaps your Pokemon is at critical health and the opposing Pokemon is faster or your Pokemon isn't going to do much damage anyway. If your Pokemon's going to faint regardless, rather than waste a turn attacking, you could do something else and let your Pokemon faint.
Perhaps you could heal or revive another Pokemon that's got a better chance. If your Pokemon is able to inflict a status ailment, you could try that. Better yet, there are actual moves that sacrifice your Pokemon, like Self-Destruct and Explosion or the intriguing Memento.