
[Arduino] BDSPアルセウスを完全放置で色違いだけを捕獲する方法を思い付いた
前回の記事でBDSPアルセウスを半自動で周回する方法を書いたのですが、この方法では常にアルセウスを色違いでないかチェックする必要があるため、若干の手間です。
何とか、完全自動で寝ている間にも色違い厳選が出来ないか。その方法について考えてみたのですが、ある仮説を思いつき、試してみたところ、出来そうだなと思って、コードを組みなおしてみることにしました。
そのコードをまずは貼ってみることにします。
/**
* BDSPアルセウスを完全放置で色違いだけを捕獲してレポートするスケッチ
*
* 初期条件は以下の通り
* 1.始まりの間のアルセウスの前でレポートを書いていること(この状態でPokemoonHOMEからセーブを上書きしておくとバックアップデータのロードがスムーズになる)
* 2.設定で「オートセーブ」を「オン」にしていること
* 3.設定で「話の速さ」を「速い」にしておくこと
* 4.設定で「手持ち/ボックス」を「自動で送る」にしておくこと
* 5.設定で「ニックネーム登録」を「しない」にしておくこと
* 6.ボールポケットを「マスターボール」の1種類のみにしておくこと
* 7.手持ちは経験値によってレベルが上がらないように「レベル100」のポケモン1匹だけにしておくこと
* 8.色違いでない個体を捕獲していた場合、タイトル画面から「↑+A+B」を押してバックアップデータからロードすること。ロード後、上書きでセーブする
* 9.色違いでない個体を捕獲していた場合、お任せレポートされるため、始まりの間から絶対に出ないこと
*/
#include <auto_command_util.h>
//
void setup(){
// 最初の数回の入力はswitchが認識しない場合があるので、無駄打ちをしておく
pushButton(Button::B, 500, 10);
}
void loop(){
// 上に行く
pushHatButton(Hat::UP, 100, 1);
// 通常色のときは最速で逃げる / 色違いのときは捕獲してレポートを書く
delay(14000);
pushButton(Button::A, 100, 1);
delay(16300);
pushHatButton(Hat::UP, 100, 1); // コマンドを逃げるに合わせる。色違いのとき光るエフェクトによる遅延が生じるため、ここのコマンドがスキップされる
pushButton(Button::A, 100, 1); // 逃げるを押す。色違いのとき光るエフェクトによる遅延が生じるため、ここのコマンドがスキップされる
delay(10000);//色違い出現時の最大の遅延予測時間
pushButton(Button::X, 100, 1); //色違い出現時にマスターボールを投げる
delay(15000); //色違い出現時、ボールで捕獲するまでの時間
pushButton(Button::B, 1000, 1);
pushButton(Button::B, 1000, 1);
pushButton(Button::B, 1000, 1);
pushButton(Button::B, 1000, 1);
pushButton(Button::B, 1000, 1);
pushButton(Button::B, 1000, 1);
pushButton(Button::B, 1000, 1);
pushButton(Button::B, 1000, 1);
delay(5000);//色違いのとき、戦闘後に自動レポートを書くセーブ時間
// HOMEからゲームを再起動する
pushButton(Button::HOME, 1000);
pushButton(Button::Y, 100, 1);
pushButton(Button::A, 2000, 1);
pushButton(Button::A, 100, 1);
delay(20000); //ロード時間
pushButton(Button::A, 1000, 1);
pushButton(Button::A, 1000, 1);
pushButton(Button::A, 1000, 1);
pushButton(Button::A, 1000, 1);
pushButton(Button::A, 1000, 1);
delay(12000); //ロード時間
}
前回の記事で私はBDSPの野生ポケモンを完全放置で色違い厳選出来るコードを紹介しました。その方法を書いてから、アルセウスも完全放置で厳選出来ないかと思考を巡らせていたのですが、ある仮説が私の頭に閃きました。
それがお任せレポート機能です。色違い厳選勢からすると、お任せレポートは常にオフにしているのが普通なのですが、今回、この機能を使うことにしました。これは私も知らなかったのですが、戦闘後に捕獲処理を行った場合はお任せレポートを書き、戦闘後に逃げる処理を行った場合はお任せレポートを書かないという仕様がダイパリメイクにあったのです。
つまり、色違い出現のときは「マスターボール」を投げて捕獲処理を行ってレポートを書き、そうでないときは戦闘後に逃げる処理を行ってお任せレポートを書かないという処理を行うことが出来ます。誤って、通常色の個体に「マスターボール」を投げて捕獲処理を行って自動セーブが行われたとしても、バックアップデータまでセーブされることはないため(実際に検証済み)、誤った処理が行われたときはバックアップデータからロードすることで、巻き戻しをすることができます。
色違い出現時の最大の遅延予測時間は約4から5秒とすることにしました。この数値が間違っていないか、不安だったので、YouTubeに参照動画を
上げてみたのでご確認頂けると幸いです。
詳しい初期条件はコードの方に書いておきました。ただ、この方法の問題点を挙げるとすれば、前回の半自動の方法に比べ1ループの処理時間が大幅に増える点と、「マスターボール」以外のボールで捕獲することが出来ない
2点になるでしょう。「マスターボール」以外の例えば「ゴージャスボール」にこだわって捕獲したい場合は、完全放置することが出来ないと言えます。
私も「ゴージャスボール」にこだわってアルセウスを捕獲してみたかったのですが、アルセウス18種揃えるに至って、「ゴージャスボール」にこだわっていては時間と労力があまりにも大きいように感じたため、そのこだわりを捨てることにしました。この方法が机上論でない場合は、そのときはアルセウスを18種類、「マスターボール」で揃えてみてもいいかもしれません。
前回同様、また何か気になる点が出てきたら記事を更新するかもしれません。今回の記事は以上です。
{追記} (2025年2月15日更新)
時間はかかりましたが、完全放置で色違いアルセウスをゲットすることに成功しました。最後にアルセウスを実際に出したコードの方で更新しておきます。


