戦闘時のトレーナーのAIの挙動を決めるスクリプトの一覧
目次
- 記号の説明
- スクリプト個別解説
- 00:乱数比較1
- 01:乱数比較2
- 02:乱数比較3
- 03:乱数比較4
- 04:優先度加算
- 05:対象の残HP比率比較1
- 06:対象の残HP比率比較2
- 07:対象の残HP比率比較3
- 08:対象の残HP比率比較4
- 09:対象の状態異常フラグ比較1
- 0A:対象の状態異常フラグ比較2
- 0B:対象の状態変化フラグ(ステータスメモリ管理)比較1
- 0C:対象の状態変化フラグ(ステータスメモリ管理)比較2
- 0D:対象の状態変化フラグ(0x02023d5c~管理)比較1
- 0E:対象の状態変化フラグ(0x02023d5c~管理)比較2
- 0F:対象のフィールド状態フラグ比較1
- 10:対象のフィールド状態フラグ比較2
- 11:AIデータ一時変数1バイト比較(直値指定)1
- 12:AIデータ一時変数1バイト比較(直値指定)2
- 13:AIデータ一時変数1バイト比較(直値指定)3
- 14:AIデータ一時変数1バイト比較(直値指定)4
- 15:AIデータ一時変数1バイト比較(アドレス指定)1
- 16:AIデータ一時変数1バイト比較(アドレス指定)2
- 17:AIデータ一時変数1バイト比較(アドレス指定)3
- 18:AIデータ一時変数1バイト比較(アドレス指定)4
- 19:技コード比較1
- 1A:技コード比較2
- 1B:AIデータ一時変数1バイト比較(1バイトリスト指定)1
- 1C:AIデータ一時変数1バイト比較(1バイトリスト指定)2
- 1D:AIデータ一時変数2バイト比較(2バイトリスト指定)1
- 1E:AIデータ一時変数2バイト比較(2バイトリスト指定)2
- 1F:技威力チェック1
- 20:技威力チェック2
- 21:経過ターン数取得
- 22:対象タイプ情報取得
- 23:技威力取得
- ★24:技威力判定
- 25:直前に使用した技の技コード取得
- 26:AIデータ一時変数1バイト比較(直値指定)3-2
- 27:AIデータ一時変数1バイト比較(直値指定)4-2
- ★28:行動順序判定1
- ★29:行動順序判定2
- 2A:ブランクコード
- 2B:ブランクコード
- ★2C:戦闘可能手持ち数取得
- 2D:技コード取得
- 2E:技効果ID取得
- ★2F:対象特性情報取得
- ★30:相性倍率情報取得
- ★31:相性倍率比較
- 32:ブランクコード
- 33:ブランクコード
- 34:控えポケモン状態異常比較
- 35:控えポケモン状態異常比較
- 天候情報取得
- 37:技効果ID比較1
- 38:技効果ID比較2
- 39:対象のステータスメモリ(1バイト項目)比較1
- 3A:対象のステータスメモリ(1バイト項目)比較2
- 3B:対象のステータスメモリ(1バイト項目)比較3
- 3C:対象のステータスメモリ(1バイト項目)比較4
- ★3D:撃破可能チェック1
- ★3E:撃破可能チェック2
- 3F:指定のコードの技存在チェック1
- 40:指定のコードの技存在チェック2
- 41:指定の効果IDを持つ技存在チェック1
- 42:指定の効果IDを持つ技存在チェック2
- 43:かなしばり、アンコール状態判定
- 44:かなしばり、アンコール技判定
- 45:逃げる動作設定
- ★46:確率分岐
- 47:うかがう動作設定
- ★48:所持アイテムの所持効果ID取得
- 49:性別取得
- 4A:場に出てからの経過ターン数取得
- 4B:たくわえる回数取得
- 4C:バトル形式取得
- 4D:使用アイテムのコード取得
- 4E:技タイプ取得2
- 4F:技威力取得2
- 50:技効果ID取得2
- 51:まもる・みきり連続使用取得
- 52:ブランクコード
- 53:ブランクコード
- 54:ブランクコード
- 55:ブランクコード
- 56:ブランクコード
- 57:ブランクコード
- ★58:詳細不明
- 59:指定アドレスジャンプ
- ★5A:処理終了
- 5B:レベル比較
- 5C:挑発ターン数チェック1
- 5Dの:挑発ターン数チェック2
- スクリプト指定
- アセンブリ指定
記号の説明
下にあるスクリプト一覧にて使われている記号の詳細。
記号 | 説明 | 詳細 |
@@ @@ @@ @@ | オフセット | |
XX | 任意指定値 | |
TT | 指定対象 | 00:相手 01:自分 (02:相手 03:自分 のケースもある) |
tt | 指定対象 | 00:自分 01:相手 TTとは内容が異なる |
tg | 評価対象 | 00:HPランク 01:攻撃ランク 02:防御ランク 03:素早さランク 04:特攻ランク 05:特防ランク 06:命中ランク 07:回避ランク 08:特性 09:タイプ1 0A:タイプ2 0B:ブランクメモリ 0C:1番目の技のPP 0D:2番目の技のPP 0E:3番目の技のPP 0F:4番目の技のPP 10:現在HP下位1バイト 11現在HP上位1バイト 12:レベル 13:なつき度 14:最大HP下位1バイト 15:最大HP上位1バイト 16:持ち物コード下位1バイト 17:持ち物コード上位1バイト |
Ty | タイプ情報 | 00:相手第1タイプ 01:自分第1タイプ 02:相手第2タイプ 03:自分第2タイプ 04:技タイプ |
MU | 相性計算倍率 | A0:4倍 50:2倍 28:等倍 14:1/2 0A:1/4 00:効果なし |
lo | アンコール・かなしばり判定指定 | 00:かなしばり判定 01:アンコール判定 |
CC | 判定条件 | 00:攻撃側のレベルが防御側より高い 01:攻撃側のレベルが防御側より低い 02:攻撃側と防御側のレベルが同じ |
スクリプト個別解説
見出しに★がついているものは検証不足
00:乱数比較1
00 XX @@ @@ @@ @@
生成された乱数の最下位1バイトの内容が指定値未満の場合、指定アドレスにジャンプ。
指定値以上の場合は後続のスクリプトを処理する。
01:乱数比較2
01 XX @@ @@ @@ @@
生成された乱数の最下位1バイトの内容が指定値より大きい場合、指定アドレスにジャンプ。
指定値以下の場合は後続のスクリプトを処理する。
02:乱数比較3
02 XX @@ @@ @@ @@
生成された乱数の最下位1バイトの内容が指定値と一致する場合、指定アドレスにジャンプ。
指定値と不一致の場合は後続のスクリプトを処理する。
03:乱数比較4
02 XX @@ @@ @@ @@
生成された乱数の最下位1バイトの内容が指定値と不一致の場合、指定アドレスにジャンプ。
指定値と一致する場合は後続のスクリプトを処理する。
04:優先度加算
04 XX
技選択優先度に対しXXで指定した値を加える。指定値は符号付き整数として扱う。(01:+1、FF:-1)
指定地を加えた結果、優先度がマイナスになる場合は、優先度0とする。
05:対象の残HP比率比較1
05 TT XX @@ @@ @@ @@
対象TTの現在HPの最大HPに対する比率が指定値未満の場合、指定アドレスにジャンプ
指定値以上の場合は後続のスクリプトを処理する。
06:対象の残HP比率比較2
06 TT XX @@ @@ @@ @@
対象TTの現在HPの最大HPに対する比率が指定値より大きい場合、指定アドレスにジャンプ
指定値以下の場合は後続のスクリプトを処理する。
07:対象の残HP比率比較3
07 TT XX @@ @@ @@ @@
対象TTの現在HPの最大HPに対する比率が指定値と一致する場合、指定アドレスにジャンプ
指定値と不一致の場合は後続のスクリプトを処理する。
08:対象の残HP比率比較4
08 TT XX @@ @@ @@ @@
対象TTの現在HPの最大HPに対する比率が指定値と不一致の場合、指定アドレスにジャンプ
指定値と一致する場合は後続のスクリプトを処理する。
09:対象の状態異常フラグ比較1
09 TT XX XX XX XX @@ @@ @@ @@
対象TTの状態異常フラグと指定値XXが1ビットでも一致する場合、指定アドレスにジャンプ
全ビットで不一致の場合は後続のスクリプトを処理する。
0A:対象の状態異常フラグ比較2
0A TT XX XX XX XX @@ @@ @@ @@
対象TTの状態異常フラグと指定値XXが全ビットで不一致の場合、指定アドレスにジャンプ
1ビットでも一致する場合は後続のスクリプトを処理する。
0B:対象の状態変化フラグ(ステータスメモリ管理)比較1
0B TT XX XX XX XX @@ @@ @@ @@
対象TTのステータスメモリ管理の状態変化フラグと指定値XXが1ビットでも一致する場合、指定アドレスにジャンプ
全ビットで不一致の場合は後続のスクリプトを処理する。
0C:対象の状態変化フラグ(ステータスメモリ管理)比較2
0C TT XX XX XX XX @@ @@ @@ @@
対象TTのステータスメモリ管理の状態変化フラグと指定値XXが全ビットで不一致の場合、指定アドレスにジャンプ
1ビットでも一致する場合は後続のスクリプトを処理する。
0D:対象の状態変化フラグ(0x02023d5c~管理)比較1
0D TT XX XX XX XX @@ @@ @@ @@
対象TTの0x02023d5c~で管理される状態変化フラグと指定値XXが1ビットでも一致する場合、指定アドレスにジャンプ
全ビットで不一致の場合は後続のスクリプトを処理する。
0E:対象の状態変化フラグ(0x02023d5c~管理)比較2
0E TT XX XX XX XX @@ @@ @@ @@
対象TTの0x02023d5c~で管理される状態変化フラグと指定値XXが全ビットで不一致の場合、指定アドレスにジャンプ
1ビットでも一致する場合は後続のスクリプトを処理する。
0F:対象のフィールド状態フラグ比較1
0F TT XX XX XX XX @@ @@ @@ @@
対象TTのステータスメモリ管理の状態変化フラグと指定値XXが1ビットでも一致する場合、指定アドレスにジャンプ
全ビットで不一致の場合は後続のスクリプトを処理する。
10:対象のフィールド状態フラグ比較2
10 TT XX XX XX XX @@ @@ @@ @@
対象TTのステータスメモリ管理の状態変化フラグと指定値XXが全ビットで不一致の場合、指定アドレスにジャンプ
1ビットでも一致する場合は後続のスクリプトを処理する。
11:AIデータ一時変数1バイト比較(直値指定)1
11 XX @@ @@ @@ @@
AIデータ一時変数(+0x8)にセットされた内容が指定値XX未満の場合、指定アドレスにジャンプ
指定値XX以上の場合は後続のスクリプトを処理する。
12:AIデータ一時変数1バイト比較(直値指定)2
12 XX @@ @@ @@ @@
AIデータ一時変数(+0x8)にセットされた内容が指定値XXより大きい場合、指定アドレスにジャンプ
指定値XX以下の場合は後続のスクリプトを処理する。
13:AIデータ一時変数1バイト比較(直値指定)3
13 XX @@ @@ @@ @@
AIデータ一時変数(+0x8)にセットされた内容が指定値XXと一致する場合、指定アドレスにジャンプ
指定値XXと不一致の場合は後続のスクリプトを処理する。
14:AIデータ一時変数1バイト比較(直値指定)4
14 XX @@ @@ @@ @@
AIデータ一時変数(+0x8)にセットされた内容が指定値XXと不一致の場合、指定アドレスにジャンプ
指定値XXと一致する場合は後続のスクリプトを処理する。
15:AIデータ一時変数1バイト比較(アドレス指定)1
15 @1 @1 @1 @1 @2 @2 @2 @2
AIデータ一時変数(+0x8)にセットされた内容が指定アドレス1から読み取った1バイトの値未満の場合、指定アドレス2にジャンプ
読み取った値以上の場合は後続のスクリプトを処理する。
16:AIデータ一時変数1バイト比較(アドレス指定)2
16 @1 @1 @1 @1 @2 @2 @2 @2
AIデータ一時変数(+0x8)にセットされた内容が指定アドレス1から読み取った1バイトの値より大きい場合、指定アドレス2にジャンプ
読み取った値以下の場合は後続のスクリプトを処理する。
17:AIデータ一時変数1バイト比較(アドレス指定)3
17 @1 @1 @1 @1 @2 @2 @2 @2
AIデータ一時変数(+0x8)にセットされた内容が指定アドレス1から読み取った1バイトの値と一致する場合、指定アドレス2にジャンプ
読み取った値と不一致の場合は後続のスクリプトを処理する。
18:AIデータ一時変数1バイト比較(アドレス指定)4
18 @1 @1 @1 @1 @2 @2 @2 @2
AIデータ一時変数(+0x8)にセットされた内容が指定アドレス1から読み取った1バイトの値と不一致の場合、指定アドレス2にジャンプ
読み取った値と一致する場合は後続のスクリプトを処理する。
19:技コード比較1
19 XX XX @@ @@ @@ @@
AIデータ一時変数(+0x2)にセットされた技コードが指定値XXと一致する場合、指定アドレスにジャンプ
指定値XXと不一致の場合は後続のスクリプトを処理する。
1A:技コード比較2
1A XX XX @@ @@ @@ @@
AIデータ一時変数(+0x2)にセットされた技コードが指定値XXと不一致の場合、指定アドレスにジャンプ
指定値XXと一致する場合は後続のスクリプトを処理する。
1B:AIデータ一時変数1バイト比較(1バイトリスト指定)1
1B @1 @1 @1 @1 @2 @2 @2 @2
AIデータ一時変数(+0x8)にセットされた内容1バイトが指定アドレス1にある1バイトリスト内の値と一致する場合、指定アドレス2にジャンプ
リスト内の値全てと不一致の場合は後続のスクリプトを処理する。
1C:AIデータ一時変数1バイト比較(1バイトリスト指定)2
1C @1 @1 @1 @1 @2 @2 @2 @2
AIデータ一時変数(+0x8)にセットされた内容1バイトが指定アドレス1にある1バイトリスト内の値全てと不一致の場合、指定アドレス2にジャンプ
リスト内の値と一致する場合は後続のスクリプトを処理する。
1D:AIデータ一時変数2バイト比較(2バイトリスト指定)1
1D @1 @1 @1 @1 @2 @2 @2 @2
AIデータ一時変数(+0x8)にセットされた内容2バイトが指定アドレス1にある2バイトリスト内の値と一致する場合、指定アドレス2にジャンプ
リスト内の値全てと不一致の場合は後続のスクリプトを処理する。
1E:AIデータ一時変数2バイト比較(2バイトリスト指定)2
1E @1 @1 @1 @1 @2 @2 @2 @2
AIデータ一時変数(+0x8)にセットされた内容2バイトが指定アドレス1にある2バイトリスト内の値全てと不一致の場合、指定アドレス2にジャンプ
リスト内の値と一致する場合は後続のスクリプトを処理する。
1F:技威力チェック1
1F @@ @@ @@ @@
攻撃側が所持している技の中で、威力が0でないものが1つでも存在する場合、指定アドレスにジャンプ。
全ての技の威力が0の場合は後続のスクリプトを処理する。
20:技威力チェック2
20 @@ @@ @@ @@
攻撃側が所持しているすべての技の威力が0の場合、指定アドレスにジャンプ。
威力が0でない技が1つでも存在する場合は後続のスクリプトを処理する。
21:経過ターン数取得
21
0x03004fe3にて管理されている戦闘時の経過ターン数を読み出し、AIデータ一時変数(+0x8)にセットする。
22:対象タイプ情報取得
22 Ty
対象タイプ情報Tyを読み出し、AIデータ一時変数(+0x8)にセットする。
23:技威力取得
23
AIデータ一時変数にセットされた技コードの威力情報を読み出し、AIデータ一時変数(+0x8)にセットする。
★24:技威力判定
24
攻撃側が所持している技の威力と、ダメージ計算の結果与えると想定されるダメージ量ををチェックし
・技威力が1以下、もしくは0x3bc2a4~0x3bc2bdのリストと技効果IDが一致する場合:0
・想定されるダメージ量が最大でない場合:1
・想定されるダメージ量が最大である場合:2
をAIデータ一時変数(+0x8)にセットする。
25:直前に使用した技の技コード取得
25 TT
指定対象が直前に使用した技の技コードを0x02023cf8~0x02023cffから取得し、AIデータ一時変数(+0x8)にセットする。
26:AIデータ一時変数1バイト比較(直値指定)3-2
26 XX @@ @@ @@ @@
13と同等の挙動。
27:AIデータ一時変数1バイト比較(直値指定)4-2
27 XX @@ @@ @@ @@
14と同等の挙動。
★28:行動順序判定1
28 TT @@ @@ @@ @@
指定対象TTの行動順番が相手より遅い場合、指定アドレスへジャンプ。
相手より速い場合は後続のスクリプトを処理する。
★29:行動順序判定2
29 TT @@ @@ @@ @@
指定対象TTの行動順番が相手より速い場合、指定アドレスへジャンプ。
相手より遅い場合は後続のスクリプトを処理する。
2A:ブランクコード
2B:ブランクコード
★2C:戦闘可能手持ち数取得
2C TT
指定対象TTのパーティ内で、戦闘可能状態であるポケモンの数をカウントし、AIデータ一時変数(+0x8)にセットする。
2D:技コード取得
2D
AIデータ一時変数(+0x2)にセットされた技コードを読み出し、AIデータ一時変数(+0x8)にセットする。
2E:技効果ID取得
2E
AIデータ一時変数(+0x2)にセットされた技コードの効果ID情報を読み出し、AIデータ一時変数(+0x8)にセットする。
★2F:対象特性情報取得
2F TT
指定対象の特性ID情報を読み出し、AIデータ一時変数(+0x8)にセットする。
★30:相性倍率情報取得
30
攻撃側が所持している技の相性計算の結果、倍率が最大になる技の倍率をAIデータ一時変数(+0x8)にセットする。
★31:相性倍率比較
31 MU @@ @@ @@ @@
技の相性計算の結果による倍率が、指定倍率MUと一致する場合、指定アドレスにジャンプ。
指定値MUと不一致の場合は後続のスクリプトを処理する。
32:ブランクコード
33:ブランクコード
34:控えポケモン状態異常比較
34 tt XX XX XX XX @@ @@ @@ @@
指定対象tt側の控えポケモンの状態異常フラグが一匹でも指定値XXと一致した場合、指定アドレスにジャンプ
全ての手持ちが指定値XXと不一致の場合は後続のスクリプトを処理する
35:控えポケモン状態異常比較
35 tt XX XX XX XX @@ @@ @@ @@
指定対象tt側の控えすべてのポケモンの状態異常フラグが指定値XXと不一致の場合、指定アドレスにジャンプ
一匹でも指定値XXと一致する場合は後続のスクリプトを処理する
…という処理にしたかったようだけど、実際には条件を満たしても満たさなくても指定アドレスにジャンプする。
天候情報取得
36
0x02023e7cから取得した天候フラグを元に、以下の値をAIデータ一時変数(+0x8)にセットする。
晴れ:00 雨:01 砂嵐:02 霰:03
37:技効果ID比較1
37 XX @@ @@ @@ @@
AIデータ一時変数(+0x2)にセットされた技コードの技効果IDが指定値XXと一致する場合、指定アドレスにジャンプ
指定値XXと不一致の場合は後続のスクリプトを処理する。
38:技効果ID比較2
38 XX @@ @@ @@ @@
AIデータ一時変数(+0x2)にセットされた技コードの技効果IDが指定値XXと不一致の場合、指定アドレスにジャンプ
指定値XXと一致する場合は後続のスクリプトを処理する。
39:対象のステータスメモリ(1バイト項目)比較1
39 TT tg XX @@ @@ @@ @@
対象TTのステータスメモリの項目tgが指定値未満の場合、指定アドレスにジャンプ
指定値以上の場合は後続のスクリプトを処理する。
3A:対象のステータスメモリ(1バイト項目)比較2
3A TT tg XX @@ @@ @@ @@
対象TTのステータスメモリの項目tgが指定値より大きい場合、指定アドレスにジャンプ
指定値以下の場合は後続のスクリプトを処理する。
3B:対象のステータスメモリ(1バイト項目)比較3
3B TT tg XX @@ @@ @@ @@
対象TTのステータスメモリの項目tgが指定値と一致する場合、指定アドレスにジャンプ
指定値と不一致の場合は後続のスクリプトを処理する。
3C:対象のステータスメモリ(1バイト項目)比較4
3C TT tg XX @@ @@ @@ @@
対象TTのステータスメモリの項目tgが指定値と不一致の場合、指定アドレスにジャンプ
指定値と一致する場合は後続のスクリプトを処理する。
★3D:撃破可能チェック1
3D @@ @@ @@ @@
技で与えることができると想定されるダメージ量が、防御側の現在以上の場合、指定アドレスにジャンプ
防御側の現在HP未満の場合は後続のスクリプトを処理する。
★3E:撃破可能チェック2
3E @@ @@ @@ @@
技で与えることができると想定されるダメージ量が、防御側の現在未満の場合、指定アドレスにジャンプ
防御側の現在HP以上の場合は後続のスクリプトを処理する。
3F:指定のコードの技存在チェック1
3F TT XX XX @@ @@ @@ @@
以下の場合は指定アドレスにジャンプする。
・指定対象が自分で、自分が所持する技の中に指定の技がある場合
・指定対象が相手で、相手が使用した技の中に指定の技がある場合
以下の場合は後続のスクリプトを処理する。
・指定対象が自分で、自分が所持する技の中に指定の技がない場合
・指定対象が相手で、相手が使用した技の中に指定の技がない場合
40:指定のコードの技存在チェック2
40 TT XX XX @@ @@ @@ @@
以下の場合は指定アドレスにジャンプする。
・指定対象が自分で、自分が所持する技の中に指定の技がない場合
・指定対象が相手で、相手が使用した技の中に指定の技がない場合
以下の場合は後続のスクリプトを処理する。
・指定対象が自分で、自分が所持する技の中に指定の技がある場合
・指定対象が相手で、相手が使用した技の中に指定の技がある場合
41:指定の効果IDを持つ技存在チェック1
41 TT XX @@ @@ @@ @@
以下の場合は指定アドレスにジャンプする。
・指定対象が自分で、自分が所持する技の中に指定の技がある場合
・指定対象が相手で、相手が使用した技の中に指定の技がある場合
・指定対象が相手で、相手が使用した技の中に指定の技がない場合(おそらくバグ)
以下の場合は後続のスクリプトを処理する。
・指定対象が自分で、自分が所持する技の中に指定の技がない場合
42:指定の効果IDを持つ技存在チェック2
42 TT XX @@ @@ @@ @@
以下の場合は指定アドレスにジャンプする。
・指定対象が自分で、自分が所持する技の中に指定の技がない場合
以下の場合は後続のスクリプトを処理する。
・指定対象が自分で、自分が所持する技の中に指定の技がある場合
・指定対象が相手で、相手が使用した技の中に指定の技がない場合(おそらくバグ)
・指定対象が相手で、相手が使用した技の中に指定の技がある場合
43:かなしばり、アンコール状態判定
43 TT lo @@ @@ @@ @@
指定対象の状態loの対象になっている技コードが00でない(ロックされた技がある状態の)場合、指定アドレスにジャンプ
結果が00(ロックされた技がない状態)の場合、後続のスクリプトを処理する。
44:かなしばり、アンコール技判定
44 lo @@ @@ @@ @@
AIデータ一時変数(+0x2)にセットされた技コードと、攻撃側の状態loの対象になっている技コードが一致する場合、指定アドレスにジャンプ
双方の技コードが不一致の場合、後続のスクリプトを処理する。
45:逃げる動作設定
45
AIデータ一時変数(+0x10)の内容と0xbをorr取って再セットする。
サファリゾーン用AIスクリプトとして使用。実行するとポケモンが逃げ出す。
★46:確率分岐
46 @@ @@ @@ @@
0x02023f48の情報より取得できる結果が、生成された乱数の値未満の場合、指定アドレスにジャンプ
乱数の値以上だった場合、後続のスクリプトを処理する
サファリゾーン用AIスクリプトとして使用していると思われる。45/47の呼び分け用の可能性。
47:うかがう動作設定
47
AIデータ一時変数(+0x10)の内容と0xdをorr取って再セットする。
サファリゾーン用AIスクリプトとして使用。実行するとポケモンがこちらの様子をうかがう。
★48:所持アイテムの所持効果ID取得
48 TT
指定対象が所持するアイテムの所持効果IDを取得し、AIデータ一時変数(+0x8)にセットする。
49:性別取得
49 TT
指定対象の性別を取得し、AIデータ一時変数(+0x8)にセットする。
性別情報は以下の通り。
00:オス
FE:メス
FF:不明
4A:場に出てからの経過ターン数取得
4A TT
指定対象が場に出てからのターン数を取得し、AIデータ一時変数(+0x8)にセットする。
ターン数情報は以下の通り
00:場に出てから2回目以降の行動ターン
01:場に出てからの初回行動ターン
4B:たくわえる回数取得
4B TT
指定対象がたくわえるを使用してたくわえた回数を取得し、AIデータ一時変数(+0x8)にセットする。
4C:バトル形式取得
4C
バトル形式がシングルバトルかダブルバトルかを取得し、AIデータ一時変数(+0x8)にセットする。
00:シングルバトル
01:ダブルバトル
4D:使用アイテムのコード取得
4D TT
指定対象が前回使用した道具のアイテムコードを取得し、AIデータ一時変数(+0x8)にセットする。
4E:技タイプ取得2
4E
AIデータ一時変数(+0x8)にセットされている技コードより技タイプを取得し、AIデータ一時変数(+0x8)にセットする。
4F:技威力取得2
4F
AIデータ一時変数(+0x8)にセットされている技コードより技威力を取得し、AIデータ一時変数(+0x8)にセットする。
50:技効果ID取得2
50
AIデータ一時変数(+0x8)にセットされている技コードより技効果IDを取得し、AIデータ一時変数(+0x8)にセットする。
51:まもる・みきり連続使用取得
51 TT
指定対象のまもる・みきりの連続使用回数を取得し、AIデータ一時変数(+0x8)にセットする。
52:ブランクコード
53:ブランクコード
54:ブランクコード
55:ブランクコード
56:ブランクコード
57:ブランクコード
★58:詳細不明
58 @@ @@ @@ @@
0xca8e8の処理をを行ったあと、無条件で指定アドレスにジャンプする。
59:指定アドレスジャンプ
59 @@ @@ @@ @@
無条件で指定アドレスにジャンプする。
★5A:処理終了
5A
0xca934の戻り値が0なら、AIデータ一時変数(+0x10)内容と0x1のorrを取って再セットする。
スクリプト終端に記述する。
5B:レベル比較
5B CC @@ @@ @@ @@
攻撃側と防御側のレベルの比較結果がCCの条件を満たす場合、指定アドレスにジャンプする。
条件を満たさない場合は後続のスクリプトを処理する。
5C:挑発ターン数チェック1
5C @@ @@ @@ @@
防御側が挑発状態の(挑発経過ターン数が00でない)場合、指定アドレスにジャンプする
挑発状態でない(挑発経過ターン数が00の)場合は後続のスクリプトを処理する
5Dの:挑発ターン数チェック2
5D @@ @@ @@ @@
防御側が挑発状態でない(挑発経過ターン数が00の)場合、指定アドレスにジャンプする
挑発状態の(挑発経過ターン数が00でない)場合は後続のスクリプトを処理する
スクリプト指定
コード | ||
0 | 0x1BDBB0 | 0x1BDC30 |
1 | 0x1BDBB4 | 0x1BE401 |
2 | 0x1BDBB8 | 0x1BFA2B |
3 | 0x1BDBBC | 0x1BFA49 |
4 | 0x1BDBC0 | 0x1BFAAB |
5 | 0x1BDBC4 | 0x1BFA9B |
6 | 0x1BDBC8 | 0x1BFAD2 |
7 | 0x1BDBCC | 0x1BFAF7 |
8 | 0x1BDBD0 | 0x1BFAF8 |
9 | 0x1BDBD4 | 0x1BFC4D |
10 | 0x1BDBD8 | 0x1BFCA9 |
11 | 0x1BDBDC | 0x1BFCA9 |
12 | 0x1BDBE0 | 0x1BFCA9 |
13 | 0x1BDBE4 | 0x1BFCA9 |
14 | 0x1BDBE8 | 0x1BFCA9 |
15 | 0x1BDBEC | 0x1BFCA9 |
16 | 0x1BDBF0 | 0x1BFCA9 |
17 | 0x1BDBF4 | 0x1BFCA9 |
18 | 0x1BDBF8 | 0x1BFCA9 |
19 | 0x1BDBFC | 0x1BFCA9 |
20 | 0x1BDC00 | 0x1BFCA9 |
21 | 0x1BDC04 | 0x1BFCA9 |
22 | 0x1BDC08 | 0x1BFCA9 |
23 | 0x1BDC0C | 0x1BFCA9 |
24 | 0x1BDC10 | 0x1BFCA9 |
25 | 0x1BDC14 | 0x1BFCA9 |
26 | 0x1BDC18 | 0x1BFCA9 |
27 | 0x1BDC1C | 0x1BFCA9 |
28 | 0x1BDC20 | 0x1BFCA9 |
29 | 0x1BDC24 | 0x1BFC64 |
30 | 0x1BDC28 | 0x1BFC92 |
31 | 0x1BDC2C | 0x1BFC99 |
アセンブリ指定
コード | ||
00 | 0x3bC12C | 0x0C841D |
01 | 0x3bC130 | 0x0C845D |
02 | 0x3bC134 | 0x0C849D |
03 | 0x3bC138 | 0x0C84DD |
04 | 0x3bC13C | 0x0C851D |
05 | 0x3bC140 | 0x0C8561 |
06 | 0x3bC144 | 0x0C85C9 |
07 | 0x3bC148 | 0x0C8631 |
08 | 0x3bC14C | 0x0C8699 |
09 | 0x3bC150 | 0x0C8701 |
0A | 0x3bC154 | 0x0C8775 |
0B | 0x3bC158 | 0x0C87E9 |
0C | 0x3bC15C | 0x0C885D |
0D | 0x3bC160 | 0x0C88D1 |
0E | 0x3bC164 | 0x0C8941 |
0F | 0x3bC168 | 0x0C89B1 |
10 | 0x3bC16C | 0x0C8A2D |
11 | 0x3bC170 | 0x0C8AA9 |
12 | 0x3bC174 | 0x0C8AE5 |
13 | 0x3bC178 | 0x0C8B21 |
14 | 0x3bC17C | 0x0C8B5D |
15 | 0x3bC180 | 0x0C8B99 |
16 | 0x3bC184 | 0x0C8BED |
17 | 0x3bC188 | 0x0C8C41 |
18 | 0x3bC18C | 0x0C8C95 |
19 | 0x3bC190 | 0x0C8CE9 |
1A | 0x3bC194 | 0x0C8D2D |
1B | 0x3bC198 | 0x0C8D71 |
1C | 0x3bC19C | 0x0C8DD9 |
1D | 0x3bC1A0 | 0x0C8E45 |
1E | 0x3bC1A4 | 0x0C8EB1 |
1F | 0x3bC1A8 | 0x0C8F21 |
20 | 0x3bC1AC | 0x0C8F91 |
21 | 0x3bC1B0 | 0x0C9001 |
22 | 0x3bC1B4 | 0x0C9025 |
23 | 0x3bC1B8 | 0x0C9115 |
24 | 0x3bC1BC | 0x0C9141 |
25 | 0x3bC1C0 | 0x0C9345 |
26 | 0x3bC1C4 | 0x0C939D |
27 | 0x3bC1C8 | 0x0C93D9 |
28 | 0x3bC1CC | 0x0C9415 |
29 | 0x3bC1D0 | 0x0C9461 |
2A | 0x3bC1D4 | 0x0C94AD |
2B | 0x3bC1D8 | 0x0C94B1 |
2C | 0x3bC1DC | 0x0C94B5 |
2D | 0x3bC1E0 | 0x0C95B1 |
2E | 0x3bC1E4 | 0x0C95CD |
2F | 0x3bC1E8 | 0x0C95F9 |
30 | 0x3bC1EC | 0x0C9711 |
31 | 0x3bC1F0 | 0x0C97FD |
32 | 0x3bC1F4 | 0x0C98CD |
33 | 0x3bC1F8 | 0x0C98D1 |
34 | 0x3bC1FC | 0x0C98D5 |
35 | 0x3bC200 | 0x0C9999 |
36 | 0x3bC204 | 0x0C9A5D |
37 | 0x3bC208 | 0x0C9AC9 |
38 | 0x3bC20C | 0x0C9B15 |
39 | 0x3bC210 | 0x0C9B61 |
3A | 0x3bC214 | 0x0C9BC9 |
3B | 0x3bC218 | 0x0C9C31 |
3C | 0x3bC21C | 0x0C9C99 |
3D | 0x3bC220 | 0x0C9D01 |
3E | 0x3bC224 | 0x0C9DFD |
3F | 0x3bC228 | 0x0C9EE1 |
40 | 0x3bC22C | 0x0C9FBD |
41 | 0x3bC230 | 0x0CA099 |
42 | 0x3bC234 | 0x0CA18D |
43 | 0x3bC238 | 0x0CA265 |
44 | 0x3bC23C | 0x0CA2ED |
45 | 0x3bC240 | 0x0CA37D |
46 | 0x3bC244 | 0x0CA391 |
47 | 0x3bC248 | 0x0CA41D |
48 | 0x3bC24C | 0x0CA431 |
49 | 0x3bC250 | 0x0CA4B1 |
4A | 0x3bC254 | 0x0CA509 |
4B | 0x3bC258 | 0x0CA555 |
4C | 0x3bC25C | 0x0CA5A1 |
4D | 0x3bC260 | 0x0CA5C9 |
4E | 0x3bC264 | 0x0CA615 |
4F | 0x3bC268 | 0x0CA641 |
50 | 0x3bC26C | 0x0CA66D |
51 | 0x3bC270 | 0x0CA699 |
52 | 0x3bC274 | 0x0CA6E5 |
53 | 0x3bC278 | 0x0CA6E9 |
54 | 0x3bC27C | 0x0CA6ED |
55 | 0x3bC280 | 0x0CA6F1 |
56 | 0x3bC284 | 0x0CA6F5 |
57 | 0x3bC288 | 0x0CA6F9 |
58 | 0x3bC28C | 0x0CA6FD |
59 | 0x3bC290 | 0x0CA72D |
5A | 0x3bC294 | 0x0CA74D |
5B | 0x3bC298 | 0x0CA771 |
5C | 0x3bC29C | 0x0CA849 |
5D | 0x3bC2A0 | 0x0CA899 |