I should probably just copy paste the formula.
_______
Damage Calculation
Find the ingame base power of the move in question. Aerial Ace, for example, has a base power of 60.
If the attacker shares a type with the move it is using, multiply the base power by 1.25. If they do not share a type, do nothing.
Divide this number by 10. If its power ends in a number other than 0, round it down to the nearest ten (95 becomes 90, 18 becomes 10, etc.) before dividing.
Determine the attacker's stage of evolution. If the attacker is:
the first member of a three-stage evolution line (Charmander) or a baby Pokémon (Riolu), subtract 1 from the attack's damage.
the second member of a three-stage line (Charmeleon) or the first member of a two-stage line , do nothing.
a final-stage Pokémon (Charizard, Lucario, Whiscash) or a Pokémon that does not evolve at all (Absol), add 1 to the attack's damage.
Determine the effectiveness of the attack's type against the opponent's type. If the opponent is:
doubly-weak to the attack's type, multiply by 2.
weak to the attack's type, multiply by 1.5.
neutral to the attack's type, do nothing.
resistant to the attack's type, multiply by 0.67.
doubly-resistant to the attack's type, multiply by 0.5.
immune to the attack's type, multiply by 0 and stop calculations here. The attack does no damage.
If the attacker's relevant attack stat has been modified, multiply the modifier by 2 and add it to the attack's damage. An attacker with +1 attack does 2 additional damage; an attacker with -2 attack does 4 less damage.
If the target's relevant defense stat has been modified, multiply the modifier by 2 and subtract it from the attack's damage. A target with +1 defense takes 2 less damage; a target with -2 defense takes 4 more damage.
Determine whether the attack is a critical hit. If it is, add the attack's base power divided by 10 to the damage (e.g., add 6 if Aerial Ace scores a critical hit). If the attack's base power is 80 or higher, add 7 to the damage instead. If the attack is not a critical hit, do nothing.
This is the damage dealt by the attack. Round it down to the nearest integer if need be. If the number is 0 or negative and the target is not immune to the attack's type, increase the damage to 1; no attack should do less than 1 damage unless an immunity is involved.
This result may not be the final damage, however--there are other factors that may influence the number, and they may come into play during different steps. If the attacker is using Facade while suffering from paralysis, for example, you should double its base power before doing anything else (70 to 140). If a weather condition, such as rain, would affect the damage dealt by the attack, the relevant multiplier is applied after all other calculations. See your ASBL's guides and the Additional Rulings section below for more information on some of these details. There may be a few others that aren't covered anywhere; use your own discretion when dealing with said factors.