対人ダメ値計算の仮説

これまでの実験から、対人戦のダメ値の計算式について、ある仮説が立てられる。

簡単な状況の設定

仮説を簡潔にするために、一旦、次のような状況に限定する。

  • 職業技能は一切使わない
  • 固定値ダメ減は一切つけない
  • 最終ダメは付けない
  • 非グロダメを考える
  • (チェインでなく)アクティブスキルを使う

ダメ値計算の仮説

上の状況の時

A = (攻撃側の「攻撃力」)
U = (1 + ( (攻撃側の「ダメ増総和」) - (防御側の「被ダメ減総和」) )/100)
C = (1.5 + ( (攻撃側の「クリダメ増」) - (防御側の「クリダメ減」) )/100)
D = (1 - (防御側の「防御力」)/ a ) / (1 + (防御側の「防御力」) / b)

とすると、ダメは

0.5 * (A*U*D*C)^0.8

という式で表される。

ただし、Dの式内にあるa,bは両者のレベルによって決まる。

a, bの値

「62モンク→63パラ」という状況では、a=2560, b=12800となる。もう少し正確に言うと、こうすると、実験結果と仮説の式による計算結果は一致する。
そして、「62モンク→36パラ」という状況でも、同様にa=2560, b=12800となった。

このことから、aやbの値は叩く人のレベルにしか依存しないのかもしれないということも考えられる。

過去の実験結果の再考

以前行った実験の結果と今回の仮説での計算結果が一致するか考えてみる。

この実験について考える。

被ダメ実験11 - お茶の国 プリ日記 ロードス島

当時は0.8乗の対人補正の事も分かっておらず、この結果から防御係数を計算することは出来なかった。

今は計算できるので、やってみると。

防御力 防御係数下限 防御係数上限
0 1 1
90 0.9511561946424085 0.9513286980480327
180 0.8897991968061072 0.9050614851399965
270 0.8559080070033016 0.859431703188066
360 0.7993407204764158 0.8142815133729
450 0.7625714825916718 0.7696267073428597
540 0.7108872547786856 0.7254843462369517
630 0.6714690230080415 0.6818729288507668
720 0.6245853539011857 0.638812591732071
810 0.5827784093538498 0.5963253492990488
901 0.5406093270869052 0.5537866665064138
991 0.49955777640575677 0.5131694058084549
1081 0.45917052667947883 0.46865425166086716
1171 0.4194820902507106 0.432631617349804
1261 0.38053147921921304 0.38651742206761697
1351 0.34236320280132065 0.354996024609607
1441 0.30502859303666874 0.3077460708132647
1531 0.2573401994932318 0.26858760920321656

となる。グラフにするとこうなる。f:id:ochanikki:20170601231400p:plain


直線的に見える。見えるけれど、本当は微妙にズレている。直線とのズレをグラフにするとこんな感じ。f:id:ochanikki:20170601231804p:plain
結構ガタガタしているけれど、元の精度が悪いので仕方ない。このグラフの緑の〇と紫の〇の間を通るように、a、bを調節するとa=2200, b=11000とでる。実際この時
f:id:ochanikki:20170601232132p:plain
となって、期待通り2点の間を通っている。

まとめ

いまのところ、仮説は実験結果とうまくマッチしている。そして、計算式中のa, b
「62モンク→63パラ」と「62モンク→36パラ」のときは、a=2560, b=12800となり
「50モンク→46パラ」では、a=2200, b=11000となる。
a,bは攻撃側のレベルには依存するけれど、防御側のレベルには依存しないのかもしれない。