Skip to content

LairBot

Koi edited this page Jun 6, 2021 · 1 revision

LairBot will allow you to automate Dynamax Adventures in offline (solo) mode. Stand in front of the scientist in front of the entrance, then start the bot.


LairBotModes

OffsetLog - if the default offset values set under LairScreenValues don't work for you, start the bot in this mode and play through an adventure manually (can enable OHKO to make it faster) while taking note of screen values and screens described below. Specified in brackets are the offset log values you should be paying attention to for every value. Enter LairScreenValues as displayed in logs (for example, 0x00008FE0).

  1. LairLobbyValue: screen where you select "Don't invite others". (CurrentScreen)
  2. LairAdventurePathValue: screen where you choose a path (left or right). (CurrentScreen)
  3. LairDmaxValue: during the first battle, when your wristband glows. (MiscScreen)
  4. LairBattleMenuValue: main in-battle screen, when menu options pop up. (MiscScreen)
  5. LairMovesMenuValue: move selection screen. (MiscScreen)
  6. LairCatchScreenValue: screen where it says "Catch" and "Don't catch". (MiscScreen)
  7. LairRewardsScreenValue: screen at the end of an adventure where you can select which caught Pokémon to bring home. (CurrentScreen)

LairBot - main bot routine.


Other settings

LairSpecies - Which Dynamax Adventure boss note to inject at the start of an adventure.

LairSpeciesQueue - Allows you to select up to three species' notes to inject at the start of an adventure. After a shiny result is found, the bot will move on to the next note in line.

ResetLegendaryCaughtFlag - if True, bot will reset the "caught" flag for the legendary caught, allowing you to catch it again. This also works in conjunction with LairSpecies (if enabled, it will auto-clear a caught flag once encountered).

SelectPath - Character will either click "left" or "right" once when on the path selection screen.

UseStopConditionsPathReset - if enabled, bot will only go through an adventure if a matching stat spread (Stop Condition Settings) for the Lair Boss is found. Will otherwise restart the game as soon as it gets to path selection. It will also stop the bot if a shiny Lair Boss with a matching stat spread is found.

StopOnLegendary - if enabled, bot will stop if a shiny legendary is caught.

CatchLairPokemon -- if enabled, bot will catch all encounters in the selected ball. It will take home random shiny encounters if no shiny Lair Boss is caught.

UpgradePokemon - if enabled, bot will check if the current encounter is better against the LairBoss compared to what we currently have. A damage calculation is done and the Pokémon with highest damage-dealing move is chosen. If using OHKO, it will instead choose Pokémon with priority moves and highest speed stats. It will use the specified ball to catch Pokémon. If no ball is selected, it will choose whichever ball the game suggests by default.

InjectSeed - if enabled, bot will inject the specified Dynamax Adventure seed at the start of every adventure.

SeedToInject - Dynamax Adventure seed to inject, in hexadecimal format.

LairBall - which ball to use to catch Dynamax Adventure Pokémon.

AlwaysOutputShowdown - if enabled, bot will output Showdown sets for every caught Pokémon, not just shiny results.

ResultsEmbedChannels - if LairEmbed task (covered below, under Discord Integration) was started via Discord, bot will post TradeCord-style embeds to specified channels when a shiny result is found.

EnableOHKO - if enabled, every attack against a Dynamax Adventure encounter or your party will result in an instant faint. Some consider it to be a slower way of genning because of how hacky this is.

KeepPath - if enabled, bot will keep track of the last 5 adventures. If we fall under a 50% win ratio, bot will allow the seed to roll. Will otherwise restart the game in an attempt to keep decent seeds.


Discord Integration

$hunt <species> - Will set the currently hunted Lair Boss to what you specify. Omit spaces (enter TapuLele instead of Tapu Lele).

$huntBulk <species1> <species2> <species3> - Will set all three notes to what you specify. Spaces in between species, no spaces in species names. This will also clear "caught" flags automatically.

$catchLairMons - Will toggle catching of every Dynamax Adventure encounter.

$resetLegendFlag - Will toggle "caught" flag reset.

$setLairBall <ball> - Will set the catching ball to what you specify (enter "Love" instead of "Love Ball").

$lairEmbed - Will start a background task that waits for a shiny result. Once found, and if ResultsEmbedChannels has at least one channel specified, it will post a TradeCord-style embed. PingOnMatch found under StopConditions can be used to ping you or a different user.


Note: LairBot will automatically replenish Dynite Ore and balls if you run out. These aren't options you can toggle in order to keep certain code logic somewhat sane.

Clone this wiki locally