今回はダメージの計算式について書いていこうと思います。式は私は作ったのではなく海外のプレイヤーが作った資料を参考にしています。
今回参考にした資料はこちら
もくじ -Contents-
ダメージの計算式
D1 = ⌊ Potency × f(ATK) × f(DET) ⌋ /100 ⌋ /1000 ⌋
D2 = ⌊ D1 × f(TNC) ⌋ /1000 ⌋ × f(WD) ⌋ /100 ⌋ × Trait ⌋ /100 ⌋
D3 = ⌊ D2 × f(CRIT?) ⌋ /1000 ⌋ × f(DH?) ⌋ /100 ⌋
D = ⌊ D3 × rand[95,105] ⌋ /100 ⌋ × buff_1 ⌋ × buff_2 ⌋
これだけ見たら意味不明だと思います。私も意味不明でした。簡単にするとこんな式になります。
D1 = ⌊ スキル威力倍率 × f(物理攻撃力 or 攻撃魔法威力) × f(意志力) ⌋ /100 ⌋ /1000 ⌋
D2 = ⌊ D1 × f(不屈) ⌋ /1000 ⌋ × f(基本物理性能 or 基本魔法性能) ⌋ /100 ⌋ × Trait ⌋ /100 ⌋
D3 = ⌊ D2 ( f(クリティカル倍率) × f(クリティカル発生率) /100000 + ( 1 – f(クリティカル発生率) /100 )) ⌋ × ( f(ダイレクトヒット倍率) × f(ダイレクトヒット発生率) /100000 + ( 1 – f(ダイレクトヒット発生率) /100 )) ⌋
D = ⌊ D3 × ブレ幅[95%,105%] ⌋ /100 ⌋ × バフ1 ⌋ × バフ2 ⌋

ステータスは画像の数値を使って計算します。
またLevel Lv, MAINやLevel Lv, DIV、Level Lv, SUB、Job Attributeといった変数を入れる値があることがありますがLv90であれば
Level Lv, MAIN=390
Level Lv, SUB=400
Level Lv, DIV=1900
Job Job, Attribute=115 ※ただしJob Job, Attributeの115は白魔道士、占星術師、学者、賢者のみに適応する。詳しくはhttps://www.akhmorning.com/allagan-studies/modifiers/をご覧ください。
を代入します。これはALLAGAN STUDIESのLEVEL MODIFIERSの表から取ってます。
D1の式を紐解く
Potency スキル威力倍率
D1にあるPotency、これはアクションの威力のことです。フォールマレフィクであれば250です。
f(ATK) 攻撃魔法威力
f(ATK)はAttackの略でAP(Attack Power=物理攻撃力)かMAP(Magic Attack Power=攻撃魔法威力)を代入します。式は…
f(ATK) = ⌊ 195 × ( ATK – Level Lv, MAIN ) / Level Lv, MAIN ⌋ + 100
f(ATK) = ⌊ 195 × ( AP or MAP – 390 ) / 390 ⌋ + 100
今回はMND2940=攻撃魔法威力2940で計算します。
f(ATK) = ⌊ 195 × ( 2940 – 390 ) / 390 ⌋ + 100
f(ATK) = ⌊ 195 × 2550 / 390 ⌋ + 100
f(ATK) = ⌊ 497250 / 390 ⌋ + 100
f(ATK) = ⌊ 1275 ⌋ + 100
f(ATK) = 1275 + 100
f(ATK) = 1375.00
f(DET) 意思力
f(DET)はDeterminationの略で意思力の関数です。式は…
f(DET) = ⌊ 140 × ( DET – Level Lv, MAIN )/ Level Lv, DIV + 1000 ⌋
f(DET) = ⌊ 140 × ( 意思力 – 390 )/ 1900 + 1000 ⌋
今回は意思力1788を入れて計算します。
f(DET) = ⌊ 140 × ( 1788 – 390 ) / 1900 + 1000 ⌋
f(DET) = ⌊ 140 × 1398 / 1900 + 1000 ⌋
f(DET) = ⌊ 195720 / 1900 + 1000 ⌋
f(DET) = ⌊ 103.01… + 1000 ⌋
f(DET) = ⌊ 1103.01… ⌋
f(DET) = 1103.00
D2の式を紐解く
f(TNC) 不屈
不屈のサブステータスで、タンクだけに影響する数値になります。式は…
f(TNC) = ⌊ 110 × ( TNC – Level Lv, SUB )/ Level Lv, DIV + 1000 ⌋
f(TNC) = ⌊ 110 × ( 不屈 – 400 ) / 1900 + 1000 ⌋
今回は不屈400を入れて計算します。
f(TNC) = ⌊ 110 × ( 400 – 400 ) / 1900 + 1000 ⌋
f(TNC) = ⌊ 110 × 0 / 1900 + 1000 ⌋
f(TNC) = ⌊ 0 / 1900 + 1000 ⌋
f(TNC) = ⌊ 0 + 1000 ⌋
f(TNC) = 1000.00
f(WD) 武器基本性能
f(WD)はWeapon Damageの略で基本武器性能のことです。式は…
f(WD) = ⌊ ( Level Lv, MAIN × Job Job, Attribute / 1000 ) + WD ⌋
f(WD) = ⌊ ( 390 × 115 / 1000 ) + 基本物理性能 or 基本魔法性能 ⌋
今回は基本魔法性能126を入れて計算します。
f(WD) = ⌊ ( 390 × 115 / 1000 ) + 126 ⌋
f(WD) = ⌊ ( 44850 / 1000 ) + 126 ⌋
f(WD) = ⌊ 44.85 + 126 ⌋
f(WD) = ⌊ 44.85 + 126 ⌋
f(WD) = ⌊ 170.85 ⌋
f(WD) = 170.00
Trait 特性
よく忘れがちなLv40で覚えるアレです。

アクションダメージ・回復量アップIIのことで単純に1.3を乗算します。
ただしこの数値がヒーラーのみ有効になります。
D3の式を紐解く
この項目はクリティカルやダイレクトヒットが発生したときに使用する式です。
f(CRIT) クリティカル
クリティカルはダメージ倍率とクリティカル発生率をそれぞれ求める必要があります。まずはダメージ倍率から計算していきます。
f(CRIT) = ⌊ 200 × ( CRIT – Level Lv, SUB ) / Level Lv, DIV + 1400 ⌋
f(CRIT) = ⌊ 200 × ( CRIT – 400 ) / 1900 + 1400 ⌋
今回はクリティカル2257を入れて計算します。
f(CRIT) = ⌊ 200 × ( 2257 – 400 ) / 1900 + 1400 ⌋
f(CRIT) = ⌊ 200 × 1857 / 1900 + 1400 ⌋
f(CRIT) = ⌊ 371400 / 1900 + 1400 ⌋
f(CRIT) = ⌊ 195.47… + 1400 ⌋
f(CRIT) = ⌊ 1595.47… ⌋
f(CRIT) = 1595.00
確率の計算式は…
f(CRITr) = ⌊ 200 ×( CRIT – Level Lv, SUB ) / Level Lv, DIV + 50 ⌋ / 10
f(CRITr) = ⌊ 200 ×( CRIT – 400 ) / 1900 + 50 ⌋ / 10
クリティカルの数値を入れます。
f(CRITr) = ⌊ 200 ×( 2257 – 400 ) / 1900 + 50 ⌋ / 10
f(CRITr) = ⌊ 200 ×1857 / 1900 + 50 ⌋ / 10
f(CRITr) = ⌊ 371400 / 1900 + 50 ⌋ / 10
f(CRITr) = ⌊ 195.47… + 50 ⌋ / 10
f(CRITr) = ⌊ 245.47… ⌋ / 10
f(CRITr) = 245.00 / 10
f(CRITr) = 24.50
クリティカル倍率が159.5%でその発生率は24.5%であることが分かりました。
f(DH)ダイレクトヒット
ダイレクトヒットのダメージ倍率は125.0%固定ですが、確率を計算する必要があります。
f(DHr) = ⌊ 550 × ( DH – Level Lv, SUB ) / Level Lv, DIV ⌋ / 10
f(DHr) = ⌊ 550 × ( DH – 400 ) / 1900 ⌋ / 10
今回はダイレクトヒット544を入れて計算します。
f(DHr) = ⌊ 550 × ( 544 – 400 ) / 1900 ⌋ / 10
f(DHr) = ⌊ 550 × 144 / 1900 ⌋ / 10
f(DHr) = ⌊ 79200 / 1900 ⌋ / 10
f(DHr) = ⌊ 41.68… ⌋ / 10
f(DHr) = 41.00 / 10
f(DHr) = 4.10
発生率は4.1%であることが分かりました。
それぞれの計算結果を式に代入して計算する
最初に紹介した
D1 = ⌊ Potency × f(ATK) × f(DET) ⌋ /100 ⌋ /1000 ⌋
D2 = ⌊ D1 × f(TNC) ⌋ /1000 ⌋ × f(WD) ⌋ /100 ⌋ × Trait ⌋ /100 ⌋
D3 = ⌊ D2 × f(CRIT) ⌋ /1000 ⌋ × f(DH) ⌋ /100 ⌋
D = ⌊ D3 × rand[95,105] ⌋ /100 ⌋ × buff_1 ⌋ × buff_2 ⌋
に計算した数値を入れていきます。今回は試行回数を多くチェックしやすいフォールマレフィクで計算していきます。
D1 = ⌊ Potency × f(ATK) × f(DET) ⌋ /100 ⌋ /1000 ⌋
D1 = ⌊ 250 × 1375 × 1103 ⌋ /100 ⌋ /1000 ⌋
D1 = ⌊ 379156250 ⌋ /100 ⌋ /1000 ⌋
D1 = ⌊ 3791562.50 ⌋ /1000 ⌋
D1 = ⌊ 3791.562 ⌋
D1 = 3791.00
D2 = ⌊ D1 × f(TNC) ⌋ /1000 ⌋ × f(WD) ⌋ /100 ⌋ × Trait ⌋ /100 ⌋
D2 = ⌊ 3791 × 1000 ⌋ /1000 ⌋ × 170 ⌋ /100 ⌋ × 130 ⌋ /100 ⌋
D2 = ⌊ 3791000 /1000 ⌋ × 170 ⌋ /100 ⌋ × 130 ⌋ /100 ⌋
D2 = ⌊ 3791 × 170 ⌋ /100 ⌋ × 130 ⌋ /100 ⌋
D2 = ⌊ 644470 ⌋ /100 ⌋ × 130 ⌋ /100 ⌋
D2 = ⌊ 6444.70 ⌋ × 130 ⌋ /100 ⌋
D2 = ⌊ 6444.00 × 130 ⌋ /100 ⌋
D2 = ⌊ 837720 ⌋ /100 ⌋
D2 = ⌊ 8377.20 ⌋
D2 = 8377.00
クリティカルやダイレクトヒットを考慮しないダメージは8377±5%だということが分かりました。
D3 = ⌊ D2 × f(CRIT?) ⌋ /1000 ⌋ × f(DH?) ⌋ /100 ⌋
D3 = ⌊ 8377 ( 1595 × 24.5 /100000 + ( 1 – 24.5 /100 )) ⌋ × ( 1250 × 4.1 /100000 + ( 1 – 4.1 /100 )) ⌋
D3 = ⌊ 8377 ( 39077.5 /100000 + ( 1 – 24.5 /100 )) ⌋ × ( 1250 × 4.1 /100000 + ( 1 – 4.1 /100 )) ⌋
D3 = ⌊ 8377 ( 0.390775 + ( 1 – 24.5 /100 )) ⌋ × ( 1250 × 4.1 /100000 + ( 1 – 4.1 /100 )) ⌋
D3 = ⌊ 8377 ( 0.390775 + 0.755 ) ⌋ × ( 1250 × 4.1 /100000 + ( 1 – 4.1 /100 )) ⌋
D3 = ⌊ 8377 × 1.145775 ⌋ × ( 1250 × 4.1 /100000 + ( 1 – 4.1 /100 )) ⌋
D3 = ⌊ 9598.15… ⌋ × ( 1250 × 4.1 /100000 + ( 1 – 4.1 /100 )) ⌋
D3 = ⌊ 9598.00 × ( 1250 × 4.1 /100000 + ( 1 – 4.1 /100 )) ⌋
D3 = ⌊ 9598.00 × ( 0.05125 + ( 1 – 4.1 /100 )) ⌋
D3 = ⌊ 9598.00 × ( 0.05125 + 0.959 ) ⌋
D3 = ⌊ 9598.00 × 1.01025 ⌋
D3 = ⌊ 9696.37… ⌋
D3 = 9696.00
クリティカルやダイレクトヒットを考慮した、期待値を含めたダメージは9696±5%だということが分かりました。
あとはディヴィネーションなど、与ダメージが上昇するバフなどを乗算します。仮にディヴィネーションとカードの効果を代入して計算すると…
D = ⌊ 9696 × 1.06 × 1.06 ⌋
D = ⌊ 10894.42… ⌋
D = 10894.00
よって10894±5%であることが分かりました。期待値を考慮しないダメージは9412±5%になります。
継続ダメージの計算式
継続ダメージはスペルスピードもしくはスキルスピードの期待値が乗算されます。式は…
D2 = ⌊ D1 × f(TNC) ⌋ /1000 ⌋ × f(SPD) ⌋ /1000 ⌋ × f(WD) ⌋ /100 ⌋ × Trait ⌋ /100 ⌋
となります。f(SPD)の式は
f(SPD) = ⌊ 130 × ( SS – Level Lv, SUB ) / Level Lv, DIV + 1000 ⌋
f(SPD) = ⌊ 130 × ( SS – 400 ) / 1900 + 1000 ⌋
です。今回はスペルスピード1235を入れて計算します。
f(SPD) = ⌊ 130 × ( 1235 – 400 ) / 1900 + 1000 ⌋
f(SPD) = ⌊ 130 × 835 / 1900 + 1000 ⌋
f(SPD) = ⌊ 108550 / 1900 + 1000 ⌋
f(SPD) = ⌊ 57.13… + 1000 ⌋
f(SPD) = ⌊ 1057.13 ⌋
f(SPD) = 1057.00
この数値を先ほど紹介した通りに数値を代入してTick数を乗算すればダメージを計算することができます。


こういった計算はExcelやスプレッドシートに起こしてから計算したほうが数値を変えるとき凄い楽になるよ!
記事は以上になります。閲読ありがとうございました。
注意事項
今回紹介した計算式ですが、占星術師のアーサリースターだけ特殊な計算を行います。ですのでダメージが若干合いません。正直誤差レベルなので今回は省かせていただきました。
式を囲っている⌊ ⌋はガウス記号(床関数)と言い、ある実数を超えない最大の整数を表す記号です。
今回は数値を切り捨てて整数にしていると頭に入れておけば大丈夫です。
Excelやスプレットシートの関数だとINT関数を使います。