トレーナーAIスクリプト

Last-modified: 2017-12-26 (火) 04:59:55

戦闘時のトレーナーのAIの挙動を決めるスクリプトの一覧

目次

記号の説明

下にあるスクリプト一覧にて使われている記号の詳細。

記号説明詳細
@@ @@ @@ @@オフセット
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でない)場合は後続のスクリプトを処理する

スクリプト指定

コード
00x1BDBB00x1BDC30
10x1BDBB40x1BE401
20x1BDBB80x1BFA2B
30x1BDBBC0x1BFA49
40x1BDBC00x1BFAAB
50x1BDBC40x1BFA9B
60x1BDBC80x1BFAD2
70x1BDBCC0x1BFAF7
80x1BDBD00x1BFAF8
90x1BDBD40x1BFC4D
100x1BDBD80x1BFCA9
110x1BDBDC0x1BFCA9
120x1BDBE00x1BFCA9
130x1BDBE40x1BFCA9
140x1BDBE80x1BFCA9
150x1BDBEC0x1BFCA9
160x1BDBF00x1BFCA9
170x1BDBF40x1BFCA9
180x1BDBF80x1BFCA9
190x1BDBFC0x1BFCA9
200x1BDC000x1BFCA9
210x1BDC040x1BFCA9
220x1BDC080x1BFCA9
230x1BDC0C0x1BFCA9
240x1BDC100x1BFCA9
250x1BDC140x1BFCA9
260x1BDC180x1BFCA9
270x1BDC1C0x1BFCA9
280x1BDC200x1BFCA9
290x1BDC240x1BFC64
300x1BDC280x1BFC92
310x1BDC2C0x1BFC99

アセンブリ指定

コード
000x3bC12C0x0C841D
010x3bC1300x0C845D
020x3bC1340x0C849D
030x3bC1380x0C84DD
040x3bC13C0x0C851D
050x3bC1400x0C8561
060x3bC1440x0C85C9
070x3bC1480x0C8631
080x3bC14C0x0C8699
090x3bC1500x0C8701
0A0x3bC1540x0C8775
0B0x3bC1580x0C87E9
0C0x3bC15C0x0C885D
0D0x3bC1600x0C88D1
0E0x3bC1640x0C8941
0F0x3bC1680x0C89B1
100x3bC16C0x0C8A2D
110x3bC1700x0C8AA9
120x3bC1740x0C8AE5
130x3bC1780x0C8B21
140x3bC17C0x0C8B5D
150x3bC1800x0C8B99
160x3bC1840x0C8BED
170x3bC1880x0C8C41
180x3bC18C0x0C8C95
190x3bC1900x0C8CE9
1A0x3bC1940x0C8D2D
1B0x3bC1980x0C8D71
1C0x3bC19C0x0C8DD9
1D0x3bC1A00x0C8E45
1E0x3bC1A40x0C8EB1
1F0x3bC1A80x0C8F21
200x3bC1AC0x0C8F91
210x3bC1B00x0C9001
220x3bC1B40x0C9025
230x3bC1B80x0C9115
240x3bC1BC0x0C9141
250x3bC1C00x0C9345
260x3bC1C40x0C939D
270x3bC1C80x0C93D9
280x3bC1CC0x0C9415
290x3bC1D00x0C9461
2A0x3bC1D40x0C94AD
2B0x3bC1D80x0C94B1
2C0x3bC1DC0x0C94B5
2D0x3bC1E00x0C95B1
2E0x3bC1E40x0C95CD
2F0x3bC1E80x0C95F9
300x3bC1EC0x0C9711
310x3bC1F00x0C97FD
320x3bC1F40x0C98CD
330x3bC1F80x0C98D1
340x3bC1FC0x0C98D5
350x3bC2000x0C9999
360x3bC2040x0C9A5D
370x3bC2080x0C9AC9
380x3bC20C0x0C9B15
390x3bC2100x0C9B61
3A0x3bC2140x0C9BC9
3B0x3bC2180x0C9C31
3C0x3bC21C0x0C9C99
3D0x3bC2200x0C9D01
3E0x3bC2240x0C9DFD
3F0x3bC2280x0C9EE1
400x3bC22C0x0C9FBD
410x3bC2300x0CA099
420x3bC2340x0CA18D
430x3bC2380x0CA265
440x3bC23C0x0CA2ED
450x3bC2400x0CA37D
460x3bC2440x0CA391
470x3bC2480x0CA41D
480x3bC24C0x0CA431
490x3bC2500x0CA4B1
4A0x3bC2540x0CA509
4B0x3bC2580x0CA555
4C0x3bC25C0x0CA5A1
4D0x3bC2600x0CA5C9
4E0x3bC2640x0CA615
4F0x3bC2680x0CA641
500x3bC26C0x0CA66D
510x3bC2700x0CA699
520x3bC2740x0CA6E5
530x3bC2780x0CA6E9
540x3bC27C0x0CA6ED
550x3bC2800x0CA6F1
560x3bC2840x0CA6F5
570x3bC2880x0CA6F9
580x3bC28C0x0CA6FD
590x3bC2900x0CA72D
5A0x3bC2940x0CA74D
5B0x3bC2980x0CA771
5C0x3bC29C0x0CA849
5D0x3bC2A00x0CA899