この記事はPokémon Past Generation Advent Calendar 2023 318日目の記事です。
1. はじめに
ピカブイの殿堂入り後に入ることができる「ハナダのどうくつ」には隠しアイテムが落ちているエリアがあります。そこには木の実やボール等が落ちている*1のですが、後者については1/301の確率でマスターボールがドロップします。最近のゲームの色違い出現率よりも低めな確率です。
今回はそのマスターボールを乱数調整する方法を(かいつまんで)説明します。
2. 準備
・モルフォン128匹+α(ボックス)
→ Xoroshiroの状態復元をするために128匹用意します。モルフォンは復元だけでなく消費の微調整にも使えるので追加で20-30匹用意しておくと便利です。ちなみにピカブイ特有の仕様によって、モルフォンを100匹近く捕まえておくとそれ以降はハイパーボールを1回投げるだけで同種族をほぼ確実に捕獲できるようになります。参考までにその状態で128匹捕まえるには2時間半から3時間くらいかかりました。
(2024/10/20 追記)
Lincoln氏が睡眠時テキストのみから状態を特定できる下記のPythonスクリプト、およびツールを作成されました。この場をお借りして感謝申し上げます。そのため大量にポケモンを捕獲したり、転送する必要がなくなりました。128回ではなく半分の64回の観測で済むようになったことも大きいです。
・Pythonスクリプト
Finds rng states of the form (seed_0, 0x82A2B175229D6A5B) that produce a given sequence of 64+ rand(2) observations when rand(121)s happen before each. · GitHub
・ツール
github.com
・眠っている相棒
→ 消費および現在消費数の特定に使用します。相棒に「ねむる」を技マシンで覚えさせて、適当なトレーナー戦(殿堂入り後はジム再戦など)で眠らせればOK。
・コイキング(手持ち)
→ 大量消費に使用します。コイキング以外での挙動は未確認。
・ゴールドスプレー数十個
→ 野生ポケモンが徘徊しているとその間に乱数が消費されてしまい調整が安定しません。それを無効化するために使用します。
3. 実践
3-1. 現在stateを特定
ハナダの洞窟内でボックスからモルフォンを1匹ずつ博士に転送してアメを貰います。「はやさのアメ」が出たら0、「ちしきのアメ」が出たら1をNX RNG Toolに入力します。128回分入力し終わったら現在stateが特定されるはずです。
(2024/10/20 追記)
自宅の2階などでセーブし、再起動します。その後できるだけ早くメニューを開き、イーブイの睡眠時テキストを確認します。上記のスクリプトには合計64個分のテキストを入力していきます。爆睡は「d」、ぐっすりは「p」です。max_jumpsの数は3-4個程度にすると計算時間的にはちょうどよかったです。max_jumpsが3であれば50%以上の確率で特定に成功します(4以上なら更に高確率)。成功したらそのままハナダの洞窟に向かってください。
(2025/5/3 追記)
時間変更ペナルティ未発生の場合、ゲーム開始時に後述するような不定消費が入ってstate特定がしづらいかもしれません。回避方法はおそらくペナルティを起こすことです。
3-2. 目標消費数まで大雑把に消費
マスボが拾える目標消費数は、rand301が275になる消費数です。数百以上は消費しないと目標にたどり着けないことが多いので、ここで連れ歩きポケモンに話しかけて大量消費します。
どこかの世代でひと昔前に見かけたような光景ですが、セリフごとに消費数が違う上、様々な要因によって若干の消費ズレも生まれるので少しややこしいです。
以下に、連れ歩いているコイキングに話しかけた時のテキストとその大体の消費数を載せておきます。実際には結構むらがあるので注意してください。
01. 神秘的な景色に~(4)
02. ポケモンの気配に~(6)
03. ~ピチピチはねている(6)
04. ~元気いっぱいだ(8)
05. ~恥ずかしそう(12)
06. ~まったりしている(15)
07. ~元気よく跳びあがった(15)
08. ピョンと身軽に~(21)
09. ピョンピョンと~(21)
10. 心なしか~(21)
11. 早く先に進みたくて~(28)
12. ~すごく活発だ(28)
13. いてもたっても~(28)
14. まっすぐにこっちを~(32)
15. ~ジーッとみてる(32)
16. ~遠くをみつめている(32)

画像のようにアイテムの落ちているすぐ傍で話しかけるのはNGです。誤ってアイテムを拾ってしまう可能性があります。
(2025/5/15 追記)
ローカルでの通信中にSwitchの日付を一日進め、その後メニューを閉じてフィールド上に出ると大量に消費が進みます。一日あたり129~134消費くらいで、複数回発生させることができます。メニューを閉じるまでは消費されないようです。話しかけるよりこちらをメインの消費方法にした方が効率的だと思います。このグリッチを使うと時間変更ペナルティも解除されるので、ボールを拾う前に通信せずに追加でもう一度日付を進めて発生させてください(後述の不定消費を抑えるため)。
3-3. 現在消費数の特定と最後の消費
目標消費数まで残り50-70消費程度まで進めたら「(相棒)とあそぶ」を出入りし、眠っている相棒のテキストから現在消費数を特定します。しかし、テキストの種類を決定する直前に謎の乱数rand121が1つ使われているので、それを考慮して計算する必要があります。乱数値%128の結果が121-127の時には再計算も発生します。
相棒のテキストはrand2が0の時「爆睡してる」、1の時「ぐっすり眠っちゃってる」になります。
特定後は同様にテキスト表示を利用して目標直前まで消費します。

3-4. 目標消費数でアイテムを拾う
目標消費数の2つ手前まで消費したらメニューを閉じてアイテムを拾います。閉じてから拾うまでの間に長い距離を歩いたりすると消費がズレるかもしれません。
もし奇偶のズレがあって2つ手前の消費数にぴったり辿り着けない場合は、モルフォンを1匹転送することで微調整できます。
ちなみに、アイテムの生成においても再計算が発生する可能性があるので考慮してください。乱数値%512が301-511の場合なので、それなりの頻度で起こります。
アイテムを拾ってマスターボールが手に入ったら成功ですが、たまーに1消費ずれて失敗することがあります。原因は未だ謎です。また、全て取りつくした後に続けて手に入れるためには256歩毎のアイテム再出現判定をパスする必要があります。
(2025/5/3 追記)
時間変更ペナルティ未発生の場合、不定消費(追加の1消費)が発生して厄介かもしれません。ペナルティ発生時は2つではなく1つ手前まで消費して拾えば確実に成功するはず。

4. おわりに
現状の手法では満足いくまでマスボを集めてからリセットしないと、再度モルフォンを乱獲しないといけないので大変です。自分は3日か4日くらいSwitchをスリープさせて、60個集めてからリセットしました。
マスボの使い道としてはGOの色メルメタルや、レベル1の色最終進化系の捕獲用になりそうです(絶対60個もいらん)。CFWを導入している人なら野生三鳥の連鎖にも使えるかもしれない。
最後に、今回の乱数調整の実現のために調査や助言などをしてくださったAnubis氏に感謝申し上げます。
(2024/10/20 追記)
上記のリセット問題についても解消されたので好きな時に乱数を行えます。中断してリセットした後、復帰するのも容易です。毎日隠しアイテムが復活するゲームコーナーで、きんのおうかんを入手することにも利用しやすくなりました。
*1:スポットとそこで拾えるアイテムのカテゴリは紐づいている。→https://x.com/CloudMax94/status/1065995174239764485