与ダメ実験1の分析
昨日の実験結果の分析をする。
結論
今日はものすごく長くなってしまったので、結論を先に。昨日の実験結果を分析した結果、こんな感じの結論が得られた。
通常攻撃時
(ダメ値)=A*((攻撃力)+(通常攻撃力))
スキル使用時
(ダメ値)=A*((スキル攻撃力)+0.5)
ただし、攻撃力は、「端数を含んだ内部的な攻撃力」ではなく「端数を切り捨てた表示上の攻撃力」のこと。
また、スキル攻撃力は、スキルの詳細情報に載っている攻撃力のこと。
通常攻撃時には、通常攻撃力上昇が加算されるけれど、スキル攻撃時にスキル攻撃力上昇が加算されるわけではない。
これは、スキルの詳細情報に載っている攻撃力自体が、スキル攻撃力上昇を既に反映した値であるため。
そして、係数Aは今回の実験では0.6だった。条件が変わればこの値も変わるはず。
この式は、まだ少し違うかもしれないけれど大筋では合っているはず。
実験結果の分析
ここより下は、上の結論に至るまでの長々とした考察
グラフ
横軸を攻撃力アップ(%)とし、縦軸を物理攻撃力、アッパー攻撃力、通常攻撃ダメ、アッパーダメにしてグラフを描いてみる。どれもデータが直線状に並んでいることが確認できる。こんな感じ。
横軸:攻撃力アップ、縦軸:物理攻撃力
横軸:攻撃力アップ、縦軸:アッパー攻撃力
横軸:攻撃力アップ、縦軸:通常攻撃ダメ
横軸:攻撃力アップ、縦軸:アッパーダメ
全て直線状に並んでいるので、これらは一次関数になっているといって良い。
物理攻撃力
物理攻撃力についてもう少し詳しく考えてみる。攻撃力アップを5%ずつ増やした時、物理攻撃力は6増加と7増加を繰り返す。これは、「内部的には、6.5ずつ増え、切り捨てが行われた」とみるのが自然。そこで
(攻撃力の内部値)=130*(1+(攻撃力アップ)/100)
だろうと推測できる。実際、表を作ってみると
x=攻撃力アップ(%) | y=130*(1+x/100) | 実際の攻撃力 |
---|---|---|
0 | 130 | 130 |
5 | 136.5 | 136 |
10 | 143 | 143 |
15 | 149.5 | 149 |
20 | 156 | 156 |
25 | 162.5 | 162 |
30 | 169 | 169 |
35 | 175.5 | 175 |
40 | 182 | 182 |
45 | 188.5 | 188 |
50 | 195 | 195 |
55 | 201.5 | 201 |
60 | 208 | 208 |
65 | 214.5 | 214 |
70 | 221 | 221 |
75 | 227.5 | 227 |
80 | 234 | 234 |
85 | 240.5 | 240 |
90 | 247 | 247 |
95 | 253.5 | 253 |
100 | 260 | 260 |
こんな感じになり、切り捨てた値が実際の攻撃力に一致していることが確認できる。
通常攻撃ダメ
次に通常攻撃ダメについて。結論を先に述べると
通常攻撃ダメは「端数を含んだ内部的な物理攻撃力」ではなく「端数を切り捨てた表示上の物理攻撃力」の一次関数であると言えそう。
より正確な言い方をするとこうなる。
- 「端数を含んだ内部的な物理攻撃力の一次関数」と考えると昨日の実験結果を説明できない。
- 「端数を切り捨てた表示上の物理攻撃力の一次関数」と考えると昨日の実験結果を説明できる。
「端数を含んだ内部的な物理攻撃力」の一次関数と言えない根拠は、攻撃力アップを5%ずつ増やした時、通常攻撃ダメは3増加、4増加、5増加の3パターンが確認できるという点。
一次関数 y=ax+b において、xを一定値ずつ増やしていった場合、yを(切り捨て、切り上げなどで)丸めた値の増分が3パターンになることはあり得ない。
一方で、「切り捨てられた表示上の物理攻撃力の一次関数」と考えると説明がつく。
通常攻撃ダメの増加の様子を改めて見返すと、3増加のときは表示上の物理攻撃力が6増加、5増加のときは表示上の物理攻撃力が7増加していることが見て取れる。
そして、実際に0.6*(物理攻撃力)+11.5という一次関数を考えてみると
x=物理攻撃力 | y=0.6*x+11.5 | 実際のダメ値 |
---|---|---|
130 | 89.5 | 89 |
136 | 93.1 | 93 |
143 | 97.3 | 97 |
149 | 100.9 | 100 |
156 | 105.1 | 105 |
162 | 108.7 | 108 |
169 | 112.9 | 112 |
175 | 116.5 | 116 |
182 | 120.7 | 120 |
188 | 124.3 | 124 |
195 | 128.5 | 128 |
201 | 132.1 | 132 |
208 | 136.3 | 136 |
214 | 139.9 | 139 |
221 | 144.1 | 144 |
227 | 147.7 | 147 |
234 | 151.9 | 151 |
240 | 155.5 | 155 |
247 | 159.7 | 159 |
253 | 163.3 | 163 |
260 | 167.5 | 167 |
こんな感じになり、切り捨てた値が実際のダメ値に一致していることが確認できる。
通常攻撃力上昇
11.5/0.6=19.1666 なので、先ほどの式は
0.6*(物理攻撃力)+11.5=0.6*((物理攻撃力)+19.1666)
と書くことができる。ここで、この19.1666という値は、昨日のモンクの通常攻撃力上昇19.2に近い。とすると、通常攻撃ダメは
0.6*((物理攻撃力)+(通常攻撃力上昇))
という式で表されると予想できる。改めて、表を書いてみると
x=物理攻撃力 | y=0.6*(x+19.2) | 実際のダメ値 |
---|---|---|
130 | 89.52 | 89 |
136 | 93.12 | 93 |
143 | 97.32 | 97 |
149 | 100.92 | 100 |
156 | 105.12 | 105 |
162 | 108.72 | 108 |
169 | 112.92 | 112 |
175 | 116.52 | 116 |
182 | 120.72 | 120 |
188 | 124.32 | 124 |
195 | 128.52 | 128 |
201 | 132.12 | 132 |
208 | 136.32 | 136 |
214 | 139.92 | 139 |
221 | 144.12 | 144 |
227 | 147.72 | 147 |
234 | 151.92 | 151 |
240 | 155.52 | 155 |
247 | 159.72 | 159 |
253 | 163.32 | 163 |
260 | 167.52 | 167 |
こんな感じになり、やはり切り捨てた値が実際のダメ値に一致していることが確認できる。
アッパーダメ
最後にアッパーダメについて考えてみる。一つ予想されるのは0.6*(アッパー攻撃力)という式だけれど、これだと少しずれてしまう。式を補正して0.6*((アッパー攻撃力)+0.5)とするとこうなる。
x=アッパー攻撃力 | y=0.6*(x+0.5) | 実際のアッパーダメ |
---|---|---|
461 | 276.9 | 276 |
476 | 285.9 | 285 |
491 | 294.9 | 294 |
506 | 303.9 | 303 |
522 | 313.5 | 313 |
537 | 322.5 | 322 |
552 | 331.5 | 331 |
567 | 340.5 | 340 |
582 | 349.5 | 349 |
598 | 359.1 | 359 |
613 | 368.1 | 368 |
628 | 377.1 | 377 |
643 | 386.1 | 386 |
659 | 395.7 | 395 |
674 | 404.7 | 404 |
689 | 413.7 | 413 |
704 | 422.7 | 422 |
720 | 432.3 | 432 |
735 | 441.3 | 441 |
750 | 450.3 | 450 |
765 | 459.3 | 459 |
これだと切り捨てた値が実際のアッパーダメに一致していることが確認できる。