反撃命令による武器選択の基準がよく分からないと言われているSFC版第3次スーパーロボット大戦ですが、反撃命令の設定箇所をざっと解析してみたところ、それぞれの命令で使用武器の選択基準が違っている事が分かりました。大まかな内容ですが、基本的には以下のような基準で反撃武器や行動を選択しています(なお、原則として敵軍やNPCのパイロットは「必ず反撃せよ!」に設定されています)。 「必ず反撃せよ!」は、残弾や残りENにかかわらず命中率が1%以上ある最強の武器を選択。その武器の命中率がゼロになる場合は、次に威力が高く命中率が1%以上ある武器を選択するという思考を繰り返す。どうしようもない場合は命中率がゼロでもとにかく現状で使用可能な最強の武器を選択する。これに合致する武器がない場合は反撃不能扱いになる。弾切れや射程外からの攻撃には何もしない。先攻側の攻撃でHPがゼロになると判断しても反撃を試み、それができない場合は反撃不能扱いとなる。原則として武器選択の際に相手の残りHPは考慮しないため、反撃相手のHPが仮に残り1であろうとも最強の武器で反撃する。前述の通り、敵軍やNPCは原則としてこの命令が設定されているため、回避力(=パイロットの反応と操縦と直感の総和に機体のサイズ補正を適用した数値)が低いユニットは威力重視の武器で反撃される事が多い。残弾やEN消費も気になるところだが、分身持ちであるゲッター2系やF91であればこの命令を活用できるかもしれない。 「積極的にいけ!」は、相手が一撃で倒せる場合は命中率が1%以上ある最強の武器を選択。但し、その武器の残弾が残り1だったり、その武器を使用してもう一度使用できるだけの残りENがなくなる場合は使わず、次に威力が高く命中率が1%以上あり、かつ残弾が残り2以上か現在のENで二回以上使用できるEN消費武器を選択するという思考を繰り返す(EN消費武器に関してはたまに例外あり)。どうしようもない場合は弾切れ、またはEN枯渇にならない命中率がゼロの現在選択できる最強の武器を選択する。これに合致する武器がない場合は反撃不能扱いになる(そのため、条件を成立させれば弾切れでなくともパイロットが弾切れの台詞を吐く姿を拝める)弾切れや射程外からの攻撃には何もしない。相手を一撃で倒せない場合の思考も同様。やはり原則として武器選択の際に反撃相手の...
今回は久々に第2次Gのイベントコードを解析してみました。前回は不明だったマップ上イベントのコードがいくつか追加されています。調査中のコードに関しては詳細が判明次第内容を公開する予定です。 0x0003 ウェイト。 03 xx yy 指定時間だけ操作受付禁止。xx yyは待ち時間。 0x0004 指定アドレスにジャンプ。 04 xx yy xx yyはROM(RAM)内のアドレス。 経過ターンによるイベント制御の際はEDと組み合わせて「ED zz 04 xx yy」となる。 0x0020 ??? 20 xx 調査中。 0x0049 BGMの開始。 49 xx xxはBGM番号。F6との違いは不明。 基本的にはF6が使われている事が多い。 0x0080 コントローラー操作を受け付け開始。 80 コントローラーによるボタン操作や十字キー操作などを受け付けるようにする。 0x0081 イベントページの終わり。 81 イベントページの実行を全て終了して次のフェイズに移行。 0x0084 パイロット参入。 84 xx yy xxはパイロットID。yyはレベル。 0x0085 機体入手。 85 xx xxは機体ID。 0x0086 パイロット離脱。 86 xx xxはパイロットID。 0x0087 機体離脱。 87 xx xxは機体ID。 0x0088 強制乗り換え 88 xx yy xxはパイロットID、yyは機体ID。 0x0089 自軍にユニット(パイロット搭乗済みの機体)が参入。 89 xx...