Teaching Munchlax Self-destruct Part 2

Posted February 18, 2018

This is the second part of my discussion of Munchlax and Self-destruct. You’ll want to read last week’s blog post before this one. There I talk about how Munchlax learns Self-destruct and why this particular edge case was one of the main inspirations for starting this blog in the first place.

I’ve mentioned before that some of the edge cases I find are things that are difficult or unusual to represent from a data structure point of view and others are simple data wise, but really complicated for players to actually do. As a demonstration of the lengths one can have to go to for the “complicated for players” angle, this week I’ll be taking you through the process of actually breeding a Munchlax that knows Self-destruct in Ultra Moon.


The first thing we need to do is make sure I have all the hardware we need to get all the way from Generation 3 (Ruby & Sapphire) and Pokémon XD: Gale of Darkness up to Ultra Moon. What do we need for that?

This is actually my first GameCube controller than came with my original GameCube

The Wii thankfully plays GameCube games as well as Wii ones! My GameCube is in a box somewhere at my parents’ house, so the Wii is going to stand in for it. Thankfully (again), the Wii’s GameCube controller ports support the GameCube to GameBoy Advance link cable as well:

I did not think I would be using this particular cable ever again

Next up I need a copy of Gale of Darkness!

My elaborate filing system for games and unwillingness to throw any of it away has never been more useful than it was when doing this

I also need my Generation 3 GameBoy Advance games

Easily retrieved from a nearby drawer

And several of the DS games as well:

This is my case of Pokémon games, I have a separate case for all of my other DS games

If you take a look at the GameCube to GameBoy Advance link cable, you’ll notice that it’s sized to fit a GameBoy Advance specifically, not a DS. So even with a DS that can play GBA games, I still need an actual GBA to trade between any of the Generation 3 games and Gale of Darkness. So off to another drawer and I find:

With actual front-lit (bottom-lit?) screen

And to import from Generation 3 to Generation 4 (Diamond & Pearl), I need either a DS Phat or DS Lite (either of which have a GBA slot):

And finally, I need a 3DS (or a 2DS in my case) to do the Generation 4 to Generation 5 (Black & White) import. And of course to use Pokémon Bank and Ultra Moon.

On theme and everything

That’s all the hardware we need to take a Snorlax on a journey from 2005 to 2017!

Finding a Snorlax

Next, I need a Snorlax. Since Munchlax wasn’t introduced until Generation 4, it obviously doesn’t exist in Generation 3. Munchlax learns Self-destruct as an egg move and a Snorlax holding a Full Incense can be bred into Munchlax in the later games. So it’s Snorlax that we need in Generation 3. We can teach it Self-destruct and then begin the import journey.

Here is the first place that things got dicey. In Generation 3, Snorlax isn’t like most wild Pokémon. There’s no location in the game where you can repeatably find wild Snorlax roaming around in tall grass. In fact, Snorlax isn’t catchable at all in Ruby, Sapphire, or Emerald. Snorlax can be caught in Fire Red & Leaf Green, but there are only two in each game and once you’ve caught or defeated both of them, that’s it.

There is also one Snorlax in Pokémon XD: Gale of Darkness itself. The way Gale of Darkness works, there are no wild Pokémon. Instead, some opposing trainers use Shadow Pokémon which have been corrupted and turned evil. The player character has a device that allows them to catch Shadow Pokémon used by other trainers and then later purify them into normal Pokémon.

Shadow Lugia, posing for the box art

Between all of the above, that means there are five Snorlax available in total in Generation 3. (Snorlax can’t be caught in Pokémon Colosseum either.) Years ago, as the import mechanisms were available for moving my Pokémon over from older games, I emptied out all of the Pokémon I had caught in those old games into the newer ones. So in my Pokémon Bank there are 15 years of historical Pokémon from all of my different Pokémon games. (And if Nintendo ever deletes them because I forget to pay my $5 per year in the two week window before my subscription expires, I may actually die.)

The import process is one way, always going forward, never back to the older games. So I’ve potentially imported all five possible Snorlax from Generation 3 into my newer games, where they’re inaccessible to Gale of Darkness. If so, I need to restart either Fire Red, Leaf Green, or Gale of Darkness. Snorlax in Fire Red or Leaf Green is available relatively early, but I’d need to delete my original save and overwrite it with a new one to do that. Being the sentimental person I am, I’d prefer not to do that. (I considered playing through the game up to the point where you could catch Snorlax without saving to circumvent this, but unfortunately you need to save in order to trade.)

The other alternative would be to restart Pokémon XD: Gale of Darkness. Being a GameCube game, it saves to memory cards, so I can just start a new game on a new memory card. But you can only trade with the other Generation 3 games from Gale of Darkness after finishing the game. (Not to mention the one Snorlax in Gale of Darkness is on Citadark Isle, the final level, anyway.)

Cue frantic search:

Let’s see if we can do this with no trading at all to start with

I’ve replaced almost all of my Pokémon with Natu and Oddish

We’ll check here next, I played Leaf Green more than Fire Red, so Snorlax might have been skipped here

There was once a Snorlax in this location

And this one

I played a lot of Leaf Green, this seems unlikely to work



Through some prescient series of decisions over a decade ago, in my copy of Leaf Green I never disturbed the Snorlax blocking the way to the Bike Path west of Celadon City. Despite training my team up to the high 80s in Leaf Green, apparently I didn’t feel the need to fight the Bikers and their Koffing.

Phew! We have a Snorlax!

Well, we have a wild Snorlax.

Catching Snorlax

Next problem:

I said I emptied the games out, right?

Snorlax is thankfully not very high level. It’s only level 30. I’ll assemble a crackpot team of Pokémon from what remains in my copy of Leaf Green to capture it!

Yes, that’s a level 3 Pidgey.

And we’re in luck! That Bellsprout, at level 31 and one of my strongest Pokémon left (what am I even doing), knows Stun Spore! Paralysis will make Snorlax easier to catch and help me out in the battle. But there’s a relatively predictable issue with that:

Of course Snorlax knows Rest

Rest restores all of a Pokémon’s HP and puts it to sleep. The sleep status replaces any existing status, including paralysis. And then the Pokémon wakes up 2 or 3 turns later (depending on how much HP it regained), so the sleep status is gone as well. And to top it all off, the wild Snorlax in Leaf Green is holding a Chesto Berry! So it eats that berry the first time it falls asleep and immediately wakes back up. Perfect.

Cue montage:

We did it!

Success! So I walked back to the Pokémon Center and found Snorlax tucked away in Bill’s PC. I swapped him into my party because you can only trade from your party, not directly from the PC, until Generation 5 (Black & White). I moved into the middle of the Pokéball symbol in the floor on the Pokémon Center to save the game (because that’s the place where sane people stand when saving the game).

Right in this spot

Then I put the DS down to take a picture. And apparently I put it down too hard, because the whole thing shut off.

After I’d been kicked back to the system menu, I realized it thought the game cart had been removed. This hardware is all pretty old, so the game carts are struggling a bit by this point. A bit of fiddling and the game came back on again.

But of course, I hadn’t saved. So I needed to catch Snorlax again.

Success again! I very gingerly set down the DS to take this picture:

I won’t

And we have the Snorlax we need!

Trading to Gale of Darkness

Above, while finding and catching Snorlax in Leaf Green, I was playing the GameBoy Advance game on my DS, because my DS is in good condition and still works (I’m inclined to blame the game cart for the episode with it all shutting off). Now, trading to Gale of Darkness, I need to rely on the GameBoy Advance SP.

Ol’ faithful

My GameBoy Advance SP is 15 years old (soon it’ll be old enough to vote). It has traveled across the Atlantic Ocean to get here. And it’s using a stock rechargeable 700mAh lithium ion battery that it shipped with on day one.

Predictably, that battery doesn’t hold charge very well. In fact, it barely holds charge at all.

At least it does power on

I only need it to work for a few minutes at a time to actually make the trade. But helpfully, most of that time is spent on screens that say things like “Don’t turn off the power”.

It’s not like there’s 15 years of Pokémon history on the line or anything

Despite the GameBoy Advance SP not turning on at all several times (even though it seemingly had full charge), it did work!

Futuristic 2005 graphics and everything

Now Snorlax is over in Gale of Darkness, so I can teach him Self-destruct!

Teaching Snorlax Self-destruct

Here’s an interesting tidbit of information. As I mentioned last week, Snorlax learns Self-destruct from a Move Tutor in Gale of Darkness. Move Tutors are a frequent occurrence in the Pokémon games: an NPC that will teach your Pokémon specific moves in exchange for some in-game currency or sometimes for free.

For reasons passing understanding, the move tutor in Gale of Darkness can only teach each specific move that she teaches overall once each. Once she teaches any Pokémon Self-destruct she can’t teach any more Pokémon Self-destruct in that save file.

Why do you do this to me, Game Freak?

So, I had my Snorlax in Gale of Darkness and needed to check if the move tutor will still teach Self-destruct. I checked online where the move tutor is in the game, and I found out she’s in Agate Village. The first site I checked didn’t say specifically where in Agate Village, but I figured the level isn’t that big, so I’ll just search. I talked to one of the first NPCs that I encountered in the village.

Crap. Wasn’t prepared for this.

Thankfully my unintentional opponent was using Bug type Pokémon and my pared down Gale of Darkness party happened to include a Dodrio that knew Drill Peck. Dodrio, despite being only at level 25 and its opponents at level 30, defeated them handily.

Then I went back to the internet and looked up precisely where the move tutor was in Agate Village. Because if I talked to anyone else I’d end up fighting a level 70 Blaziken or something and get thrown back to the Pokémon center when it destroyed me.

In a cave on the west side of the village. Good!

Strange place to live, but sure

Thankfully. Mercifully. Self-destruct was still in the list of moves that could be taught. No need to restart Gale of Darkness to re-enable that move tutor move! Actually learning the move is just picking from a menu then!

And we have Snorlax with Self-destruct, called SELFDESTRUCT at the time, because the old games were always shouting at you

Another run in with the dicey GameBoy Advance SP’s battery was needed:

Please don’t turn off, please don’t turn off, please don’t turn off…

And Snorlax was back in Leaf Green, ready for the journey forward in time.

Importing Snorlax into Ultra Moon

Now we’re back to the DS Lite to import Snorlax from Leaf Green to Diamond. You can only import Pokémon from Generation 3 to Generation 4 once every 24 hours. It had at least 8 years since I last imported into my Generation 4 games, so we were ok on that front. Pokémon also have to be imported in a group of 6. Snorlax was the only one that I really needed to bring over, but I thought the brave Bellsprout that helped me catch Snorlax also deserved a place in the future Pokémon games, so he went along as well.

It’s been a long time since I saw this screen

The import mechanism is a bit weird. You go to Pal Park in Diamond while Leaf Green is in the DS’s GBA slot. You pick the Pokémon to bring over and then you play a “catching show” where you go and catch those 6 Pokémon.

The 6 Pokémon you choose are the only ones in Pal Park each time you enter

You’re given 6 100% catch rate Pokéballs called Park Balls. (Makes you wonder why the Master Ball is limited to one per game.) It recognizes the trainer name from your old game when catching the Pokémon.

I used to name all of my characters Ash after the show, but my character in Leaf Green is female. So Ashelin, obviously.

After some wandering around, Snorlax!

Here we are

Then I needed both my DS and 3DS to do the import from Diamond to White:

It’s also been a long time since I saw this

The import into Generation 5 is also bizarre. It uses the DS’s Download Play mechanic to download a minigame onto the DS you’re importing from. There, you have a kind of Pokéball slingshot that you use to catch the 6 Pokémon you’re importing as they jump between some bushes.

I don’t know why this isn’t just a menu

Now Snorlax is in a Generation 5 DS game! That means I can use the Poké Transporter application on the 3DS to import it into Pokémon Bank!

After installing all of the updates since I last used the Poké Transporter in 2014

And then from Bank, it’s a simple download into Ultra Moon!

The newer title screen looks much fancier when you’ve just seen the old ones

Breeding Munchlax

I’ve yet to do much competitive battling in Generation 7 (Sun & Moon), so I haven’t gone through and found all the generally useful items and abilities for breeding yet. Snorlax needs to be holding a Full Incense to evolve, which I needed to find a merchant for and purchase:

I needed to grab a Ditto from my boxes in Pokémon Bank to act as the other parent.

Ditto is all things to all Pokémon

And then I put them together in the Pokémon Nursery on Akala Island. An egg has a chance of appearing every 257 steps you take in-game. And the fastest way to do that is, of course, to run around in a circle on a Tauros.

It only makes sense if you don’t think about it

And after a while, the egg appears!

We have come so far for this

Having a Pokémon in your party that has the ability Flame Body or Magma Armor makes Pokémon eggs hatch faster. (Lore wise, it’s presumably because it keeps them warm.) I didn’t have any Pokémon with those abilities to hand, so I had to run around on Tauros for longer.

And then…

It begins

Munchlax. Munchlax will be glorious.

There it is! Isn’t it cute?

We have it! And what moves does it know!?

It worked! Not that I doubted it until this very moment or anything

And now we’ve done it! We’ve exercised the ridiculous Pokémon egg move edge case that is Munchlax with Self-destruct. It’s been a journey and I hope you’ve enjoyed every step!