2022年2月6日

カスタムロボV2 ダメージ計算

・計算式
※数学的ではなくプログラミング的に書きます。
ダメージ=0
同一フレームにヒットした全ての攻撃の分だけ以下の2行のどちらかを繰り返す
熱い物/アタックの場合: ダメージ+=攻撃力
ガン/ボム/ポッドの場合: ダメージ+=小数切り捨て(攻撃力×攻撃力補正×0.01)
ダウンしている場合: ダメージ×=ダウン補正×0.01
ダメージ=小数切り捨て(小数切り捨て(ダメージ×防御力補正/900/100×1000)×0.001×1000)
HP=(小数切り捨て(HP×1000)-ダメージ)×0.001

※HPは内部的には0から1つまり表示上の1/1000であり、ダメージも実際には1/1000と捉えることもできる。
※0.001と0.01と900は即値ではなく変数(逆に言えば100と1000は即値)なので確認した限りは変動しないが何らかの条件で変動する可能性は否定できない。
※一般的な電卓と実機では計算精度が異なるので完全に同じ答えにはならない。例えば精度の高い計算では2になるようなダメージが実機では1.9999ダメージになりそれを小数切り捨てした結果1ダメージになるみたいなことが起きることがある。
※計算式を数学的に整理すると、各種補正値は予め100で割るとして、
ダメージ=小数切り捨て(小数切り捨て(攻撃力×攻撃力補正)×ダウン補正×防御力補正×10/9)

・攻撃力
それぞれの武器や攻撃手段が持っている値。
熱い物※の攻撃力は100。
※ステージに存在するマグマ/火/お茶。

・攻撃力補正
通常:100
パワースタイル: +5
メタルグラップラー: +5
エアリアルビューティー: -5
※コメットは100、タイガーロアは110。
※アタック/熱い物のダメージには影響しない。

・防御力補正
ゲーム中でいう防御力の逆数。以下相関(括弧内は例外)。
防御力1: 126
防御力2: 121 (ベル: 120)
防御力3: 115 (ビット: 114)
防御力4: 110 (ドレイク/銀髪翁: 109)
防御力5: 105 (メイジェル: 110)
防御力6: 100 (ベイオネット/レイIIダーク: 105)
防御力7: 95
防御力8: 90
防御力9: 85
防御力10: 80 (ジェイムスン: 30)
※デク(試し撃ちロボ)の補正値は100。

・ダウン補正
ダウン中は特定の攻撃のダメージが軽減される。
どれくらい軽減されるかは攻撃の種類やロボの種類で違う。
補正値 (アタック, ガン, ボム/ポッドの順)
通常: 30, 30, 50
リトルレイダー/リトルスプリンター: 40, 40, 50
ファッティバイス: 35, 38, 63
ヒヨコロボ: 33, 38, 45
熱い物の補正値は一律で100である。
細かい話だが熱い物ではダウン補正がスキップされるのではなく100として計算される。

・ダウン補正の優先順位
異なる種類の攻撃が同時に当った場合、ダウン補正は個別に設定されず以下の優先順位で決定される。
優先順位: ポッド>ボム>ガン>アタック>熱い物
つまり、例えばガンとポッドが同時に当たった場合ガンのダメージもろとも50%で計算されるため有利だし、特にTAS作成の上では必須の知識。
ちなみに攻撃を受けたロボのふっとび方も上記の優先順位に従って決定される。

・破壊可能なオブジェクトに対するダメージ
計算式: HP=HP-攻撃力×防御力補正
※ガン以外ではダメージを与えられない(はず)。
※ロボと違って攻撃力補正が乗らない。
※無傷の木箱と氷のHPは250、キノコは100。
※グレイブヤードの木のHPは100だが何らかの理由で破壊不可能。
※ロボと違ってHPが1/1000されないのでロボに比べめちゃくちゃHPが多いと捉えることもできる。
※防御力補正はそれぞれのオブジェクトが個体ごとに持つ値だが確認した限り全てのオブジェクトで1なので数学的には無視できる。