【ポケモンEm】バトルチューブ完全自動化によるBP稼ぎ

 

1.はじめに

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

ポケットモンスターエメラルドにおいて、バトルフロンティアの施設をクリアすることで、バトルポイント(BP)が貯まります。貯まったBPはフロンティア内で栄養ドリンクや、もようがえグッズと交換したり、ポケモンに技を教えさせたりすることができます。しかしながら、エメラルドのバトル施設はどれも一筋縄ではいかないものばかりで、ギャンブルを利用しても効率はかなり悪いです。

ただし、乱数調整を使用するのであれば、バトルチューブで素通り部屋を連続で引き続けることができます。アザミ戦を除いた自動化であれば既に試している方がいるようですが、BP効率がかなり悪いと考え、アザミ戦を含めた完全自動化マクロを作成しました。26周以降は一度にもらえるBPが15(アザミを倒していれば+10)になるため、効率が桁違いになります。

 

 

さらに、今回のマクロはSeedにも拘り、待機時間が短くなる工夫をしているので、2日も放置しておけば9999部屋突破できるレベルです。各栄養ドリンクを999個ずつ交換したとしても、4000BPも余裕があります。素晴らしいですね。

 

 

 

2.バトルチューブの処理

 部屋には大広間でメイドさんが教えてくれる「ヒント部屋」とそれ以外の「非ヒント部屋」に分かれており、それぞれ部屋の決定タイミングが異なります。

 

 

 1部屋目は「ゲームスタート」というメッセージでA押下して、大広間に入るタイミング。2部屋目以降では小部屋から大広間に入ったタイミングで、「ヒント部屋の位置」と「部屋の種類」が決まります。その後、大広間からヒント部屋(小部屋)に入るタイミングで、小部屋の「トレーナーと使用ポケモン」が決まります。非ヒント部屋は小部屋に入るタイミングで「ヒント部屋の位置」、「部屋の種類」、「トレーナーと使用ポケモン」がすべて決定されます。今回はヒント部屋が真ん中かつ、素通り部屋のSeed帯をBV保存することで、直進するだけでクリアすることを目標としています。

 

ちなみに部屋の種類は、手持ちのポケモンの状態や、ヒント部屋か非ヒント部屋かによって変わります。具体的には「乱数値 % M」で決定され、乱数値はSeedの4個先(2個だったかも?)の上位16bitで、Mは出現しうる部屋の数となります。(例えば素通り部屋は余りが「1」の場合に出現。)

処理自体は簡単なことが分かったので、今回使用するBVはSeedを総当たりして選定しました。

 

 

3.バトルチューブ用BV保存マクロ

絵画を利用して、ファクトリーで目的Seedで戦闘を開始するまで、ループするNX用のマクロとなります。

※ Nx Macro Controller用の自動化プログラムです。GC(GBA)自動化の導入はこちらの記事を参考にしましょう。

 

バトルファクトリーのレンタルポケモンを画像認識してSeedのズレを確認できます。Emものひろい乱数、メソズレ破壊Seed利用の孵化乱数などのBVを利用するマクロを共有する場合に利用できるツールになれば良いなと思います。

私の環境ではBVを撮り直してもSeedがズレませんでしたが、各自の環境によっては±15F程度ズレるようです。PID再計算による消費のズレだと思いますので、申し訳ございませんが、ズレた場合はチューブマクロの待機時間を各自で調整して下さい。待機時間には少し余裕をみているため、大きくずれない限りカバーできます。

マクロの開始位置はミナモシティの絵画の前となりますので、そこでレポートしてから実行してください。手持ちの1匹目にはそらをとぶ要員が必要です。

 

LINEトークンを設定していれば、レンタルポケモンの画像が送付されるため、3genserchに搭載されているMFMで待機時間の微調整もできます。

 

このマクロで保存するSeedについても解説いたします。絵画待機5612Fの0x15ECで約296740Fに値するSeedを保存することを目標としています。このSeedの何がすごいかというと、前述のとおりチューブの部屋が決定されるタイミングは1部屋目と2部屋目以降で異なり、BV再生から部屋が決定されるタイミングは1部屋目の方が約1400F遅いです。そのため、1部屋目と同じSeed帯を使う場合は2部屋目以降は無駄に1400F待機する必要があります。そのため、全Seedを総当たりして、1部屋目と2部屋目以降の待機時間が最小となり、なおかつそれぞれの猶予が±3FとなるSeedを選定しました。

 

Seed総当たりにおいては、夜綱さまが公開しているPokemonPRNGをお借りしました。いつもありがとうございます。

本当はもう少し待機時間を削りたかったのですが、猶予±3Fを確保できている1部屋目と2部屋目以降に両対応しているSeedの内、双方のSeed帯の待機時間の差が1400F以上のSeedは最小で1715Fであったため、1部屋目の待機時間は5秒程度無駄があります。

 

 

 

余談ですが、素通り部屋の最長は12連続でした。手動で乱数する場合は利用してみても良いかもしれません。絵画なしであれば260152Fに9連続のSeedがあります。

 

 

4.バトルチューブ用構築

今回は銀・金アザミを討伐も自動化させるため、使用する個体を紹介します。銀シンボルの構築については、Hopeさんの案を参考にさせていただきました。マクロ実行時は技の順番も合わせるようにして下さい。

 

なお、アザミの使用個体の情報はBulbapediaで確認できます。


銀シンボル用

メタグロス

 

実数値:155-155-150-120-110-94(無補正の場合)
努力値:C36 S28
性格:無補正(補正ありでも問題なく達成できるかと。)
技:サイコキネシス / だいばくはつ(2枠余る)
持ち物:キーのみ(ハブネークの爪威張るケア)
調整:【C】ハブネークをサイキネで確一、【S】ミロカロス抜き

銀アザミのハブネークはHBに振られているため、サイキネで処理します。相手の個体値はALL15のため、調整は容易です。元々はめざ鋼でツボツボを処理する調整にしていましたが、メタグロスに対してツボツボが繰り出されることがなかったため、サイキネと大爆発で十分です。

 

ホエルオー

 

実数値:245-x-65-156-65-80(控えめの場合)
努力値:C252
性格:C上昇補正
技:しおふき(3枠余る)
持ち物:しんぴのしずく
調整:【C】しおふきでツボツボを乱1

ラスト1匹のツボツボ処理に使用します。ツボツボを乱1できるのはホエルオーくらいかなと思います。

 

金シンボル用

ラティオス


実数値:157-x-101-198-141-152
努力値:H12 B4 C236 D84 S172
性格:ひかえめ
技:サイコキネシス / めいそう / なみのり / 10まんボルト
持ち物:ラムのみ(鉢巻威張るケア)
調整:【H・D】ハブネークのかみくだく確定2耐、【C】めいそう1積み波乗りでハガネールを1確、【S】竜舞1積みギャラドス抜き、【B】残り

 

ほぼラティオス1体でアザミを倒すことができます。初めは拘りトリックで確実な勝利を目指す案もありましたが、効率が余りにも悪いので、基本はラティオスでなぎ倒し、事故った場合に後続でケアする方針としております。理想個体での調整ですが、CSの数値が確保できていれば大丈夫かなとも思います。

 

ラティアス


実数値:175-x-130-146-151-152
努力値:H156 B156 C20 D4 S172(ひかえめ)
   :H156 B156 C124 D4 S68(おくびょう)
性格:ひかえめ or おくびょう
技:なみのり / すなあらし / 10まんボルト / みがわり
持ち物:キーのみ(威張るケア)
調整:【C】波乗りでハガネールを2確、【S】竜舞1積みギャラドス抜き、【H】16n-1、【B】残り


ほぼラティオスで倒せますが、ハブネークの鉢巻きや、ハガネールの粉による運ゲーに敗北した場合に使用します。ハブネークが残っている場合は、砂嵐で確実に倒すことができます。ハガネールに対してはHPが残っていれば、身代わりを使用して、嫌な音や爆発をケアなんかも出来る器用な子です。

 

ゲンガー


実数値:161-x-100-185-95-130
努力値:H204 B156 C148
性格:ひかえめ
技:みがわり / まもる / ほのおのパンチ / 10まんボルト
持ち物:たべのこし
調整:【C】ほのおのパンチでハガネールを2確、【H】H16n+1、【B】みがわりがハガネールのいわなだれ確定1耐

 

アザミにチューブクイーンの意地を見せつけられた場合に登場します。コヤツが登場するころにはハブネークは確実に倒されているため、ゲンガーに対してはハガネールのいわなだれしか有効打がありません。当初はみがまもで「いわなだれ」のPPを枯らすつもりでしたが、ほぼ嫌な音しか使ってこないため、みがわりが残っていなければ「みがわり選択」、みがわりが残っていれば「ほのおのパンチ」という処理にしています。

 

 

ここまで書いといて何ですか、正直ラティオス1体さえ育成できていれば、事足りると思います。まず銀アザミは2周目しか登場せず、手動で対応すればよいため、銀アザミ用に育成するのは微妙です。また、フロンティアは戦闘中の経過フレームによる消費が発生しないため、開始Seedさえ合っていれば戦闘乱数を制御することができます。今回のマクロではハブネークの「きあいのハチマキ」や、ハガネールの「ひかりのこな」が発動しないように、戦闘開始Seedを調整できていると思いますので、ラティオス1匹で全員倒せると思います。しかしながら、環境の違いによるSeedズレや、AI回りの処理が変わってくる可能性が考えられますので、可能であれば用意しましょう。

 

 

5.バトルチューブ完全自動化

7部屋全て素通り部屋を引きつつ、アザミまで討伐してくれるマクロです。またまた、今回もHopeさんにマクロのデバックをご協力いただきました。

 

ゲームでの設定

・「はなしの はやさ」を「はやい」にする。
・ 設定で「せんとう エフェクト」を「みない」にする。
・ ゲームボーイプレイヤーの画面設定を「フル」にする。

以下はマクロ実行時の手持ちとなります。2周目クリア以降であればこの並びで良いですが、0~1周目であれば、メタグロスをラティオスに、ホエルオーをラティアスに入れ替えて下さい。銀アザミを手動で倒す or 3周目以降からのスタートであれば、メタグロスとホエルオーは不要です。

 

Nx Macro Controllerでの設定

・「Var Pike」に目標突破数を入力する。
・素通り部屋をうまく引けない場合は「Var Frame」を微調整する。
・「Var Symbol」に次のシンボルを入力する。(銀を突破すると、自動で"金"の引数が渡されます。)

 

準備ができたら、以下の場所でマクロを実行してください。初期設定では無限ループとなっています。

 

もし素通り部屋を引けていない場合はBV保存時の再計算によるズレだと思います。大きくはズレないと思いますので、チューブツールを使用して現在位置を特定してください。素通り連続区間の真ん中のSeedを狙って、待機時間を調整させて下さい。私の環境では1部屋目は「ハゲおやじ」、2部屋目以降は「塾帰り」が7~8割引けていましたので、このNPCを引くことを目標とすればよいです。

 

1部屋目

 

2部屋目以降

 

なお、金アザミ戦で「きあいのハチマキ」や「ひかりのこな」でラティオスが倒された後の挙動が十分に確認できていないので、不具合があれば教えてください。確率が低すぎる上に戦闘開始時のSeedが安定してしまっているため、調査するのが難しすぎます。

1時間で16周(獲得BP280相当)ですので、36時間でBPが9999でカンストします。余談ですが、9999部屋以降はアザミが登場しなくなるようです。(むしろ効率落ちてる説ないか?)

 

 

6.BP引き換え自動化

この世代ではBPとのアイテム引き換えが個数指定できない & 交換後にカーソルを一番上に戻されるという欠点があるので、こちらもマクロで自動化させました。ほぼA連打するだけの手抜きのマクロですが、栄養ドリンクを大量に交換したい方は活用してください。「Var Item」および「Var Vitamin」を変更して、目標数および目標アイテムを指定後、タウリンにカーソルを合わせてスタートして下さい。

交換に要する時間の目安としては、インドメタシンを100個交換するのに3分半くらいです。999個ずつ確保しておいて、気持ちよくなりましょう。

 

 

7.おわりに

このマクロを使用すれば「栄養ドリンク」、「所持金」や「教え技(BP引換)」に困ることはなくなると思います。Seedの調査からBV保存マクロの作成、待機時間の調整、金アザミ対応などにものすごく時間がかかってしまい、前回の投稿から時間が空いてしまいました。3世代でこれから作るマクロの構想はありますが、チューブマクロより手間がかかるものは無いと思っています。とりあえずBV保存マクロ自体は作れたので、今後はBVを使った「Emものひろい乱数」や「メソズレ破壊孵化乱数」のマクロを作れればいいなと思います。