イベントには何度でも発生するものと回数限定のものがあります。
回数限定のイベントを制御するには、イベント終了時にフラグを切り替えます。
まずフラグの切り替えテストをするために筆者が利用しているイベントについて説明します。
ゲーム序盤から終盤まで手軽に立ち寄れる海賊の洞窟の回復の泉のイベントに手を加えると、
簡単にフラグの切り替えテストができて便利です。
StirlingでFF5のRomを読み込んで、検索・移動→指定アドレスへ移動→85c33と打ち込んで
ジャンプします。すると、下の画像の位置へ移動できます。
赤くなっているところは移動直後にStirlingの右上のMARKアイコンでマーキングしました。
いじりたいアドレスにジャンプしたらすぐにマーキングする習慣をつけておくと作業効率が
上がるのでオススメです。$85C33からC8 48 00 0C 06 …と続いています。イベントコードに
慣れてくると初見で大体どこが区切りか見当がつきますが、初めは暗号みたいなもんで1つ1つが
何を表しているかさっぱりわからないと思います。Wikiのイベントコード表をtxtファイルとして
保存しておいて、イベント編集時に開いておいて辞書的に使っているうちに主要なコードは
自然に頭に入ります。頻度の低いコードはその都度調べながらという形になります。
$85C33のC8はメッセージ表示命令で、C8 xx yyと指定します。ここでは48 00です。これは
メッセージID 0x0048を表示します。IDは上下をひっくり返します。このメッセージの内容は
「回復の泉です。……」です。このC8 48 00の3バイトをイベントフラグ制御命令に書き換えると
回復の泉に浸かるだけでイベントフラグを切り替えられるので便利です。
フラグ切り替えのイベントコードはA2 xx、A3 xxやA4 xx、A5 xxなどがあります。
A2はスイッチオンで、対になるA3はオフです。A4はオンで、対になるA5はオフです。
フラグ切り替えのコードは2バイトですが、テスト用に潰すメッセージ命令は3バイトなので
例えばC8 48 00をA4 FFと上書きすると3バイト目の00が余ってしまいます。この3バイト目が
誤作動につながらないように、70と書き換えます。すると上書きした3バイトはA4 FF 70という
並びになります。イベントコード70はフレームウェイト(0.25 秒)で、一瞬だけ動きを止める
命令です。要らない場所は一時的に70に書き換えておくと演出テストの際に予想外のエラーを
予防できます。
次に画像の最下段の85C43を見ると、A2 12 FFと続いています。このA2 12は
「回復の泉です。」の表示をやめるフラグです。回復の泉に浸かる2回目以降、この説明は
省略されて、いきなり続きの「HP・MP…」を表示するように変わるため、このフラグ切り替えが
行われます。このA2 12 FFのFFはイベント終了のコードです。FFを読み込んだ時点で
イベント終了なので、A2をFFに上書きしてFF 12 FFとすると、何度でも「回復の泉です。……」と
表示されるようになり、フラグ切り替えテストを何度でも繰り返せるようになります。
それではこのC8 48 00を色々と書き換えると何ができるかを簡単に紹介します。
A2 39 クレセントの地震、火力船水没終了
A4 E3 ウォルスの塔水没
A4 E4 カルナック城と壁を爆破
A4 F5 第3世界のタイクーン城消滅
A4 FE BGMそのまま
A4 FF モンスターエンカウントなし
これら以外にも個々のイベントにA2やA4のフラグが設定されているので、改変するイベントを
意図的に飛ばしたり、復活させたりする場合に回復の泉のメッセージC8 48 00を上書きして
テストプレイ時に利用してみて下さい。更に、人物フラグ切り替えコードもあって、特定のNPCを
登場させる場合はCA xx yy、退場させる場合はCB xx yyでIDを指定します。これらの命令は
3バイト必要なので、C8 48 00をそのまま上書きすれば大丈夫です。
例えばCB 8A 00と上書きして泉に浸かると、下の画像のカーウェンの町の子供(ID:00 8A)を
消すことができます。特定のNPCのテストでも回復の泉を使うと便利かと思います。
原作のセーブデータではA2 12が序盤で使用済みになってしまいますが、このパッチでは初めから
A2 12を潰してあるので、このパッチのsrmファイルを利用すればいつでも泉でのフラグテストができます。
次元城でハリカルナッソス戦に勝利すると、CB 90 03というコードが実行されます。
ID:0x0390を退場させる命令です。このコードはRomの$9C410にあります。
では、この人物は一体誰なのでしょうか? 下の画像をご覧下さい。
その正体は、なんと蜃気楼の町のPUBの勝手口にいる、ミラージュベストをくれる人でした。
ハリカルナッソスを倒すと、この人が町から忽然と姿を消します。何やら裏設定があったの
かもしれません。
今回はこれにて終わります。