Published on: 2022-12-23
ダメージ攻撃には以下の 4 種類がある:
ダメージ計算式は基本的に全種類共通だが、種類ごとに「攻撃力」「防御力」「ダメージランク」の計算式が異なる。これらを「ダメージパラメータ」と総称する。
ダメージランクには以下の 5 種類がある:
ほとんどの場合、ダメージには攻撃側の内部LVによる乱数補正がかかる。これを「LVダメージボーナス」と呼ぶ。
LVダメージボーナスのテーブルは以下の通り:
内部LV | ボーナス |
---|---|
0..=9 | 0..=1 |
10..=19 | 2..=4 |
20..=29 | 5..=9 |
30..=39 | 8..=14 |
40..=49 | 12..=20 |
50..=59 | 14..=24 |
まず全種類共通のダメージ計算式を示し、その後種類ごとのダメージパラメータ計算式を示す。
以下、近接/遠隔攻撃を「通常攻撃」と総称する。
また、ESP以外の攻撃を「物理攻撃」と総称する。
まず「ダメージ基礎値」を計算する。
これはほとんどの場合そのまま最終ダメージとなるが、攻撃側または防御側がヤマタノオロチの場合のみさらに補正がかかる。
ダメージランクが E の場合、ダメージ基礎値は 2 * rand(1..=3) + (LVダメージボーナス最低値) / 2
となる。
それ以外の場合、まずダメージランクにより攻撃力を修正する(最大 255):
ダメージランク | 修正後攻撃力 |
---|---|
A | (攻撃力) * 4 / 3 |
B | (攻撃力) |
C | (攻撃力) * 4 / 5 |
D | (攻撃力) * 2 / 3 |
そして、ダメージ基礎値は min(1, (修正後攻撃力) - (防御力)) + (LVダメージボーナス)
となる。
攻撃側も防御側もヤマタノオロチでないなら、ダメージ基礎値がそのまま最終ダメージとなる。
攻撃側がヤマタノオロチの場合、最終ダメージは
(ダメージ基礎値) >= 45
なら 37 + (ダメージ基礎値)
となる。37 + 2 * (ダメージ基礎値) + rand(0..=3)
となる。防御側がヤマタノオロチの場合、最終ダメージは
2 * (ダメージ基礎値) + rand(0..=3)
となる。rand(1..=3)
となる。通常攻撃力は近接/遠隔、味方/敵でそれぞれ計算式が異なる。
まず、味方の遠隔攻撃の場合は武器攻撃力がそのまま使われる。
それ以外の場合、基礎攻撃力 (u16
) を求め、それをHP残量に応じて補正したものが攻撃力となる。
基礎攻撃力の計算式は以下の通り:
(STR) + (武器攻撃力)
(STR) + (内部LV)
HP残量による攻撃力補正式は以下の通り (最大 255):
HP残量 | 攻撃力 |
---|---|
0..=19 % | 1 + (基礎攻撃力) * 7 / 10 |
20..=39 % | 1 + (基礎攻撃力) * 8 / 10 |
40..=59 % | 1 + (基礎攻撃力) * 9 / 10 |
60..=100 % | 1 + (基礎攻撃力) |
手投げ弾攻撃力は防御側が通常敵なら 80, ストーリーボスなら 30 となる。
ESP攻撃力はESPの種類ごとに固定。ただし味方と敵でテーブルが異なる。
味方のESP攻撃力:
1 | 2 | 3 | 4 | |
---|---|---|---|---|
PK | 25 | 36 | 45 | 80 |
ウェーブ | 17 | 22 | 30 | 60 |
フレア | 10 | 17 | 22 | 40 |
敵のESP攻撃力:
1 | 2 | 3 | 4 | |
---|---|---|---|---|
PK | 8 | 16 | 25 | 35 |
ウェーブ | 6 | 10 | 17 | 30 |
フレア | 4 | 10 | 15 | 25 |
物理攻撃に対する防御力の計算式は共通:
min(255, (VIT) + (防具の防御力))
となる。min(255, (VIT) + (内部LV))
となる。ESP防御力は味方、通常敵、ストーリーボスでそれぞれ計算式が異なる。
味方のESP防御力はバリアレベルに応じた値となる:
バリアレベル | ESP防御力 |
---|---|
0 | 0 |
1 | 7 |
2 | 19 |
3 | 30 |
4 | 65 |
5 | 85 |
通常敵のESP防御力はバリアレベルに応じた値となる:
バリアレベル | ESP防御力 |
---|---|
0 | 0 |
1 | 18 |
2 | 25 |
3 | 48 |
ストーリーボスのESP防御力は敵IDごとに設定されている(バリアレベルは影響しない):
敵ID | ESP防御力 |
---|---|
91 (獣魔王 (赤)) | 12 |
92 (獣魔王 (青)) | 12 |
93 (獣魔王 (黄)) | 12 |
94 (邪教の祖) | 25 |
95 (海の凄ノ王) | 35 |
96 (山の凄ノ王) | 48 |
97 (空の凄ノ王) | 90 |
98 (ヤマタノオロチ) | 60 |
通常攻撃のダメージランクは近接/遠隔、味方/敵でそれぞれ計算式が異なる。
まず「命中率」の分子を求める。計算式は以下の表の通り:
種類 | 分子 |
---|---|
味方の近接攻撃 | 100 * ((攻撃側のMDX) + (武器の命中補正)) |
味方の遠隔攻撃 | 80 * (攻撃側のMDX) |
敵の近接/遠隔攻撃 | 100 * (攻撃側のMDX) |
(注: 本来は遠隔武器にも命中補正があると思われるが、誤って近接命中補正を参照しているため補正値が 0 になっている)
そして min(100, (分子) / (防御側のDEX))
を「命中率」とする。
そして乱数 r = rand(0..=99)
を発生し、
r == 0
ならばダメージランクを E とする。r == 1
ならばダメージランクを A とする。r >= (命中率)
ならばダメージランクを E とする。それ以外、即ち 2 <= r < (命中率)
の場合、idx = (命中率) / r % 8
とし、この値によりダメージランクを決める:
idx | ダメージランク |
---|---|
0..=4 | B |
5..=6 | C |
7 | D |
よって、近接/遠隔攻撃ともクリティカル率は 1% となる。
手投げ弾ダメージランクは乱数のみによって決まる。
まず rand(0..=99) < 9
ならダメージランクは E となる。
さもなくば rand(1..=4)
の結果によりダメージランクを決める:
乱数 | ダメージランク |
---|---|
1 | A |
2 | B |
3 | C |
4 | D |
よって、クリティカル率は約 23% となる。
ESPダメージランクは常に B。