BWの出現スロット決定に使う式がseedを上位32bitとしてざっと調べた感じ
1.(seed*100)>>32
2.(seed>>16)*100/0x290
3.(seed*0xFFFF/0x290)>>32
4.(seed*1600)>>32
と4つ出てきたので、じゃあどれが正しいんだろうかというわけで調べてみた。
調べたのはスロット0とスロット1の閾値。
上記のものについてスロット0になる条件は以下の通りだった。
1.seed<=0x33333333
2.seed<=0x333FFFFF
3.seed<=0x33403340
4.seed<=0x335C28F5
で、この間にあるシードを探して調べたところどうも3.が正しそうだという結論に至ったので、シード上位32bitが0x33403340、0x33403341になるものを検索して調べてみた。
場所は個体値確認のしやすいジャイアントホール奥。
●0x33403340
初期シード:0x64FA0BEA172B3F48
bwseedlistのタマゴリスト127番目に0x33403340が存在。
125までペラップで消費後あまいかおり使用で出現スロット決定に0x33403340が使われる。
→スロット0、ピッピ♀Lv52が出現。
●0x33403341
初期シード:0xF12FB11EA149BCE0
bwseedlistのタマゴリスト153番目に0x33403341が存在。
151までペラップで消費後あまいかおり使用で出現スロット決定に0x33403341が使われる。
→スロット1、イノムー♀Lv52が出現。
以上により出現スロット決定は3.の方式が正しいだろうことが分かる。
出現レベル決定方法についても調べてみた。
場所はジャイアントホール、波乗りであまいかおり使用。
スロット0がバスラオLv25-55、スロット1がパウワウLv25-55。
こちらも計算方法は3.の方式で正しいだろうことが分かる。
で、既存ツールがどの方式で計算しているかだが、bwseedlistでは4.で計算している模様。
そのため、上記のシードをbwseedlistに入れたところ、どちらもスロット0と出力されてしまっている。
一方、bwpidseedは3.で計算しているようで、出現スロット、レベルどちらも上記のとおり出力された。
~追記~
BW2でも同じかと言うとそうでもないらしい。
→http://www.smogon.com/forums/showpost.php?p=4437000&postcount=994
要するに
(seed*0xFFFF/0x290)>>32
から
(seed*100)>>32
に変わったらしい。
影響することは滅多にないだろうが、稀にそれが原因で出現スロットが違ったりするので注意。
1.(seed*100)>>32
2.(seed>>16)*100/0x290
3.(seed*0xFFFF/0x290)>>32
4.(seed*1600)>>32
と4つ出てきたので、じゃあどれが正しいんだろうかというわけで調べてみた。
調べたのはスロット0とスロット1の閾値。
上記のものについてスロット0になる条件は以下の通りだった。
1.seed<=0x33333333
2.seed<=0x333FFFFF
3.seed<=0x33403340
4.seed<=0x335C28F5
で、この間にあるシードを探して調べたところどうも3.が正しそうだという結論に至ったので、シード上位32bitが0x33403340、0x33403341になるものを検索して調べてみた。
場所は個体値確認のしやすいジャイアントホール奥。
●0x33403340
初期シード:0x64FA0BEA172B3F48
bwseedlistのタマゴリスト127番目に0x33403340が存在。
125までペラップで消費後あまいかおり使用で出現スロット決定に0x33403340が使われる。
→スロット0、ピッピ♀Lv52が出現。
●0x33403341
初期シード:0xF12FB11EA149BCE0
bwseedlistのタマゴリスト153番目に0x33403341が存在。
151までペラップで消費後あまいかおり使用で出現スロット決定に0x33403341が使われる。
→スロット1、イノムー♀Lv52が出現。
以上により出現スロット決定は3.の方式が正しいだろうことが分かる。
出現レベル決定方法についても調べてみた。
場所はジャイアントホール、波乗りであまいかおり使用。
スロット0がバスラオLv25-55、スロット1がパウワウLv25-55。
●0x33403340
初期シード:0x64FA0BEA172B3F48
bwseedlistのタマゴリスト127番目に0x33403340が存在。
124までペラップで消費後あまいかおり使用で出現レベル決定に0x33403340が使われる。
→(スロット0、バスラオ♀)Lv44が出現。
●0x33403341
初期シード:0xF12FB11EA149BCE0
bwseedlistのタマゴリスト153番目に0x33403341が存在。
150までペラップで消費後あまいかおり使用で出現レベル決定に0x33403341が使われる。
→(スロット1、パウワウ♂)Lv45が出現。
こちらも計算方法は3.の方式で正しいだろうことが分かる。
で、既存ツールがどの方式で計算しているかだが、bwseedlistでは4.で計算している模様。
そのため、上記のシードをbwseedlistに入れたところ、どちらもスロット0と出力されてしまっている。
一方、bwpidseedは3.で計算しているようで、出現スロット、レベルどちらも上記のとおり出力された。
~追記~
BW2でも同じかと言うとそうでもないらしい。
→http://www.smogon.com/forums/showpost.php?p=4437000&postcount=994
要するに
(seed*0xFFFF/0x290)>>32
から
(seed*100)>>32
に変わったらしい。
影響することは滅多にないだろうが、稀にそれが原因で出現スロットが違ったりするので注意。