敵編成処理終了後の先制判定/処理について。
自軍/敵軍の先制判定には $039A
の値が関わっており、これを「先制値」と呼称する。先制値は起動直後の初期値が 0 で、以下のタイミングで変化する:
まず、先制値の bit7 が 1 ならば必ず敵軍先制となる。
注: 先制値は敵軍先制時に 0xFF になるから、いったん敵軍に先制されるとそれ以降の強制エンカウントではずっと敵軍先制が続く。この状態を解除するにはセーブ->リセットor全滅->ロードを行うか、徘徊エンカウントを起こすしかない(いずれの場合も先制値が 0 に戻る)。これは正式な仕様とは考えにくいので、何らかの不具合と思われる(戦闘終了時に値をリセットするのを忘れた、など)。
そうでない場合、先制値が 0 でなければ自軍先制判定を行う。現在のマップの自軍先制確率に基づく乱数判定を行い、成功すれば自軍先制となる。
注: 先制値の初期値は 0 だから、起動後に少なくとも 1 回徘徊エンカウント判定にかかっていなければ自軍先制にはなりえない。
自軍先制にならなかった場合、敵軍先制判定を行う。まず、PTバフ「幻の犬」が有効なら敵軍先制にはならない。さもなくば現在のマップの敵軍先制確率に基づく乱数判定を行い、成功すれば敵軍先制となる。
敵軍先制にもならなかった場合、両軍先制なしで戦闘前フェイズへ移行する。
自軍先制の場合、敵はこちらに気付いておらず、敵に近づくかどうか尋ねられる。返答により以下のように分岐する:
敵軍先制の場合、直ちに戦闘に突入する。また、上記の通り先制値が 0xFF になる。