解析
変愚蛮怒の攻撃回数計算†
以下いずれの場合も, 基本の攻撃回数に, 追加攻撃の装備による修正や職業の特別な修正を加えたものが実際の攻撃回数になります.
武器攻撃†
ここでは打撃攻撃の回数について解説します.
まず重すぎる武器を装備している場合(重量/10>重量基準のとき), 運搬中と表示され, 基本攻撃回数が1回に固定されます. 重量基準はSTRで決まり, 以下の通りになります. 両手持ちの場合は2倍の重量になります.
- 腕力が17以下の場合, 腕力+1
- 腕力が18以上18/09以下の場合, 19
- 腕力が18/10以上18/19以下の場合, 20
- 腕力が18/20以上18/29以下の場合, 21
- 腕力が18/30以上18/39以下の場合, 22
- 腕力が18/40以上18/49以下の場合, 23
- 腕力が18/50以上18/59以下の場合, 24
- 腕力が18/60以上18/69以下の場合, 25
- 腕力が18/70以上18/79以下の場合, 26
- 腕力が18/80以上18/89以下の場合, 27
- 腕力が18/90以上18/99以下の場合, 28
- 腕力が18/100以上18/109以下の場合, 30
- 腕力が18/110以上18/119以下の場合, 31
- 腕力が18/120以上18/129以下の場合, 32
- 腕力が18/130以上18/139以下の場合, 33
- 腕力が18/140以上18/149以下の場合, 34
- 腕力が18/150以上18/159以下の場合, 35
- 腕力が18/160以上18/169以下の場合, 37
- 腕力が18/170以上18/179以下の場合, 40
- 腕力が18/180以上18/189以下の場合, 44
- 腕力が18/190以上18/199以下の場合, 48
- 腕力が18/200以上の場合, 50
運搬中でない場合, 職業によって num(攻撃回数の最大値), wgt(攻撃回数計算に使われる武器の重さ), mul(攻撃回数の増えやすさ) の値を決定されます.
これらは以下のようになっています
職業 | num | wgt | mul |
戦士 | 6 | 70 | 5 |
メイジ | 3 | 100 | 2 |
プリースト | 5 | 100 | 3 |
盗賊 | 5 | 40 | 3 |
レンジャー | 5 | 70 | 4 |
パラディン | 5 | 70 | 4 |
魔法戦士 | 5 | 70 | 3 |
混沌の戦士 | 5 | 70 | 4 |
修行僧 | 5 | 60 | 3 |
超能力者 | 5 | 100 | 3 |
ハイ=メイジ | 3 | 100 | 2 |
観光客 | 4 | 100 | 3 |
ものまね師 | 5 | 70 | 4 |
魔獣使い | 5 | 70 | 3 |
スペルマスター | 1 | 1 | 1 |
アーチャー | 4 | 70 | 2 |
魔道具術師 | 5 | 100 | 3 |
吟遊詩人 | 4 | 70 | 2 |
赤魔道師 | 5 | 70 | 3 |
剣術家 | 5 | 70 | 4 |
練気術師 | 4 | 60 | 2 |
青魔道師 | 3 | 100 | 2 |
騎兵 | 5 | 100 | 3 |
狂戦士 | 6 | 70 | 7 |
鍛冶師 | 5 | 150 | 5 |
鏡使い | 3 | 100 | 3 |
忍者 | 4 | 20 | 1 |
元素使い | 3 | 100 | 2 |
ただし騎兵は乗馬していてかつ乗馬に向いている武器を装備していると
になります.
また, 呪術領域の腕力強化・肉体強化を使用している場合
の処理が成されます.(重複しない.)
次に, div(攻撃回数の増えにくさ)を決めます.
これは武器の重さになりますが, wgtより小さくなることはありません.
換算レートは武器1.0kg=20です。
さらに, 腕力とmulによってstr_indexを決めます.
これは以下のように決定されます.
- 腕力が17以下の場合, str_index = 腕力*mul/div
- 腕力が18以上18/09以下の場合, str_index = 20*mul/div
- 腕力が18/10以上18/19以下の場合, str_index = 30*mul/div
- 腕力が18/20以上18/29以下の場合, str_index = 40*mul/div
- 腕力が18/30以上18/39以下の場合, str_index = 50*mul/div
- 腕力が18/40以上18/49以下の場合, str_index = 60*mul/div
- 腕力が18/50以上18/59以下の場合, str_index = 70*mul/div
- 腕力が18/60以上18/69以下の場合, str_index = 80*mul/div
- 腕力が18/70以上18/79以下の場合, str_index = 90*mul/div
- 腕力が18/80以上18/89以下の場合, str_index = 100*mul/div
- 腕力が18/90以上18/99以下の場合, str_index = 110*mul/div
- 腕力が18/100以上18/109以下の場合, str_index = 120*mul/div
- 腕力が18/110以上18/119以下の場合, str_index = 130*mul/div
- 腕力が18/120以上18/129以下の場合, str_index = 140*mul/div
- 腕力が18/130以上18/139以下の場合, str_index = 150*mul/div
- 腕力が18/140以上18/149以下の場合, str_index = 160*mul/div
- 腕力が18/150以上18/159以下の場合, str_index = 170*mul/div
- 腕力が18/160以上18/169以下の場合, str_index = 180*mul/div
- 腕力が18/170以上18/179以下の場合, str_index = 190*mul/div
- 腕力が18/180以上18/189以下の場合, str_index = 200*mul/div
- 腕力が18/190以上18/199以下の場合, str_index = 210*mul/div
- 腕力が18/200以上18/209以下の場合, str_index = 220*mul/div
- 腕力が18/210以上18/219以下の場合, str_index = 230*mul/div
- 腕力が18/220以上の場合, str_index = 240*mul/div
両手持ちのときで, かつ以上で計算された重量基準が(武器の重量/5)以上である場合, str_indexを1増やします.戦士・狂戦士である場合、代わりに1+(LV/23)だけ増やします.(つまり概ね, 片手だと運搬中になる武器には両手持ちボーナスが入らない.)
忍者はstr_indexを1減らします.
さらに, str_indexが11を越えてしまった場合は11にします.
さらに, 器用によってdex_indexを決めます.
これは以下のように決定されます.
- 器用さが9以下の場合, dex_index = 0
- 器用さが10以上14以下の場合, dex_index = 1
- 器用さが15以上18/09以下の場合, dex_index = 2
- 器用さが18/10以上18/39以下の場合, dex_index = 3
- 器用さが18/40以上18/59以下の場合, dex_index = 4
- 器用さが18/60以上18/79以下の場合, dex_index = 5
- 器用さが18/80以上18/99以下の場合, dex_index = 6
- 器用さが18/100以上18/119以下の場合, dex_index = 7
- 器用さが18/120以上18/139以下の場合, dex_index = 8
- 器用さが18/140以上18/159以下の場合, dex_index = 9
- 器用さが18/160以上18/179以下の場合, dex_index = 10
- 器用さが18/180以上の場合, dex_index = 11
そして, str_indexとdex_indexで以下のテーブルを引きます.
これが基本の攻撃回数に なります.
ただし, numを越えた場合はnumが基本の攻撃回数になります.
str_index\dex_index | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
0 | 1 | 1 | 1 | 1 | 1 | 2 | 2 | 2 | 2 | 3 | 3 | 4 |
1 | 1 | 1 | 1 | 2 | 2 | 2 | 3 | 3 | 3 | 4 | 4 | 4 |
2 | 1 | 1 | 2 | 2 | 3 | 3 | 4 | 4 | 4 | 5 | 5 | 5 |
3 | 1 | 1 | 2 | 3 | 3 | 4 | 4 | 4 | 5 | 5 | 5 | 5 |
4 | 1 | 1 | 2 | 3 | 3 | 4 | 4 | 5 | 5 | 5 | 5 | 5 |
5 | 1 | 1 | 2 | 3 | 4 | 4 | 4 | 5 | 5 | 5 | 5 | 6 |
6 | 1 | 1 | 2 | 3 | 4 | 4 | 4 | 5 | 5 | 5 | 5 | 6 |
7 | 1 | 2 | 2 | 3 | 4 | 4 | 4 | 5 | 5 | 5 | 5 | 6 |
8 | 1 | 2 | 3 | 3 | 4 | 4 | 4 | 5 | 5 | 5 | 6 | 6 |
9 | 1 | 2 | 3 | 4 | 4 | 4 | 5 | 5 | 5 | 5 | 6 | 6 |
10 | 2 | 2 | 3 | 4 | 4 | 4 | 5 | 5 | 5 | 6 | 6 | 6 |
11 | 2 | 2 | 3 | 4 | 4 | 4 | 5 | 5 | 6 | 6 | 6 | 6 |
その後、装備による追加攻撃補正を行い、さらに
- 戦士の場合、攻撃回数が(LV/40)回増えます。
- 狂戦士の場合、攻撃回数が(LV/23)回増えます。
- 盗賊で器用さ18/150以上で2.5 kg未満の武器を装備している場合、攻撃回数が1回増えます。
- 風塵の型をとっている場合、攻撃回数が1回減ります。
最後に、毒針を装備している場合、強制的に攻撃回数が1回になります。
素手攻撃†
素手の修行僧, 素手の練気術師, 素手の狂戦士については別の方法で計算されます.
まず, 器用さとレベルによってblow_baseを決定します.
これは以下のように決定されます.
- 器用さが9以下の場合, blow_base = レベル
- 器用さが10以上14以下の場合, blow_base = レベル+1
- 器用さが15以上18/09以下の場合, blow_base = レベル+2
- 器用さが18/10以上18/39以下の場合, blow_base = レベル+3
- 器用さが18/40以上18/59以下の場合, blow_base = レベル+4
- 器用さが18/60以上18/79以下の場合, blow_base = レベル+5
- 器用さが18/80以上18/99以下の場合, blow_base = レベル+6
- 器用さが18/100以上18/119以下の場合, blow_base = レベル+7
- 器用さが18/120以上18/139以下の場合, blow_base = レベル+8
- 器用さが18/140以上18/159以下の場合, blow_base = レベル+9
- 器用さが18/160以上18/179以下の場合, blow_base = レベル+10
- 器用さが18/180以上18/199以下の場合, blow_base = レベル+11
- 器用さが18/200以上18/219以下の場合, blow_base = レベル+12
- 器用さが18/220以上の場合, blow_base = レベル+13
blow_baseによって, 基本の攻撃回数は以下のように決定されます.
- 修行僧, 狂戦士
- blow_baseが12以下の時1回
- blow_baseが13~22の時2回
- blow_baseが23~31の時3回
- blow_baseが32~39の時4回
- blow_baseが40~46の時5回
- blow_baseが47~53の時6回
- blow_baseが54~59の時7回
- blow_baseが60以上の時8回
- 練気術師
- blow_baseが18以下の時1回
- blow_baseが19~31の時2回
- blow_baseが32~44の時3回
- blow_baseが45~58の時4回
- blow_baseが59以上の時5回
元記事†
http://www.kmc.gr.jp/~henkma/heng/num_blows/index.html