1.はじめに
この記事は Pokémon Past Generation Advent Calendar 2023 の313日目の記事です。
ポケモン3世代ではきのみを材料に、ポケモンコンテストに向けて「ポロック」を作ったり、「きのみクラッシュ」できのみのこなを作ったりできます。特に「ポロック」に利用されることが多く、リボンコンプ勢の皆さんは各部門のマスターランクを優勝するために、全コンディションをMAXにする方も多いです。

ポロックの材料となる21~25番台のきのみは、生長速度3時間×4段階で結実数も2~6個と集めやすく、ナゾのみに至っては1日でカンストできるレベルで育成が楽ですが、36~40番台のきのみは24時間×4で結実数も1~2個とかなり集めるのが難しいです。
また、「きのみクラッシュ」で貰える「きのみのこな」が最も多い、「サンのみ」と「スターのみ」も同様の生長速度で、大量に砕くのは正気の沙汰ではありません。(というか、正直なところ生長速度が早くても、水やりは面倒です。)
そこで、「マボロシじま」を除いたすべての「ふかふかのつち(計87箇所)」を回り、水やり・植付・収穫を自動で行うプログラムを作成しました。また、オプションを有効にすれば、任意の時間後にループさせたり、NPCからきのみをもらうことも可能です。

2.きのみ育成完全自動化プログラム
※ NX Macro Controller用のプログラムです。GC(GBA)自動化の導入はこちらの記事を参考にしましょう。
ゲームでの準備
プログラムの実行にあたっては、ゲーム側においては以下の準備をして下さい。
・ 手持ちに2匹目の一番上の秘伝技を「そらをとぶ」にする。
・ 手持ちに「いわくだき」、「いあいぎり」、「なみのり」、「たきのぼり」を覚えたポケモンを加えておく。
・ ゲームボーイプレイヤーの画面設定を「フル」にする。
・ 設定で「はなしの はやさ」を「はやい」にする。
・「ゴールドスプレー」を1周あたり最低10個所持しておく。
・「マッハじてんしゃ」を便利ボタンに登録する。
プログラムの開始位置は「フエンタウン」のポケモンセンター入口となります。プログラムが正常に動作しなかった場合、リセットしてルートの最初からやり直すので、レポートを書いた方が安心できます。

NX Macro Controllerでの設定
・「Var 1CheriBerry」~「Var 43EnigmaBerry」に植えるきのみの数を割り振る。
・「Var 1CheriBerryPriority」~「Var 43EnigmaBerryPriority」に植えるきのみの優先順位を入力する。
・全箇所回った後に再周回する場合は「Var LOOP」に周回数を入力する。
・「Var LOOP」を有効にした場合は次の周回に入るまでの待機時間を入力する。
・NPCからきのみを受け取る場合は「Var ReceiveBerry = "あり"」にする。
変数の設定が分かりにくいですが、例えば「No.38 カムラのみ」を第一優先で20個、「No.39 ヤタピのみ」を第二優先で30個植える場合は、
Var 38SalacBerry = 20
Var 39PetayaBerry = 30
Var 38SalacBerryPriority = 1
Var 39PetayaBerryPriority = 2
と、入力すれば良いです。植えるきのみの数と優先順位は手持ちに合わせて、しっかりと設定して下さい。きのみが見つからない場合や、そもそも設定されていない場合は水やりと収穫のみ行います。
実際に動かしてるところはこんな感じです。設定にもよりますが、だいたい50分もあれば回ることができると思います。
3.おわりに
以上、久々の自動化プログラムの紹介記事でした。今回はcsxを使用せず、NXマクロ文法で組んだため、約6000行の長大なプログラムとなりました。
なお、筆者は単純な移動を書くのが嫌いなので、変数・関数系統だけ自分で担当し、移動はほぼ👑🐧💮🌙🐳🐠🦈🐋🎮💉(e' v 'e)📖🦭🐙🐟🐬🦐🦑🐢🍆👑さんにお願いしました。おかげさまでデバッグ含めて10日で組むことができました。本当にありがとうございます。