Instructions
Travel to Olivine City, home of the gym leader Jasmine. Once you arrive, walk towards the Olivine City lighthouse located in the southeast corner of the city.
Enter the lighthouse and walk up four flights of stairs. You will have to battle with several trainers along the way, with Pokemon ranging from level 15 to 22.
Go onto the balcony of the lighthouse by going through a hole in the wall located on the fourth floor of the lighthouse. You will need to travel around the U-shaped balcony and go down another flight of stairs back to the third floor.
Walk until you reach another flight of stairs going upwards to the fourth floor, but this time from another area in the lighthouse. Continue walking along the fourth floor until you reach another set of stairs going up towards a fifth floor.
Battle a few more trainers before reaching stairs leading to Jasmine on the sixth floor. Go up to Jasmine and press the "A" button on your Nintendo DS to speak with her. She will tell you to go find her a "SecretPotion" item for the lighthouse's Ampharos. Instead of having to climb back up and down the stairs of the lighthouse again, she will activate a secret door for you to go through.
Heal your Pokemon at the Olivine City Pokemon Center and walk to the left of the city towards Route 40. Once you arrive at the shore, use your Pokemon's "Surf" ability to cross the water to Cianwood City. You will need to battle several swimmer trainers to reach Cianwood.
Walk south through Cianwood City until you reach a house next to the left of the Pokemon Center. Walk into the building and talk to the man behind the reception desk. He will give you the SecretPotion item.
Travel back to Olivine City and go up to the top floor of the lighthouse. Talk to Jasmine and she will give the SecretPotion item to "Amphy." After Ampharos is healed, she will head back to her gym.
Travel back out of the lighthouse and go to the gym, where you can now battle Jasmine for the Mineral Badge. There are no trainers leading up to the battle with Jasmine.