エンジン開発者の解説 — ダメージ計算式とターン処理の順番
この記事の数字は、当サイトのバトルエンジン(バトルシミュレータ・リアルバトルと全対戦機能と同一の計算式)で実際に計算した値です。前提(努力ポイントの振り方・性格・持ち物)はすべて明示しています。数字を丸めた説明や記憶ベースの「だいたいこう」は書いていません。
「なんで先制技じゃないのに先に動いたの?」「同じ相手なのにダメージが毎回違う」——対戦を始めたばかりだと、この2つでつまずくことが多いはずです。原因はどちらも「バトルは決まった順番で、決まった式で処理されている」というシンプルな事実にあります。この記事では、PchamDBのバトルエンジンが実際にどう計算しているかを、実数値つきで最後まで見ていきます。
1ターンは、実は「技を出す」だけではありません。両者が行動を選んだあと、決まった大枠の順番で処理が進みます。
出典: Bulbapedia: Priority / The Cave of Dragonflies: Battle Mechanics。当サイトの実装根拠は社内資料「バトルの流れ_実機リファレンス.md」にまとめています。
同じターンに両者が技を出す場合、上から順に判定されます。素早さは4番目で、優先度より下位の判定材料でしかありません。
| 優先度 | 技・効果の例 |
|---|---|
| +2 | しんそく、であいがしら、フェイント、このゆびとまれ |
| +1 | でんこうせっか、アクアジェット、バレットパンチ、マッハパンチ、かげうち |
| 0 | 上記以外の通常技(じしん・だいもんじ・ムーンフォース など) |
| -6 | ほえる、ふきとばし、ドラゴンテール、ともえなげ |
| -7 | トリックルーム |
メタグロス(意地っ張り・こうげき32pt)が優先度+2の「しんそく」を、オンバーン(臆病・すばやさ32pt=最速)が優先度0の通常技を選んだ場合。
素早さだけで比べれば、192のオンバーンが90のメタグロスの2倍以上速く、先に動くはずです。しかし実際は——
バンギラス(無振り)が「リフレクター」を、ガブリアス(意地っ張り・こうげき32pt)が「じしん」(物理・威力100)を選んだ同じターン。バンギラスの実効すばやさ(81)はガブリアス(122)より遅いので、リフレクターは技フェーズの中でガブリアスより後に処理される。
ダメージ計算は、次の順で1つずつ掛け算・端数処理をしていく積み上げ式です。
端数処理は2種類が混在していて、ここを勘違いすると自分で計算した数字とサイトの数字がずれます。
| 乱数% | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ダメージ | 63 | 63 | 64 | 65 | 66 | 66 | 67 | 68 | 69 | 69 | 70 | 71 | 72 | 72 | 73 | 74 |
最小63〜最大74の16通り。HP151に対しては最大でも74なので1発では倒れず、最小63を2発重ねても126で足りない。3発で確定して倒せる(3発目は63〜74のどのロールでも151を上回る)。これが後述する「確定数」の考え方です。
威力補正(天候など)は基礎ダメージの「威力」段階で、急所は基礎ダメージが出たあとの補正段階で掛かります。同じ技でも重なる補正の数だけ結果が変わることを、実データで比べてみます。
| 条件 | ダメージ(乱数16通り) | HP158に対する割合 |
|---|---|---|
| 通常(晴れなし) | 50〜59 | 32〜37% |
| 晴れ(威力1.5倍が乗る) | 75〜88 | 47〜56% |
| 晴れ + 急所(1.5倍) | 112〜132 | 71〜84% |
晴れだけで通常時の約1.5倍、そこに急所が重なるとさらに1.5倍。3つの補正がすべて掛け算で積み上がるので、「たった1個の補正」でも最終的な結果は大きく動きます。
対戦勢が「3確」「2確1」のように言う確定数とは、「乱数16通りのうち最も不利な出目(85%)でも、その回数までにHPを上回れるか」を指します。逆に言うと、確定数が3なら「2発で終わる可能性はゼロ」ということです。
カイリュー(意地っ張り・こうげき32pt)の「ドレインパンチ」(物理75・かくとう) → ゲッコウガ(HP32pt)。かくとうはあく複合(みず/あく)に効果ばつぐんで、実質2倍が乗る。
ここで注意したいのは、「80%くらい削れた」という感覚と「確定数」は別物だということです。ダメージが80%前後でも、相手のHPと詰めの悪い乱数が重なれば1発足りずに次のターンに回されることがあります。感覚ではなく、実数値とダメージ範囲を突き合わせて確認するのが安全です。ダメージ計算ツールを使えば、自分の育成したポケモン同士の確定数を、この記事と同じ計算式でそのまま調べられます。
ここからは、対戦の会話でもよく話題に出るのに、実は正確に説明できる人が少ないポイントを3つ、エンジンの実装をもとに整理します。
「やけどは、こんじょう(Guts)持ちにはただの弱点隠しにしかならない」
◯ 実際はこんじょうは状態異常の間、物理こうげき実数値そのものを1.5倍にする特性です。やけどによる物理ダメージ半減を無効化するのは、そのうちの一部の効果にすぎません。つまり「やけど+こんじょう」は弱点を隠す組み合わせではなく、状態異常の中でも一番相性が良い組み合わせです。
| 状態 | 攻撃実数値 | ダメージ(16通り) |
|---|---|---|
| 通常時 | 178 | 45〜53 |
| やけど(こんじょうなし) | 178 | 22〜26 (物理0.5倍) |
| やけど + こんじょう | 267 | 66〜78 (半減を無効化+1.5倍) |
当サイトのエンジンでも、こんじょうの「1.5倍ブースト本体」は2026-07-19に実装した機能です(Bulbapedia「Guts (Ability)」裏取り済み)。それまではやけど半減の無効化しか実装しておらず、本来の火力ブーストが丸ごと欠けていました。特性ひとつでも、細部まで実装されているかどうかで結果が大きく変わる例です。
「いかくを無効化できるのは『どんかん』だけ」
◯ 実際はいかくは技ではなく「相手からの能力ランク低下」の一種として処理されるため、ランク低下を防ぐ特性・道具はすべていかくにも効きます。当サイトのエンジンで実装している範囲だけでも、これだけの種類があります。
まけんき・かちきは「いかくが効かない」のではなく「いかくを受けると得をする」特性です。無効化系と混同すると、実際の対面で誤った読みをしてしまいます。
「急所は当たれば必ずダメージ1.5倍」「急所率はどの技でも1/16くらい」
◯ 実際は急所の発生確率はランク制で、技やアイテムでランクを上げるほど上がります。倍率も一律1.5倍ではなく、スナイパー(Sniper)持ちは2.25倍になります。
| 急所ランク | 発生確率 | 主な要因 |
|---|---|---|
| 0 | 1/24 | 通常時 |
| 1 | 1/8 | きあいだめ・ピントレンズ・高急所技(つじぎり等) |
| 2 | 1/2 | 上記の組み合わせ |
| 3以上 | 確定 | 複数条件の重複 |
| 条件 | ダメージ(16通り) |
|---|---|
| 急所なし | 132〜156 |
| 通常急所(1.5倍) | 198〜234 |
| スナイパー急所(2.25倍) | 296〜350 |
この記事の計算はすべて、当サイトのバトルエンジン(real_battle_simulator.htmlのcalcDamage関数)を Node.js から直接呼び出して算出しています。表示上の数字と食い違いがあれば、育成条件(努力ポイント・性格・持ち物・特性)の違いが原因です。ダメージ計算の細部をもっと自由に試したい方はダメージ計算ツール、素早さの実数値ラインは素早さ調整の考え方もあわせてどうぞ。