In the (hopefully near) future, old generations will need to be implemented in a simulator. At the moment there is not enough information to simulate these generations with 100% accuracy. Formulas exist at upokecenter.com but they really need to be confirmed / corrected before we use them. Below are some formulas that I think we should tackle first. When proving a formula I'd like to see the data and math you used to prove it, so be sure to be organized when collecting data. Most of these formulas should be the same as RBY but they should definitely be tested in both to confirm this.

When I feel sufficient research has been done I'll be writing an article documenting all the information.

**Calculated Stat Formula:**

Needs confirmation.

Code:

Stat = int(((A+B)*2+C)*D/100)+E
[LIST]
[*]A = Pokémon's Base Stat.
[*]B = Pokémon's Deter Value (from 0 through 15)
[*]C = Number of Stat Points currently earned (from 0 through 63)
[*]D = Pokémon's level.
[*]E = Additive. When calculating a Pokémon's HP, use (Level + 10). For all other stats, use 5.
[/LIST]

**Stat Point Formula:**

Fixed

Code:

Stat Points = (SQRT(MAX(MIN(StatExp,32505),1)-1)+1)/4

**HP DV Formula:**

trust this formula; it doesn't really need to be tested

Code:

HP DV = A + B + C + D
where:
[LIST]
[*]A=0. If Attack DV is odd, A=8.
[*]B=0. If Defense DV is odd, B=4.
[*]C=0. If Speed DV is odd, C=2.
[*]D=0. If Special DV is odd, D=1.
[/LIST]

**Damage Formula:**

Here is the damage formula from upokecenter. Even on the DP one from upokecenter, they don't include the mods so I'm entirely sure how accurate their damage formulas are. Everything on that page needs to be tested for accuracy.

Code:

int(int(int(2×L ÷ 5+2)×A×P ÷ D)/50)+2
where:
[LIST]
[*]L = Attacker's Level
[*]A = Attacker's current Attack/Special Attack value
[*]P = Attack's base damage
[*]D = Defender's current Defense/Special Defense
[/LIST]

I'll be adding to this post with more things that need to be researched.