1.はじめに
この記事は Pokémon Past Generation Advent Calendar 2023 の249日目の記事です。212日目の記事でRSE固定・野生乱数自動化プログラムを紹介しました。基本的な乱数はこのプログラムで網羅できますが、RS絵画ありの乱数については対応していません。(※ 絵画Seedってなんぞやって方はコチラの記事を参考になります。)
一部の対戦勢には、Emでは入手できない固定method4や、Lv45の「グラードン」や「カイオーガ」の需要があると考え、絵画選択から固定シンボル(レジ系、グラカイ、ラティ兄弟、レックウザ)と戦闘に入るまでを自動化するプログラムを作成しました。当然、ポケモンボックスによるmethod4狙いにも対応し、色違い・素早さ判定によるループや、マスターボールで捕獲して、ステータスを確認などオプションも豊富です。
「そらのはしら」も登れるため、無邪気6Vレックウザを捕獲可能
2.絵画あり乱数自動化プログラム
RSで絵画あり乱数を自動化するプログラムです。
※ Nx Macro Controller用のプログラムです。GC(GBA)自動化の導入はこちらの記事を参考にしましょう。
ゲームでの準備
プログラムの実行にあたっては、ゲームソフトでは以下の準備をして下さい。
共通
・ 野生乱数の場合は3匹目の一番上の技を「あまいかおり」にする。
・ ゲームボーイプレイヤーの画面設定を「フル」にする。
・ 設定で「はなしの はやさ」を「はやい」にする。
・ せんとう エフェクトを「みない」にする。
・ ステータスを確認する場合は手持ちを開けておき、マスターボールを用意する。
・ 手持ちに2匹目の一番上の技のわざを「そらをとぶ」にする。
ポケモンごとの準備
・「レジスチル」、「ラティ兄弟」以外は絵画の前でゴールドスプレーを使用してから、レポートを書く。
・ 「グラードン」、「カイオーガ」でmethod4を狙う場合はタマゴ孵化の歩数調整を事前に行う。
・ 「レジアイス」、「グラードン」、「カイオーガ」、「レックウザ」の場合は「なみのり」を覚えたポケモンを手持ちに入れる。
method4のグラードン or カイオ-ガの孵化歩数調整
「グラードン」、「カイオーガ」でmethod4を狙う場合は、グラカイの直前でタマゴを孵化させ、BGMを流す必要があります。
電池ありで乱数する場合は、「めざめのほこら」で孵化歩数を消費できるため、調整が簡単ですが、絵画を利用する場合は難しくなります。
第三世代ではタマゴが生まれるまで歩数は、1個ごとに何歩歩いたかをカウントされている訳ではなく、「サイクル数」で管理されています。サイクル数は一定歩数歩くごとに1ずつ減り、「0」になったとき孵化するという仕様になっております。
歩数カウントを0にリセットして数え直し始める処理が256歩目で行われ、255歩目でタマゴの孵化判定や残りサイクル数を減らす処理が行われるため、実際にタマゴを孵化させることで、次のサイクル数を減らす処理までの歩数を調べることができます。
例えば、残りサイクルが同じタマゴを2個用意し、片方が孵化したタイミングであれば、もう片方の残り孵化歩数は256歩ということが分かります。私の作成したプログラムは、残り孵化歩数が256歩のタマゴを持った状態で、ハジツゲタウンのポケモンセンター入口から絵画に最速で移動した場合、グラカイの一歩手前でタマゴが孵化できるように調整しています。
説明だけだとわかりにくいと思うので、実際の流れを動画にしました。孵化サイクルが最小の「5」である「コイキング」を適当に用意して、育て屋に預けるのが楽だと思います。
孵化サイクルの仕様を利用したmethod4グラカイ用の孵化歩数調整…の修正版です。2つの残りサイクルが同じタマゴを用意して、片方が孵化した後に最速で絵画まで移動すると、グラカイ1歩手前で孵化させることができます。以前から移動方法を変えて、PBRSに対応 & 4歩余分に歩く調整を不要にしました。 pic.twitter.com/BJseJc0O4X
— 奈都 (@Natu5307051) 2024年8月4日
また、過去に私が絵画で勇敢5vS0グラードンの乱数調整した際は、孵化BGMを流すタイミングが同じだとmethodがズレないように感じたので、孵化BGMを流すタイミングを変えるC♯スクリプトを用意しています。0.1秒から20秒にしていますが、範囲を広げたい場合や、逆に待機時間が足りなくなる場合はCsxファイルを直接修正すればokです。
Nx Macro Controllerでの設定
・「Var PaintSeed」に目標の絵画Seedを16進数で入力する。 ("ABCD"など。)
・「Var Frame」に個体決定フレームを入力する。
・「Var Pokemon」に固定乱数で狙うポケモン名を入力する。
・ポケモンボックスを使用する場合は「Var PBRS」を"あり" にする。
・method4グラカイを狙う場合は「Var Egg」を"あり"にする。
・method4グラカイを狙う場合、孵化BGMを流すタイミングを変える場合は「Var Random」を"あり"にする。
・色違いが出現するまでループさせる場合は「Var Shiny」を"あり"にする。
・素早さ判定が通るまでループさせる場合は「Var SpeedCheck」を"あり"にする。
・素早さ判定する場合は「Var ActionSpeed」で相手ポケモンの行動順を入力する。("先制" or "後攻")
・マスターボールで捕獲して、ステータス確認する場合は「Var CaptureMB」を"あり"にする。(色判定 or 素早さ判定が通った場合は捕獲しない。)
共存できない設定、フレームが短すぎる場合、不正な固定シンボル名が入力されると、エラーメッセージが出て、プログラムが停止します。
プログラムの実行
「ハジツゲタウン」のコンテスト会場で、絵画の前でレポートを書いてから、プログラムを実行します。移動に失敗した場合はリセットして絵画待機からやり直してくれますが、あまりにもミス目立つ場合は適宜コマンドを修正して下さい。(というか自環境でも試すので、ご連絡下さい。ミスった場合は勝手にキャプチャしてくれます。)
3.色違い判定
「Var Shiny」を"あり"にしている場合は、色違いが出現するまでループし、NXのオプションから、LINE Notifyトークンを設定していれば、色違いが出現した際に通知してくれます。
4.素早さ判定
「Var SpeedCheck」を"あり"にして、「Var ActionSpeed」で相手ポケモンの行動順を入力すると、素早さ判定が成功するまでループをし、LINE Notifyトークンを設定していれば、素早さ判定が成功した際に通知します。色違いを狙わない場合や、methodズレを狙う場合に使える機能です。特にグラカイやラティ兄弟は、中々methodがズレませんので必須級です。
自分のポケモンが使用する技は1匹目の一番上の技となります。素早さ判定をする際は「ダイナモバッジ」による素早さ1.1倍補正を考慮して下さい。
また、レックウザの神速による誤認識や相手の攻撃で倒されるパターンは想定してません。
5.捕獲自動化
「Var CaptureMB」を"あり"にすると、マスターボールで捕獲して、ステータスを通知します。色違い・素早さ判定を有効にした場合は、判定に失敗した場合のみ捕獲&通知し、その後リセットして絵画選択からやり直します。フレームがどれくらいズレたか確認する際に活用していただければと思います。
6.おわりに
RSで絵画あり乱数するのはかなりオタク向けですが、対戦用個体の調達に利用していただければ幸いです。本プログラムで不具合、改良案等ございましたら、筆者のXアカウント(@Natu5307051)のDMまでご連絡下さい。
なお、需要の高い固定シンボルのみに対応していますが、関数を追加すれば他のポケモンにも対応できるようにしています。需要の高い固定シンボルは対応済みですが、もし追加した場合は公開版にも反映させていただけると助かります。