Combat Mechanics

被ダメージの処理順

シールドブロック、耐性、装甲、ダメージ吸収が、着弾後にどの順番で適用されるかを解説します。

通常解説

命中が確定した攻撃では、シールドブロックが耐性より前に処理されます。続いて種族別の軽減、耐性、物理ダメージなら装甲が適用され、最後に割合ダメージ吸収と固定ダメージ吸収が処理されます。

ディープ解説

以下は1.3.0.6の防御処理順です。ファンブル・回避・発射体偏向・OA/DA判定はダメージが発生する前の判定です。以降の段階は、命中した攻撃のダメージ成分ごとに処理されます。

命中判定から防御処理までの順序

  1. ファンブル・回避・発射体偏向 — 攻撃が当たらなければ、後続のダメージ計算は行われません。
  2. OA と DA の命中判定 — 命中・ミス・クリティカルを決定します。
  3. シールドブロック — 盾が使用可能で近接または発射体攻撃なら、ブロック判定とブロック量を適用します。
  4. 種族別の割合ダメージ軽減 — 対象となる種族への割合軽減を適用します。
  5. 耐性 — ダメージ種別ごとの耐性を適用します。
  6. 装甲 — 物理ダメージにだけ、被弾部位の装甲と装甲吸収率を適用します。
  7. 種族別の固定ダメージ軽減 — 対象となる種族への固定軽減を適用します。
  8. 割合ダメージ吸収 — 有効な吸収ソースごとに順番に適用します。
  9. 固定ダメージ吸収 — 同じ吸収ソース内では割合吸収の後に適用します。

主要な計算式

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)。この計算例は、記載した条件を式へ代入した結果です。

要約

要点: 防御値を比較するときは、値の大きさだけでなく処理順を見る必要があります。シールドブロックは先にダメージを減らし、割合ダメージ吸収と固定ダメージ吸収は最後に残ったダメージへ適用されます。