ポケモンSvのダメージ計算式完全解説!ミリ耐えの真相と乱数の仕組み
ポケモンSvのダメージ計算式完全解説!ミリ耐えの真相と乱数の仕組みの特集記事をお届けします。役立つ情報が満載です。
ポケモンのバトルにおいて、技を使用した瞬間に内部で処理される計算式は、単一の掛け算ではなく複数のステップに分割されて実行されます。第9世代(スカーレット・バイオレット)においても、この基本骨格は歴代シリーズの仕様を忠実に引き継いでいます。
必読記事
物理特殊ダメージ計算ルールにおける基本ダメージの算出式は、レベル50戦を前提とすると以下のように表されます。
最終ダメージ = floor( floor( floor(22 × 技の威力 × 攻撃側の実数値 ÷ 防御側の実数値) ÷ 50 + 2 ) × 各種補正倍率 )
ここで極めて重要なのが、プログラミング上の関数である「floor」、すなわち小数点以下の切り捨て処理です。攻撃側の「こうげき(または、とくこう)」の実数値と相手の「ぼうぎょ(または、とくぼう)」の実数値を参照して基本威力を算出した後、即座に端数が切り捨てられます。その後、さらに定数加算や除算が行われ、その都度切り捨てが発生します。
この基本ダメージに対して、天候、急所、乱数、タイプ一致、タイプ相性、状態異常(やけどによる半減など)、持ち物や特性による補正値が特定の順序で掛け合わされていきます。計算の途中で何度も端数が削ぎ落とされるため、机上の単純計算(カタログスペック上の倍率掛け合わせ)と実際のゲーム内ダメージの間には、必ず数ポイントのズレが生じる仕組みになっています。