最終ダメ増装備のバグ

ロードスの運営は「バグの検証は運営が行うので、ユーザは検証しないでほしい」という立場らしい。

しかし、運営は

  • どのバグを認識しているのか、また検証中であるのかを情報公開しない
  • バグを修正した場合に、その告知をしない場合があることを明言している (連絡帳でのバグ報告に対する返信メールにて)

その為、バグの存在が周知されないまま放置(or修正)される。一言でいえば「バグの存在は隠し得る限り隠す」という方針。そう考えると冒頭の「ユーザは検証しないで」という文言も、単に「隠せなくなるから止めて><」と言っているに過ぎない。そして、その方針のために、多くのバグが修正されないまま放置されている。

最終ダメ増装備のバグ

今日は、公表されずに隠され続けているバグの一つ、最終ダメ増のバグについて検証してみる。それは「最終ダメ増10%の装備を2つ付けたとき、最終ダメは19%分しか増えない」というもの。

検証

73モンク (自然系ダメ増5%)
太陽の聖堂北部でツリー(自然系、防御力678)を叩く。

戦勝の怒り(最終ダメ+10%)とアイアンナックル(最終ダメ+10%)を付けたときに、
最終ダメが19%しか上がらないことを確認してみる。

まずは、それぞれ単体で使用したときに、ダメが10%上がることを確かめる。

戦勝の怒り

最終ダメが10%上がると仮定し、境界テストを行う。つまり、理論値が切り捨ての境界ギリギリになるように調整し、実測値と比較を行う。但し、ダメ値バグがあるため、ここでいう「理論値」とは「Lv63相当で計算した理論値」のこと。結果はこんな感じ。

攻撃力 クリダメ増 理論値 実測値
803 95% 1594.003906 1594
802 105% 1656.999206 1656

理論値が切り捨ての境界ギリギリになっていても、切り捨てた値は実測値に一致している。この結果から逆算すると、戦勝の怒り(最終ダメ+10%)を使用したときの効果を最終ダメを+x%とすると、

9.999730 < x < 10.000053

という結果に。普通に考えてx=10と思って良い。

アイアンナックル

アイアンナックルについても同様の検証をしてみる。結果は全く同じ

攻撃力 クリダメ増 理論値 実測値
803 95% 1594.003906 1594
802 105% 1656.999206 1656

なので、アイアンナックルの効果も最終ダメ10%と思って良い。

両方付ける

両方付けたときの効果を検証してみる。最終ダメ増が19%と20%の二通りで計算し
実測値と比較してみる。 結果はこんな感じ。

攻撃力 クリダメ増 理論値(19%) 理論値(20%) 実測値
807 95% 1733.012307235104 1747.5754358673319 1733
804 125% 1937.986602582917 1954.272204285295 1937

最終ダメ増20%の理論値と実測値は全く合っていない。
一方で、効果を19%とした場合の理論値と実測値はマッチしている。
理論値が切り捨ての境界ギリギリになるようにしているけれど、
切り捨てた値は実測値に一致している。最終ダメ増10%の装備を二つ付けたときの効果をx%としたとき、上の結果から逆算すると

18.9991 < x < 19.0008

という結論になる。ほぼx=19と言ってしまって良いレベル。

考察

最終ダメ10%増の装備を2つつけたとき、効果は19%増ということが確かめられた。今回は、高い精度で19%という値を出すことに主眼を置いた実験だった。単に「20%未満である」ということを確かめるだけなら、最終ダメ10%増を2つつけたときのダメ値と、赤い袋(最終ダメ20%増)をつかったときのダメ値を比較することで簡単に検証できる。

ここから先は、未検証な推測になるけれど、最終ダメが(1+a)倍になる装備と(1+b)倍になる装備を両方付けたとき、効果は1+a+b-a*bになるんじゃないかという気がしている。
因数分解の公式(1+a)(1+b)=1+a+b+a*b の符号を間違えたことからこのバグが発生したのだと仮定すると納得がいくし、また何故「ダメ増」と「最終ダメ増」という似たものが2つもあるのかという点も説明がつく。

つまり、「ダメ増」は(1+a)倍の装備と(1+b)倍の装備を合わせると、(1+a+b)倍となるという「相乗効果の働かないOP」。一方で、「最終ダメ増」は(1+a)倍の装備と(1+b)倍の装備を合わせると、(1+a)(1+b)=(1+a+b+a*b)となるという「相乗効果の働くOP」として設計されていたのではないか。ところがプログラマが実装時に符号をミスし、効果が(1+a+b-a*b)倍となり、結果として「相乗効果がマイナスに働くOP」となってしまった。そんな気がしている。