スキップしてメイン コンテンツに移動

最新の投稿

ファミコン版天地を喰らう 軍師キャラの隊列変更阻止について

 天地を喰らうシリーズは策略を使うにあたって「軍師」に任命された武将がいないと使用不能になるのですが、軍師に任命された武将は戦闘が開始されると隊列の一番後ろに配置され、隊列が6人以上になると直接戦闘に参加できなくなるというシステムになっています。これがいわゆる文官タイプ(武力や兵士数が低く知力が高い傾向の武将)であればまだいいのですが、劉備や馬謖や姜維のように文武両道の武将を軍師に任命する必要がある場合は事情が変わってきます。そこで、軍師に任命した武将がどのような処理で隊列の一番後ろに回されてしまうのか調べてみました。その結果、大まかに言うと「戦闘開始時にまず隊列の人数をチェックし、6人未満である場合は各武将の状態をチェックし、正常であれば隊列の位置そのまま、それ以外の状態の武将は隊列の最後尾に変更する。6人以上の場合は軍師を隊列の最後尾に移動させるが、負傷中の武将がいる場合は更に軍師の後ろに配置する」という処理内容でした。ここで言う武将の状態は「00=負傷中(戦闘不能)、40=軍師、80=正常、C0=正常かつ軍師」の4種類で、この処理内容を変更すれば軍師に任命した武将も隊列の変更がないまま戦闘に参加できそうです。つまり「隊列が6人以上でも6人未満でも武将が正常な状態であれば隊列の位置そのままを維持し、負傷中の武将のみ隊列の最後尾に変更する」とすればよいのではないでしょうか。この仮説を基に改変を行い、成功すればパッチとして公開する予定です。

第2次スーパーロボット大戦G シナリオデモのイベントコード

ようやくシナリオデモ(マップ開始前・終了後の会話画面)のイベントコードがほぼ解明できました。シナリオ変更の一助になれば幸いです。

次はマップそのもので展開されるイベントコードの解明ですが、こちらはしばらく時間がかかりそうです。気長にお待ち下さい。


0x0003 ウェイト。 03 xx yy

                xx yyは待ち時間。

0x0004 指定アドレスにジャンプ。 04 xx yy

                xx yyはROM内のアドレス。

0x0049 BGMの変更。 49 xx

                xxはBGM番号。

0x0081 シナリオデモの終わり。 81

0x0084 パイロット参入。 84 xx

                xxはパイロットID。

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 yy zz

                xxはパイロットID、yyはパイロットのレベル、zzは機体ID。

0x008A フラグONならば指定アドレスにジャンプ。

                F2 XX YY 8A xx yy

                xx yyはROM内のアドレス。「F2 XX YY」と組み合わせて使用。

0x008B フラグOFFならば指定アドレスにジャンプ。

                F2 XX YY 8B xx yy     9B 8B xx yy

                xx yyはROM内のアドレス。「F2 XX YY」と組み合わせて使用。

                択一イベントの場合は「9B」と組み合わせ。

                選択肢の二番目を選ぶとxx yyにジャンプ。

0x0092 メッセージイベント開始。 92 xx yy zz

                xxはパイロットID。yy zzはメッセージID。

0x009A メッセージ呼び出し。 9A xx yy

                xx yyはメッセージID。

0x009B 択一イベント開始。 9B 8B xx yy

                基本的に「8B xx yy」と一緒に使用。

                選択肢の二番目を選ぶとxx yyにジャンプ。

0x009E ワールドMAPを呼び出してポインタを付ける。 9E ww xx yy zz

                wwはワールドMAPのID、xxは地名ID、yy zzはMAP上の座標。

0x009F 指定座標にポインタを動かす。 9F xx yy zz

                xxは地名ID、yy zzは目標座標。

0x00A4 表示ウィンドウを消す。 A4

0x00C8 指定機体の改造引き継ぎ。 C8 xx yy

                xxは引き継ぎ元の機体ID、yyは引き継ぎ先の機体ID。

0x00C9 指定パイロットを出撃禁止にする。 C9 xx

                xxはパイロットID。

0x00CA 指定パイロットの出撃禁止を解除する。 CA xx

                xxはパイロットID。

0x00CE 次のシナリオの指定。 CE xx

                xxはシナリオのID。

0x00E1 指定パイロットが経験値を取得。 E1 xx yy zz

                xxはパイロットID、yy zzは取得する経験値。

0x00F0 指定フラグをONにする。 F0 xx yy

                xx yyはフラグ番号。

0x00F2 指定フラグを参照する。 F2 xx yy

                xx yyはフラグ番号。

0x00F4 資金を入手。 F4 xx yy

                xx yyは入手する資金の額。

0x00F6 BGMの開始。 F6 xx

                xxはBGM番号。

コメント

人気の投稿

キャプテン翼4 ファンベルグの「光るシュート」とオルミーガの「吹っ飛ばし補正」について

第4次スーパーロボット大戦 初期型ROMと後期型ROMの物理的な見分け方と入手方法

第4次スーパーロボット大戦 改造コスト&改造数値分岐パッチを公開しました