対人ダメ値計算の仮説
これまでの実験から、対人戦のダメ値の計算式について、ある仮説が立てられる。
簡単な状況の設定
仮説を簡潔にするために、一旦、次のような状況に限定する。
- 職業技能は一切使わない
- 固定値ダメ減は一切つけない
- 最終ダメは付けない
- 非グロダメを考える
- (チェインでなく)アクティブスキルを使う
ダメ値計算の仮説
上の状況の時
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の値は叩く人のレベルにしか依存しないのかもしれないということも考えられる。
過去の実験結果の再考
以前行った実験の結果と今回の仮説での計算結果が一致するか考えてみる。
この実験について考える。
当時は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 |
となる。グラフにするとこうなる。
直線的に見える。見えるけれど、本当は微妙にズレている。直線とのズレをグラフにするとこんな感じ。
結構ガタガタしているけれど、元の精度が悪いので仕方ない。このグラフの緑の〇と紫の〇の間を通るように、a、bを調節するとa=2200, b=11000とでる。実際この時
となって、期待通り2点の間を通っている。
まとめ
いまのところ、仮説は実験結果とうまくマッチしている。そして、計算式中のa, b
「62モンク→63パラ」と「62モンク→36パラ」のときは、a=2560, b=12800となり
「50モンク→46パラ」では、a=2200, b=11000となる。
a,bは攻撃側のレベルには依存するけれど、防御側のレベルには依存しないのかもしれない。