バトルファクトリーの最初の6匹を解析してみる その3

選ばれた6匹がシャッフルされているのならばそれに乱数が使われているはずだが、とりあえず先に1戦目の相手の3匹を調べることにした。
が、1戦目で間違えて必要な情報をメモし損ねたのでやり直す。

出た初期seedは0xdd0c01f8
出た6匹はポニータ,ムクバード,ゴローン,タマンタ,アノプス,ドードー
初期seedと6匹のポケモンの名前を入力すれば親IDや性格値を書き出すツールを作ったのでそれの結果を貼る。

その6匹の組み合わせは初期seedの近くに見つかりませんでした

……。あれ。

仕方がないので、手作業で親IDのseedを探す。

ポニータ 223: 0x610276d9 0x6102 24834
ムクバード 45: 0xe5ba1327 0xe5ba 58810
ゴローン 79: 0x67e9e309 0x67e9 26601
タマンタ 305: 0xc72b797b 0xc72b 50987
アノプス 37: 0x8779f43f 0x8779 34681
ドードー 107: 0x67cb4975 0x67cb 26571

ファクトリーID

ポニータ: 149
ムクバード: 90
ゴローン: 128
タマンタ: 93
アノプス: 104
ドードー: 48
30: 0x002ee97e 104
31: 0xf4922f19 90
32: 0x72ee0c18 128
33: 0xe99ad6ab 48
34: 0x1797e142 111
35: 0x4d59658d 149
36: 0x840f937c 93

34に111という余計なものが挟まっている。
111番目はニドリーノだ。あ、そうか、ゴローンとニドリーノの持ち物が気合のハチマキで重複していたからスキップされたんだ。
ツールに持ち物重複を考慮する処理を追加して・・・、よしうまくいった。

30: 0x002ee97e 150 - 0x002e % 150 = 104 アノプス
31: 0xf4922f19 150 - 0xf492 % 150 = 90 ムクバード
32: 0x72ee0c18 150 - 0x72ee % 150 = 128 ゴローン
33: 0xe99ad6ab 150 - 0xe99a % 150 = 48 ドードー
34: 0x1797e142 150 - 0x1797 % 150 = 111 ニドリーノ (アイテム重複のため無視)
35: 0x4d59658d 150 - 0x4d59 % 150 = 149 ポニータ
36: 0x840f937c 150 - 0x840f % 150 = 93 タマンタ

アノプス
 親ID: 34681
  37: 0x8779f43f
 性格値: 0x9562ed90
  43: 0xed90a035
  44: 0x9562bd04
 性格: いじっぱり
 特性: カブトアーマー
 性別: ♂
ムクバード
 親ID: 58810
  45: 0xe5ba1327
 性格値: 0x2c66076e
  77: 0x076e60c7
  78: 0x2c66372e
 性格: いじっぱり
 特性: いかく
 性別: ♀
ゴローン
 親ID: 26601
  79: 0x67e9e309
 性格値: 0x756423ab
  105: 0x23ab0e53
  106: 0x7564c3ca
 性格: いじっぱり
 特性: がんじょう
 性別: ♂
ドードー
 親ID: 26571
  107: 0x67cb4975
 性格値: 0x3418970b
  221: 0x970bbc17
  222: 0x3418783e
 性格: ようき
 特性: はやおき
 性別: ♀
ポニータ
 親ID: 24834
  223: 0x610276d9
 性格値: 0xaac362af
  303: 0x62af4169
  304: 0xaac33828
 性格: いじっぱり
 特性: もらいび
 性別: ♂
タマンタ
 親ID: 50987
  305: 0xc72b797b
 性格値: 0xbd911eb6
  361: 0x1eb66b53
  362: 0xbd915cca
 性格: すなお
 特性: すいすい
 性別: ♂

さて、1戦目の相手を調べないと。
相手トレーナー: だいすきクラブの オノミ
相手のポケモン: パラセクト,ポポッコ,テッポウオ (お姉さんに教えてもらった順番通り)
性別と特性:

パラセクト ♀ ほうし
テッポウオ ♀ 不明
ポポッコ ♂ 不明

ファクトリーIDはパラセクト: 140, テッポウオ: 34, ポポッコ: 86。

366: 0xde1c3d4e 140
367: 0x65083ea9 86
368: 0xe7508c68 34

「365: 0x68fe2b67 122」はニョロゾであるが、チイラの実が被るのでスキップされている可能性がある。(ポケモンの種類以外に乱数が使われている可能性もあるが)「364: 0xe7c30e44 69」はチョンチーでアイテム被りもないためここは相手のポケモンの種類以外に使われているようだ。


親IDと性格値の決定方法が最初の6匹と同じと仮定して計算してみる。

パラセクト
 親ID: 02179
  369: 0x0883d8bb
 性格値: 0xaaa2db16
  387: 0xdb16446d
  388: 0xaaa2b8dc
 性格: ようき
 特性: ほうし
 性別: ♀
ポポッコ
 親ID: 04548
  389: 0x11c41e1f
 性格値: 0xce813bed
  533: 0x3bedaf6f
  534: 0xce81e4b6
 性格: すなお
 特性: リーフガード
 性別: ♂
テッポウオ
 親ID: 39874
  535: 0x9bc235f1
 性格値: 0x26c1cc55
  617: 0xcc55c853
  618: 0x26c1f5ca
 性格: ひかえめ
 特性: スナイパー
 性別: ♀

性別・特性一致。テッポウオを受け取ってみて親IDも一致。