ページ

2013年2月13日水曜日

竜撃弾の再検証と計算式の抜本的な見直し

※ [ ] は全て少数切り捨て記号とします。

・距離補正のある弾種
[武器攻撃力*弾物理値/100*距離補正] *武器補正 *弾肉質/100 = 物理威力
[[物理威力] *全体防御率] = ダメージ

・距離補正の無い弾種
武器攻撃力*弾物理値/100 *武器補正 *弾肉質/100  = 物理威力
武器攻撃力*弾属性値/100      *属性肉質/100 = 属性威力
[[物理威力+属性威力] *全体防御率] = ダメージ

・竜撃弾
武器攻撃力*25/100 *武器補正 *弾肉質/100  = 物理威力
      35        *属性肉質/100 = 属性威力
[[物理威力+属性威力] *全体防御率] = ダメージ

前回、属性計算の少数切り捨て箇所を変えたので、竜撃弾の威力検証が間違っていた可能性があると書きましたが、案の定間違えていました。

というより誤差が消えないので、全体防御率よりも前の計算式全体を見直しました。
暫定で前掲の式が一番 近似値が出ます(まだ誤差は有ります)。

武器補正を後に回し、距離補正のある弾種(通常・貫通弾)は距離補正後に少数切り捨てを入れたほうが一致しますが、距離補正の無い弾種(属性・竜撃・水中弾)などは物理威力計算中に切り捨てが無い方が一致します。

つまり、距離補正後の切り捨ては距離補正計算に伴って発生する処理ではないか、というのが現在の予想です。距離補正のある弾種で1.0倍の場合は切り捨てが入ります。


また、ずっと前に某所で、竜撃弾の威力は

 (物理25/火15)*2hit

というデータを投下してしまいましたが、当時検証に使っていた(というより他のヘビィを持っていなかったので)ギャラクシーキャノン(武器攻撃力230)を使用していたため、

火属性ダメージ 35前後 → 35/(230/100) ≒ 15

という逆算で出した値でした。

しかし竜撃弾はそもそも属性弾と違い武器攻撃力が属性値に乗りませんでした。(多分)拡散や徹甲榴弾、または近接と同じで、固定の属性値*敵の火肉質によって算出されていました。

・属性弾の属性威力
武器攻撃力 *弾属性値/100 *属性肉質/100

・竜撃弾の属性威力
35 *属性肉質/100

武器攻撃力の異なるいくつかのヘビィで試した結果、計算が一致しない事で判明しました。
※姫撃(200)、ギャラクシー(230)、八重桜(270)、悪鬼(300)で火15で属性弾として計算した場合と、火35固定で計算した場合を比較。

近接で言うと、装備欄に「火350」と表示されている武器と同じ威力の属性値です。ただし竜撃弾の火属性ダメージは属性強化等で上がりません。

結果、以下のようになります。

(物理25/火35(固定) )*2hit

つまり、triにおけるLv3竜撃弾と同じ値です。※triと違い物理が肉質依存な点が異なる


これまでの計算式とそれに基づく検算

武器攻撃力/100*武器補正*弾物理値*距離補正*弾肉質/100  = 物理威力
武器攻撃力/100     *弾属性値     *属性肉質/100 = 属性威力
[[物理威力+属性威力]*全体防御率/100] = ダメージ

NB=バレルなし、[LB]=[ロングバレル*武器補正]、LB=ロングバレル*武器補正

バレル*武器補正とした時、280or290のライトボウガンで切り捨ての有無によって表示攻撃力がずれます。武器攻撃力と合算前に切り捨てした値がゲーム内の表示攻撃力と一致します。

[武器攻撃力*武器補正 + [[武器攻撃力/15]*武器補正]] // 装備欄の表示攻撃力と一致
[武器攻撃力*武器補正 +  武器攻撃力/15 *武器補正 ] // 不一致

ただ、内部計算においても切り捨ているのか不明なため、両方検算しています。



変更後の式の参考(※必要な部分だけ抜粋しています)

MHP2Gガンナーダメージ計算機

[[武器攻撃力*弾物理値/100]*距離補正]*武器補正 = 物理威力
[物理威力*物理肉質/100] = 物理ダメージ

武器攻撃力*弾属性値/100 = 属性威力
[属性威力*属性肉質/100] = 属性ダメージ

[物理ダメージ*全体防御率/100]+[属性ダメージ*全体防御率/100] = 最終ダメージ

切り捨て箇所を若干変更して、最初に提示した式になっています。


変更後の検算(距離補正あり弾)

ロングバレルのクロスボウ改で0.8倍の距離から攻撃した場合のダメージが一致していません。それ以外は、距離補正後に少数切り捨ての列が一番一致率が高いです。


変更後の検算(距離補正なし弾)

a/b/cは前回の全体防御率の計算パターンです。

物理威力計算中の切り捨てなし、かつbパターン([物理+属性]*全体防御率)が一致率が一番高くなっています。