Damage Formula

Hey guys, just posting here to let you know that the B/W Damage Formula article has been posted at Smogon. The whole thread submission phase took less than a day so not many people got wind of it before it was uploaded.

The Pokecheck.org team is working on an upcoming feature relating to battling, and we discovered (through debugging) that the D/P methodology of calculating damage wasn't matching up with predictions based on the Battle RNG. We then had the entire "damage" portion of the battle code debugged and then made it into a very technical but still readable article for Smogon. We've included the multiplication factors for each special case, as simple 1.x decimal multipliers are not how the game does it.

If you have questions about the damage formula / article feel free to ask, either here or at #smogonwifi @ synirc.

Looking at the article, at least some moves are using wrong methods, at least Pledges and Present.

Revamping the modifier and multiplication system would be a tough thing to do, especially since the errors are very small (There's is no 1.1 or 1.3 in floating point either, there's another source for error).

Present is weird. It's got 2 rand() calls if it deals damage, one to see if it heals or damages, then how much Base Power. [rand(100) and then rand(80)] -- the article didn't mention this but that's how the game does it.