ポケモンのバトルにおいて繰り出される攻撃の威力は、完全にブラックボックス化されているわけではありません。有志の研究者やトッププレイヤーによる長年のリバースエンジニアリングと検証の積み重ねにより、その計算アルゴリズムは極めて高い精度で解明されています。
現在適用されている基本ダメージ計算式は、原則として以下のステップで処理されます。
【基本ダメージ計算式】
最終ダメージ = [((攻撃側のレベル × 2 ÷ 5 + 2)× 技威力 × 攻撃側の実数値 ÷ 防御側の実数値)÷ 50 + 2]× 各種補正(特性・持ち物・タイプ相性・急所・乱数など)
レベル50戦が標準となる公式ルールでは、冒頭の「レベル × 2 ÷ 5 + 2」部分は「50 × 2 ÷ 5 + 2 = 22」という固定値になります。つまり、式は実質的に「(22 × 技威力 × 攻撃実数値 ÷ 防御実数値 ÷ 50 + 2)」となり、ここに各種倍率が乗算されていく仕組みです。
この基本式を正しく理解する前提として欠かせないのが、攻撃側・防御側の「実数値」の算出メカニズムです。対戦で使用されるステータスは、種族値・個体値・努力値(基礎ポイント)・性格補正の4要素から厳密に計算されています。
【実数値の計算式(レベル50時)】
・HP実数値 = [(種族値 × 2 + 個体値 + 努力値 ÷ 4)× 50 ÷ 100]+ 50 + 10
・攻撃〜素早さ実数値 = [{(種族値 × 2 + 個体値 + 努力値 ÷ 4)× 50 ÷ 100}+ 5]× 性格補正(1.1倍、1.0倍、0.9倍)
対戦環境で勝率を維持するトップランカーたちは、この計算式をベースに「どのポケモンの攻撃を何発耐えるか」をミリ単位で設計し、努力値の最適配分を決定しています。