マイトアンドマジック (FC) 攻略/解析 - エンカウント

戦闘前フェイズ

戦闘前フェイズについて。これは先制判定/処理において戦闘回避も敵先制も起こらなかった場合に実行される。

戦闘前フェイズでは「たたかう」「おくりもの」「にげる」「こうさん」からコマンドを選択する。

「たたかう」またはキャンセルを選んだ場合、単に戦闘に突入する。(実はこのとき Wizardry 風の性格変更処理が行われるが、実際には機能していない: 詳細)

「おくりもの」「にげる」「こうさん」については以下で個別に述べる。

注意: 本項におけるGOLDの処理は全て u24 演算である。つまり、値の読み書きにおいて最上位バイトは無視される。

「おくりもの」コマンド

「GEM」「FOOD」「GOLD」「やめる」からコマンドを選択する。

「やめる」またはキャンセルを選んだ場合、単に戦闘に突入する。

「GEM」「FOOD」「GOLD」については以下で個別に述べる。なお、戦闘を回避できた場合、PTは現在の座標にとどまる。

「おくりもの」->「GEM」コマンド

PT先頭の者のGEMが 0 なら拒絶され、戦闘に突入する。さもなくばPT全員のGEMが 0 になって戦闘を回避できる。

「おくりもの」->「FOOD」コマンド

PT先頭の者のFOODが 0 なら拒絶され、戦闘に突入する。さもなくば現在のマップに設定された成功確率に基づく乱数判定を行い、成功したらPT全員のFOODが 0 になって戦闘を回避できる。失敗した場合は拒絶され、戦闘に突入する。

「おくりもの」->「GOLD」コマンド

PT先頭の者のGOLDが 0 なら拒絶される。さもなくば 1/2 の確率で成功し、PT全員のGOLDが 0 になって戦闘を回避できる。失敗した場合は拒絶され、戦闘に突入する。

「にげる」コマンド

99/110 の確率で成功し、戦闘を回避できる。このときPTは現在のマップの初期座標へ移動する。失敗した場合は戦闘に突入する。

失敗した場合に追加の成功判定を行うコードがあるが、実際には機能していない。乱数を振り直すのを忘れたものと思われる。

「こうさん」コマンド

準備として (敵軍友好度) = (敵軍中でモンスターランクが最大の者(同点の場合は敵インデックスが最大の者)の友好度) と定義する。

降参コマンドの成功判定は 2 段階ある。成功した場合、物資(GOLD/GEM/FOOD)を失う可能性がある。また、第 1 判定と第 2 判定では成功時のPT座標が異なる。

まず 1..=100 の乱数 r を発生する。

そして第 1 判定を行う。r > (現在のマップの降参失敗率 (%)) ならば成功して戦闘を回避でき、PTは現在の座標にとどまり、PT全員のGOLDが 0 になる。

第 1 判定に失敗したら第 2 判定を行う。r < (敵軍友好度) ならば成功して戦闘を回避でき、PTは現在のマップに設定された「降参ワープ先座標」へ移動し、さらに新たな乱数を発生して物資消失判定を行う。各事象とその確率は以下の通り:

事象確率
物資は失われない50/200
PT全員のGOLDが 0 になる100/200
PT全員のGEMが 0 になる10/200
PT全員のFOODが 0 になる10/200
PT全員のGOLD, FOODが 0 になる20/200
PT全員のGOLD, GEMが 0 になる9/200
PT全員のGOLD, GEM, FOODが 0 になる1/200

第 2 判定にも失敗したら戦闘に突入する。