This post will contain spoilers!
Since I just beat the steel type gym in Olivine City, I went to Mahogany Town to beat the ice gym. My Pokemon were already to level, and a lot of them are effective against ice types. However, when I got there the entrance to the gym was blocked and they kept telling me about an unusual Gyrados in the Lake of Rage to the north.
I headed north and found the shiny red Gyrados. I caught it really easily, which was kind of surprising. My Ampharos faced the Gyrados, knocked its HP to yellow, and paralyzed it. Then I caught it using a single Ultra Ball!
Then Lance showed up, and I helped him clear out the Team Rocket hideout. It was pretty easy. I think I was supposed to do it earlier, because all their Pokemon were levels 16-24 while mine were all in the early 30s!
Then finally I could take on the ice gym. It was easy, although I was expecting my Ponyta to be the MVP against the ice types. However, most of the Pokemon we fought were actually water types, just with ice type moves. Ampharos ended up being the MVP instead, which is why she is level 35 while everyone else is 32 or 33. Next, I’ll have to train everyone up and get ready to take on the dragon type gym in Blackthorn City!