Bloodborneダメージ計算式について
複数のエネミーへのダメージを大量に記録し、当たりをつけ、推測した計算式です。確証はありません。
Ver1.09にて計算式の見直しを行い、より誤差が小さい計算式に変更しました。
以前の計算式を作成したVer1.04からアップデートによる変化は無いと思われます。
DARKSOULS3も同様の計算式です。
- ダメージ計算式(複数の属性を持つ攻撃であれば属性ごとにダメージを計算し、その合計が実際のダメージになる。)
(ダメージ)=(武器の攻撃力)×(モーション値)×(貫通率)×(カット率などの補正)
ただし、血晶石の「○○の攻撃力を加算する(+X)」によって加算された攻撃力Xにはモーション値を掛けない。
エンチャントによって「加算」された攻撃力にもモーション値を掛けない。
- 貫通率の仕組み
防御力に対して攻撃力が低いと貫通率も低くなり、攻撃力が高いと貫通率も高くなる。
複数属性(物理+神秘など)の武器と単一属性(物理のみなど)の武器を比べると、合計攻撃力が同じでも複数属性の方が(低い攻撃力の集合であるため)貫通率で劣り、ダメージが低くなる。
防御力は貫通率にのみ影響する。防御力を変化させても貫通率が変化しなければダメージも変化しない。
カット率などは貫通率に影響せず、直接的にダメージを変化させる。例としてカット率が10であれば単純にダメージを10%軽減(ダメージを0.9倍に)する。血晶石の中では「隙をつく攻撃」「対眷属」「対獣」が同様の処理。
攻撃力は貫通率に影響しつつ、ダメージに倍率をかける。そのため、低い攻撃力は2重にダメージを低下させ、高い攻撃力は2重にダメージを上昇させる。
- 貫通率の節目
「(武器の攻撃力)×(モーション値)」をA、防御力をDとする。
貫通率はAとDの比によって決まる。
「A/D ≦ 0.125」のとき:10%(ダメージも攻撃力も低くなりすぎるため最も曖昧な箇所)
「A/D = 1.0 」のとき:40%
「A/D = 2.5 」のとき:70%
「A/D ≧ 8.0 」のとき:90%
溜め攻撃などの強い攻撃は様々な敵に対して同じダメージが出やすい。これは、敵の防御力が「Aの8分の1以下の範囲」で変化しても貫通率が上限である90%から変化しないため。
- 貫通率の計算式
「0.125 < A/D < 1.0 」のとき:「1920/49×(A/D-0.125)^2+10」%
「 1.0 < A/D < 2.5 」のとき:「-40/3×(A/D-2.5)^2+70」%
「 2.5 < A/D < 8.0 」のとき:「-80/121×(A/D-8.0)^2+90」%
↓Excelで「B2に(A/D)を入れると貫通率(%)を計算する」式。
=IF(B2=0,,IF(B2<0.125,10,IF(B2>8,90,IF(B2<1,1920/49*(B2-0.125)^2+10,IF(B2<2.5,-40/3*(B2-2.5)^2+70,-80/121*(B2-8)^2+90)))))
- 一部のエネミーは特定属性のダメージに1.5倍などの補正が掛かる(聖杯で雑魚敵がボスとして出現した場合はこの補正が掛からない?。未検証)。
ダメージ記録は攻撃力が低いため貫通率の変化が緩やかな70%以上にまとまらない上に、この補正の影響もあって実際の戦闘よりも属性間のダメージ差が大きくなっている。
Bloodborneモーション値検証方法
- 属性が1つのみの武器(ノコギリ鉈など)。
貫通率が90%になるように、防御力の低い敵を高い攻撃力の武器で攻撃したときの、ダメージと武器の攻撃力を使って計算する。
(モーション値)=(ダメージ)/(武器の攻撃力)/0.9
DARKSOULS3は十分に防御力の低いエネミーが存在しないため、同様の手段で検証は困難。
- 属性が2つの武器(ムーンライトソードなど)。
貫通率が90%になるように、防御力の低い敵を高い物理攻撃力の武器で攻撃したときと、
獣化などでさらに物理攻撃力を高めて攻撃したときとの、ダメージの差と物理攻撃力の差を使って計算する。
(モーション値)=(ダメージの差)/(物理攻撃力の差)/0.9
DARKSOULS3は十分に防御力の低いエネミーが存在しないため、同様の手段で検証は困難。
- モーション値が判明している武器のダメージと比較する。
- ダメージ計算式を利用する。ダメージは「武器の攻撃力、モーション値、防御力、カット率」があれば計算できる。
そのため、モーション値以外に実際の数値を入力、モーション値に手当たりしだい数値を入力することで実際のダメージが計算通りになるモーション値を探すことが可能。
「モーション値0.01での計算ダメージ、モーション値0.02での計算ダメージ、モーション値0.03での・・・」と並べれば、実際のダメージと比較するのは容易。
- ダメージ計算式から3次方程式を作成し、解の公式を利用する。以下の手段では属性が1つの武器でのみ可能。
Excelによる調和解析の「Excelを用いたカルダノの方法による3次方程式の解法 Ver 1.0」に以下のように入力する場合。
○F3=武器の攻撃力
○G3=攻撃対象のダメージ倍率(%)
○H3=攻撃対象の防御力
○F5=ダメージ
○B3=IF((F5/G$3*100)/H$3<0.4,1920/49,IF((F5/G$3*100)/H$3<1.75,-40/3,-80/121))/H$3^2
○B4=-IF((F5/G$3*100)/H$3<0.4,1920/49,IF((F5/G$3*100)/H$3<1.75,-40/3,-80/121))*IF((F5/G$3*100)/H$3<0.4,0.125,IF((F5/G$3*100)/H$3<1.75,2.5,8))*2/H$3
○B5=IF((F5/G$3*100)/H$3<0.4,1920/49,IF((F5/G$3*100)/H$3<1.75,-40/3,-80/121))*IF((F5/G$3*100)/H$3<0.4,0.125,IF((F5/G$3*100)/H$3<1.75,2.5,8))^2+IF((F5/G$3*100)/H$3<0.4,10,IF((F5/G$3*100)/H$3<1.75,70,90))
○B6=-(F5/G$3*100)*100
○G5=IF($H$3=0,(F5/G$3*100)/0.9,IF((F5/G$3*100)/$H$3>=7.2,(F5/G$3*100)/0.9,IF((F5/G$3*100)/$H$3<=0.0125,(F5/G$3*100)/0.1,IF((F5/G$3*100)/$H$3<0.4,B9,B11))))
○H5=G5/F$3*100
モーション値を100倍した値がH5に算出される。G5には武器の攻撃力にモーション値を掛けた値が算出される。
同様の手段で属性が2つの武器も検証可能だが、複雑な上に整理してもセルを大量に使う。属性が2つ以上の場合はひとつ上の方法による検証を推奨。
- ただし、これらの方法のみでは「武器の攻撃力が表示通りである」という前提でのモーション値しか計算できないため、
表示攻撃力と実際の攻撃力の違いに関してはまた別に検証する必要がある。