戦闘時に表示されるセリフの変更・追加方法


1.メッセージの記述

0x3D9A00 - 0x3DA7FF [可変長] 戦闘メッセージ

戦闘時に表示されるメッセージそのものです。ロマサガ3の文字コードで記述します。
通常メッセージと同じく0x24で改行できます。
ウェイトは 25 14(短い)、または 25 28(長い)です。
横に表示できる最大の文字数は10文字までで、3行まで表示できます。
4行目を表示すると1行目がスクロールアウトします。
終了コードを記述する必要はありません。

0x3DA7FFまで領域が確保されていますが、0x3D9CACまでしか使用されていないので2899バイト追加できます。


2.メッセージオフセットの記述

0x3D9800 - 0x3D99FF [size:2] 戦闘メッセージオフセット

戦闘時に表示されるメッセージのオフセットです。サイズは2バイトでリトルエンディアンで記述します。
この値に0x3D9A00を足したアドレスに実際のメッセージが記述されます。
メッセージデータにはデータ長や終了コードを含んでいないので、データの終了位置を検出するために、
次のオフセットアドレスの1バイト手前までを実際のデータとしています。
例えば実際のメッセージが30個しかなくても、最後のメッセージの終了位置を表すためにオフセットは31個
書く必要があります。データを追加するときには注意が必要です。

オフセットアドレスの記述位置を特定する方法は少々特殊ですが、0x3D9864がメッセージ番号00のオフセット
で以下2バイトづつ01、02と続くと覚えておけば問題ないです。

使用できるメッセージ番号は00〜3Fまでで、13までは使用済みです。
さらに15は全滅時のメッセージに強制的に変換されるので使用できません。
他にも使用できないものがあるかもしれません。
現状はもう空きがないかも知れません。


3.メッセージを表示するタイミングの記述

0x3E915B - 0x3E925A [size:8] 戦闘メッセージセット

戦闘中のどのタイミングでどのメッセージを表示するかを記述したデータです。
データ長は8バイトで、以下の意味があります。

1バイト目 戦闘開始時に表示するメッセージ番号
2バイト目 不明(ゲーム中では未使用)
3バイト目 不明(ゲーム中では未使用)
4バイト目 敵全滅後に表示するメッセージ番号
5バイト目 最後の敵が消滅する直前に表示するメッセージ番号
6バイト目 不明(ゲーム中では未使用)
7バイト目 不明(ゲーム中では未使用)
8バイト目 不明(ゲーム中では未使用)

メッセージ番号のみを書いた場合は、メッセージ枠なしで文字のみの表示になります。
  1. 0x40で1行分の枠を、+0x80で2行分の枠を、+0xC0で3行分の枠を表示できます。

32個分の領域が確保されていますが、実際には00〜07の8個しか使われていないので24個分追加できます。


4.イベント戦闘にメッセージセット番号を割り当てる

イベント戦闘詳細データの2バイト目にメッセージセット番号を記述します。



イベント戦闘処理変更


4バイト目
01不明
02ねずみの群れ
04ボディチェンジ
08ウンディーネ出現
10ビューネイ空中戦
20ナハトズィーガー戦
40悪鬼戦
80撃破時演出

5バイト目
01,02,04 不明
08破壊するもの戦
10アウナスのアニメ
20撃破時演出
30真アウナスのアニメ+撃破時演出
40パンチ反転なし
80不明
最終更新:2012年06月18日 13:25