Pokémon: Shiny Hunting in Gen 7

All the shiny legends
All the shiny legends (click for full-size)

This is the first in a series of write-ups I'm planning covering some of the esoteric aspects of these games that I've dived into over the last few months. Admittedly, this one doesn't showcase much on the technical side, but plenty more of that is to come. 

For a touch of context: in the Pokémon series of games Game Freak has, since 1999, included individual pokémon with altered color pallets that show up at very low rates. Something akin to albinism we see in the real world. When they appeared on screen they would be accompanied by a "shooting star" sound and a swirl of stars, leading to the fan-provided moniker, "shiny pokémon." In fact, the rates are so low (running between 1/4,096 in the more recent releases and 1/8,192 in the games in which they first appeared) that, aside from a single-digit number of guaranteed or high-odds shiny encounters throughout the series, it's entirely possible for players to complete all the mainline games and simply never encounter a random one. This same mechanic appears in Pokémon GO, albeit at might higher rates (1/450 for most encounters, 1/19 for most raid bosses, and 1/25 for events), though for this post I'll be talking exclusively about the mainline games.

The "shiny-ness" has zero impact on the battling aspect of the game, and (since Generation 2 at least) is not tied directly to the particular stats of the pokémon. Instead it serves as a particularly rare trophy, a reason to include something on your team you'd usually pass over because your lucky number came up in a very once-in-a-blue-moon way. Naturally once something "hyper rare" exists within a game whose whole mantra revolves around collecting, the notion of attempting to collect shiny pokémon naturally arises.

I had done a little shiny hunting in the latest generation over the holidays, but once quarantine hit it crossed my mind to revisit Generation 7 as I had never completed the re-makes (Ultra Sun/Moon).  After finishing out the storyline I decided to sink some of my now boundless home-bound time into something I'd somehow never managed to do since playing Pokémon Blue back in 1996: actually completing the pokédex. A reward for doing so is obtaining the shiny charm, an item that improves the odds of encountering shiny pokémon to 3/4096 (~1/1365); a way of breathing a last bit of life into a game the player has already spent an unusually large number of hours on.

The Generation 7's Ultra versions included a new mechanic for encountering legendary pokemon from previous generations, even from the original games released 19 years prior. These legendary pokemon, relevant to the lore of the game, usually featured on the box-art for each generation, with high stats and powerful moves, can also be shiny. So naturally, I decided to hunt down some shiny legends.

Through conversations with friends I became aware of the subreddit, /r/ShinyPokemon, and learned that soft-resetting (inputing a button combination that restarts the game software rather than closing it entirely) was a popular method, as it significantly reduces the time-per-attempt. That time is a key metric when rolling dice against such poor odds.

Several additional factors made this easier than I'd first suspected: these pokémon I'd be hunting were static encounters, so there was zero chance of finding something I wasn't after, I already had two 3DS consoles so I could effectively halve my search time, and a couple of strategically placed rubber bands meant it took only a single button-press to reset the game, meaning I could easily watch a show, listen to a podcast, or do whatever else while resetting.

Hunting on two 3DS-XL consoles
Hunting on two 3DS-XL consoles

I've also come across numerous horror stories of people "failing" shiny encounters, usually by accidentally knocking it out with a critical hit or having the battle go on for so long that the target runs out of attacks and is forced to use struggle, knocking itself out with recoil damage. While I didn't mind the idea of resetting for a shiny once, failing the "easy part" felt untenable, so I decided to prepare as much as possible. In the end I trained a team specifically for undertaking these hunts.

The first priority was preventing the target from ever using struggle; namely by forcing it to hold a Leppa Berry, which restores 10PP to an attack when consumed, and skill swapping the ability Harvest onto the target, giving it a chance to regenerate a consumed berry every turn. Thankfully none of the legends I was planning to hunt had moves that caused recoil damage, so once this first step was done there was effectively no timer. Next step was to apply a series of debuffs to make sure their typically powerful attacks could disrupt the catching, and finally reducing them to 1hp and putting them to sleep.

Shiny hunting squad
Shiny hunting squad

All this ties into my second ambition: to get all these shiny legends into beast balls. Why beast balls? I love how they look, they get a special animation in newer games, and the 0.1x catch multiplier presents a big step up in difficulty. It took 65,991 resets, meaning an average of 1,466 per legend, slightly above odds, and about 5 months, but I’ve now caught every wormhole legendary and ultra beast as a shiny in a beast ball. I've thrown the images up in an Imgur gallery, and linked a simpler montage below.

EXPAND for Additional Detail on Method

The plan going into each encounter was almost identical. First Trevanent uses Skill Swap to give the target the ability Harvest, then Trick to hand off the Leppa Berry. At this point, the target can never run out of PP and use struggle, and since none of the wormhole legends or UBs use moves with recoil, the encounter is now effectively without a time limit. As an aside: It’s worth noting that Bestow, which Exeggutor has, will fail if the target is already holding an item, and Ho-oh notably always holds the Sacred Ash, so Trick is a generally safer option. Next I’d switch in to Umbreon, an incredibly tanky pokemon, and use debuffs until the target had -6 accuracy as well as -6 either attack or special attack. The encounters can run incredibly long using beast balls, so it’s critical that most of their attacks miss, and those that do hit like pillows. Finally I’d switch in to Breloom and false swipe them to 1 hp, apply spore, use a roto-catch power, throw beast balls until that magical click happens (1.26% chance without roto-catch, 2.5% chance with it). Since Breloom is healed by poison, and the toxic orb keeps them continually poisoned, no other status condition can be set on it.

The team has a couple extra members: Shiinotic serves as a self-healing debuffer and back-up Spore user, this can be useful when the target has attacks that apply a status condition and you can’t risk Umbreon’s Synchronize putting that condition on the target. Remember, sleep and frozen provide significantly higher catch rate bonuses than the others, and burn or poison can end the encounter! Bronzong can apply sleep to grass-type targets that Spore can’t hit (use an X-accuracy to make Hypnosis hit more often). Pangoro was used for Giratina and hunting the Harvest Phantump, as the Scrappy ability means it can connect with False Swipe against a ghost-type. Exeggutor, in addition to holding an extra Leppa berry just in case, also was critical specifically for hunting Lugia, who has Skill Swap as one of it’s moves in this generation. In order to keep Harvest on it, both active pokemon need to have Harvest. Once Trevanent gives Lugia harvest, keeping Eggexecutor in means it can’t end up with any other ability and eat it’s only Leppa Berry, prematurely ending the encounter.

I trained up the team to the mid-90s by chaining Chansey / Blissey using the bush on the Poni Meadow with the roto-XP power active. In the process I ended up with several shiny Chansey just because the chain got so long, and I ended up training two copies of the team so I could hunt on Ultra Sun and Ultra Moon simultaneously (having previously picked up USun for myself and Moon for my partner.) The only other prep was grinding absurd amounts of money by crushing the rocks on the Poni coast for star prices and related item, and buying similarly absurd numbers of beast balls from the Aether Foundation, as in the Ultra versions an employee there sells them for 1000 pokedollars each. Without that change these hunts would’ve been basically impossible, as some legends took upwards 500 beast balls to catch before I realized I should be using the roto-catch power, and still as many as 150-200 balls with it active.

Some statistics: The average number of encounters to find a shiny came out to 1,463, a shade above the rate one expects with the shiny charm active (1/1,365). The standard deviation was huge, 1,364. This reflects the fact that some of the hunts ended absurdly quickly (Terrakion, Xerneas, and Guzzlord at just 4, 10, and 13 resets) while others went well beyond odds (Kartana, Regirock, and Giratina, at 5,426, 4582, and 4,576 resets). Thankfully my single Gen 2 full-odds hunt, Celebi, came in vastly under odds at just 1,599 resets against a rate of 1/8,192.