サイファーの日記

過去作の乱数について書きます

7世代捕獲乱数に挑戦してみた

この記事はPokémon Past Generation Advent Calendar 2023 18日目の記事です。

今回、7世代の捕獲乱数に挑戦したのでそのやり方を説明していきます。あくまで自分なりの方法なので参考程度にご覧ください。
【追記】この記事で別のやり方を説明しました。好きな方を選んでください。

前置き

今から2年ほど前、海外乱数鯖に6世代で捕獲乱数をしたという投稿がありました。追ってみると、Battle Seed*1というものを特定する必要があるらしい。

それを実機でやりたいと思った自分はねこのてという技に注目しました。特定の範囲内でランダムに技が選ばれる技なので使えると思ったからです。そして、はねるのみを覚えたコイキングの前でねこのてを発動し、選ばれた技を記録して総当たりにかけました。無事に特定は成功しました。

ただ6世代ではガンテツボールなどは使えず、捕獲乱数ができてもあまりありがたみがありません。そのため、7世代も同様の手法で特定できないか試してみました。当初、7世代のBattle Seedは32bitのSFMTであることを除けば6世代と同じだろうと高を括っていました。しかし、何度やっても特定できない。

そこで、野生ポケモンにボールを投げてその結果から特定するという手法に切り替えました。具体的にはHP満タンのコイキングにウルトラボールを投げると1揺れするかどうかが大体5割程度なので、それを採用しました。これが死ぬほど面倒くさかった。

すると総当たりで特定できたので、ねこのての消費数もついでに調べることができました。調べてみると、はねるが選ばれた時の消費数が他の一般的な変化技より1つ多いことが分かりました。ねこのての手法を用いた時はこの技も採用してたので、特定できなかったんですね。6世代ではこんなことはなかったので謎。また後日、Battle Seedは64bit SFMTのseedの下位32bitから生成されることが判明し、総当たりの必要性もなくなりました。

ともかく、これで7世代の捕獲乱数もねこのてでBattle Seedを特定することで可能になりました。ただ、捕獲乱数というと出会ってからすぐボールを投げて捕まえる、というイメージがあるかもしれません。しかし、それとは少し違っていて捕獲可能な消費数までポケモンの行動を利用して進める必要があります。以下で詳しいやり方を説明します。

準備

・ねこのてを覚えたポケモン(先頭)ムラっけだとターン終了時に追加の1消費が発生。仲良し度が100以上でも発生するかも。

・ねこのてで出したい技を覚えたポケモン*2
ねこのてで選ばれない一部の技を除いて、手持ちの上から下にかけて技番号が割り当てられます。同じ個体が技を2つ以上覚えている場合、上に位置する技から順に行われます。同じ技が複数ある場合、どちらにも番号が振られます。戦闘中、手持ちの位置が変動することがありますが、その都度再び技番号が割り当てられます。

テッシード(かたくなる)
→技番号「0」

デオキシス(ドわすれ/コスモパワー)
→技番号「1」と「2」

ドレディア(ちょうのまい)
→技番号「3」

チルタリス(コットンガード)
→技番号「4」

3DS RNG Tool内のMisc. RNG Tool
・Battle Seed特定用ツール*3
【追記1】こちらで公開しました
【追記2】別のより良い手段を発見したので非公開にします

【追記3】新しく作ったのでこちらで公開
【追記4】作り直したのでGoogleドライブで公開(2024/2/4)
【追記5】修正版を再公開。設定とリストビューの2つを少し修正。
【追記6】諸事情により非公開(2024/3/2)

(2024/3/19)要望が多かったため再公開。記事作成当初とはツールの機能や見た目が異なります。ちなみにツール作成時の都合上、.NET 6.0が必要です。申し訳ないですが、ツールが開けなかった場合は新規に導入してください。また原因は不明ですが、環境によってツール内の表示が私の環境と少しずれる場合があるようです。使用する分には特に問題ないはず。

drive.google.com



手順

捕まえたいポケモンが出てきたら自作ツールに今回の初期seedを入力します。タイトル画面で特定したseedのことです。また、引いたと思われるフレームとそこからの検索数(400フレームもあれば十分)も入力します。最後に、ねこのてで選ばれる技の個数を入力します。

今回はウルトラホールのヒードランを捕獲対象にしました。炎技が厄介なので初手でなりきりを選択してドーブルの特性をもらいびにします。相手はこわいかお(1消費)をしてきました。素早さが下がったため、次のターンも相手が先手でこわいかお(1消費)をします。その後、後攻でねこのてを発動するとコスモパワー(技番号2)が選ばれました。

ここまでの行動をツールに入力すると以下のようになります。ちなみに検索開始フレームについては、ゲームを続きから始めてから即遭遇しているので今回はかなり短くなっています。

行動入力欄のテキストボックスに半角スペースありで入力しています。テキストボックスの左から奇数番目に入力するのは直近のねこのてが発動するまでに進んだ消費数です。消費が何も進まなければ0を入力してください。偶数番目に入力するのはねこのてで選ばれた技番号です。テキストボックスの最初の「2」はこわいかお+こわいかおによる2消費を、2番目の「2」はコスモパワーの技番号を意味します。

その後、
ふんえん(相手)ちょうのまいこわいかお→コットンガード→ほのおのうず→コットンガード→かみくだく→コットンガード→こわいかおちょうのまい 
と続いたので以下のように入力します。ふんえんとほのおのうずは特性で無効化されるため、消費はありません。また、ドーブルの素早さランクが-6になっている場合、こわいかおによる消費もありません。計算するとBattle Seedが結果欄に表示されるので、これをMisc. RNG Toolに入力していきます。


Misc. RNG Toolは「G7 SFMT(32bit)」を選択します。基本的にMisc欄とCapture欄の両方を扱います。Misc欄では、左下のRandom Nに今回のねこのての技数を入力します。その状態で計算すると各消費数でねこのてを発動した際に選ばれる技番号がR(N)にでてきます。下の画像だと、例えば11消費目では技番号4のコットンガードが選ばれると分かります。


しかし、Misc欄は現在の消費数を見失わないようにするためのお守りのようなもので、メインはCapture欄です。もしヘビーボールをHP満タンヒードランに投げた時の結果は以下の通りです。Catch Rateは重さ補正で3+30=33、ボールは捕獲補正率なので1.0です。Rotoはつかまえポン使用時にチェックを入れます。Dex Caughtはクリティカルに関係するのですが、6世代の時のままになってしまっている様子。アローラ図鑑を全て埋めていれば>600でいいはずです。

結果を見ると、現在消費数に一番近くて20消費目で捕獲に成功すると分かります。現在消費数は先ほどツールの結果欄に「13消費目」と出ていたと思いますがそれです。


ここからは目標消費数の1つ手前まで進める作業です。とはいうものの、相手の技選択による消費がいつどのように起こるかまでは読めないので臨機応変に対応しないといけません。

とりあえず、次のターンでヒードランかみくだく(4消費)を、ドーブルはねこのて(1消費)を選択。さらに次のターンでヒードランはふんえん(0消費)を、ドーブルはねこのて(1消費)を選択。これで13+4+1+0+1=19消費目まで進んだことになります。ラッキーなことにもう目標消費数の1つ手前まで来られました。あとは次のターンにヘビーボールを投げるだけ。捕まったら成功です。

技ごとの消費数

ここでは自分が調査した伝説ポケモンが使ってくる技、こちらが使う技などの消費数を載せておきます。

伝説が使う技

ミュウツー
スピードスター  +2
サイコカッター  +3
サイコキネシス  +4
じこさいせい   0

トルネロス
エアスラッシュ  +4
かみくだく    +4
おいかぜ     +1(成功時のみ)
あまごい     +1(成功時のみ)

ランドロス
だいちのちから  +6
いわなだれ    +6
じしん      +5
すなあらし    +1(成功時のみ)

グラードン
ソーラービーム  +3(ヒット時)
だんがいのつるぎ +5
じしん      +5
ビルドアップ   0

ラティオス
りゅうのはどう  +3
りゅうのいぶき  +4
ラスターパージ  +4
サイコシフト   +1(不発時も同様)

レジロック
ロックオン    0
ストーンエッジ  +3
アームハンマー  +4
でんじほう    +4
※ロックオン直後の攻撃技の消費数は1つ減る

ディアルガ
はどうだん    +2
ときのほうこう  +3
ラスターカノン  +4
アイアンテール  +4

ヒードラン
かみくだく    +4
こわいかお    +1(最低ランク時は0)
ふんえん     未調査
ほのおのうず   未調査

エムリット
みらいよち    +3(ヒット時)
あまえる     +1(最低ランク時は0)
スピードスター  +2
じんつうりき   +4

クレセリア
きりさく     +3
オーロラビーム  +6
みらいよち    +3(ヒット時)
つきのひかり   0

《サンダー》
ほうでん     +4
げんしのちから  +4
ついばむ     +5
あまごい     +1(成功時のみ)

《ホウオウ》
じんつうりき   +4
げんしのちから  +4
せいなるほのお  +4
もえつきる    +3(初回以外は0)

ライコウ
ほうでん     +4
かみくだく    +4
かみなりのキバ  +5
リフレクター   0

《レシラム》
きりさく     +3
りゅうのはどう  +3
クロスフレイム  +3
じんつうりき   +4

コバルオン
でんこうせっか  +3
せいなるつるぎ  +3
アイアンヘッド  +4
つるぎのまい   0

ビリジオン
ギガドレイン   +3
せいなるつるぎ  +3
リーフブレード  +3
つるぎのまい   0

《ゼルネアス》
ジオコントロール 0
ウッドホーン   +3
つじぎり     +3
ムーンフォース  +4
※Catch Rateは45

ズガドーン
ビックリヘッド  +3
だいもんじ    +4
トリック     +1(不発時も同様)
シャドーボール  未調査
※Catch Rateは30

こちらが使う技

ドーブル
ねこのて     +1(一般的な変化技)
みねうち     +3
キノコのほうし  +5
なりきり     0
テクスチャー   0(タイプ受け用)
ミラータイプ   0
ひっくりかえす  0
うらみ      +1
※前述の通り、ねこのての消費数は「はねる」などの一部の変化技では更に多くなる場合がある

ボールの揺れ

0揺れ      +2
1揺れ      +3
2揺れ      +4
3揺れ      +5

その他

攻撃技が無効化  0
技が外れた    +1(未詳)
しゅうかく判定  +1
アイテム使用   0
交代       0
まひ・こんらん  +1(技使用時に発生)

ヌケニンを使った消費方法

ヌケニンに効果的な技を持たないポケモンの場合、みねうちを使ってこちらが一方的に消費数を操作することができます。相手の行動による影響で目標消費数にたどり着けないこともありません。伝説ポケモンではクレセリアミュウツーパルキアディアルガなどが該当。

例えば、現在14消費まで進んでおり、32消費でボールを投げたいとします。この場合、ボールを1回投げて0揺れ(+2)を狙い、その後みねうち(+3)を5回うたせます

これで確実に14+2+3*5=31消費目まで進めることが可能です。0揺れ狙いの場合は捕獲補正率の低いウルトラボールを使うと大体そうなるはず。一応、Capture欄で確認しておきましょう。

ちなみに、ヌケニンに先制の爪を持たせておくと1つ増えて4消費にできます。みねうちをうつターンに実際に爪が発動するかどうかは関係ありません。調べていませんが王者の印でもできると思います。

もしねこのてによるseed特定時にヌケニンが覚えているみねうちが選ばれた際は、その後の追加の3消費を考慮するのを忘れないでください。例えば技番号13のみねうちが発動し、その後相手がかみくだく(4消費)をしてきた場合、3+4=7なので「13 7...」と入力します。

あとがき

ここまで見ていただき、ありがとうございました。捕獲乱数とはいってもまだ不完全なので、いいアイデアがある人は教えてくれると嬉しいです。ツールに関してはもっと使い勝手の良いものをどなたか制作してくれないでしょうか(

現時点では普通のガンテツボールあたりなら気軽にできますが、ウルボや低体重へのヘビボだと消費等が少し面倒くさそうです。参考までに自分はムンボクレセリア、ヘビボトルネロス、ヘビボランドロス、ウルボヒードラン、ウルボライコウ等を色乱数の後この方法で一発ゲットしています。

そういえば、SVのDLCでは伝説ポケモンに色違いブロックルーチンがかかっているらしいです。理由は分かりませんが、7世代乱数もまだ活躍できそうですね⁉

19日はハンター氏による ポケマス 1年の総括と感想について とのことです。お楽しみに。
                              




みんなもポケモン(一発)ゲットじゃぞ~

 

*1:TinyMTのseedですが、起動時ではなく戦闘開始時に生成される一時的なseedです。

*2:自分は現在12個の技を用意してます。コットンガード、バリアー、てっぺき、とける、ビルドアップ、とぐろをまく、めいそう、ちょうのまい、コスモパワー、ドわすれ、ぼうぎょしれい、かたくなるを控えに覚えさせています。消費数が変則的なものが一部あるらしいので注意。

*3:現時点で一般向けに公開する予定はありません。適当なので...