変更が分かった分は書いているけど、ほとんど流用なのでまだ違うところがあるかも。新しく書いたものは赤字。
具体例と削除分は載せていないので必要なら以前書いたものと見比べながら。
1 目的の決定
1.1
乱数計算の3で目的の個体を探す。
色違いがほしい場合は乱数計算の10で探した個体をそのまま入力する。
徘徊系はエンカウントの処理を行わないのでseedの逆算さえできればいい。入力項目が少ない固定シンボルを選択。
逆算seed数→とりあえず200
エンカウントする範囲→出現リストに値を対応させる。
20% | 20% | 10% | 10% | 10% | 10% | 5% | 5% | 4% | 4% | 1% | 1% | |
0~19 | 20~39 | 40~49 | 50~59 | 60~69 | 70~79 | 80~84 | 85~89 | 90~93 | 94~97 | 98 | 99 |
性格
がんばりや | 0 | ずぶとい | 5 | おくびょう | 10 | ひかえめ | 15 | おだやか | 20 |
さみしがり | 1 | すなお | 6 | せっかち | 11 | おっとり | 16 | おとなしい | 21 |
ゆうかん | 2 | のんき | 7 | まじめ | 12 | れいせい | 17 | なまいき | 22 |
いじっぱり | 3 | わんぱく | 8 | ようき | 13 | てれや | 18 | しんちょう | 23 |
やんちゃ | 4 | のうてんき | 9 | むじゃき | 14 | うっかりや | 19 | きまぐれ | 24 |
2 初期seedの決定
2.1
逆算されたseedから初期seedとして適当なものを選択する。
適当な初期seedの条件。
- 下位2バイト(16進数表記の下4桁)の値が0x1F6以上で、できるだけ小さいseed。
- 上にある○付きのフレームからあまり離れていない。
3 消費seedの決定
3.1
○の条件であまいかおり/あまいみつを使用するか話しかければ目的の個体が出現するので、それに合わせて初期seedからの消費seedを決定する。
シンクロなしはシンクロなし。シンクロ発動は目的の個体と同じ性格のシンクロ。シンクロ不発はシンクロなら性格は問わない。
徘徊ポケモン等については後述(6)するのでそれに合わせた消費数を求める。
4 初期seedの設定
4.1
以下のような値を計算する。
補助用計算ツール(Excel)*1切片を初期値から1.5増やすとちょうどいい。
(月×日+分+秒)の下位1バイト(16進数表記の下2桁)=狙いの初期seedの上位1バイト(上2桁)
時=狙いの初期seedの中1バイト(16進数表記の上から3,4桁目)
α=(初期seedの下位2バイト(16進数表記の下4桁))-西暦+2000)
β=α×0.0167+5.8(※1)
西暦は適当。
※1
初期seedの決定式は以下の通り。
(月×日+分+秒)&0xFF×0x1000000+時×0x10000+(西暦-2000)+α
西暦月日分秒は“つづきから はじめる”を選択した時のものを利用する。
αはDSソフトの起動を選択してから“つづきから はじめる”を選択するまでの時間に応じた値。
&0xFFは16進数表記での下2桁のみをとるという意味。
DSソフトの起動を選択してから“つづきから はじめる”を選択する画面まで連打した場合に、αの値とDSソフトの起動を選択してから“つづきから はじめる”を選択するまでの時間を対応させるのがβの式。+5.8の部分は異なることがあるので必要に応じて修正する。×0.0167の部分はたいして変わらないはず。
DSソフトの起動を選択してから“つづきから はじめる”を選択する画面まで連打した場合、αは基本的に2単位で変化する。
5 捕まえる
5.1
必要なものをすべて準備し、セーブ。電源を切る。
5.2
初期seedを合わせる。
4.1で計算した時刻に“つづきから はじめる”を選択し、DSソフトの起動を選択してから“つづきから はじめる”を選択するまでの時間がβ秒になるようにゲームを開始する。
このとき、“つづきから はじめる”を選択する画面までは連打する。
5.3
3.1で求めた数だけseedを消費する。
seedを消費する方法は以下の通り。
- 128歩移動する:手持ちポケモンの数×1消費
- 徘徊しているポケモン:徘徊しているポケモンの数だけゲーム再開時に消費
- おそらく位置決定用に乱数を使っているので倒したか捕まえたポケモンの分はカウントされないはず。
- ある条件の時(前回のゲーム終了時と同じ位置になった時?)に位置を再計算するので、再計算1回でさらにseedを1消費。
連れてるポケモンに話しかけるかエンカウント判定でも乱数を消費するが消費量にばらつきがあるので扱いにくい。ただし前者については眠っているときに限り固定4消費のよう。
周りにエンカウント判定しない床がない場合の対処。
シンクロを使用するなら複数の当たり位置があるので、目的の個体に会うまで歩数のパターンを変えて何回か試行すれば出ることもある。
ポケギアの電話判定云々は詳細不明。私はこれが原因と思われる誤差を見てないので何とも。
5.4
徘徊しているポケモンの位置はseed依存なので、同一の初期seedで開始すれば同じ位置に徘徊ポケモンが存在する。
消費数が極端に多い、もしくは後の作業が面倒な場合はこれを利用して初期seedの確認をする。
事前に狙った初期seedを初期seed特定が容易な場所(条件)で出し、徘徊ポケモンの位置を確認しておけばよい。
同じ初期seedでも違う位置にいたという報告もあり。その後の挙動が違ったようなので、どこかで乱数を消費したせいで位置が変わったと思われる。
5.5
seed消費が終わったら、あまいかおり/あまいみつを使用するか話しかける。
5.6
捕まえる。
出現した個体が目的の個体と違う場合は捕まえたポケモンから初期seedを計算して修正。
初期seedが合致していてなおかつ違う個体が出た場合
- 単純に消費数が間違っている。
- ただし、想定外の要素で乱数が進んでいる可能性もあるので、実際に出てきた個体を見て修正。
- シンクロ発動判定の結果が違う。
- 私自身がこれをよく踏むのだけど、原因がいまいちわからない。確率判定44以下で発動かと思ったら、4でも不発扱いされたので何か別の要素もしくは判定方法があるのかも。
- 適当に乱数をずらして、別の条件合致seedにすると出る。
捕まえたポケモンを目的の個体と違うだけで切っているとこれらを踏んだ時に悲惨。予め目的の初期seedから個体リストをはいておいて捕まえた個体がその中にいないか調べることで回避できる。
シンクロの発動判定は確率判定に関係なく、乱数自体が偶数なら発動、奇数なら不発っぽい。