今更な攻防比と攻防関数

 攻防比から攻防関数を求める式は、公式には発表されておらず、色々な方がデータをとって、推測しています。ログから日記様BGWIKI様DPS Calcurator様が有名どころかと思います。DPS Calculatorの式は、洗練されていて、内容を理解しにくかったため、これまでは、ログから日記様の計算式をシートの欄外に放り込んで使用していました。

 最近、攻防関数がキャップしてない状態でのダメージを、きちんと計算したくなったので、それぞれが使用している計算式を、見やすい形にまとめてみました。Rは、攻防比です。


攻防関数上限

ログから日記R=0R*1.141+0.430 R≒0.500常に1 R≒0.749R*1.141+0.145 同左同左R≒1.631R+0.375
BGWIKIR=0R+0.5R=0.5常に1 R=0.7
R+0.3R=1.2 R*1.25
R=1.5 R+0.375
DPSR=0 R*1365/1024+358/1024R≒0.488常に1R=0.75R+0.25R=1R*1.25 R=1.5R+0.375


攻防関数下限

ログから日記R=0常に0R≒0.373R*1.141-0.426R≒1.250常に1 R≒1.500R*1.141-0.711R≒2.383R-0.375
BGWIKIR=0常に0R≒0.381R*1176/1024-448/1024R≒1.252常に1R≒1.510R*1176/1024-755/1024
R≒2.441R-0.375
DPSR=0常に0R≒0.381R*1176/1024-448/1024R≒1.252常に1R≒1.510R*1176/1024-752/1024 R≒2.421R-0.375


 どの計算式も、攻防比(R)が変化するに従って、攻防関数の計算式も変化していきます。黄色で記載したのは、計算式が変化する境界点です。正しい式であれば、計算式の両端の境界点で、キリの良い数字になりそうなものですが、BGWIKIの攻防関数上限の式を除いて、全ての点において、キリの良い数字になる計算式はありませんでした。「≒」を使用しているところは、計算式が変化する点において、キリの良い数字にならない部分です。1024分率での計算は、一見、理にかなっていそうですが、Rの係数と切片を、整数/1024で探しても、両端ともうまくつながる数字は発見できませんでした。

 どの計算式を使用しても、そこまで大きな差は出なさそうですが、low capとhigh capという現象(あまり深く理解はしていません)を計算しようとすると、DPS Calculatorの式を生かしておいたほうが良いため、修正を加えることにします。

 戦士のシートを例にとると、まず欄外に、「攻防関数上限」を記載します。手計算した数字を書き込んでもよいですが、せっかくなので、武器種を読み込んで攻防関数を決定し、サポートジョブを読み込んでダメージ上限アップ(256分率)を加算し、アリアと装備の物理ダメージ上限アップの合計を乗算するようにしています。物理ダメージ上限アップについては、Gearタブと、Gear Listsタブに、「PDL(physical damage limit)」というパラメータを追加して対応しました。以下、戦士のDPS Calculatorを例にとります。

訂正前訂正後
DataタブのB74の、cRatioは、
=MAX(MIN(B72/$O$3, 2.25)-$O$4, 0)
=MAX(B72/$O$3-$O$4, 0)
にして、上限を外す。
DataタブのB80の、Cap Minは、
=MAX(MAX(B77,B78), 0)
=MIN(MAX(MAX(B77,B78), 0), 攻防関数上限)
にして、上限を設ける。
DataタブのB84の、Cap Maxは、
=MIN(MAX(B81,B82), 3)
=MIN(MAX(B81,B82), 攻防関数上限)
にして、上限を3から変更する。
DataタブのB88の、High Cap %は、
=IF(B83>3, 1-(B86/B85), 0)
=IF(B83>攻防関数上限, 1-(B86/B85), 0)
にして、上限を3から変更する。
DataタブのB90の、Avg non-crit pDifは、
=((0 * B87) + (3 * B88) + (1 * B89) + (1 - B87 - B88 - B89) * ((B84 + B80) / 2)) * 1.02
=((0 * B87) + (攻防関数上限 * B88) + (1 * B89) + (1 - B87 - B88 - B89) * ((B84 + B80) / 2)) * 1.025
にして、上限を3から変更し、係数をランダム振れ幅5%の半分である2.5%にする。

pDif(crit)についても、同様に処理しますが、Avg non-crit pDifのところに、(攻防関数上限+1)を入れるようにしてください。


訂正前訂正後
DataタブのB92の、wRatioは、
=B74+1
=B74
にして、攻防比ボーナスを消す。
DataタブのB106の、Avg non-crit pDifは、
=((0 * B103) + (3 * B104) + (1 * B105) + (1 - B103 - B104 - B105) * ((B100 + B96) / 2)) * 1.02
=((0 * B103) + (攻防関数上限 * B104) + (1 * B105) + (1 - B103 - B104 - B105) * ((B100 + B96) / 2)+1) * 1.025
にして、上限を3から変更し、係数をランダム振れ幅5%の半分である2.5%にする。攻防関数に1を加える。

サブウェポンについても同様に処理します。幸いなことに、これまで書いた記事のほとんどで、攻防関数がキャップしていたため、数値に変化は生じませんでした。


コメント

このブログの人気の投稿

ウィザードロッド(強化後)の評価

プライムウェポンDPSのまとめ

スファライの可能性

ボナンザ武器

23周年おめでとうございます。

侍の属性物理ウェポンスキル

慟哭第4段階の完成と忍者の属性物理ウェポンスキル

エンピ耳の速報

ソーティのマジックバースト装備

オデシー装備のオーグメント枠追加