格闘スキルと格闘武器によるダメージ算出式を検証

この記事は2005年12月14日に書かれたものです。
当時の記事を復元することが目的なので、内容・誤字脱字の修正は行っていません(正直、恥ずかしい)。
内容的にも現役のプレイヤにとって有益なものではないと思います。
僕のノスタルジーに付き合ってやってもいいと思う方だけ読んでください。

データ提供協力:モンクスレ 検証スレッド

※検証スレで定義された言葉を多く使っているのでとっつきにくい部分があると思います、その部分を詳細に解説するつもりはありません※

検証結果

最大ダメージ = ( 3 + 武器D値 + 8 + int(3+武器D値)/9) + int(格闘スキル*0.11) ) * 2.4 * 1.25

  • int()は、()内の値を小数点以下切り捨ての整数値。
  • 3 が基本D値
  • int(3+武器D値)/9) が武器ランク
  • 8+int(3+武器D値)/9) がSTRによる固定ダメージボーナスの最大値
    これは、D+0~+5の武器で自STR-敵VIT(以下ΔSTR)が+28以上、D+6~+14の武器で+32以上、D+15~+23の武器で+36以上のときに最大値を得る。
  • int(格闘スキル*0.11) がスキルによる固定ダメージボーナス
  • (3+武器D値+8+int(3+武器D値)/9)+int(格闘スキル*0.11)) が固定ダメージである。
  • 2.4 は、自攻撃力/敵防御力+乱数によって計算される攻防関数と呼ばれるものの最大値で、0~2.4の値を取る。
  • 1.25 は、クリティカル時のダメージ補正倍率。

シンプルに書くと以下のようになる。 他武器の式に比べ、D値・武器ランクの定義が異なり、加えて格闘スキルによるボーナスが追加される形となる。

最大ダメージ = ( 格闘D値 + STRボーナス + スキルボーナス ) * 3.0

データ

skilldamage
46 48
109 66
129 75
131 75
133 75
136 75
168 87
173 90
174 90
178 90
184 93
188 93
193 96
203 99
216102
222105
232108
236108
241111
246114
251114
256117
skillD+damage
133 +0 75
133 +1 78
133 +2 81
133 +3 84
133 +4 87
133 +5 90
133 +6 96
133 +7 99
133 +8102
136 +4 87
136 +5 90
136 +6 96
168+14132
168+15138
216 +0102
216 +5117
216 +6123
216 +7126
216 +8129
216+17159
236 +0108
236 +3117
236 +4120
236 +5123
236 +6129
236 +7132
236 +8135
236+10141
236+14153
236+15159
236+17165
236+19171
241 +0114
241 +1117
241 +2120
241 +3123
241 +4126
241 +5129
241 +6135
241 +8141
241+11150
241+12153
241+16168
241+18174
241+19177

解析

そもそも格闘D値に違和感を抱いたのは、格闘スキル236、フェラルファング(D+19)装備で、ダメージキャップが171であったことから。

同スキルにおける素手でのダメージキャップは108。 他の近接武器と同じ計算でいくと、

( 素手D値 26 + 武器D値 19 + ダメージボーナス 8 + int((26+19)/9) ) * 3.0 = 174
( 素手D値 26 +        ダメージボーナス 8 + int((26  )/9) ) * 3.0 = 108

そこで武器ランクの変化するD値を調べるべく、D値の異なる武器装備によるダメージキャップの検証を行った(検証スレのデータも使わさせてもらっています)。 ここから、スキルにかかわらず、武器のD増加量にのみ依存して武器ランクが上昇していることが分かる。 武器防具の解析データに、格闘武器はテキストよりも+3された値が記されていることからも、格闘武器の武器ランクは

int( ( スキル0でのD値3 + 武器D値 ) / 9 )

であると言える。 これを元に計算しなおしてみると

( 素手D値 26 + 武器D値 19 + ダメージボーナス 8 + int((3+19)/9) ) * 3.0 = 165
( 素手D値 26 +        ダメージボーナス 8 + int((3  )/9) ) * 3.0 = 102

あれ(;´д`)???
再度データとにらめっこを続け、格闘以外の近接攻撃の式などを参考に、ここまでは確定できるであろうと立てた式が↓

( 3 + f(skill) + D + 8 + int((3+D)/9) + α ) * 3.0

f(skill) がスキルで変化するD値量、D が武器D値、α がその他の要素(f(skill) の部分の武器ランク?α=0 の可能性もあり)。 3、D、8、int((3+D)/9)、3.0は過去の検証などから確かな値を得られていると仮定する。 今となってはダメージ算出式が明確になっているためダメージキャップから正確な武器D値を測定できるが、当時はそれがない状態で素手D値を決定していたことと、一部素手D値算出式の結果と実値が異なっている部分があった(スキル241で素手D値が26→ダメージキャップ108が実値は111)ため、素手D値を確定としなかった。

f(skill)+α にのみ着目して、再度解析をすすめ以下を得た。

  • ダメージキャップが常に3の倍数であることから f(skill)+α は小数点以下を持たない
  • f(skill)+α が連続的な値を取ることから α は f(skill) の部分の武器ランクではない
  • f(skill)+α はスキルに正比例している

以上から

素手D値 = int( 格闘スキル * 0.11 ) + 3
最大ダメージ = ( 素手D値 + 武器D値 + 8 + int((3+武器D値)/9) ) * 3.0

であると言える。

素手D値は手元にあるデータのみから求めたため、今後反するデータが出た場合には修正の余地がある。 ダメージボーナスとΔSTRの関係は、おそらく他武器の通常攻撃と同じであろう(根拠となるデータはない)。

考察

この結果から次のようなことが言える。

(1) 実D値(格闘D値+スキルボーナス)を揃えて比較した場合
例えば、Lv71スキル256フェラルファング装備(実D値50)でSTRボーナスは最大+10。 同じくD50の他武器のSTRボーナスは最大+13。 ダメージキャップが他武器より9低いことになる。
→格闘武器は他よりもSTRの影響が少ない

(2) ダメージキャップを揃えて比較した場合
スキル256フェラル装備(ダメキャップ180)でダメージキャップを出すのに必要なΔSTRは+36。 同じくキャップ180となるD47の他武器でキャップを出すのに必要なΔSTRは+48。 他武器よりSTRが12低くてもダメージキャップを出せることになる。
→格闘武器は他よりもSTRの影響が大きい

何をもってしてSTR補正が強い弱いを決めるかがはっきりしないため、比較の方法によって結論が変わる。 これはSTRボーナスに必要なSTR量を他武器と同じと仮定した上での話なので、もし格闘武器が独自のテーブルを持ってSTRボーナスに必要なSTR量を決定しているとしたら話は変わる。 白書で「格闘武器だけは特殊で、D値が低い代わりにSTRによる補正分が大きい」と明記してあるのでこの可能性は否定できない。 が、格闘D値(実D値ではない)あたりのSTR補正分の最大値が他武器と一致したのと、とあるLV上げの時のログからSTR+20で固定ダメージ+4という検証結果を得られた(STR+20で必ずしも固定ダメージ+4されるという意味ではない)ので、恐らくこれはないと思われる。 結論としては、格闘武器も他武器と同じくSTR+5くらいで固定ダメージ+1を期待できるだろう、ということである。

格闘武器のD値の詳細を調べるのが本検証の主旨であるので、STRの影響の考察はこの辺で・・・

Powered by 山田メガネ