とりあえず仕組みと簡単に方法だけ。
ツールはまだ。作ってもちょいと時間かかる。
ツールできました。→http://blog.livedoor.jp/x_x_saki_x_x/archives/54034134.html
閾値検証とかいろいろしてないのあるし間違えてたら教えて。
特性遺伝に関する検証をちょこっとやって該当部分を書き換えました。
一応、検証記事はこちら→http://blog.livedoor.jp/x_x_saki_x_x/archives/54090106.html
●仕組み
タマゴ受け取りor受け取り拒否後の個体値乱数列t[n]とt[n+1]を合わせて孵化乱数列{s[n]}の初期シード
s[0] = (t[n]<<32) + t[n+1]
を決定する。
今作では起動時に個体値乱数列2消費があり、タマゴを受け取った際にも孵化乱数列決定前に個体値乱数列13消費があるので注意。
(この13消費はBWのときの名残?)
受け取りを拒否した時の個体値乱数列消費はなく、その後孵化乱数列決定で2消費。
この孵化乱数列は次のタマゴ受け取りまで保持され、次のタマゴの性格遺伝個体値特性決定に用いられる。
タマゴを一度も受け取っていない時は、初回起動時の個体値乱数列2つが用いられるらしい。(未検証)
このような決定方法なのでここではNPC消費は影響しない。
シードの更新は性格値乱数列と同様
s[n+1] = s[n] * 0x5D588B656C078965 + 0x269EC3
である。
s[n]の上位32bitをr[n]とおく。
閾値検証とかいろいろしてないのあるし間違えてたら教えて。
特性遺伝に関する検証をちょこっとやって該当部分を書き換えました。
一応、検証記事はこちら→http://blog.livedoor.jp/x_x_saki_x_x/archives/54090106.html
●仕組み
タマゴ受け取りor受け取り拒否後の個体値乱数列t[n]とt[n+1]を合わせて孵化乱数列{s[n]}の初期シード
s[0] = (t[n]<<32) + t[n+1]
を決定する。
今作では起動時に個体値乱数列2消費があり、タマゴを受け取った際にも孵化乱数列決定前に個体値乱数列13消費があるので注意。
(この13消費はBWのときの名残?)
受け取りを拒否した時の個体値乱数列消費はなく、その後孵化乱数列決定で2消費。
この孵化乱数列は次のタマゴ受け取りまで保持され、次のタマゴの性格遺伝個体値特性決定に用いられる。
タマゴを一度も受け取っていない時は、初回起動時の個体値乱数列2つが用いられるらしい。(未検証)
このような決定方法なのでここではNPC消費は影響しない。
シードの更新は性格値乱数列と同様
s[n+1] = s[n] * 0x5D588B656C078965 + 0x269EC3
である。
s[n]の上位32bitをr[n]とおく。
この孵化乱数列を用いて、
0.特殊処理
生まれるポケモンの候補が2種類ある場合乱数を1つ使ってどちらが生まれるか決定。
ニドラン系など。
該当する場合は以降使用する乱数が1つ次のにずれる。
1.性格
今まで同様の(r[1] * 25)>>32で決定。
2.特性
両親がメタモンでない場合(r[2]*100)>>32で特性決定。
♀親が特性1の場合
0-79 特性1
80-99 特性2
♀親が特性2の場合
0-19 特性1
20-99 特性2
♀親が夢特性の場合
0-19 特性1
20-39 特性2
40-99 夢特性
片親がメタモンの場合は1つスキップして(実際には上の処理もしてるらしいが)r[3]の最上位bitで特性決定。
0の場合は特性1、1の場合は特性2。
3.遺伝
2.の次のシードから今までと同様に決定。
(r[n] * 6)>>32で遺伝個所(0~5がHABCDSに対応)、r[n+1]>>31で遺伝親(0:♂、1:♀)決定。
重複は先に決めた方優先で、3箇所遺伝するまでnを2ずつ増やしてループ。
パワー系を持たせている場合は先にその1か所遺伝したものとする。
両親パワー系を持たせている時はどちらのを採用するかをここの最初で処理しているらしい。
自分では未検証。
4.遺伝しない個体値
3.の次のシードから3つr[n]>>27で決定。
遺伝しない3箇所に順番(HABCDSの順)に割り振られる。
0.特殊処理
生まれるポケモンの候補が2種類ある場合乱数を1つ使ってどちらが生まれるか決定。
ニドラン系など。
該当する場合は以降使用する乱数が1つ次のにずれる。
1.性格
今まで同様の(r[1] * 25)>>32で決定。
2.特性
両親がメタモンでない場合(r[2]*100)>>32で特性決定。
♀親が特性1の場合
0-79 特性1
80-99 特性2
♀親が特性2の場合
0-19 特性1
20-99 特性2
♀親が夢特性の場合
0-19 特性1
20-39 特性2
40-99 夢特性
片親がメタモンの場合は1つスキップして(実際には上の処理もしてるらしいが)r[3]の最上位bitで特性決定。
0の場合は特性1、1の場合は特性2。
3.遺伝
2.の次のシードから今までと同様に決定。
(r[n] * 6)>>32で遺伝個所(0~5がHABCDSに対応)、r[n+1]>>31で遺伝親(0:♂、1:♀)決定。
重複は先に決めた方優先で、3箇所遺伝するまでnを2ずつ増やしてループ。
パワー系を持たせている場合は先にその1か所遺伝したものとする。
両親パワー系を持たせている時はどちらのを採用するかをここの最初で処理しているらしい。
自分では未検証。
4.遺伝しない個体値
3.の次のシードから3つr[n]>>27で決定。
遺伝しない3箇所に順番(HABCDSの順)に割り振られる。
かわらずの石での性格遺伝は100%になった模様。
片親にかわらずの石を持たせても上記のに変化はなかった。
以上がタマゴ受け取り時に決まる孵化乱数列により決定される次のタマゴについての情報。
孵化乱数列の初期シードだけが決まるようなので、パワー系を持たせたりすると個体値が持たせない時と変わることがあるが、決め方は上記に則っている。
性格値のみがタマゴ受け取り時に決まる。
性格値もおそらく受け取り時の性格値乱数列を用いてr[n]>>32(xor 0x10000)で決まる。
xorは特性の整合性を取るため。
当然性格値に左右される性別や個性もここで決まる。
で合ってるはず。自分では検証出来てない。
●方法
ツールはそのうち出るでしょう。
1.検索
何がしかの方法で目的のシードを検索。
2.準備1
タマゴが出来た状態で小屋に入ってすぐのとこでレポート。
3.シード合わせ
起動してシードを合わせる。
小屋の中なら不定消費がないので確認しやすい。
4.シード決定
外に出てタマゴ受け取りor受け取り拒否。
孵化乱数列決定。
こちらは個体値乱数列を使ってるので急ぐ必要はない。
5.準備2
性格値も調整したい場合はタマゴが出来た状態で再度小屋に入ってレポート。
6.性格値決定
今までとそう変わらん。
ただNPC消費が多いうえに個性と性別を利用しないとずれの把握がし辛い。
こんな感じになるんだろうか。
少なくとも自分はこの流れで孵化乱数した。
6V特性一致までは成功。
通常色ならシード見つかれば比較的楽かと。
色違いはずれがひどすぎたのでとりあえず後回し。
多分不定消費のせいでそれなりのシード使わないと相当大変。
国際孵化あたりで12連続とかで光るシード使えれば相当楽になるかと。
片親にかわらずの石を持たせても上記のに変化はなかった。
以上がタマゴ受け取り時に決まる孵化乱数列により決定される次のタマゴについての情報。
孵化乱数列の初期シードだけが決まるようなので、パワー系を持たせたりすると個体値が持たせない時と変わることがあるが、決め方は上記に則っている。
性格値のみがタマゴ受け取り時に決まる。
性格値もおそらく受け取り時の性格値乱数列を用いてr[n]>>32(xor 0x10000)で決まる。
xorは特性の整合性を取るため。
当然性格値に左右される性別や個性もここで決まる。
で合ってるはず。自分では検証出来てない。
●方法
1.検索
何がしかの方法で目的のシードを検索。
2.準備1
タマゴが出来た状態で小屋に入ってすぐのとこでレポート。
3.シード合わせ
起動してシードを合わせる。
小屋の中なら不定消費がないので確認しやすい。
4.シード決定
外に出てタマゴ受け取りor受け取り拒否。
孵化乱数列決定。
こちらは個体値乱数列を使ってるので急ぐ必要はない。
5.準備2
性格値も調整したい場合はタマゴが出来た状態で再度小屋に入ってレポート。
6.性格値決定
今までとそう変わらん。
ただNPC消費が多いうえに個性と性別を利用しないとずれの把握がし辛い。
こんな感じになるんだろうか。
少なくとも自分はこの流れで孵化乱数した。
6V特性一致までは成功。
通常色ならシード見つかれば比較的楽かと。
多分不定消費のせいでそれなりのシード使わないと相当大変。
国際孵化あたりで12連続とかで光るシード使えれば相当楽になるかと。