凄ノ王伝説 (PCE) 攻略/解析

Published on: 2022-12-23

戦闘 - ダメージ計算

ダメージ攻撃には以下の 4 種類がある:

ダメージ計算式は基本的に全種類共通だが、種類ごとに「攻撃力」「防御力」「ダメージランク」の計算式が異なる。これらを「ダメージパラメータ」と総称する。

ダメージランクには以下の 5 種類がある:

ほとんどの場合、ダメージには攻撃側の内部LVによる乱数補正がかかる。これを「LVダメージボーナス」と呼ぶ。
LVダメージボーナスのテーブルは以下の通り:

内部LVボーナス
0..=90..=1
10..=192..=4
20..=295..=9
30..=398..=14
40..=4912..=20
50..=5914..=24

まず全種類共通のダメージ計算式を示し、その後種類ごとのダメージパラメータ計算式を示す。

以下、近接/遠隔攻撃を「通常攻撃」と総称する。
また、ESP以外の攻撃を「物理攻撃」と総称する。

ダメージ計算

まず「ダメージ基礎値」を計算する。
これはほとんどの場合そのまま最終ダメージとなるが、攻撃側または防御側がヤマタノオロチの場合のみさらに補正がかかる。

ダメージ基礎値

ダメージランクが E の場合、ダメージ基礎値は 2 * rand(1..=3) + (LVダメージボーナス最低値) / 2 となる。

それ以外の場合、まずダメージランクにより攻撃力を修正する(最大 255):

ダメージランク修正後攻撃力
A(攻撃力) * 4 / 3
B(攻撃力)
C(攻撃力) * 4 / 5
D(攻撃力) * 2 / 3

そして、ダメージ基礎値は min(1, (修正後攻撃力) - (防御力)) + (LVダメージボーナス) となる。

最終ダメージ

攻撃側も防御側もヤマタノオロチでないなら、ダメージ基礎値がそのまま最終ダメージとなる。

攻撃側がヤマタノオロチの場合、最終ダメージは

防御側がヤマタノオロチの場合、最終ダメージは

ダメージパラメータの計算

通常攻撃力

通常攻撃力は近接/遠隔、味方/敵でそれぞれ計算式が異なる。

まず、味方の遠隔攻撃の場合は武器攻撃力がそのまま使われる。

それ以外の場合、基礎攻撃力 (u16) を求め、それをHP残量に応じて補正したものが攻撃力となる。
基礎攻撃力の計算式は以下の通り:

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の種類ごとに固定。ただし味方と敵でテーブルが異なる。

味方のESP攻撃力:

1234
PK25364580
ウェーブ17223060
フレア10172240

敵のESP攻撃力:

1234
PK8162535
ウェーブ6101730
フレア4101525

物理防御力

物理攻撃に対する防御力の計算式は共通:

ESP防御力

ESP防御力は味方、通常敵、ストーリーボスでそれぞれ計算式が異なる。

味方のESP防御力はバリアレベルに応じた値となる:

バリアレベルESP防御力
00
17
219
330
465
585

通常敵のESP防御力はバリアレベルに応じた値となる:

バリアレベルESP防御力
00
118
225
348

ストーリーボスのESP防御力は敵IDごとに設定されている(バリアレベルは影響しない):

敵IDESP防御力
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) を発生し、

それ以外、即ち 2 <= r < (命中率) の場合、idx = (命中率) / r % 8 とし、この値によりダメージランクを決める:

idxダメージランク
0..=4B
5..=6C
7D

よって、近接/遠隔攻撃ともクリティカル率は 1% となる。

手投げ弾ダメージランク

手投げ弾ダメージランクは乱数のみによって決まる。

まず rand(0..=99) < 9 ならダメージランクは E となる。
さもなくば rand(1..=4) の結果によりダメージランクを決める:

乱数ダメージランク
1A
2B
3C
4D

よって、クリティカル率は約 23% となる。

ESPダメージランク

ESPダメージランクは常に B。