反撃命令による武器選択の基準がよく分からないと言われているSFC版第3次スーパーロボット大戦ですが、反撃命令の設定箇所をざっと解析してみたところ、それぞれの命令で使用武器の選択基準が違っている事が分かりました。大まかな内容ですが、基本的には以下のような基準で反撃武器や行動を選択しています(なお、原則として敵軍やNPCのパイロットは「必ず反撃せよ!」に設定されています)。 「必ず反撃せよ!」は、残弾や残りENにかかわらず命中率が1%以上ある最強の武器を選択。その武器の命中率がゼロになる場合は、次に威力が高く命中率が1%以上ある武器を選択するという思考を繰り返す。どうしようもない場合は命中率がゼロでもとにかく現状で使用可能な最強の武器を選択する。これに合致する武器がない場合は反撃不能扱いになる。弾切れや射程外からの攻撃には何もしない。先攻側の攻撃でHPがゼロになると判断しても反撃を試み、それができない場合は反撃不能扱いとなる。原則として武器選択の際に相手の残りHPは考慮しないため、反撃相手のHPが仮に残り1であろうとも最強の武器で反撃する。前述の通り、敵軍やNPCは原則としてこの命令が設定されているため、回避力(=パイロットの反応と操縦と直感の総和に機体のサイズ補正を適用した数値)が低いユニットは威力重視の武器で反撃される事が多い。残弾やEN消費も気になるところだが、分身持ちであるゲッター2系やF91であればこの命令を活用できるかもしれない。 「積極的にいけ!」は、相手が一撃で倒せる場合は命中率が1%以上ある最強の武器を選択。但し、その武器の残弾が残り1だったり、その武器を使用してもう一度使用できるだけの残りENがなくなる場合は使わず、次に威力が高く命中率が1%以上あり、かつ残弾が残り2以上か現在のENで二回以上使用できるEN消費武器を選択するという思考を繰り返す(EN消費武器に関してはたまに例外あり)。どうしようもない場合は弾切れ、またはEN枯渇にならない命中率がゼロの現在選択できる最強の武器を選択する。これに合致する武器がない場合は反撃不能扱いになる(そのため、条件を成立させれば弾切れでなくともパイロットが弾切れの台詞を吐く姿を拝める)弾切れや射程外からの攻撃には何もしない。相手を一撃で倒せない場合の思考も同様。やはり原則として武器選択の際に反撃相手の...
全面が空中という異色のマップ「キリマンジャロの嵐」は飛行適性がない機体は出撃できないのですが、その特殊な処理(実は空中マップと見せかけた陸上マップで、ユニットは全て「空」や「雲」という名の陸上地形パネルに着陸しているという扱いなのです)の影響で地形適応は「空」ではなく「陸」が参照されてしまい、正常なダメージ計算が適用されません(通称「キリマンジャロバグ」)。少し解析してみたところ地形適応をチェックするプログラム内にはこれをどうこうするような対策はされておらず、結局のところこれを解決するには専用の新たな地形適応チェックのルーチンを組むしかなさそうです。…というわけで、修正パッチを作成してみました(パッチ名は「地形適応バグ修正パッチ」です)。以下のURLからダウンロード可能です。本来のソフトに存在する不具合なのでパスワードは設定していません。
以前、私の友人がこの不具合の解決に取り組んだのですが、参考までにその方法を聞いてみたところ「RAMのシナリオIDをチェックして現在のマップが『キリマンジャロの嵐』であれば陸の地形適応判定を強制的に空の地形適応判定に変更するサブルーチンにジャンプする」というものだったそうです。なかなか面白そうな処理ですが、その場合は他に同じような空中マップを自作する場合に応用が利かないという欠点があります。そこで私は「RAMのマップ状態設定IDがキリマンジャロ(=空中マップ)のIDである場合は地形適応判定を全て空の地形適応判定に変更する」という方式にしてあります。これならば他の空中マップを作製した場合でもそのまま使用できますし、応用として月や火星の地形適応を第3次スーパーロボット大戦やスーパーロボット大戦F完結編のように宇宙扱いに変更する(あまり知られていませんが、F完では月や火星は陸上でも空中でも宇宙扱いの計算が適用されます)にできます。今回公開したパッチはキリマンジャロ上空の場合は強制的に空、月の場合は強制的に宇宙の地形適応が参照されます。火星に関しては処理を組み込んだのですが、ダンバイン系の機体が活躍できなくなる事を考慮し、処理の作成後に「EA」で消去しています。これを再現するにはパッチ適用後にノーマル版であれば29FFD4~29FFD7を、4M版であれば3FEDA4~3FEDA7を「C9 12 F0 0A」に置き替えて下さい。
コメント
コメントを投稿