イベントにはイベントチップを踏んだ際に発生する通常のイベントとNPCに話しかけた際に
発生する会話イベントがあります。今回は会話イベントについて説明します。
会話イベントの説明はWikiのイベント項目にあるのですが、筆者には全く理解できていません。
単に指定したメッセージを表示するだけの命令が一番簡単で、特定のイベントを呼び出す命令は
書き換えてもフリーズしてしまうことが多く、既存の会話イベントを後からいじるのは正直なところ
非常に面倒だと思いました。会話イベントの仕組みをきちんと理解していれば可能だとは
思いますが、会話イベント領域を拡張して自分で新たに設計した方が遥かに少ない労力で済むと
思います。現状、筆者には拡張の技術がないためこの方法は実現困難です。
でも、イベントチップを踏んで発生するイベントばかりではなく、誰かに話しかけたときに発生する
会話イベントも少しは作りたいと思うのが人情ですよね。そこで、既存の会話イベントを潰して
新たな会話イベントに書き換えてしまうという、いわば強制転用のやり方を今回は紹介します。
原作のストーリー全体を通して、潰せる会話イベントの候補は幾つかあるのですが、中でも
リックスの村のバッツの幼馴染の学者の回想イベントとイストリーの村の牧場で魔獣使いごっこを
している少女のイベントだとフラグが独立しているので手軽に転用できます。
このパッチでもこれら2つの会話イベントを改造して全く別の用途に用いています。
$E0740から会話イベントが記述されているのですが、既存の会話イベントを転用する場合には
これらは無視して、改造方法1で紹介したNPCの入れ替えを応用すればOKです。リックスの学者は
$E798Aから05 02 43 1F 19 0A 21と設定されています。このIDの05 02で任意のNPCのIDを上書き
すると、回想イベントを転用できます。
例えばトゥールの村にいる、初心者の館へと案内してくれる紫色のおじいさんのIDを05 02に
書き換えると、話しかけた際にバッツの幼少時の回想イベントが発生します。
おじいさんの設定は$E62A7から78 00 42 9C 2B 09 41と設定されています。このIDの78 00を
05 02で上書きします。これが転用の第一段階で、第二段階はイベントの中身の書き換えです。
そうすれば回想イベントを任意のNPCに設定した上で内容も完全に別物へと改変できます。
回想イベントの中身は$93D12〜93D9Eまで記述されています。終了フラグはA2 E2です。
こちらは141バイトあるので、様々な演出を詰め込むことができます。
学者とは別のNPCにID:05 02を振った場合は、学者本人のIDを差し障りのないIDに変えて
おく必要があります。そのままIDを交換してセリフを書き換えておくのが無難かと思います。
イストリーの村の羊は$E75E7からD9 01 25 2B 1B 8D 20と設定されています。
このID:D9 01を別のNPCに振れば会話イベントを転用できます。元の羊のIDはD0 01に
しておけば「めェ〜」と鳴くだけになります。イベントの中身は$95890〜958AAまでで、
終了フラグはA4 0Eです。こちらはリックスの回想より尺が短いため、シンプルなボス戦などに
転用するといいと思います。
このパッチでは、トゥールの村の初心者の館へ案内してくれるおじいさんのID($E62A7〜)を
5F 02で上書きしています。本来は、もの知りじいさんのIDなのですが、序盤からデータを
確認できた方が便利だと思い、移動させました。もの知りじいさんの追加情報はこちら。
今回はこれにて終わります。