ナイトさんの置き土産

信頼性の低さ

昨日の日記に「レベル64以上のキャラのダメ値が本来の値より低い」と書いたけれど、これだけでは信頼性も説得力もすごく低くて悲しい。

問題点は二つある。

  • 以前は本当に64以上にもレベルアップによるダメ値の恩恵があったのか?
  • そもそも、1ユーザが「本来のダメ値」を知っていると言い切れるのか?

という2つの疑問が解消できない。

画像

ところが、パソコンを探していたら、あるナイトさんから貰った画像が見つかった。
f:id:ochanikki:20170716090327j:plain

今は引退してしまったけれど、6月1日当時はLv70だった。

この画像を元に、上に挙げた問題点を解消できる。

問題点の解消

それが、このプログラム (ruby)

Lv=70           # character's level
At=(1950..2001) # attack 
DmUp=30         # damage up
CrUp=186.5+35   # critical up
Df=1337         # defence of the enemy (Gremlin in Kohan B3)

d1=700.0+30*Lv
d=(1-Df/d1)/(1+Df/d1/5)
c=1.5+CrUp*0.01
u=1.0+DmUp*0.01

p At.map { |a| (d*a*c*u).to_i }

実行結果がこちら

[4491, 4494, 4496, 4498, 4500, 4503, 4505, 4507, 4510, 4512, 4514, 4517, 4519, 4521, 4523, 4526, 4528, 4530, 4533, 4535, 4537, 4540, 4542, 4544, 4546, 4549, 4551, 4553, 4556, 4558, 4560, 4563, 4565, 4567, 4570, 4572, 4574, 4576, 4579, 4581, 4583, 4586, 4588, 4590, 4593, 4595, 4597, 4599, 4602, 4604, 4606, 4609]

また、5行目の「Df=1337」を「Df=(1337*0.7).to_i」と変えたときの実行結果がこちら。

[5880, 5883, 5886, 5889, 5892, 5895, 5898, 5901, 5904, 5907, 5910, 5913, 5916, 5919, 5922, 5925, 5928, 5931, 5934, 5937, 5940, 5943, 5946, 5949, 5952, 5955, 5958, 5961, 5964, 5967, 5970, 5973, 5976, 5979, 5982, 5985, 5988, 5991, 5994, 5997, 6000, 6003, 6006, 6009, 6012, 6015, 6018, 6021, 6024, 6027, 6030, 6033]

このプログラムは、ラピッドのクリティカル与ダメが取りうる値をすべて列挙するもので、1つ目の実行結果がヘビブロなし、2つ目がヘビブロありに相当する。
上に挙げた画像の数値は、プログラムの実行結果の数値にすべて含まれる。このことから

  • 上のプログラムは、ダメの取りうる値を完全に決定できている

事が高い信頼性を持って確認できる。さらに、このプログラムから

  • レベルが高いほどダメ値が高くなること
  • Lv=70での計算が、6月1日時点での実際のダメ値と一致している事

が分かり

  • 6月1日の時点では、64以上でもレベルアップによるダメ値の上昇があった

という事も高い信頼性を持って言える。

引退した後でも、また助けてくれたナイトさん、どうもありがとう。

連絡帳

バグに確信を持てたので、ロードスで初めて連絡帳を使ってみる。ドキドキする。