ダメ講座(第4回) 防御力デバフとかかと斬り

今日は防御力デバフとかかとについて

防御力デバフ

端数の切り捨て

敵モンスターに防御力デバフを掛けた場合、元の防御力に(1-(防御力デバフ)/100)を掛けて、端数を切り捨てた値が敵の防御力となる。

例えば、グレムリンにヘビブロを掛けた場合を考えてみる。 グレムリンの元の物理防御は、1337なので30%減では、これに0.7を掛けて1337*0.7=935.9となる。この値の小数点以下を切り捨てて、935がグレムリンの防御力となる。
グレムリンにヘビブロを打った後でのダメを知りたければ、敵の物理防御力を935として計算すればよい。

難易度

マップ難易度によって、敵の防御力が上がる場合は、上がった後の防御力に対して、デバフ分の計算が行われる。例えば、難易度3(防御力+100)でグレムリンにヘビブロを打つと、(1337+100)*0.7=1005.9となり、端数を切り捨てて1005が防御力となる。

重ね掛け

防御力デバフを複数掛けた場合、その効果は足し合わせた後で、敵の元の防御力に掛けられる。例えば、グレムリンにヘビブロ(-30%)とフォース(-10%)を掛けると、1336*(1-0.3-0.1)=1336*0.6=801.6となる。最後に端数を切り捨てて、防御力は801になる。

かかと斬り

かかと斬りを付けるとかかと要因一つにつきダメ増が20%増える.

例えば, 狩り技能でダメ増が15%だった場合、かかと一つ分でダメ増は35%に
二つ分ならダメ増は55%に増えてダメが計算される.

ダメ講座(第3回) 計算機を使ってみる

昨日の日記に載せたダメ計算機は、ダメ講座の第1回、第2回分を計算できるようにしたもの。
この計算機を使って、ダメ計算が正しく行えるか確かめてみる。

準備

チェインが発動すると、どのダメが該当のダメか分かりにくくなるので、外しておく。
また、動向スキルで攻撃力が上がると、ステが変わってしまうので、これも外しておく。

職業技能や最終ダメ増も外しておく。

情報の入力

「レベル」「スキルの攻撃力」等、自分の情報を入力する。
敵は、「ツリー[物] (太陽の聖堂北部)」を選んでみると、防御力が678と出る。
難易度は「0~2」のまま。

計算結果

数値を入力すると、即座に計算結果に反映される。
「ダメ1防御力」「防御係数」はダメ講座の第1回に書いたもの。
これを使って、ダメとクリダメが計算される。

この計算機では、「スキルの攻撃力」の幅が10以下の場合、出現しうるダメの全候補が出る。
幅がもっと広い場合は、出現しうるダメの最小値と最大値のみが出る。

検証

スキルの攻撃力の幅を10以下にするために、弱い武器を装備すると、自分の場合
クリダメが「1547, 1549, 1550, 1552, 1554, 1556, 1557, 1559, 1561, 1563, 1564」とでてきた。

実際に敵を叩いてみてクリダメを記録してみると

1564,1559,1554,1547,1552,1561,1563,…

という感じに出てきた。計算機で出てきた値がきちんと出ていることが確認できる。

ダメ計算機1

データ入力欄

自分の情報
レベル
スキルの攻撃力 --
ダメ増 (種族)
クリダメ増 (物理/魔法)
クリダメ増 (種族)
敵の情報
防御力  ← 
難易度:

(入力は全て半角数字で)

計算結果

ダメ1防御力  
防御係数  
ダメ  
クリダメ  

ダメ講座(第2回) 基本計算式

基本的な状況

ダメ値を計算式を考えるのに、まずは簡単な状況を考える。

  • プレイヤが敵(モンスター)をアクティブスキルで叩く
  • 敵は金モンスターではない
  • 敵はグロっていない
  • 敵に防御力デバフは付いていない
  • 職業技能を付けていない
  • 迷宮OP装備を付けていない
  • 最終ダメ装備を付けていない


敵が金だったらどうなるか、グロっていたらどうなるか、対人ならどうなるか…などの話はまた後日考えることにして、今日は最も簡単な状況で考える。このとき、ダメ値計算の流れはこんな感じ。

防御係数

昨日の日記の「防御係数」の式を使って、「防御係数」を計算する。これをDとする。

D = (防御係数) (昨日の日記の計算式)

攻撃力

「スキルの攻撃力」にある〇〇~〇〇という範囲内からランダムに整数が選ばれ、これが攻撃力となる。
これをAと書くことにする。

A = (スキルの攻撃力〇〇~〇〇という範囲内からランダムに選ばれた整数)

この確率は偏りがなく、どの値も等確率で選ばれているみたい

ダメ増係数

U = 1 + (ダメ増(種族))/100

クリ係数

C = 1.5 + ( (クリダメ増(物理/魔法)) + (クリダメ増(種族)) )/100

ダメ値

上の手順でD,A,U,Cという値を求めたら、非クリダメは

D*A*U

クリダメは

D*A*U*C

と計算できる。

端数について

実際には、上の式で計算して出た値を切り捨てた値が表示される。なので

  • 切り捨てた値が実際のダメ値として使われる
  • 切り捨てた値は表示上だけで、内部的には切り捨てる前の値がダメ値として使われる

の二通りの可能性が考えられるけれど、どちらなのかは未確認。

ダメ講座(第1回) 基本用語

ダメな講座

長い期間にわたる実験の末に、ロードスでのダメ値の計算式が分かった。
ここで分かったことを、もう一度整理してまとめてみたい。でも、折角なので「ダメ講座」という形をとってみる。

これを読めば、ロードスでのダメ値の全てが分かる。そんなダメダメな講座スタートします!

基本用語

第1回の今日は基本的な用語について。

スキルの攻撃力

スキルの詳細情報に出てくるここの値の事を「スキルの攻撃力」と呼ぶことにする。
f:id:ochanikki:20170603171733p:plain
GPの「スキル攻撃力」や、詳細情報の「(物理/魔法)スキル攻撃力上昇」と混同しないように注意。

ダメ増(種族)

詳細情報の「ダメージ増加(対人間系)」、「ダメージ増加(対亜人系)」等を、総称して「ダメ増(種族)」と呼ぶ 。

クリダメ増(物理/魔法)

詳細情報の「物理クリティカルダメージ増加」、「魔法クリティカルダメージ増加」を短く「クリダメ増(物理)」、「クリダメ増(魔法)」と呼ぶことにする。
クリダメ増は、主にGP、装備、筋力で積み増すことが出来る。

クリダメ増(種族)

狩り技能の破壊者で上げることのできる「クリティカルダメージ(人間系)」等を、総称して「クリダメ増(種族)」と呼ぶことにする。ミスリルリングを付けていると、その分さらに上がる。ただし、詳細画面には表示されないみたい。不便。

ダメ1防御力

ロードスでは、叩かれる側の防御力が、ある一定値以上になると、叩く側がどんなに攻撃力を上げてもダメが常に1になってしまう。そんな防御力を「ダメ1防御力」と呼ぶことにする。この値は、今まで「完封防御力」と呼んでいた。けれど、1ダメは出るので、完封という言い方はやめて「ダメ1防御力」と呼ぶ。「ダメ1防御力」を求める式は、こうなっている。

(ダメ1防御力) = (叩く側のレベル) * 30 + 700

例えば、叩く人がレベル40の場合

40 * 30 + 700 = 1900

となる。つまり、物理防御力が1900あれば、Lv40の人のどんな物理攻撃も(クリも含めて)ダメ1なってしまう。

防御係数

次の計算式で表される値を「防御係数」と呼ぶことにする。

(防御係数) = ( 1 - (敵の防御力) / (ダメ1防御力) ) / ( 1 + (敵の防御力 ) / (ダメ1防御力)/5 )

長くて分かりにくい。同じ式を、「防御係数」をD、「敵の防御力」を x、「ダメ1防御力」をEとして書き直してみるとこんな感じ。

D = (1-x/E) / (1+x/E/5)

「防御係数」はダメ値を計算する際にとても重要。具体的にどのようにダメ値を計算するのかについては次回。

対モンスター戦ダメの検証

昨日の日記で、二つのパラメータa, bが分かれば、ダメ値を完全に計算することが出来るとわかった。さらに、その後の試行錯誤で、

a = Lv*30 + 700
b = a*5

となっているらしいことが分かった。そこで、この式が正しいか検証してみる。

実験

日ごろお世話になっている70ナイトさんに協力してもらい、ラピスラで湖畔のグレムリンを叩いてもらう。30回分のクリダメを記録してもらう。

叩く人 70ナイト
ラピスラ攻撃力 1950 - 2001
ダメ増(亜人) 30%
クリダメ増(亜人) 35%
クリダメ増(物理) 186.5%

予測値

あらかじめ、予測値を出しておく。

a = 70 * 30 + 700= 2800
b = 2800 * 5 = 14000
D = (1-1337/a) / (1+1337/b) = (1-1337/2800) / (1+1337/14000) = 0.47695
U = 1+30/100=1.3
C = 1.5 + (35+186.5)/100=3.715

となる。D*U*Cに攻撃力を掛けたものがダメなので

1950*D*U*C=4491.69
2001*D*U*C=4609.17

となって、4491が最小ダメ、4609が最大ダメになるはず。

それ以外に出現するダメは1950と2001の間の整数にD*U*Cを掛けたものになり、全部列挙すると
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
となる。 最小値が4491、最大値が4609でも、その間の値がすべて出るわけではない。ここに挙げた
2~3飛びの値のみが出現するはず。 なので、この予想が偶然一致する可能性は極めて低い。

結果

そして、実験で叩いてみて実際に出現したダメ値が結果がこちら
4551, 4528, 4558, 4597, 4565, 4567, 4590, 4576, 4604, 4544,
4604, 4581, 4579, 4507, 4565, 4570, 4510, 4593, 4528, 4551,
4576, 4563, 4563, 4500, 4549, 4602, 4595, 4494, 4604, 4560

分析

ナイトさんの30回分のクリダメは、すべて、あらかじめ予想した値から出ている。
最大値、最小値はでなかったけれど、それは試行回数が少ないだけと言ってよい。
上に書いたダメ値計算の式の信憑性は極めて高くなったと言える。

対モンスター戦ダメ値計算(仮)

対モンスター戦ダメ値計算

対人戦でのダメ値計算がうまくいったので、対モンスター戦でも同様に計算してみる。恐らく

(非クリダメ)=A*U*D
(クリダメ)=A*U*D*C

となっているはず。ここでA,U,D,Cというのは

A = (自分の「攻撃力」)
U = (1 + (自分の「ダメ増総和」)/100)
C = (1.5 + (自分の「クリダメ増」) /100)
D = (1 - (敵の「防御力」)/ a ) / (1 + (敵の「防御力」) / b)

という感じ。さらに叩く人のレベルが62なら a=2560, b=12800のはず。

過去の実験

そこで、このときの結果と比較してみる。

湖畔ダメ実験7 - お茶の国 プリ日記 ロードス島

グレムリンの物理防御力が1337と仮定して計算してみると

難易度 敵防御力 実測ダメ 計算上ダメ
0 0 625 625.99
3 +100 570 570.76
4 +150 543 543.44
5 +200 516 516.31
6 +250 489 489.37
7 +500 357 357.42
8 +650 280 280.39
9 +800 204 204.92
10 +1000 106 106.6
12 +1100 58 58.41
14 +1200 10 10.85
16 +1300 1

となり、実測値と計算上のダメが一致する。