かけらの記録ノート

かけらの記録ノート

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

【XD乱数】いますぐバトルでのシードの特定

お待たせしました。日本版での調査とツールのデバッグが一通り終わったのでやり方を公開したいと思います。

【注意】ID調整、ダークポケモンの乱数への応用に関しては欧州版でのみ可能です。日本版は消費の微調整ができないため、展開の広いポケモンに対しての乱数のみ現実的な難易度でできると思います。日本版でもできるようになりました。

ツールはここからダウンロードできます。

8/31更新
データベースからの検索を高速化

初期シード検索用のデータベースとは別に全範囲の検索ができるデータベースを作成したので、ここからダウンロードしてDatabaseフォルダに入れといてください。800MB程度で割と大きいので注意。使わなくても一応できますが、あった方が色々と楽です。

1. 初期シード検索用データベースの作成

一度GUIツール上で検索するコードを書いてみたところあまりにも遅かったので、データベースを作成することで高速化しました。これによって数十分かかっていたのが数秒に変わりました。7世代でおなじみの方法になりますね。作成するに当たり、最低500MB程度の空き容量が必要です。検索範囲を広げる場合は+数百MB必要になります。データベースの作成にはXDatabase.exeというツールを使います。

まずはじめにいつものやり方でシードを特定して、ある程度予想されるシードの範囲を特定しておきます。そしてその範囲+αのシードをツールに入力します。

f:id:sina_poke:20190318184911p:plain

データベースの作成にはシードの範囲にもよりますが10分以内には終わると思います。あまり検索範囲を取りすぎると計算時間も長くなりますし容量も大きくなってしまうので、そこはうまい具合に決めてください。データベースの作成中はとてもPCが重くなって他の用途に使えなくなるので注意してください。

データベースの作成が終わったら次にソートを行います。これは付属のXDatabaseSort.exeを実行するだけです。

f:id:sina_poke:20190318185005p:plain

データベースの容量にもよりますが数分で終わります。

これでデータベースの作成は完了です。

2. 目標個体の設定

ここからはXDQuickBattleSearchを使っていきます。

まずは初めに、ギンザルさんのツールやID / イーブイ検索タブを使って目標のシードを検索しておきます。

f:id:sina_poke:20190318180452p:plain

私のツールでは検索結果の一番左のシード列がこれに当たります。イーブイの検索に関してなんですが、個体値の範囲を広くして計算するとあまりにも遅すぎてツールが止まってしまうので別に専用のツールを添付しました。こんなかんじで使ってください。

f:id:sina_poke:20190318233745p:plain

適当に作ったので割とガバガバです。どちらも計算結果をresult.csvとして出力する機能がついています。

ここまでできたら初期シードの特定に入る前に一度ゲームを始めてリバース状態のダークポケモンと適当なポケモンを手持ちに置いておきます。これらは消費を行うのに使用します。

3. 初期シードの特定

初期シードの特定方法には、①作成した初期シード検索用のデータベースから検索する方法と②全範囲のシードから作成したデータベースから検索する方法の2種類あります。②の方法に関してはデータベースファイルをダウンロードしていないと使えないので注意。

①の方法では初期シードの特定に限って簡単にシードを求めることができます。②の方法では検索が大変ですが、起動直後に限らずどこでもシードを求めることができます。

①作成した初期シード検索用のデータベースから検索する方法

いつものように決められた秒数で起動を行い「対戦モード」を選択します。そのまま「いますぐバトル」を選択し、「コンピュータとバトル」の「さいきょう」を選びます。

f:id:sina_poke:20190318185546p:plain

初期シードを検索にチェックを入れて、出た手持ちの種類とHPの実数値をツールに入力し、計算をクリックします。

f:id:sina_poke:20190506005409p:plain

結果が出たら「候補から絞り込む」にチェックを入れて、一度戻ってからもう一度「さいきょう」を選択して出た手持ちをツールに入力して計算します。

何度か行って結果が1つに絞り込むことができれば初期シードの特定は成功です。

f:id:sina_poke:20190506010145p:plain※最新のツールだと表示が少し違います。

②全範囲のシードから作成したデータベースから検索する方法

「初期シードを検索」のチェックが外れていることを確認しておきます。

その後、ゲーム起動直後に関わらずどのタイミングからでも構わないので、「いますぐバトル」の「さいきょう」を選択して出た連続した3つの手持ちをツールに入力します。

最初に出た組み合わせは手持ちの種類のみを「手持ちの情報」の欄に入力して、その後の2つは下の枠内に手持ちの種類とHPの実数値を入力します。

そして計算をクリックします。

f:id:sina_poke:20190506013131p:plain

結果が見つかるとこのように表示されます。

候補が見つかった後は①と同じようにして候補から絞り込んでください。

f:id:sina_poke:20190506013242p:plain

この方法は基本的にLCG上のどこにいても使えるので、大量に消費したあとのシードの特定に使うととても便利だと思います。

4. 目標個体までの消費

大まかな消費を行う場合はつないでバトルで行います。

f:id:sina_poke:20190318181715p:plain

適当に項目を設定して決定を選択するとXD上での今の手持ちが表示されるので、つよさをみるを使って消費します。

f:id:sina_poke:20190318182458p:plain

ギンザルさんのページにある通り、リバース状態のダークポケモンを眺めると約3700/sの消費を行うことができます。そのため、あらかじめメインのデータの手持ちに消費用のポケモンをセットしておく必要があります。

ここで消費を行ったあとはいますぐバトルで現在のシードを求めます。シード検索タブのシードを選択して、消費前のシードと検索したい消費数の範囲を入力します。そして出てきた手持ちを入力して計算を押します。

f:id:sina_poke:20190602153202p:plain

検索する消費数の範囲が数千万単位でとても広い場合、上にある全範囲のデータベースを使って計算した方が楽に現在シードを求めることができます。

そして残り消費数が約10000程度になったら消費契機タブで残りの消費を行います。

現在のシードと目標の消費数を入力します。続きから始める場合は持ち物消費にチェックを入れてロード後のフィールドの持ち物消費数を入力しておきます。※持ち物消費数が分からない場合は入力しなくていいと思います。

f:id:sina_poke:20190318235507p:plain

ここで結果が出た場合は出力された組み合わせの通りに行動すれば消費ができます。いくつか候補が出ると思いますがどれを行っても大丈夫です。カッコ内はその行動をする回数になります。

・最強

一度Bで戻ってからもう一度「さいきょう」を選択します。

f:id:sina_poke:20190602154701p:plain

・最初

タイトルに戻った後、最初から始めるを選択します。

f:id:sina_poke:20190318183229p:plain

この画面で「はい」を選択すると2消費されます。日本XDはここで「はい」を選択後に高速消費が起きてしまうので消費の調整ができません。

・設定

設定を変更してセーブすると40消費されます。

f:id:sina_poke:20190318183249p:plain

・いますぐ

対戦モードの画面からいますぐバトルを選択します。対戦モードからいますぐバトルの画面に移る時に消費が行われます。

f:id:sina_poke:20190318183321p:plain

日本XDでは「最初」での2消費を使えないので、ダークポケモンの乱数をする場合はできるだけ「最初」による消費が少ない候補を使うか、ID調整をする場合を参考にして名前選択画面でフレーム単位で調整する必要があります。

5. 目標個体とのエンカウント

ID調整、イーブイの場合は最後に「最初から始める」を選択して消費を行ってからタイトルには戻らずにそのまま名前選択を行って最初から始めてください。※消費の最後に「最初(0)」の候補は使えません。続きから始める場合はタイトルに戻ってから続きからを選択してください。続きから直後のエンカウントについて、nの調査や消費数の範囲などは調べてないので各自調べてそれに合わせて調整を行ってください。うまく目標個体とエンカウントできれば成功です。

成功するとこんなかんじになります。

f:id:sina_poke:20190319125751j:plain

f:id:sina_poke:20190319125802j:plain

臆病色イーブイ 29-4-29-31-30-31 表ID 48835 裏ID57548

以上でツールの説明を終わりにします。ツールについて何か要望や改善してほしいところがあったら教えてください。

需要がありそうなら仕組みについて記事にまとめます。