【Arduino自動化19】ねがいのかたまりで自動レイドバトル周回【完全放置で「けいけんアメ」「ヨロイこうせき」】

ますたーです。こんにちは(お久しぶりです)。

前回の記事は完全に趣味(レジンキーキャップづくり)の話でしたが、今回は「ポケモン自動化」19件目の記事となります。

 

今回の内容は「『ねがいのかたまり』を自動で投げ入れて、レイドバトルに挑戦し続ける自動化」のプログラム紹介です。けいけんアメ・ダイマックスアメ稼ぎに使えます。

また、例えば、ハニカーム島で使えば「ヨロイこうせき(教え技習得)」と「ダイミツ(ウーラオスのキョダイマックス習得)」も合わせて収集できます。

 

なお、Arduino Leonardo自動化の導入・機材構成については導入記事を参考にしてください。

導入記事:【Arduino自動化01】Arduino開発環境の導入

※本ブログに初めてお越しの方は「本ブログについて」もぜひ、ご覧ください。

 

概要

1台のSwitchで、レイドバトルに完全自動で「ひとりで挑戦!」し続けます。
※ローカル通信でのレイド周回(みんなで挑戦)する場合は、第18回の記事を御覧ください
※2台のSwitchで周回を自動化する場合は、第20回の記事を御覧ください(2021/10/10追記)

f:id:tangential_star:20210919200733g:plain
f:id:tangential_star:20210919221732p:plain
レイドバトルを自動で周回できる。けいけんアメ・ヨロイこうせきなどを集めよう

 

もくじです。

第18回ではローカルレイド配布の記事(すなわち、Switchが2台以上必要)でしたが、今回はSwitch1台で完結するソロ・レイド周回の記事です。「ハニカーム島」での巣穴に焦点を当てた自動周回の構成で書いています。

概要だけ知りたい方はYouTube動画もご覧ください。1分でまとめています⇒YouTube動画

プログラムだけほしい!という方は、どうぞ⇒読み飛ばす

 

YouTube動画「1分でわかる!Arduinoでレイドバトル自動周回!」

本ブログ記事の内容を1分でまとめています。合わせて御覧ください。

 

苦痛なレイド周回「作業」を自動化

まずは、本プログラムを使うモチベーション、つまりは自動化した目的についてです。第18回(ローカルレイド自動配布)の記事でも触れましたが、レイドの周回作業は文字通り「作業」なので、時間がガッツリ取られてしまいます。

多くの方にとって「アイテム集め」や「育成」は、ほぼ「作業」と化しているのが実態です。特に、ひたすら育成用のアイテムを手に入れるためだけのアイテム集めの周回(例えば、自演レイド周回マックスレイドバトル羽集めBP稼ぎなど)は、対戦勢の前提と化しており、特に育成・対戦の初心者には敷居が高く感じられます。

f:id:tangential_star:20210111131407p:plain
f:id:tangential_star:20201205223042p:plain
努力値を振ったり特性を変えたり。「育成」をするためにも、まずは道具集めから。大変だ。

こういった、苦行じみた作業をArduinoで自動化して時間短縮を図ることで、プレイヤーは「ポケモン」というタイトルが持つ本来の楽しさを存分に味わうことができ、充実したポケモンライフが送れると考えます。

ポケモンの面白さは、ストーリー(シナリオ)、対戦、図鑑埋め、カレー作り、色・証厳選、キャンプでのポケモンとのふれあいなど枚挙に暇がありません。プレイヤーそれぞれが楽しみ方を深く見つけられるのがポケモンの良いところだと思います。

特に対戦は根強い人気を誇り、剣盾発売から約2年経った今でも、その勢いはとどまることを知りません。今年11月にはダイパリメイクBDSPの販売も控えており、より新しくなった環境での剣盾レーティングバトルが加熱すると思われますし*1、ますます、こういった育成に必要なアイテム類の需要は、これからも増していくことでしょう

f:id:tangential_star:20210919214146p:plain
f:id:tangential_star:20210919214012p:plain
BDSPには「ランクバトル」が無いため、剣盾での対戦環境が加熱するかも?(Pokémon Presents 2021.8.18より引用)

 

レイドバトルをソロで周回する目的

さて、本題。レイドバトルのソロ周回を自動化しますが、その目的についてです。

様々な意見があると思いますが、レイドバトルを周回する目的はやはり道具(レイド報酬)集めです。レイドバトル報酬のポイントについて、下記にまとめました。

そんなことは知っとるわ!という方はどうぞ⇒「事前準備」まで読み飛ばす

1.対戦用ポケモンの育成に必ず使う「けいけんアメ」「ダイマックスアメ」

レイド報酬の最も大きな恩恵は「けいけんアメ」「ダイマックスアメ」の存在です。特に後者は、与える量がダイマックス時の最大HP量に直結するため、ある意味レベルよりも重要視されるパラメーターです。1匹あたり10個必要となるため、ポケモン育成を進めるほどに不足しがちです。

ちなみに、ポケモンでは毎作、経験値の効率的な稼ぎ方が話題になります。今作もその例に漏れず、発売当時は「ヌケニンレイド」の話題で持ち切りとなり*2DLC第2弾のデリバードレイド解禁時にも大きな話題となりました*3。しかし、これらは複数のSwitchを準備する必要があり、ソロ周回には向きません。さらに、目当てではないポケモンのタイプがばらつき、一貫して弱点をつきにくい巣穴という点も不向きという課題もありました。

ちなみに、ソロ周回で「ラッキー」「ハピナス」を狙う際には、弱点が突きやすい「ミツハニー」「ビークイン」しか出現ポケモンがいない「ハニカームじま(鎧の孤島)」がオススメです。

f:id:tangential_star:20210919233425p:plain
f:id:tangential_star:20210919233740p:plain
「けいけんアメ」稼ぎには「ラッキー」などが出る、DLC巣穴がオススメ

2.わざおしえ・W稼ぎができる「ヨロイこうせき」

育成環境を整える、という観点で「レイドバトルの周回」を考えた際、やはり欠かせない特筆すべきターゲットとしては「ヨロイこうせき」が挙げられます。

皆様もご存知の通り、マスターどうじょうにいる技マニアに「ヨロイこうせき」5個を渡すと、DLC第1弾で追加された「わざ」を教えてくれます

教えてくれる技の中には「グラススライダー*4」や「ワイドフォース*5」など非常に強力なものも多く、対戦環境を整える上で「ヨロイこうせき」は無くてはならない存在です。

また、鍛錬平原にいる掘り出しオヤジに「ヨロイこうせき」を渡せば、わずか数秒で数十万ワットを掘り出してくれるため、場合によっては日付変更でW回収を行うよりも短時間で効率的に稼ぐことができます。

ゆえに、ガラル本土や冠の雪原でのレイド報酬に、特にこだわりがなければ、「ヨロイこうせき」が手に入るヨロイじまでのレイド周回が適しています

f:id:tangential_star:20210919234643p:plain
f:id:tangential_star:20210919234651p:plain
「ヨロイこうせき」があれば「わざおしえ(マスター道場)」「W掘り出し(鍛錬平原)」ができる

3.ウーラオスのキョダイマックスに欠かせない「ダイミツ」

前述の「ヨロイこうせき」と同じくDLC第1弾を代表するアイテムとしては「ダイミツ」が挙げられます。

ご存知でない方のために紹介すると、「ダイミツ」とは、DLC第1弾で登場した「げんきのかたまり」と同様の効果(ひんしのポケモンに与えるとHP全回復)を持つ回復アイテムです。同じくDLC第1弾で登場したポケモン「ウーラオス」のキョダイマックス習得にも必要です*6

特に、ウーラオスのキョダイマックスわざはダイウォール貫通効果を持っており、複数個体のダクマを育成する上では欠かせないアイテムと言えるでしょう。

肝心の入手方法ですが、「ミツハニー」または「ビークイン」のレイドバトル報酬です。

f:id:tangential_star:20210920003258p:plain
f:id:tangential_star:20210919234058p:plain
ウーラオスのキョダイマックスに必要な「ダイミツ」は、ミツハニービークインからドロップする

1~3を満たせる「ハニカームじま(ヨロイじま)」の巣穴

前述の3つ「ソロでも周回しやすいこと(出現ポケモンのタイプ相性がバラつかない)」「ヨロイこうせきが手に入ること(ヨロイじま)」「ダイミツが手に入ること」。これらを同時に満たせる絶好のポイントが「ハニカームじま」です

ちなみに、ハニカーム島の巣穴は6つありますが、いずれも全く同じ出現率です。

f:id:tangential_star:20210920003703p:plain
f:id:tangential_star:20210920003240p:plain
「ハニカームじま」の巣穴にはラッキー系統・ミツハニー系統しか出現しない。周回にオススメだ。
(左:ポケモン徹底攻略様より画像引用)

 

事前準備

プログラムのソースコードは後述後述しますが、ソロでレイドバトルに参加するにあたって準備が4つ必要です。下記手順の1, 2, 4は説明不要かと思いますが、手順3の「機内モードON」は徹底してください

  1. 十分な量の『ねがいのかたまり』を準備すること
  2. わざを1つだけ覚えたポケモンを準備すること
  3. Switch本体を『機内モード』にすること【重要】
  4. 目的の巣穴に向かう

それぞれカンタンに説明します。

 

準備1.十分な量の「ねがいのかたまり」を準備

まずは、巣穴を建てるために「ねがいのかたまり」を準備してください。できるだけ多いほうが、長い時間自動化ができるのでオススメです。

最もカンタンな入手方法は「ハシノマはらっぱ」にいる穴掘り兄弟の左側(兄)です。A連打だけで掘り起こしてくれるので、Arduino自動化01の記事を参考にかき集めてください。

なお、プログラムの都合上、ポケモン捕獲を行う場合がありますので、「ねがいのかたまり」を超える量のモンスターボールを準備し、必ず先頭に並び替えておいてください。

f:id:tangential_star:20210920010012p:plain
f:id:tangential_star:20210920010017p:plain
プログラムは「ねがいのかたまり」がある限り稼働する。モンスターボールの補充・並び替えも忘れずに。

準備2.わざを1つだけ覚えたポケモンを先頭にする

続いて、レイド周回を行うためのポケモンを準備します。必要な準備(条件)は「わざを1つだけにする」ことだけです。ただし、巣穴に出現するポケモンに対して有利な相性・わざをセットしておくことをオススメします。

また、味方NPCポケモンのレベルは、自分が使うポケモンの0.7掛けのレベルになるので、できるだけ高いレベルのものを準備したほうが効率的です*7

「ハニカームじま」の巣穴を攻略する場合、Arduino自動化18の記事(デリバードレイド周回)の際にオススメした「ASぶっぱ夢ルガルガン@ハチマキ」はオススメです。

f:id:tangential_star:20210920011609p:plain
f:id:tangential_star:20210920011613p:plain
高火力な「わざ」を1つだけにしたポケモンを先頭に準備。努力値振り・PP増強も忘れずに

準備3.Switch本体を『機内モード』にする【重要】

準備の仕上げとして、Switch本体の設定で「機内モード」をONにします

やり方は、SwitchのHomeボタンを長押しして「機内モード」の項目をタップするだけです。ただし、ドックに接続されたままだと切り替えが出来ないので、TVモードで遊んでいる方は、一度ドックから取り出して、Switch本体で実施してください。

機内モードがONになっていれば、プログラム中で万が一「みんなで挑戦!」をクリックしてしまっても募集画面に入らないため、ループの破綻が起こりません。

なお、当たり前のことですが、「機内モード」をONにすると、無線コントローラー(Joy-Con含む)は使えません。やむなく無線コントローラーを使っている人は注意しましょう。

※もとより、無線コントローラーが接続されているとArduinoが認識されないのであまり気にすることはありませんが…

f:id:tangential_star:20210920011744p:plain
f:id:tangential_star:20210920011748p:plain
Switch本体が「機内モード」になっていれば、「みんなで挑戦!」を押しても募集画面に入らない

準備4.目的の巣穴の目の前に立つ

手順1~3を満たしていれば、あとは目的の巣穴の前に立つだけです。今回の例では「ハニカームじま(ヨロイじま)」の巣穴に向かいます。

「ハニカームじま」の最寄りは「チャレンジビーチ」です。そらとぶタクシーで降り立ったら左手に見える岩間をまっすぐ進めば到着です。

巣穴の目の前に立ったら、準備完了です。お疲れさまでした。

f:id:tangential_star:20210920012841p:plain
f:id:tangential_star:20210920012809g:plain
目的の巣穴の前に立とう。野生ポケモンが周りの草むらから飛び出してこない巣穴が望ましい。

 

プログラム(ソースコード

おまたせしました。プログラムのソースコードです。

使い方(簡易説明)

使い方はSwitchを機内モードにした上で、巣穴の前に立ってArduinoを挿すだけです。

仕組み(アルゴリズム

今回のソースコードは、Arduino自動化06(マックスこうせき自動化)と同様、決められた下記のキー入力をひたすら繰り返す実装になっています。ただし、「17個」のコマンド入力となるため、16個のコマンドまでしか登録できない、一般的なマクロコントローラーには非対応(だと思います)です。

自動周回のコマンド入力列(筆者考案・検証;単位:秒)

1 2 3 4 5 6 7 8 9
0.5 0.5 0.5 1.6 0.45 0.45 0.45 0.45 0.45
10 11 12 13 14 15 16 17 18
0.5 0.5 1.6 B 0.5 A 1.6 B 1.5 B 1.5 1.5 - -

この入力配列は筆者が2時間くらいかけて検証したものなので、参考としてご活用ください。一応、3時間連続で稼働する検証は取りました。

ソースコード

/* 
 *  全自動ヨロイこうせき集め @ハニカーム島c⌒っ.ω.)っ 
 *  警告:ねがいのかたまりを入れるときにセーブされるので貴重アイテム・ボールの管理には注意ください。
 *  
 *  ★使い方
 *  十分な量の『ねがいのかたまり』を準備します。また、それ以上の数の「ボール」を準備してください。
 *  手持ちの先頭には、「わざ」を1つだけ覚えたポケモンを準備してください。
 *  そして、Switch本体を『機内モード』にしておいてください!【重要】
 *  あとは、巣穴の前で差し込むだけでOKです。
 *  
 *  原則として、戦闘中に道具を使用することはありませんので、予めバッグ(回復ポケット)を空にする必要はありません。
 *  (ただし、自己責任でお願いします。貴重な道具やボールが使われるなどの損害があってもしりません)
 *  
 *  (c) 2021 ますたーの忘備録
 *  https://tangential-star.hatenablog.jp/
*/

#include <SwitchControlLibrary.h>

#define HOLDTIME (95) // 1回のキー入力の長押し時間

void PushRL(int delay_time_ms);
int PushKey(char* keyname, long int holdtime, long int delaytime);
void TiltLeftStick(int direction_deg, double power, long int holdtime, long int delaytime);

void Debug(void){
  PushKey("HOME", HOLDTIME, 1000);
  PushKey("HOME", HOLDTIME, 1000);
  return;    
}

void setup() {
  // コントローラーとして認識されるためにRLを7回ほどカチャカチャする
  for(int i=0;i<7;i++)PushRL(300);
  delay(1000);
}

void loop() {

  // A↓AA
  PushKey("A",    HOLDTIME, (500-HOLDTIME)  );
  PushKey("Down", HOLDTIME, (500-HOLDTIME)  );
  PushKey("A",    HOLDTIME, (500-HOLDTIME)  ); 
  PushKey("A",    HOLDTIME, (1600-HOLDTIME) ); // 待機

  // ↓A↓A↓A↓A
  PushKey("DOWN", HOLDTIME, (450-HOLDTIME) );
  PushKey("A",    HOLDTIME, (450-HOLDTIME) );
  PushKey("DOWN", HOLDTIME, (450-HOLDTIME) );
  PushKey("A",    HOLDTIME, (450-HOLDTIME) );
  PushKey("DOWN", HOLDTIME, (450-HOLDTIME) );
  PushKey("A",    HOLDTIME, (450-HOLDTIME) );
  PushKey("DOWN", HOLDTIME, (450-HOLDTIME) );
  PushKey("A",    HOLDTIME, (1600-HOLDTIME) ); // 待機

  // BA
  PushKey("B",    HOLDTIME, (500-HOLDTIME) );
  PushKey("A",    HOLDTIME, (1600-HOLDTIME) ); // 待機

  // B
  PushKey("B",    HOLDTIME, 1500);

  // B
  PushKey("B",    HOLDTIME, 1500);

  // ↓
  PushKey("DOWN", HOLDTIME, 1500);

  // ループ動作確認用(デバッグ)
  // ※もし、現在、動作ループのどの時点にいるのかを確認したい場合は、コメントはずしてください
  // Debug();  
}

void PushRL(int delay_time_ms){
  SwitchControlLibrary().PressButtonR();
  SwitchControlLibrary().PressButtonL();
  delay(HOLDTIME);
  SwitchControlLibrary().ReleaseButtonR();
  SwitchControlLibrary().ReleaseButtonL();
  delay(delay_time_ms);
  return;
}
int PushKey(char* keyname, long int holdtime, long int delaytime){
  // ホームボタン・方向キーはRight, Left, Up, Down, Homeなど2文字以上で入力。
  // その他ボタン入力は1文字(A,B,X,Y,R,L,+,-)ZR・ZLにも対応
  // 同時押しは非対応
  
  if(strlen(keyname)==1){
    switch(keyname[0]){
      case 'A': case 'a': // A
        SwitchControlLibrary().PressButtonA(); delay(holdtime);
        if(holdtime>0)SwitchControlLibrary().ReleaseButtonA(); delay(delaytime);
      break;
      case 'B': case 'b': // B
        SwitchControlLibrary().PressButtonB(); delay(holdtime);
        if(holdtime>0)SwitchControlLibrary().ReleaseButtonB(); delay(delaytime);
      break;
      case 'X': case 'x': // X
        SwitchControlLibrary().PressButtonX(); delay(holdtime);
        if(holdtime>0)SwitchControlLibrary().ReleaseButtonX(); delay(delaytime);
      break;
      case 'Y': case 'y': // Y
        SwitchControlLibrary().PressButtonY(); delay(holdtime);
        if(holdtime>0)SwitchControlLibrary().ReleaseButtonY(); delay(delaytime);
      break;
      case 'L': case 'l': // L
        SwitchControlLibrary().PressButtonL(); delay(holdtime);
        if(holdtime>0)SwitchControlLibrary().ReleaseButtonL(); delay(delaytime);
      break;
      case 'R': case 'r': // R
        SwitchControlLibrary().PressButtonR(); delay(holdtime);
        if(holdtime>0)SwitchControlLibrary().ReleaseButtonR(); delay(delaytime);
      break;
      case 'H': case 'h': // Home
        SwitchControlLibrary().PressButtonHome(); delay(holdtime);
        if(holdtime>0)SwitchControlLibrary().ReleaseButtonHome(); delay(delaytime);
      break;
      case '+': case 'p': case 'P': // Plus
        SwitchControlLibrary().PressButtonPlus(); delay(holdtime);
        if(holdtime>0)SwitchControlLibrary().ReleaseButtonPlus(); delay(delaytime);
      break;
      case '-': case 'm': case 'M': // Minus
        SwitchControlLibrary().PressButtonMinus(); delay(holdtime);
        if(holdtime>0)SwitchControlLibrary().ReleaseButtonMinus(); delay(delaytime);
      break;
      default:
      break;
    }
  }else if(strlen(keyname)>=2){
    switch(keyname[0]){
      case 'z': case 'Z': // ZR/ZL
        if(keyname[1]=='R'||keyname[1]=='r'){
          SwitchControlLibrary().PressButtonZR(); delay(holdtime);
          if(holdtime>0)SwitchControlLibrary().ReleaseButtonZR(); delay(delaytime);
        }
        if(keyname[1]=='L'||keyname[1]=='l'){
          SwitchControlLibrary().PressButtonZL(); delay(holdtime);
          if(holdtime>0)SwitchControlLibrary().ReleaseButtonZL(); delay(delaytime);
        }
      break;
      case 'r': case 'R': // right
        SwitchControlLibrary().MoveHat(2); delay(holdtime);
        if(holdtime>0)SwitchControlLibrary().MoveHat(8); delay(delaytime);
      break;
      case 'l': case 'L': // left
        SwitchControlLibrary().MoveHat(6); delay(holdtime);
        if(holdtime>0)SwitchControlLibrary().MoveHat(8); delay(delaytime);
      break;
      case 'u': case 'U': // up
        SwitchControlLibrary().MoveHat(0); delay(holdtime);
        if(holdtime>0)SwitchControlLibrary().MoveHat(8); delay(delaytime);
      break;
      case 'd': case 'D': // down
        SwitchControlLibrary().MoveHat(4); delay(holdtime);
        if(holdtime>0)SwitchControlLibrary().MoveHat(8); delay(delaytime);
      break;
      case 'H': case 'h': // Home
        SwitchControlLibrary().PressButtonHome(); delay(holdtime);
        if(holdtime>0)SwitchControlLibrary().ReleaseButtonHome(); delay(delaytime);
      default:
      break;  
    }
  }else{
    return -1;
  }
  return strlen(keyname);
}
void TiltLeftStick(int direction_deg, double power, long int holdtime, long int delaytime){
  double rad = (double)direction_deg*PI/180.0; // 弧度法(ラジアン)変換
  int x, y;
  x = (double)128*sin(rad)*power;
  y = (double)-128*cos(rad)*power;
  x += 128; y += 128;
  if(x >= 255) x=255; if(x <= 0) x=0;
  if(y >= 255) y=255; if(y <= 0) y=0;

  SwitchControlLibrary().MoveLeftStick(x,y);
  if(holdtime> 0){ // holdtime=0のときは押しっぱなし。
    delay(holdtime);
    SwitchControlLibrary().MoveLeftStick(128,128); // 傾きを直す
  }
  if(delaytime>0) delay(delaytime);
  return;
}

 

あとがき

今回は、Arduino自動化記事第19回として、「ソロでのローカルレイド周回」を実装しました。最近、筆者の仕事が本当に忙しく、久しくArduinoを触っていなかったこともあり、プログラミングがある種の息抜きになりました。ブログの執筆も久々で楽しかったです。

特に、久々にポケモンで遊びながら「どうやったら自動的にプログラム組めるかな?」と頭を悩ませながらゲームをポチポチ押して、裏紙に汚くメモをとって色々検証するトライ・アンド・エラーがしっかり実を結んでいくのは、とても気持ちが良かったです。

f:id:tangential_star:20210920022846j:plain
f:id:tangential_star:20210920023906g:plain
メモを頼りにプログラミング。1ループごとにHomeボタンを挟んでちゃんと動いているか確認

思い返せば、今回実装した「自動でのレイド周回」は、今年の6月にコメント欄でリクエストを頂いていたのですが、なかなか着手できていなかったなぁ、と改めて思いました。

筆者はゲームを起動すると時間を忘れて仕事そっちのけで遊んでしまうこともあり、6月からSwitchをほぼ触らずで過ごしておりました。その代わりに、趣味を増やそうと、前回の記事でも紹介しましたが「レジン(樹脂)でキーキャップを自作」したり、付随してYouTube動画の編集・投稿をしたりしていました。実は、こちらも好評でして、Yahoo!からの検索で本ブログに流入してきた方のうち、10%を占めています(如何に自動化がニッチかが分かりますね笑)。でも、こうして新たな方にも本ブログならびにArduinoの魅力・ポケモンの魅力を知っていただけていると感じられて、嬉しく思います。

ちなみに、下記が、筆者のYouTubeチャンネルです(突然の広告)。

www.youtube.com

 

ところで、本ブログのアクセス数がここ1ヶ月ほど、お陰様で増えてきており、YouTubeチャンネルの方にも温かいコメントもいただけるように少しずつなってきていて、皆様に支えられて運営できているなぁ、と感じます*8

この場を借りて、皆様の配慮と温かい心遣いに、感謝申し上げます

文字通り「忘備録」を兼ねて始めた本ブログですが、これからも引き続き皆様のお役に立てるような、中身のある記事で更新をしていけたらと思います。

もし、本ブログやYouTubeチャンネルなどが役に立っていたり、楽しみにしておられる方がいらっしゃいましたら、ぜひともコメントをいただければと思います。一筆いただけますと私自身のモチベーションにも繋がります。

 

これからもマイペースな更新になると思いますが、温かく見守っていただければ幸いです。(応えられるかはわかりませんが、もしリクエストもあれば検討させていただきます)

 

ではではc⌒っ.ω.)っ

 

次回記事:【Arduino自動化20】Switch2台で「完全」自動!レイドバトル自動周回【デリバード・色違いレイドなど】

前回記事:【趣味】メカニカルキーボードのキーキャップをレジンで作る【YouTube同時更新!】

関連記事:【Arduino自動化18】ローカルレイド自動配布【デリバードレイドでマックスこうせき】

導入記事:【Arduino自動化01】Arduino開発環境の導入

他のArduino自動化:ポケモン剣盾Arduino自動化 カテゴリーの記事一覧

YouTubeチャンネル:ますたーの忘備録 - YouTube 【NEW!!】

---

*1:2021/8/18公開の「Pokémon Presents」では、BDSPに「ランクバトル」実装の予定が無い旨が告知されました

*2:ヌケニンレイド:ヌケニンのHP1固定の仕様による高速1ターン周回が話題に

*3:デリバードレイド:「マックスこうせき」が2個確定+確率でドリームボールがドロップという魅力的な報酬で話題に

*4:グラススライダー:グラスフィールド下だと先制攻撃できる命中100威力70の草技

*5:サイコフィールド下だと威力が1.5倍になる命中100威力80の超技

*6:あらかじめ「ダイミツ」を手に入れていても、専用イベントを進めないとウーラオスはダイスープを飲んでくれません

*7:例えば、自分がLv.100を使っている場合、味方のNPCはLv.70のポケモンを繰り出します

*8:2021/9/20 AM2:50時点で総PV数:36,715。今月4,528PV;開設から317日