読者です 読者をやめる 読者になる 読者になる

与ダメ実験2

前回に引き続き、3種類の与ダメ実験をした。

結論

今日も長いので、結論を先に。

  • 通常攻撃時のダメが、A*( (攻撃力)+(通常攻撃力上昇) )という式が、再確認できた。
  • クリダメ増が x% のとき、クリダメは、通常の (1.5 + x/100) 倍になるという話をよく聞くけれど、それも確認できた。
  • ダメ値の丸め処理は「切り捨て」であると分かった。

実験の概要

通常攻撃力上昇実験

前回の与ダメ実験で、通常攻撃のダメは

(ダメ値)=A*( (攻撃力)+(通常攻撃力上昇) )

という式で表されると書いた。けれど、実際には通常攻撃力上昇が19.2の場合しか検証していない。そこで、通常攻撃力上昇を別の値にして実験し、それでも実験結果が同じ式で説明できるか確認してみたい。

クリダメ実験

クリダメ上昇を x% とした場合、クリ時のダメはクリでないときに比べ(1.5+x/100)倍になると聞いたことがある。
これが本当なのか自分でも検証してみたい。これを次の二通りで検証してみる。

  • 攻撃力を固定し、クリダメを変化させる
  • クリダメを固定し、攻撃力を変化させる

通常攻撃力実験

まずは、通常攻撃力の実験の方から。訓練用の槌矛を2つ持っているので、片方に古代語の尖った(通常攻撃力上昇)を付けてみる。

叩く人、叩く相手、実験方法は前回と同じ。
通常攻撃力上昇だけ、前回の19.2から30.3に変化した。そのため、式が正しければダメは 0.6*((攻撃力)+30.3) という値になるはず。それを確認してみる。実験結果がこちら

x=物理攻撃力 y=0.6*(x+30.3) 実際のダメ
130 96.18 96
156 111.78 111
182 127.38 127
208 142.98 142
234 158.58 158
260 174.18 174

切り捨てた値が実際のダメ値に一致していることが確認できる。なので
(ダメ値)=A*( (攻撃力)+(通常攻撃力上昇) )
という式が再確認できた。

クリダメ実験

叩く人は50モンク、叩く相手はアラン西の木(幻想系)。 モンクの狩り技能(幻想系)はダメ5%アップ。

クリダメ実験1

攻撃力を194に固定し、クリダメ上昇を変化させる。その時のクリダメを測定してみる。
GP分(65%)と筋力ボーナス分(10%)で、クリダメアップ装備なしでは、クリダメ上昇が75%になる。
これに各種クリダメアップ装備を付け5%ずつ変化さる。
また、クリでないときのダメは117だった。

結果はこんな感じ

x=クリダメ上昇 y=177*(1+x/100) 実際のクリダメ
75% 263.25 263
80% 269.1 269
85% 274.95 275
90% 280.8 281
95% 286.65 287
100% 292.5 293
105% 298.35 299
110% 304.2 304
120% 315.9 316
130% 327.6 328

すこしズレているけれど、大まかにはあっている。そこで、例えば117というダメ値が内部的には117.3だったと仮定すると

x=クリダメ上昇 y=177.3*(1+x/100) 実際のクリダメ
75% 263.925 263
80% 269.79 269
85% 275.655 275
90% 281.52 281
95% 287.385 287
100% 293.25 293
105% 299.115 299
110% 304.98 304
120% 316.71 316
130% 328.44 328

となり、切り捨てた値が実際のクリダメに一致することが確認できる。なので、

クリ時の倍率は、端数を丸める前のダメ値にかけられる

と言えそう。

クリダメ実験2

次に、訓練用の槌矛を装備しクリダメ上昇を100%に固定する。バフなどで攻撃力を変化させながら、クリでないときのダメとクリのダメを記録する。

結果はこんな感じ

攻撃力 非クリダメ クリダメ
130 84 210
156 97 244
182 111 278
208 125 312
234 138 347
260 152 381

クリダメ上昇が100%なので、クリのときは2.5倍のダメになるはず。
また、前回の実験から通常攻撃時のダメは A*( (攻撃力)+(通常攻撃力上昇) ) のはず。
そこで、今回の木相手の係数をA=0.5252とすると

x=攻撃力 y=0.525*(x+30.3) 実際のダメ z=2.5*y 実際のクリダメ
130 84.18956 84 210.4739 210
156 97.84476 97 244.6119 244
182 111.49996 111 278.7499 278
208 125.15516 125 312.8879 312
234 138.81036 138 347.0259 347
260 152.46556 152 381.1639 381

となり、切り捨てた値を実際のダメ、クリダメに一致させることができる。

端数処理

今までの検証では、ダメ値の丸め処理を「切り捨て」と決めつけていたけれど、実はまだどんな丸め処理を行っているかは分かっていなかった。
丸め処理の仕方は「切り捨て」「四捨五入」「切り上げ」の3通り考えられる。ロードスでは実際にこれらが場所ごとに使い分けられている。そのため、ダメ値にどの丸め処理が使われているかも検証しないといけない。そこで、今回のクリダメ実験2で、クリダメ上昇を100%としていたとき

非クリダメ 138、クリダメ 347

となったという結果に着目する。まず、「切り上げ」の可能性はないことを確認する。もし「切り上げ」ならば、内部的なダメ値をxとしたとき
137 < x <=138
という不等式が成り立つ。これを2.5倍すると
342.5 < 2.5x <= 345
となり、これを切り上げても347になり得ない。次に「四捨五入」の可能性もないことを確認する。もし「四捨五入」ならば
137.5 <= x < 138.5
が成立する。これを2.5倍して
343.75 <= x < 346.25
となり、これを四捨五入しても347になり得ない。最後に「切り捨て」ならつじつまが合うことを確認する。xが満たすべき条件は
138 <= x < 139 と 347 <= 2.5x < 348
であり、例えばx=138.8ならこの条件を満たす。