Combat Mechanics
被ダメージの処理順
シールドブロック、耐性、装甲、ダメージ吸収が、着弾後にどの順番で適用されるかを解説します。
通常解説
命中が確定した攻撃では、シールドブロックが耐性より前に処理されます。続いて種族別の軽減、耐性、物理ダメージなら装甲が適用され、最後に割合ダメージ吸収と固定ダメージ吸収が処理されます。
ディープ解説
以下は1.3.0.6の防御処理順です。ファンブル・回避・発射体偏向・OA/DA判定はダメージが発生する前の判定です。以降の段階は、命中した攻撃のダメージ成分ごとに処理されます。
命中判定から防御処理までの順序
- ファンブル・回避・発射体偏向 — 攻撃が当たらなければ、後続のダメージ計算は行われません。
- OA と DA の命中判定 — 命中・ミス・クリティカルを決定します。
- シールドブロック — 盾が使用可能で近接または発射体攻撃なら、ブロック判定とブロック量を適用します。
- 種族別の割合ダメージ軽減 — 対象となる種族への割合軽減を適用します。
- 耐性 — ダメージ種別ごとの耐性を適用します。
- 装甲 — 物理ダメージにだけ、被弾部位の装甲と装甲吸収率を適用します。
- 種族別の固定ダメージ軽減 — 対象となる種族への固定軽減を適用します。
- 割合ダメージ吸収 — 有効な吸収ソースごとに順番に適用します。
- 固定ダメージ吸収 — 同じ吸収ソース内では割合吸収の後に適用します。
主要な計算式
shieldChance は盾のブロック率、blockModifier は防御側補正、blockAmount は盾のブロック量、blockAbsorption はブロック吸収率です。割合・固定ダメージ吸収は各SkillBuffのソースごとに、割合を先に適用します。
ブロック率 = clamp(shieldChance + blockModifier, 0, 100)
ブロック量 = shieldBlock × (1 + blockAmountModifier / 100)
ブロック成功時の残り = damage − min(damage, blockAmount) × blockAbsorption / 100
通常のダメージ吸収後 = max(0, damage × (1 − percentAbsorption / 100) − flatAbsorption)
計算例
物理ダメージ200が命中し、ブロックが成功(ブロック量50・ブロック吸収率100%)、物理耐性20%、装甲100・装甲吸収率70%、割合ダメージ吸収20%、固定ダメージ吸収15とします。種族別軽減はなく、ここに記載しない段階は0です。
| 段階 | 計算 | 残るダメージ |
|---|---|---|
| シールドブロック |
200 − min(200, 50) × 1.00
|
150 |
| 物理耐性 |
150 × (1 − 0.20)
|
120 |
| 装甲 |
120 − min(120, 100) × 0.70
|
50 |
| 割合ダメージ吸収 |
50 × (1 − 0.20)
|
40 |
| 固定ダメージ吸収 |
max(0, 40 − 15)
|
25 |
解析元: buildCalc/mechanics/formulas.json(official Combat Guide、Game.dll 1.3.0.6、DBR 1.3.0.6 FoA)。この計算例は、記載した条件を式へ代入した結果です。
要約
要点: 防御値を比較するときは、値の大きさだけでなく処理順を見る必要があります。シールドブロックは先にダメージを減らし、割合ダメージ吸収と固定ダメージ吸収は最後に残ったダメージへ適用されます。