かけらの記録ノート

かけらの記録ノート

主にポケモンの乱数について語るブログ

第六世代のID調整と孵化乱数について

海外で公開されてたのを個人的にまとめただけ。

 結論から言うと、ID調整は実機では(おそらく)不可能、孵化乱数は固定と同程度の難易度で可能。(展開がないから少しは難しいかも)
※実際に検証したわけではないので間違っている可能性があります。

仕組みについて

ID調整

第七世代でおなじみのTinyMTが使われている。
mat値などは七世代同様にsampleのものと一緒の模様。statusの値をtemperした32bitの値がIDとして使われる。
どうやってもstatusの値をゲーム内から予測できないと思うので無理だと思われる。MTの初期seedと同じ値でstatusが初期化されているならワンチャンあるかもしれない。

孵化乱数

連続した2つのMTの乱数値から孵化seedを取り、その上下32bitをkeyとしてinit_by_array()で初期化されたもう一つのMTを生成し、その乱数列から個体値や性格値が決定される。乱数値の商を使う点を除き、スキームは第七世代と同じ。
単純に固定乱数と同じように1/60秒を合わせればうまくいくはず。

孵化はいけそうなので誰かやってみてはどうでしょう??

第六世代固定シンボル乱数調整のやり方

このままだと一生公開されそうにないと思ったので頑張って書きました。

※今回説明するやり方は、私が実際に行ったものであり先駆者様とは一部異なります。

【追記】
より精度の高い手法が考案されたようなので、こちらの方法で行うことをおすすめします。

larvesta10.hatenablog.com

準備するもの

 ・3DS
 newやLLでももちろん可能
ORAS、XYのゲームソフト
6世代乱数用のツール
エメタイマー
ゲーム内で準備するもの
マスターボール2個
※野生ポケモンを1回で捕まえられるなら別のボールでもおkです。
個体値絞り込み用の飴5個程度
・欲しい性格のシンクロ(必要なら)

上記の準備を済ませた後、手持ちに2匹の空きを作った状態で目的のシンボルが存在する場所から最も近い野生ポケモンの出現するポイントでセーブする。
※この時、シンクロのポケモンを先頭に置かないようにしてください。

ヒードランならここ(真ん前)

f:id:sina_poke:20170505193725p:plain

ボルトルネランドならここ(ヒワマキの右)

f:id:sina_poke:20170505193504p:plain

ここから成功までは一度もセーブをしないでください。

乱数調整の手順

1.基準となる初期seed(以下基準seed)の特定

ソフトリセットをし、A連打で続きから始めるを選択します。
フィールドに移ったらそのままできるだけ早く野生ポケモンとエンカウントします。
※ここでエンカウントまでの時間が長いと結果が出ない場合があるので注意。
エンカウントしたポケモンマスターボールで捕獲し、その後もう一度野生ポケモンとできるだけ早くエンカウントし、同じように捕獲します。
捕獲が終わったら2匹の個体値を完全に確定させ、初期seed総当りツールに入力します。

f:id:sina_poke:20170505173318p:plain

基本的に諸ツールはconfig.txtに書き込んでツール上で読み込む、という使い方をしてください。
入力が終わったらツールを起動し、計算を開始します。

f:id:sina_poke:20170505162441p:plain
全範囲の総当りが終わるまでに4時間ちょいかかります。
計算中はPCが結構重くなるのでレートにでも潜って時間を潰しましょう。
運が悪くなければ2~3時間程度で候補が見つかると思います。
候補が見つかったら結果に出た初期seedをメモしてツールを閉じます。
※候補が見つからなかった場合、検索する消費数の範囲を広げてみてください。

無事に候補が見つかったら、seedが正しいかどうか一度確かめてみます。
結果に出たseedを個体検索ツールに入力し、総当りツールに入力した個体値を検索してみます。

f:id:sina_poke:20171013233922p:plain

出てきた個体の性格が両方とも実機の結果と同じ場合、結果のseedが正しいことがわかります。
消費数の結果が総当りツールと数F程度ずれている場合がありますが、個体値と性格が一致していれば問題はありません。

 

 2.基準seedから初期seedの検索

総当りに結構時間を使っているので、今の状態では求めた基準seedと現在の初期seedの間に結構な差があります。そのため、実際の乱数調整に入る前に一度現在の初期seedを求めておく必要があります。

初期seed検索ツールに1.で出た基準seedを入力し、計算数には適当に大きい値を入力しておきます。(10000000もあれば十分)
ゲームを再起動(リセット)し、連打で起動しできるだけ早く野生のポケモン2匹とエンカウントして捕獲後、最初の1匹のみほぼ完全に個体値を特定します。(個体値の範囲は±1程度まで、2匹目は完全に特定する必要はない)
1匹目に捕獲したポケモン個体値と性格をツールに入力し、計算します。

f:id:sina_poke:20171013234029p:plain
結果が出たら、初期seedを個体検索ツールに入力し、検索します。
※場合によっては結果が複数出ることもあるので、その場合は全ての候補をツールで検索して正しいseedを探してください。

f:id:sina_poke:20171013234109p:plain
個体検索ツールの狙う個体値に2匹目に捕獲したポケモン個体値とおおよそのフレームを入力して計算し、性格とともに結果が出てくればおk。

正しい初期seedが分かったらキャンセルを選択し、初期seedの計算を中断します。

以降初期seedを検索するときは直前に引いた初期seedを基準seedの欄に入力してください。
(初期seedに経過時間のミリ秒が足されるという特性から、一度引いたseedより前のseedを引くことはない)

 

3.検索開始消費数の特定

エメタイマーを起動し、時間のところに270と入力します。
(初期seed特定から個体検索までのおおよその時間なので、短いと思ったら増やしてもおk)

f:id:sina_poke:20170505172505p:plain
ゲームを再起動し、タイトル画面(A入力で「続きから始める」に進む画面)まで進めます。
↓の画面まで進めなくてもA入力で「続きから始める」に移行する状態ならおk
XY
f:id:sina_poke:20170505194321p:plain

ORAS
f:id:sina_poke:20170505194331p:plain

ここでAボタン入力と同時にエメタイマーをスタート。
そのまま連打で続きから始めるを選択し、できるだけ早く野生ポケモンとエンカウントします。
※この時、サーチによる土煙や揺れ草が発生した場合、余計に乱数が消費されるのでリセットしてやり直してください。
野生ポケモンマスターボールで捕獲後、個体値の範囲をほぼ完全に特定させます。(±1程度まで)
初期seed検索ツールに個体値と性格を入力し、基準seedに直前に使用した初期seedが入力されているのを確認して、計算数に100000程度の値を入力し検索します。

※結果が出ない場合は計算数を増やしてみてください。

f:id:sina_poke:20171013234525p:plain
結果が出たら、初期seedをコピーし、個体検索ツールと初期seed検索ツールの基準seedの欄に上書きしておきます。
ゲーム側で固定シンボルのポケモンとエンカウントする直前まで操作し、エメタイマーが0になると同時にエンカウントします。

f:id:sina_poke:20171013235257p:plain

そのままマスターボールで捕獲をし、個体値を特定して、個体検索ツールで検索します。

f:id:sina_poke:20171013234305p:plain
結果に出た消費数が目標個体を検索するときのおおよその下限になります。
この工程を何度か行い、消費数の目安を立ててください。
(ランドの場合、270秒で行うと16200前後になるばず)
大体の目安がついたら、個体検索ツールの検索するフレームの下限にこの消費数を入力しておきます。

 

4.目標個体の検索と乱数の消費

エメタイマーを別にもう一つ起動させておき、3と同じようにして野生ポケモンから初期seedを特定します。

特定したseedから個体検索ツールで欲しい個体を検索し、出た消費数を追加で起動したエメタイマーのフレーム欄に入力します。(結果の消費数は下限の値を引いたものが出力されます)

f:id:sina_poke:20171013234325p:plain

f:id:sina_poke:20171013234422p:plain

シンクロを使用する場合はここで先頭に差し替えます。
ゲーム内で固定シンボルのポケモンとエンカウントする直前まで画面を進め、タイトルと同時にカウントを開始したタイマーが0になった瞬間に追加分の設定したタイマーを開始させます。

f:id:sina_poke:20170505190751p:plain

そして、フレームを設定したタイマーが0になると同時にエンカウントします。

f:id:sina_poke:20171013235314p:plain

ここで無事に目標個体と遭遇できれば成功です!

失敗した場合はどの消費数を引いたかを個体検索ツールから探し、ずれを修正してもう一度4.の冒頭からやり直してください。

ここで注意なのですが、消費数はおよそ60/sであって、ぴったりと1秒に60消費されている訳ではありません。同じような消費数を狙う場合は安定しますが、数万F近く離れているものを狙うと結構なずれが生じます。このことを念頭に置いて消費数を決定してください。

 同様のやり方で配達員乱数も可能ですが、その場合は個体検索時に配達員にチェックを入れて検索してください。

【追記】
XYの固定シンボルについては、ORASと生成スキームが異なるとの情報を頂きました。XYの固定シンボルの乱数を行う場合は配達員にチェックを入れて個体の検索をしてください。

 

成功例

腕白色ランドロスinゴージャス 

f:id:sina_poke:20170505204536p:plain

臆病色ヒードランinゴージャス(前記事)

慣れれば色違いがポンポン出ます。(シンクロは運ゲ)
色高個体の乱数は少し厳しいですが、誰かやってみてください。

おわり

ORAS乱数調整 臆病3V1T色ヒードラン

 仕組みが公開されてたのでとりあえずやってみただけ

結果

f:id:sina_poke:20170311232927j:plain

狙った個体
f:id:sina_poke:20170311232810p:plain

初期seed特定に使ったゴルバットくん(ちゃん?)

f:id:sina_poke:20170311233414j:plain

色々と調べながらやったので個体値は妥協気味だけどゆるして。
シンクロはまだ調べてないので運ゲでした(調査とは一体)
やり方は仕組みが公開されてる記事そのままです。
難易度は展開?がある分同様に1/60秒を合わせる3世代と比べて簡単でした。
1箇所抜け5vやただの色違い程度なら数回試行すればできると思います。

ポケトレ厳選産 3V1U穏やか色クレッフィinマスボ

ポケトレで色+数Vのポケモンがゲットできる!とのことで、個人的に6世代の中でも(※デザインが)好きな色クレッフィを粘ってみました。

(マスボ色クレッフィポケトレ産だけ!)

実戦で使うに当たって、HBDの3箇所にVがあれば良いだけなのですぐに終わるんじゃないかと思ってましたが、いざやってみると2週間以上厳選してました。

f:id:sina_poke:20160927230441j:plain

穏やか 30-31-31-16-31-7

この個体を出すまでに計22匹の色クレッフィを捕まえてました()
途中でおしい個体もありましたが、妥協せずに頑張りました。
(HがUだけど、多少はね?)
実戦で使えるレベルの個体をゲットできたので満足してます!

チェックサム乱数調整 WISHMKRジラーチ全種

前からちょくちょくやってたんですが、ようやく全種類の個体が終わったので記事にまとめようと思います。

環境

f:id:sina_poke:20160927220524j:plain

起動には北米GCではなく、リージョンフリーにした日本Wiiを使いました。

 

f:id:sina_poke:20160927220040j:plain

※輸送済みだったのでエメラルドでの写真です
wishmakerジラーチの色個体全9種の乱数に成功しました!その他にも、某陽気の最高個体も積もりました。
個体値や性格値の情報は秘匿情報云々言われてるらしいので隠しておきます。
チェックサム乱数は難しいと言われてますけど、慣れてくると数F以内に収まるようになってきます。
体感的にFRLG乱数より少し難しいくらいの難易度でした。
環境を整えるのが大変でしたが、やるだけの価値はあったと思ってます。
コメントくれればツールあげるので、環境が整っててやりたい人がいれば言ってください。
公開を停止しました。

7世代でも指振って遊びたいと思います!

ポケモンボックス併用RS野生乱数 意地っ張り5Vクチート

メソッド1ではスロット1しかないのでメソッド4限定の個体です

f:id:sina_poke:20160712190543j:plain

f:id:sina_poke:20160712190551j:plain

時間(分),初期seed,フレーム,乱数値,TID,SID,色違い
1171,bad,044923,d8c4e59e,00000,55492,★
1531,bad,044923,d8c4e59e,00000,55492,★

初期seed 0x668(170分)130425F
意地っ張り 31-31-31-15-31-31

今回狙ったクチートはメソッド4です
全く同じ個体値クチートが130343Fにもいますが、再計算処理の関係でメソッドズレが起きないと思ったこちらのフレームを用いたところ成功しました
この個体はメソッドズレ報告があったので少し不安でしたが、おそらく130343Fの個体だったか、国籍が違うために影響があったのかもしれません
どのメソッドになるかについては現在調査中で、終わり次第記事にまとめる予定です

チャンネルジラーチの乱数調整

チャンネルジラーチの乱数調整のやり方について説明します。
このジラーチですが、色回避ルーチンがないので色違いを捕獲することができます。
WISHMKRジラーチと合わせて過去作で捕まえることができる正規の色ジラーチになります。
こちらは個体の幅が広いので、色違いの高個体値や通常色なら理想個体も狙うことができます。
難易度的にもWISHMKRと比べると楽なため、初心者にもやさしい乱数調整となっているのでとてもオススメです!

用意するもの
・欧州版または豪州版ポケモンチャンネル
ジラーチを受け取る為にはクリア済みである必要があります。
・海外版ルビーorサファイア
殿堂入り済みROMで1度だけジラーチが受け取れます。
個体によっては複数回受け取る必要がある為、複数用意しておくのも良いかもしれません。
ポケモンチャンネル乱数ツール

mahodoriproject.hatenablog.comここでは、ポ氏作成のChannelToolsを使用し解説します。
※以下のやり方は50Hzを前提にしてます

(1)目標個体の検索

ChannelJirachiSearchを使用し、個体を検索します。

f:id:sina_poke:20200304213554p:plain
消費速度が遅い為、できるだけ多くの候補を選ぶと良いです。
消費列に「受け取り」と書かれているものは、その個体を入手する為に別の個体を受け取らなければ困難な個体です。
消費列に「ペイント」と書かれているものは、ペイント消費(後述)を使用しなければ困難な個体です。
集めた候補の開始時seed を、ChannelSeedSearchの[目標seed]タブの[目標seed]に入力します。

(2)現在seedの検索

ChannelSeedSearchの[現在seed]タブを使用し、現在のseed を計算します。
目標までの消費数が0x00008000から近い場合はペイント消費を使用することでこの作業は不要です。
[seedを総当たり]を選択し、ゲームを起動後、オプションに入った状態から、”タイトル画面→オプション”を繰り返し、ボタンの出現順のパターンを10回入力し計算します。

f:id:sina_poke:20200304213635p:plain

f:id:sina_poke:20200310214555p:plain
ゲームキューブを使用している場合は、より速くseedを特定できます。
XDやCoと同様に毎回同じ起動時刻に起動することで初期seedの範囲を絞ることが可能です。
[初期seedの範囲を指定]を選択し、最初に表示されるタイトルのパターンも含め、”タイトル画面→オプション”を10 回程繰り返し、入力し計算します。

f:id:sina_poke:20200310214659p:plain

(3)消費数の検索

[目標seed]タブに(2)で求めた現在seedと消費数の範囲を指定し計算します。

f:id:sina_poke:20200310220242p:plain
10,000,000消費で1日が目安です。(消費が不安定なので実際はそれ以上の時間がかかります。)
ここで候補が出なかった場合もしくは消費数が多かった場合は、ゲームをリセットし、再度(2)からやり直します。

(4)大まかな消費

※極々稀ですが、消費が極端に少ない場合は(6)まで飛ばしてください。
大まかな消費はタマゴチャンネルを使用します。砂漠112/s、池103/s の速さで消費されます。
タマゴが孵っている間は消費が多くなっているので、余裕をもって計算しましょう。

f:id:sina_poke:20200304213713p:plain
消費後はレポートチャンネルからタイトルに戻ります。

(5)現在seed の検索

[現在seed]タブで[消費数の範囲を指定]を選択し、(2)で求めたseedと消費数の範囲を指定します。

f:id:sina_poke:20200310220253p:plain
パターンを何度か入力し、現在seed を求めます。この際、タイトルのパターンを見た後にオプション内に入っておくようにします。
(3)~(5)を繰り返し、目標seed までの消費数を減らします。

(6)細かい消費

細かい消費はレポートチャンネルを使用します。52/sで消費されます。

f:id:sina_poke:20200304214158p:plain
消費後は(5)と同様、現在のseedを求めます。

(7)最終消費

残り消費数が5000 以下になったらChannelSeedSearchの[受け取り調整]タブを使用し、目標seedまでの消費方法を計算します。
現在のseedと目標の開始時seedを入力して計算します。

f:id:sina_poke:20200310220305p:plain

消費が可能であればタイトル/ジラーチ/スペシャル/受け取り/ペイントの並んだ結果が出るので、以下の通りに行動します。※いずれもオプション内からの行動です。
[タイトル]
タイトル画面→オプション
[ジラーチ]
ジラーチ→選択肢でいいえ→オプション
[スペシャル]
タイトル画面→スペシャル→START ボタンから終了→オプション
※START ボタンを押した直後はPaint にカーソルがあります。
そのままPaint に入るとペイント消費が発生するので注意してください。
[ペイントn 回]
タイトル画面→スペシャル→START ボタンからペイントを回数分開閉→終了→オプション
[受け取り]
ジラーチを受け取る→オプション

(8) 個体確認

全ての消費を終えたらジラーチを受け取ります。狙っていた個体であれば成功です。

f:id:sina_poke:20160526212730j:plain

ペイント消費について

タイトル画面→スペシャル→STARTボタンからPaintに入ると初回(ゲームを起動後、最初に入ったとき)はseed:0x00008000に初期化され、それ以降に入ると、ChannelSeedSearchの[ペイント]に従いseedを進めることができます。
続きから始めてテレビの右にあるドーブルからペイントに入った際も同様に初期化されますが、レポートチャンネルで不定消費が発生するので任意の消費には使用できないと思います。

f:id:sina_poke:20200310220317p:plain

~終~