FF14 3.0からのダメージ計算式
ズレがかなり少ない式が出来たのでその説明用記事
今回は説明なのでちょっと日記風ですよ。
3.0用計算式の説明
2.X時代
まず2.Xの時の計算式は
=ROUNDDOWN((基本性能 * 0.26 +攻撃力*(基本性能*0.00366+0.0745)+4.95)*((意志力- 202)*0.0005+1)*職補正*(WS威力/ 100),0)
を使用していた。
この式、わりと精度は良かったが今思えば致命的なミスをしている。
※この時の精度とは2.5時代の物理職に限っての話です。
検証開始
3.0でLvが60になり係数が変化した為、従来の式では対応できなくなった。
そのため武器や攻撃力を変化させてダメージの上限と下限を調べる。
「詩人でデータ取るのに適したスキルはアイアンジョー(威力100で消費TP60)だぜぇ!」
調べていく過程で気づいた…
「あれ?これ攻撃力が倍になったらダメージもそのまま倍になってね?」
攻撃力が400のときダメージが250なら、攻撃力を800にするとダメージが500になるということ。
つまり2.Xの式は完全に的外れで、攻撃力に色々計算をつっこんでいたのは間違いだった。
「うわああああ、やらかしてるうう」
2.Xからそうだったの???なぜ気づかなかったんでしょうね…
とりあえず1回作った
そこで3.0用に作りなおしたのが
=ROUNDDOWN(基本性能*0.00435+0.109)*攻撃力*((意志力- 218)*0.000137+1)*職補正*(WS威力/ 100),0)
という式
以前よりシンプルだし武器性能が70あたりだと精度は高かった。
しかし詩人しかまともにデータが取れていなかったので、情報提供を依頼して他職のダメージを確認してもらったところ、ナイトなど攻撃力の倍率が低い職で、基本性能が低い武器での結果の誤差が大きかった。
※3.0用ダメージ計算の旧計算式バックアップ85行目あたり
データ確認にご協力頂いた皆様有難うございました。
特にRag Eclipticusさんありがとうございます。
式の不一致
「どうかんがえてもこれはおかしい、根本的に何かを間違えてるんじゃ?」
という結論に至ったので式を再構築する事に。
現行の式を意志力抜きにシンプルにすると
=(基本性能*0.00435+0.109)*攻撃力*職補正*WS威力
になる。
例えば
基本性能が10の時は攻撃力1当たり0.1525ダメージが増える。
基本性能が50の時は攻撃力1当たり0.3265ダメージが増える。
というのが現行式だったが、特定の職だけに対応するならこれで問題ない。
しかし他職で基本性能が大きく変化すると精度が落ちた。
「なら基本性能を均してしまえば良いのでは?」
と思ったので試してみる。
なんか上手く行った。
計算式は
=1あたりの伸び/(基本性能+なにか)
結果、ナイトの場合20.9で概ね合うということがわかった。
式の再構築
考え方が間違ってなさそうなので式に組み込み以下のような形で作りなおした。
=ROUNDDOWN((基本性能+職補正)*0.00458*攻撃力*((意志力- 218)*0.000137+1)*(WS威力/ 100),0)
確認した範囲では誤差2ほどで収まっているので良好。
ただ職補正の法則性がよくわかっていない。
以前の式だとナイトを1.000として戦・暗で1.015、モ・忍1.03、竜・詩で1.045という風な計算だった。
しかし今回出来た式だと
攻撃力倍率:職名:係数
100:ナイト:20.9
105:戦・暗:21.7
110:モ・忍:22.8
115:竜・詩:24.7
とよく解らない伸びになっている。
特に110と115の間が謎で間1つ飛ばしてるような…
また剣術や魔法職の係数が測定出来ていない為不確定。
おわりに
3.0から新たに追加された要素か解らないし謎は多いが、2.X代に使ってた式は一体なんだったんだろう?と思うほど式が書き換わった。
まあ計算できていれば変更することがないような式なので仕方ない気はする。
「とまあこれでDEX換算つくれるよね!」
以上
15/08/14 初稿