Since this didn’t become a Let’s Play, I decided to share some summaries of the major battles in the game, and some other notable things that happened along the way.
I don’t recall having any trouble against my rival or Team Rocket. I never wrote anything down about my battles against them.
Note that I played on Switch mode, so when I say that I switch after defeating a Pokémon, it is before my opponent sends out their next Pokémon.
Johto Gyms
When battling the Johto Gym Leaders, I mainly used my team members. Before I had obtained all six members, I occasionally used some party fillers to help in some instances, or as sacrifices while healing my main team members.
Falkner: The weakest Gym Leader ever with a level 9 Pidgeotto as his ace. My overleveled Totodile destroyed him with ease.
Bugsy: I beat his Metapod and Kakuna without issues, but his Scyther was tough. It was faster than my Croconaw, and Fury Cutter started to do a ton of damage as the battle went on. I got Scyther down to low HP, but I was about to lose as Croconaw only had 2 HP left. I switched out and decided to sacrifice my party fillers while healing Croconaw. Fortunately, Bugsy switched to using Quick Attack, powering down Fury Cutter and letting me beat him with Croconaw afterwards.
Whitney: Before the battle, I had planned to get the Machop from the in-game trade to use as a reserve, but I didn’t manage to catch an Abra and I didn’t want to waste money at the Game Corner to buy one. So I just went with Croconaw/Quagsire and some other party fillers.
The battle started well. Croconaw beat Whitney’s Clefairy without problems. I was then going to let a Snubbull I had caught use Charm to lower Miltank’s Attack, but it got OHKO’d with Stomp before it could do anything. I sent out Quagsire. I used an X Attack, got hit by Attract, which was unfortunate as Quagsire is Male and slower. Headbutt was only strong enough for a 4HKO, Quagsire also kept getting infatuated which slowed down the battle. Rollout 4-5 did a ton of damage despite Quagsire resisting Rock, forcing me to use Potions. Miltank also used Milk Drink to heal itself whenever I had managed to get it below 50%. It eventually landed a Crit with one of the last Rollouts, KOing Quagsire. I sent out Croconaw, which is also Male and slower. I used Headbutt, but it didn’t do a lot of damage.
I was about to lose, and I realized that my only chance to win was to use Ice Punch and hope for a Freeze. I switched from Headbutt to Ice Punch… and got the Freeze! I switched out Croconaw for a backup Bellsprout and used Flash to get Miltank down to -6 Accuracy. Miltank stayed frozen for a very long time. It then defrosted and beat Bellsprout with Stomp. Back to Croconaw. Miltank kept missing and I beat it in the end. This was the hardest Johto Gym, and one of the hardest battles during the whole playthrough. Winning through hax and luck isn’t really something I like to do, but sometimes, there is no other way.
Morty: Croconaw beat his Gastly and first Haunter, but the Haunter was faster and had used Curse, so I was planning to switch out. But Morty was about to go with Gengar next. I sent out Bellsprout to sacrifice it and get rid of the Curse, then back to Croconaw. Unfortunately, Gengar was faster and used Hypnosis. I used an Awakening. But Hypnosis put me to sleep again. What now? The answer is: Quagsire. Why? It had been paralyzed by an opposing Gastly’s Lick in an earlier battle in the Gym. I had thought about going back to the Pokémon Center to heal it before Morty, but with both it and Croconaw at high HP, it didn’t feel worth it. In retrospect, it was a very good decision. So I sent in Quagsire, Gengar can’t put it to Sleep. Quagsire KO’d both Gengar and Morty’s last Haunter.
Chuck: Didn’t write this down in detail and I don’t remember it, but I’m pretty sure I 2HKO’d both members of his team.
Jasmine: Instead of doing her directly after Chuck, I waited until after clearing the Rocket HQ. Despite that, I was still slightly underleveled as my team was at level 33-34. But it was still easy. Quagsire 2HKO’d both of her Magnemite. Against Steelix, who should I use? I had 5 Water-types to choose between, but I went with Lapras. I used an X Special just because I had found one, Steelix used Sunny Day. I then took it down with some Surfs, Lapras tanked an Iron Tail along the way, Jasmine also used a Hyper Potion, but I won.
Pryce: I decided to lead with Lanturn. It OHKO’d Seel with Spark, Piloswine with Surf, and then 2HKO’d Dewgong with Spark. Easy. I was underleveled against Jasmine, but overleveled here.
Clair: I decided to use Lapras here. Ice Beam boosted by STAB and Nevermeltice OHKO’d all three of her Dragonair. Kingdra comes out. It uses Smokescreen, I use Perish Song! I switch Lapras for Skarmory, it tanks a Hyper Beam like nothing. I use Swift, then Fly (I am faster), Kingdra misses with Surf and faints from Perish Song.
Elite Four:
Will: I lead with Lapras. His first Xatu uses Confuse Ray, Lapras doesn’t hit itself and OHKOs with Ice Beam. Jynx is next. Lovely Kiss becomes a Lovely Miss, Lapras OHKOs with a Crit Body Slam. Will continues with Exeggutor, I switch to Skarmory. I am faster and use Fly, dodging a Leech Seed. Fly does around 70%, Exeggutor uses Reflect. I use Peck, which is unfortunately not quite enough for a KO. Exeggutor uses Psychic. The next Peck KOs. Will continues with Slowbro, I switch to Lanturn. I use Spark, get a Crit and an OHKO! Just the second Xatu left. It uses Confuse Ray, but Lanturn successfully uses Thunder Wave. Lanturn hits itself on the next turn and is hit by Psychic. I switch to Lapras which OHKO’s with Ice Beam.
Koga: I lead with Skarmory. Fly as Ariados uses Double Team, but I hit and OHKO. Next out is Forretress, I switch to Feraligatr. Forretress uses Spikes as I Surf, it then uses Protect, but one more Surf afterwards is enough to take it down. Koga continues with Venomoth, I switch back to Skarmory which OHKOs with Fly. Muk is next, so I send out Quagsire and OHKO with Earthquake. Lastly, Crobat. It uses Double Team, I use Ice Punch, hit and get a Freeze! Koga uses a Full Restore, I Ice Punch again and get a Crit! Crobat uses Toxic, I use Ice Punch for a KO.
Bruno: I lead with Skarmory. I use Fly against Hitmontop, but it uses Detect. I use Peck instead, which is a 3HKO, Skarmory takes minimal damage from Quick Attack in the process. Hitmonchan is next. I switch to Quagsire which 2HKO’s with Earthquake while tanking two Mach Punches. Next is Hitmonlee. It is faster and uses Swagger, but I hit with EQ for a solid OHKO. Next is Machamp. I switch back to Skarmory and accidentally use Peck instead of Fly, but it does surprisingly much. Machamp misses with Cross Chop, I then use Fly and get a KO. Last out is Onix. I switch to Feraligatr which gets a clean OHKO with Surf.
Karen: I lead with Feraligatr. Umbreon uses Double Team followed by Faint Attack, I am faster and 3HKO with Surf. Vileplume comes out, I switch to Skarmory which OHKOs with Fly. Next is Houndoom, I switch back to Feraligatr. Houndoom is faster and uses Crunch which deals a ton of damage, I OHKO with a Crit Surf. Gengar next. I switch to Quagsire, Gengar is kind and uses Curse, I OHKO with Quake. Last is Murkrow. I switch to Lapras which OHKOs with Ice Beam.
Lance: I lead with Feraligatr, Lance with Gyarados. I should have checked his lineup before starting the battle, I thought he would lead with Aerodactyl. Too late now. Anyway, I 3HKO with Return, Gyarados uses Hyper Beam but it doesn’t do more than 1/3. Next up is a Dragonite. I assume it is the only with Electric-moves, so I switch to Quagsire. The Dragonite (which is at level 47) uses Twister followed by Hyper Beam, I 2HKO with Ice Punch. Another Dragonite is next up, it is also at level 47. I switch to Lapras. Dragonite uses Thunder Wave, Lapras is paralyzed and can’t move. It then uses Hyper Beam which doesn’t do a lot, I OHKO with Ice Beam.
Aerodactyl is next. I send out Lanturn. Aerodactyl uses Hyper Beam while I 2HKO with Surf. Next up is the third Dragonite, the one at level 50. I wasn’t sure what to do, so I let Lanturn stay in. Dragonite is faster and KOs with Hyper Beam. I send in Lapras which OHKOs with Ice Beam. Lastly, Charizard. Since I have yet to use Gyarados during the E4 Challenge, I decide to give it a chance to shine now. Charizard is faster and uses Flamethrower, Wing Attack and Hyper Beam in that order, but Gyarados lives through the massacre with 30 HP left and manages to 3HKO with Waterfall. In the end, Lance was a little harder than the others, but still easy.
On the whole, the Elite Four was easy. I expected some issues since I was underleveled, but I used type advantages to the fullest and healed my team between the battles, which allowed me to win with ease.
Kanto Gyms:
Lt Surge: Quagsire nuked him with Earthquake.
Sabrina: Wasn’t sure what to use here, but I decided to use the three lowest-leveled members of my team to give them some training. Sabrina leads with Espeon, I lead with Skarmory. Espeon uses Sand-Attack while I use Fly, but I miss! The next two Fly hits for a 2HKO, but Skarmory takes a ton of damage from 2 Psychics. Mr. Mime is next, I switch to Lanturn. Thunder Wave as Mime uses Barrier, I then 3HKO with Surf. Last is Alakazam, I switch to Gyarados. Alakazam uses Reflect, I use Strength and get a Crit which is enough for an OHKO.
Erika: Skarmory soloed her (and the entire Gym) without major issues, Fly and Peck was all I needed.
Janine: Skarmory soloed her as well. It dodged the Explosion from the first Weezing and the second one did 30 HP of damage! The rest were no problems either.
Misty: Gyarados 2HKO’d her Golduck with Strength, Lapras 2HKO’d her Quagsire with Ice Beam, including an unnecessary Freeze. Lanturn 2HKO’d her Lapras and Starmie with Spark.
Brock: Quagsire beat his Graveler and Kabutops, though I was surprised by Kabutops having Giga Drain. It did quite a lot of damage to Quagsire, but it would only have been a 3HKO. I don’t remember who I used against the rest of his team but I’m quite sure I just 1-2HKO’d all of them.
Blaine: Feraligatr OHKO’d his team with Surf, though Rapidash was faster and hit with a Fire Blast before going down.
Blue: I was underleveled, but I was feeling confident and decided to make it a fun battle, making it so that each member of my team defeated one of Blue’s. I lead with Feraligatr, which 2HKO’d Pidgeot with Ice Punch. Skarmory took down Exeggutor with Fly, though it took a few hits since Blue used a Full Restore. Quagsire took down Arcanine with Surf and Earthquake, but once again, a Full Restore made it take a little longer. Gyarados beat Alakazam with Strength, but Reflect and Recover made this one take a little longer as well! Lapras OHKO’d Rhydon with Surf, while Lanturn 2HKO’d Blue’s Gyarados with Spark.
So that's the Kanto leaders. But one challenge remained.
Red: Before battling Red, I grinded my whole team to level 55, couldn’t bother going any further due to the bad training spots in the game, and my patience isn’t infinite.
Red leads with Pikachu, I lead with Quagsire. Pikachu uses Charm, Quagsire uses Earthquake which does a lot but not enough for a KO. Red then uses 2 Full Restores while I keep using Earthquake. He then changes to Quick Attack, allowing me to KO. Venusaur is next up, just as expected, so I switch to Skarmory. Venusaur uses Solarbeam twice, but it does nothing as I use Fly twice (Skarmory is slower), which is enough for a KO. Red continues with Charizard, which is also expected. I send in Feraligatr, which tanks two Flamethrowers and 2HKOs with Surf.
Next up is Espeon. I had hoped he would wait with it until later so I could put my secret plan in motion, but I will try anyway. I switch to Lapras. Espeon uses Psychic which does almost 50%, I use Perish Song! I switch to Skarmory which tanks 2 Psychics and uses Fly. However, Red is smart enough to switch out Espeon on the last turn of Perish Song. I had sort of expected that to happen. My plan is ruined, but I can still win.
Snorlax comes out. I decide to sacrifice Skarmory, so I use Steel Wing for some chip damage before falling to Body Slam. Now, who should handle this beast? I’m not sure, but I go for Quagsire. Snorlax uses Amnesia as I use Earthquake, it lives another Earthquake with very little HP left and uses Rest. I use Earthquake again and get a Crit, which does around 50%. Snorlax attacks with Snore, but I Quake twice more which is enough for a KO. Espeon comes out again. I switch to Lanturn, which tanks a Psychic before paralyzing with Thunder Wave. I use Flash twice, and thanks to that and the Paralysis, Espeon doesn’t manage to hit me again, so I KO with a few Surfs.
Last out is Blastoise. Since Red has no other Pokémon left, I switch back to Lapras. I use Perish Song, but Blastoise is faster and uses Whirlpool! Did he have to ruin my secret plan a second time? Come on! Blastoise uses Surf, I use Body Slam which gets it paralyzed, but it doesn’t matter. Another Body Slam does not KO, but Blastoise KO’s Lapras with Surf. Since I have yet to use Gyarados in this battle, I decide to end with it, just like against Lance. I use Strength, Blastoise does whatever and faints from Perish Song, Gyarados lives.
This was the only battle where two of my team members fainted (not counting party fillers), making it relatively hard. Yet at the same time, I beat Red while being severely underleveled, making him easy.
Legendaries
Some short summaries for how it went when I caught the legendaries in the game.

First out was Suicune. It was an odd battle. I started with Feraligatr because I wanted to try and get a Freeze with Ice Punch… and just like against Whitney, it happened! I then chipped Suicune down to red HP, and it never defrosted, staying frozen throughout the entire battle. I caught it after around 15-20 balls. A great first legendary capture.

Second was Celebi. I chipped it down to red and paralyzed it. I expected it to be annoying since it had both Heal Bell and Safeguard, but I caught it in around five balls, which was nice.

Third was Raikou. Directly after catching Celebi, I decided to catch Raikou just so I had it done. I bought a ton of Super Repels and put a Pokémon at below level 40 in the first spot in my party. I went down from Ecruteak to Routes 37/36/35 several times, but didn’t meet any of the beasts. Decided to try another Route, so I went to Blackthorn and down to 45, and I met Raikou immediately! Caught it in the Master Ball.

The fourth was Entei. I raised a Jynx, based on
this strategy, thanks QuentinQuonce for letting me know that it exists. I trained Jynx to level 39 and made sure it had a Speed stat above 97, then I started hunting for Entei. I had already met it, which allowed me to check its location in the Pokédex. I managed to get on the same Route as it pretty quickly, which happened to be Route 38. I went into the grass and met it after walking around a little. I use Mean Look, Entei uses Ember which hurts quite a lot. Didn’t think it would attack since I trapped it. But it doesn’t matter. Lovely Kiss, then Dream Eater which does a ton of damage, it brings Entei down to red. It wakes up, so I use Lovely Kiss again. My plan was to let it escape now so I could just put it to sleep on subsequent encounters, so I switch to Feraligatr. But as long as Entei is asleep, I can try to catch it. I throw an Ultra Ball. It shakes once, twice, thrice… and caught! All those preparations, and I got it immediately. But that’s a good thing.
No more roaming for you, flame emperor.

After Entei, I decided to do Lugia next since I wanted to save Ho-Oh for last. I explored all of Whirl Islands and made it down to Lugia’s lair. The battle was tough. I started with Lanturn, Thunder Wave and then Flash down to -6. I then had to get Lugia down to red… again and again, since it knows Recover. All the Gen 2 legends except Suicune has at least one annoying move. Whenever Lugia stayed in the red, I threw balls to catch it. But it always escaped. In the end, it even came down to Struggling. But since it was at -6, it never hit me, since Struggle can miss in Gen 1-3. Thankfully, I caught it soon after it started to Struggle.

Ho-Oh was last, and it was the toughest. I used the same strategy as against Lugia, but it kept hitting me a lot despite being at -6 Accuracy, chances are I miscounted how many of my Flashes hit and only got it down to -5. Either way, Ho-Oh just refused to stay in any ball I threw at it. It got down to Struggling here as well, and in the end, it Struggled itself to death. Really annoying. But I tried again, with the same strategy, making absolutely sure to get it down to -6 this time around. And this time, it went much easier. It didn’t even get down to Struggling, I caught it quite quickly.
With this, the first of my two childhood dreams is complete.
Lugia and Ho-Oh were really tough, while the others were easy, especially Entei. I’m honestly glad it turned out this way, it would have been much worse if Entei had been the one that was tough to catch.
All six of them. Can’t show them all at once (unless I were to take more photos, which I won’t do because I am lazy), but you should be able to guess who is who based on their nicknames.
Other things:

While not a legendary, I want to talk about Snorlax. The fight against it is pretty tricky. It knows Rest and holds a Leftovers while being at level 50, which is pretty high. It was higher than any of my team members at that point in the game. Catching Snorlax was annoying since I had to keep damaging it to keep it at low HP, but I could never do too much damage since I didn’t want to KO it. But I caught it quite quickly. I also soft-reset for a Female in order to hopefully make future breeding easier.

I also caught a complete Unown collection, just for fun. I had previously done it in LeafGreen, Platinum, HeartGold, Omega Ruby and Legends: Arceus, so this became my sixth complete Unown collection in total. Missing Unown-! and Unown-? obviously, since they weren’t introduced until Gen 3. It went pretty easy and fast this time around, I found all 26 letters quite quickly, and caching them were no problems. Doing this unlocked the ability to print Unown stickers… which can’t be done in the VC version of the game. But that’s okay, having the full collection is enough for me.
A glitch that was not meant to happen
I decided to do a test run at the Battle Tower with three members of my in-game team, just to see if it was as hard as I remembered it from my childhood. Which it was. But that’s not what I wanted to talk about. When doing this, I somehow managed to create a weird glitch.
What happened was this: I had caught a few Pokémon without checking my boxes, then I went to the Battle Tower. I had a full party, and since you can only enter with three Pokémon, I deposited the three I wasn’t going to use before entering. The first battle was tough, and it eventually turned into a stall battle which I knew I was going to lose. I noticed that you can’t quit battles by running here, so instead, I decided to reset my game. I then made another try with the same team, and this time, I actually lost the first battle. Afterwards, I checked my boxes and withdrew the three team members I had deposited… and found that something had happened with the box.
The first thing I noticed was that every Pokémon in the box except the first and last three had their nicknames shifted one step up. Then, I saw that a Raticate I had caught had seemingly became corrupted. It’s nickname had changed (the original nickname had shifted to the Pokémon above it, an Arbok), and when viewing the Raticate’s summary, it is totally glitched. Here are some images of it:
Upon checking it later, it looks like this instead.
I’m not sure what happened, but I believe it has to do with depositing three Pokémon in the box, and then resetting my game during the battle at the Tower. I have avoided interacting with this Raticate afterwards since I don’t want to risk my game getting corrupted, and I have avoided depositing any more Pokémon in that box since I don’t want to risk any more Pokémon getting corrupted. Fortunately, it seems like only the Raticate was affected, everything else seems to be fine apart from some of them getting their nicknames changed.
If anyone knows more about this glitch, I would like to hear about it.