モグリュー/ドリュウズの野生乱数をするときに砂煙を出すが、シードによってはジュエル等も出てしまう。
それを事前に知るための方法を載せておく。
まだジャイアントホール、1つの初期シードでしか検証してないのでどっか間違えてるかも。
行く行くはジュエル/進化石の乱数もできるようにしたいなぁと。
砂煙に入ったときの処理は性格値乱数を消費して行われる。
処理の順番は以下の通りの模様。
1.ポケモン出現か否か
(seed*5)>>32<2ならポケモン出現、そうでなければ2へ
注:smogon見る限りでは実際には(seed*1000)>>32<400で計算しているらしい。
結果は変わらないが。
2.変わらずの石/ジュエル/進化石判定
詳しくは不明。
変わらずの石ならここまでで終わり。
3.アイテム決定。
ジュエル種類/進化石種類の決定。
詳しくは不明。
以上のような決定方法っぽいので、モグリュー/ドリュウズが出るかは目的の性格値決定前の性格値乱数が0x66666666以下かどうかで判定すればよい。
bwseedlistを使う場合、タマゴリストでそのときの性格値乱数が分かるのでそれを使えばよい。
具体的には、タマゴリストで野生リストでの目的のものの消費数-1に当たる性格値乱数が0x66666666以下か見ればよい。
一応特性についても書いておくと、BWでは性格値の下位1bitではなく性格値>>16の下位1bitで決定される。
最後に注意事項として、上記のように性格値乱数が性格決定前に1つ消費されるので、それを考慮して乱数を消費する必要があることを付け加えておく。
追記:どうやら乱数調整スレ17の>>443にあるpokebw01で確認が出来る模様。
それを事前に知るための方法を載せておく。
まだジャイアントホール、1つの初期シードでしか検証してないのでどっか間違えてるかも。
行く行くはジュエル/進化石の乱数もできるようにしたいなぁと。
砂煙に入ったときの処理は性格値乱数を消費して行われる。
処理の順番は以下の通りの模様。
1.ポケモン出現か否か
(seed*5)>>32<2ならポケモン出現、そうでなければ2へ
注:smogon見る限りでは実際には(seed*1000)>>32<400で計算しているらしい。
結果は変わらないが。
2.変わらずの石/ジュエル/進化石判定
詳しくは不明。
変わらずの石ならここまでで終わり。
3.アイテム決定。
ジュエル種類/進化石種類の決定。
詳しくは不明。
以上のような決定方法っぽいので、モグリュー/ドリュウズが出るかは目的の性格値決定前の性格値乱数が0x66666666以下かどうかで判定すればよい。
bwseedlistを使う場合、タマゴリストでそのときの性格値乱数が分かるのでそれを使えばよい。
具体的には、タマゴリストで野生リストでの目的のものの消費数-1に当たる性格値乱数が0x66666666以下か見ればよい。
一応特性についても書いておくと、BWでは性格値の下位1bitではなく性格値>>16の下位1bitで決定される。
最後に注意事項として、上記のように性格値乱数が性格決定前に1つ消費されるので、それを考慮して乱数を消費する必要があることを付け加えておく。
追記:どうやら乱数調整スレ17の>>443にあるpokebw01で確認が出来る模様。