バトルサーチャー枠拡張
バトルサーチャー枠拡張手順の説明を行なう。
・データ構造理解
・拡張手順
・拡張後の利用方法
データ構造理解
バトルサーチャーに反応するトレーナーリストの説明。1つのデータは16byte
UU UU VV VV WW WW XX XX YY YY ZZ ZZ mm 00 nn 00
UU UU:初戦のトレーナーID
VV VV:再戦1のトレーナーID
WW WW:再戦2のトレーナーID
XX XX:再戦3のトレーナーID
YY YY:再戦4のトレーナーID
ZZ ZZ:再戦5のトレーナーID
mm 00 nn 00:Mapbank,Map指定(mm.nn)
トレーナーIDは
"00 00"を指定すると、再戦無し
"FF FF"を指定すると、一つ前と同じトレーナーID扱いになる
再戦トレーナーの強化条件
初戦:再戦1の条件を満たさない場合
再戦1:人ID0x0292(クチバシティのバトルサーチャー入手イベント)
再戦2:人ID0x0896(タマムシシティ突入 そらをとぶ解禁フラグ)
再戦3:人ID0x0897(セキチクシティ突入 そらをとぶ解禁フラグ)
再戦4:人ID0x082C(殿堂入りする パソコンでんどういり表示フラグ)
再戦5:人ID0x0844(1のしまのネットワークマシン完成イベント RSE通信解禁+ハナダのどうくつ表示フラグ)
強化されるにはそれまでの条件を全て満たす必要がある。
*「再戦3」に強化されるには「再戦3」の条件の他に「再戦1〜2」の条件も満たしている必要がある。
最初から再戦5と戦うなど、飛び級は不可。
再戦前に複数の条件を満たしている場合、戦う度に一段階ずつ強化。
拡張手順
※FR(BPRJ)による拡張手順。再戦テーブルは0x414034〜以降に存在する。
このオフセットから3536(0x0DD0)byte分をコピー。
コピーしたものを空き領域に貼り付ける。
元のオフセット0x414034を参照している箇所を全て貼り付けた先頭部オフセットに置換。
以上で再戦テーブル拡張作業は終了となる。
個数指定(BPRJ):0x10D92C,0x10DB74,0x10DC94
新たにデータを追加した場合、上記の数値を任意の値に変更すること。(初期値:0xDC == 220)
拡張後の利用方法
データを設定した上で以下のようなトレーナースクリプトを組む。(このスクリプトだとピッタリ64byteになるので見やすいかも)
5C 00 UU UU 00 00 @@ @@ @@ 08 ## ## ## 08 00 00
26 0D 80 39 00 21 0D 80 01 00 06 01 ** ** ** 08
{0F}00 %% %% %% 08 09 06 6C 02[5C]05 UU UU 00 00
$$ $$ $$ 08 && && && 08 00 00 05 SS SS SS 08 02
UU UU:初戦のトレーナーID
@@ @@ @@:初戦の戦闘直前セリフ
## ## ##:初戦の戦闘直後セリフ
** ** **:[]のオフセットを指定
%% %% %%:戦闘後セリフ
$$ $$ $$:再戦の戦闘直前セリフ
&& && &&:再戦の戦闘直後セリフ
SS SS SS:{}のオフセットを指定
※05 SS SS SS 08 02は任意のセリフスクリプト等に変えても可
参考:「ポケモンのROM改造しようぜ@したらば Part4 20レス」
ttp://jbbs.shitaraba.net/bbs/read.cgi/game/54567/1408534144/20