見出し画像

ホワイト2 砂煙乱数 他

みなさん、こんにちはこんばんは。Revenirと申します。

普段はポケモンカード(主に現行スタンダード以外のレギュレーション)についての記事を書いています。

今回はポケットモンスター ホワイト2 というゲームについての記事です。

乱数調整についてなので嫌いな人はべつの記事を読んでいってください。

BW/BW2における乱数調整

では本題に入る...前に軽く仕組みをおさらいします。

基本的には理屈を理解すると「自分がどういう状態で、どう失敗しているか」がわかりやすくなるので本質的な理解を推奨しています。
が、どうしても難しくて理解できない人はやり方だけ見てください。

とはいえ、全部書いても長くなるので1つのサイトの紹介と、そのまとめでごまかします。

BWもBW2も仕組みは変わりません。ただし、バージョンによって異なるパラメータには違いがあり、特にTimer0はBWでは2種類でしたが、BW2では5種類からランダムとなり、より合わせることが難しくなっています。

乱数調整の根本的な部分は、「指定された年月日時分秒」に「ソフトを起動」して「指定された分乱数を消費」すると「目標のポケモン(とか道具とか)」が出る、というものです。

5世代乱数やったことあります!みたいな人は大体ペラップ鳴かせたりレポート書いたりで消費したと思うのですが、今回は洞窟のマップを歩いたり、NPCを動かしたりして調整することになります。

砂煙乱数(モグリュー乱数)について

では本題に入ります。この乱数調整は2段階で成り立っていて、

・砂煙を出す
・求めるモグリューを出す

となっています。
まず第一段階である「砂煙を出す」から見ていきます。

砂煙が出現する条件ですが、
・ゲーム開始から20歩歩くごとに判定がある
・その判定をする際に使用する乱数の値が0x19999999以下である
の2つです。

0x19999999って何ですかって人は16進数を調べてください。

つまり、うまいこと消費を合わせて次が0x19999999以下だ!というタイミングで20歩目を踏み出せばいいわけですね。ちなみに、振り向きは1歩にカウントされません。

次に、第二段階である「求めるモグリューを出す」を見ていきます。

19モグリューが出現する条件ですが、砂煙に入ったとき
・乱数値が0x66666666以下(ポケモン出現の判定)
・上の1つ後の乱数値×1600>>32の値が1281以上(Lv19モグリューの判定)
という条件で出現します。

乱数値×1600>>32 の部分が何言ってるかわからない人はシフト演算とかで調べてください。

以上の条件+モグリューの性格や性別、特性などの判定が合っていれば求めるモグリューが出ます。

簡単ですね!

幸い世の中には便利なツールがあるので使いましょう

なんと作ったのは私です。すごい!

...とはいってもほかの方のツールの出力を入力にしてるんですけどね()

まずはSSS4(上記さびたコイルさんのページにあります。)で求めるモグリューの個体値を設定して初期seedを出します。SSS4の使い方はわかる前提としますが、個体値乱数列は2-2、Timer0は下のリンクの方法を見て固定しましょう。

固定、とは言いましたが、半々より高い確率で固定はされず、2個のTimerがおおよそ交互に出る気がします。何個か初期seedを使って試し、1つのみが10回程度連続することを確認したら、そのTimer0をSSS4に入力しましょう。

今回はRTAで使うことを想定しているため、個体値は31-31-31-18-31-31以上を設定します。
また、キー入力ありにしないと目標の個体が出ないことがあるため、ありにすることを推奨します。

今回のツールはこれにより出力された[result.txt]を入力にしています。

画像1

ツールを開くとこのようになっており、モグリューは左2つ+設定のタブを使用します。

このツールで可能なことは
・季節のフィルタリング
・時間のフィルタリング
・「すなのちから、♀、やんちゃ」のフィルタリング
・エンカウント可能な上記の個体が出現するseedのフィルタリング

となっています。

まずは「モグラ個体>参照」ボタンを押して先ほど出たresult.txtを選択します。この際、100万行を超えているとエラーを吐きます。ごめんなさい。
調べた感じだとまず超えることはないと思いますが一応気を付けてください。

参照したら「計算」を押します。すると、上記のフィルタがかかった個体が出ます。ここから一つ一つ検証していきます。

まず「消費」が40より大きい程度であること。これより少ないと歩数が間に合わない可能性が高いです。また、過剰に大きいと時間がかかるためフィルタリングしています。初期値では100までとなっていますので、「設定」から変更して増やしてもいいです。

次に、「エンカウント」タブの「初期SEED」の欄に、今調べたseedを貼り付けます。そして「計算」。

するとあら不思議、ゲーム開始からの消費に応じた出現ポケモンの表が出てきます!
「消費」の欄は右上のoffset後の消費ですので、offsetは気にしなくていいです。

また、右端には砂煙が出るかどうかも書いてあります。
モグラに会う前、かつ砂煙の出る乱数値で20歩目を歩いてください。
全部走って行くと大体30消費くらいになると思います。歩いたり走ったり向き変えたりしてうまいこと調整してください。

参考動画はこちらになります。

(雑に)調査した感じだと、8歩目までは徒歩も振り向きも1消費、9歩目からは2消費になるっぽいです。また、マップ更新でこの歩数はリセットされます。

他の部分

Read meに書いてあります。みんなちゃんと読んでますか?自分は読んでません。

追記(2021/09/21)

こちらのツールを使用してもできます。
うまいことエクセルとかでSSS4と同じ出力に調整するか、この記事をちゃんと読んで自力でフィルタリングすればいい感じだと思います。

終わりに

適当に調べたので間違ってるかもしれませんが、大筋は大丈夫だと思います。

自分で出せたし。

どうしても成功しなかったらTwitterで聞いてくれればなんか答えるかもしれません。

ではまた。

クラハンが嫌いな人はフォロー!