この記事はPokémon Past Generation Advent Calendar 2023 74日目の記事です。
ORASのID調整は起動時間をミリ秒単位で制御して行う*1のが普通ですが、別のやり方もあるので今回はそれを紹介します。この方法であれば(表ID or TSVだけなら)o3DSでも可能。2年も温めた。
簡単に説明すると、名前選択画面で「おわり」を押した時のロードアイコンを利用して起動時からID決定までの間に今回の初期seedを特定する方法です。
7世代は17パターンの針だったが、こちらは8つのマス
乱数によって、回り始める瞬間の各マスがどの方向に向いているか決定する模様。範囲を広げて初期seedを検索できるため、ソフト起動のタイミングは正確でなくても構いません。
やり方
手順① TinyMTの基準seedを求める
まずはTinyMTの基準seedが必要ですが、o3DSの場合は特定が厳しいと思うので強引に取得します。3DSのバッテリーを外し放電、再び装着する。時間ペナルティに注意!装着した瞬間に0x5CD79999くらいの値に初期化されるので、その瞬間の時刻をメモしておく。
手順② 任意の時刻にソフトを起動
ソフトを起動し、起動した時刻と手順①でメモした時刻の差分から今回の基準seedを求める。例としてバッテリーを装着してから30秒後に起動した場合は、0x5CD80EC9前後のseedを引いていると判断できます。
手順③ 初期seedを完全に絞り込む
ゲームが始まったらこの画面まで進める。
この画面でAを押すと同時に500Fに設定したタイマーをスタートさせ、適当な名前を入力。タイマーが0になると同時に「おわり」を押す。すると、ロードアイコンが短い時間回るのでアイコンが消えた瞬間の赤マス(見やすい色)の位置を記録する。
この時、乱数値 % 8の結果に応じて以下のように位置が変わる。
0 1 2 3 4 5 6 7
下 左下 左 左上 上 右上 右 右下
ただし、中途半端な位置で消える場合もあるので、自分は曖昧検索でやっています。
検索範囲が±3000msの場合、これを8~10回連続で行い記録すれば初期seedを完全特定できるはず。
手順④ 目標IDまで消費
特定した初期seedから現実的な消費数で辿り着ける目標IDが見つかったら、名前決定→キャンセルを繰り返して消費を進める。7世代と似た感じ。参考までに1000消費するのに3時間ちょっとかかりました。画像のIDは普通の2DS、簡単な自動化を用いて成功。
0x5E367A67 1397消費 00000-55098
やり方の説明は以上です。肝心のツールですが公開はしません(できません)。ちなみに、応用すれば一点狙いのNN変更にも使えます。*2
最近は3DS自動化が流行っているらしいけど、このID調整にも利用できますね!(流石に手動で消費はしんどい)
ハードの新旧は問わないのでぜひ皆さんもやってみてください。