Hidden Grottoes
In-depth guide to Hidden Grottoes in Pokémon Polished Crystal. Learn about all 22 hidden grotto locations, which Pokémon appear, item drops, and spawn probabilities.
Introduction
Hidden Grottoes are special locations scattered throughout Johto and Kanto where you can find rare Pokémon with their Hidden Abilities and valuable items. Polished Crystal features 22 Hidden Grottoes, each with unique Pokémon encounters. Some locations will have Pokémon whose level will scale to your badges. You can check the individual tables below to see what would apply!
These grottoes were inspired by the Hidden Grotto feature from Pokémon Black 2 and White 2 (Generation V), but adapted to fit the Pokémon Polished Crystal experience and carefully curated encounter lists!
Why Hidden Grottoes Matter in Polished Crystal
Hidden Grottoes are one of the most important optional systems in Polished Crystal because they provide early and repeatable access to Hidden Abilities, which can dramatically change how certain Pokémon perform in battle.
For players building optimized teams, Hidden Grottoes offer:
- Earlier access to competitive abilities
- Pokémon that scale to your current progression
- High-value items without relying on RNG-heavy methods
Ignoring Hidden Grottoes often means missing out on some of the strongest utility and synergy options in the game.
Optimal Hidden Grotto Strategy
To get the most value from Hidden Grottoes:
- Check grottoes after earning a new badge, when level scaling improves
- Prioritize grottoes with high-impact Hidden Abilities early (e.g., weather, immunity, or stat-boosting abilities)
- Bring the Itemfinder to avoid missing hidden item rolls
Because grottoes reset daily, you are also able to change the clock to farm for specific natures or IVs if desired.
Common Hidden Grotto Mistakes
- Ignoring grottoes early assuming they’re post-game content (My first run, oops)
- Skipping hidden item checks without the Itemfinder
- Farming before badge upgrades, resulting in weaker Pokémon (this isn't too much of a mistake as rather an inconvenience but still worth noting)
- Assuming every Pokémon has a Hidden Ability when some do not
- Assuming every Pokémon will hold an item
How Hidden Grottoes Work
Basic Mechanics
- Daily Reset: Hidden Grottoes reset once per in-game day (can be changed via the in-game clock system)
- Content Types: Each grotto can contain either a Pokémon, a visible item, or a hidden item
- One-Time Use: Once you interact with a grotto (catch the Pokémon or take the item), it becomes empty until the next daily reset
- Badge Scaling: Wild Pokémon levels scale with your badge count using the formula
LEVEL_FROM_BADGES + N(where N varies by grotto) - First Grotto Guarantee: The first Hidden Grotto you encounter always contains a Pokémon
Spawn Probabilities
While Pokémon encounters are the least common outcome, the guaranteed Pokémon in your first grotto ensures early exposure to the system. Over time, Hidden Items make up a significant portion of grotto value, especially for progression and post-game preparation.
When a grotto resets, it randomly determines what appears:
- 20% chance: Pokémon encounter
- 40% chance: Visible item
- 40% chance: Hidden item (Itemfinder is helpful here but you can probably find it without it too)
Hidden Abilities
All Pokémon encountered in Hidden Grottoes have their Hidden Ability. This is the primary reason to hunt in grottoes-many powerful Hidden Abilities are otherwise very difficult to obtain.
Examples of impactful Hidden Abilities include:
- Abilities that provide immunities or weather synergy
- Abilities that boost stats under common conditions
- Utility abilities that improve switching or survivability
Note: Every pokemon will have a defined hidden ability, but for some Pokémon it'll be less viable than one of their other ones, or it'll be the same as their other ones (but still appear as Ability H in the in-game stat screen)
Level Scaling
Grotto Pokémon levels match your current badge tier plus any grotto-specific modifier. The base badge levels are:
- 0 badges: Level 4
- 1 badge: Level 8
- 2 badges: Level 12
- 3 badges: Level 16
- 4 badges: Level 20
- 5 badges: Level 24
- 6 badges: Level 28
- 7 badges: Level 32
- 8 badges: Level 36
- 9 badges: Level 40
- 10 badges: Level 43
- 11 badges: Level 46
- 12 badges: Level 49
- 13 badges: Level 52
- 14 badges: Level 55
- 15 badges: Level 58
- 16 badges: Level 61
All Grotto Locations
| Pokémon | Rarity | Rate | Level | |
|---|---|---|---|---|
| mareep | common | 37.5% | Lv. 5 | |
| wooper | common | 37.5% | Lv. 5 | |
| ekans(johto) | uncommon | 20% | Lv. 5 | |
| gastly | rare | 5% | Lv. 5 |
| Pokémon | Rarity | Rate | Level | |
|---|---|---|---|---|
| snubbull | common | 37.5% | Lv. 15 | |
| jigglypuff | common | 37.5% | Lv. 15 | |
| yanma | uncommon | 20% | Lv. 15 | |
| ditto | rare | 5% | Lv. 15 |
| Pokémon | Rarity | Rate | Level | |
|---|---|---|---|---|
| rattata(alolan) | common | 37.5% | Badge +0 | |
| bellsprout | common | 37.5% | Badge +0 | |
| noctowl | uncommon | 20% | Badge +0 | |
| misdreavus | rare | 5% | Badge +0 |
| Pokémon | Rarity | Rate | Level | |
|---|---|---|---|---|
| aipom | common | 37.5% | Badge +3 | |
| weepinbell | common | 37.5% | Badge +3 | |
| raticate | uncommon | 20% | Badge +3 | |
| arbok(johto) | rare | 5% | Badge +3 |
| Pokémon | Rarity | Rate | Level | |
|---|---|---|---|---|
| grimer(alolan) | common | 37.5% | Badge +3 | |
| haunter | common | 37.5% | Badge +3 | |
| golbat | uncommon | 20% | Badge +3 | |
| venomoth | rare | 5% | Badge +3 |
| Pokémon | Rarity | Rate | Level | |
|---|---|---|---|---|
| farfetchd(galarian) | common | 37.5% | Badge +0 | |
| cubone | common | 37.5% | Badge +0 | |
| machop | uncommon | 20% | Badge +0 | |
| larvitar | rare | 5% | Badge +0 |
| Pokémon | Rarity | Rate | Level | |
|---|---|---|---|---|
| graveler | common | 37.5% | Badge +1 | |
| growlithe(hisuian) | common | 37.5% | Badge +1 | |
| skarmory | uncommon | 20% | Badge +1 | |
| dunsparce | rare | 5% | Badge +1 |
| Pokémon | Rarity | Rate | Level | |
|---|---|---|---|---|
| swinub | common | 37.5% | Badge +4 | |
| mrmime(galarian) | common | 37.5% | Badge +4 | |
| delibird | uncommon | 20% | Badge +4 | |
| sneasel | rare | 5% | Badge +4 |
| Pokémon | Rarity | Rate | Level | |
|---|---|---|---|---|
| vulpix(alolan) | common | 37.5% | Badge +5 | |
| mrmime(galarian) | common | 37.5% | Badge +5 | |
| growlithe(hisuian) | uncommon | 20% | Badge +5 | |
| sneasel(hisuian) | rare | 5% | Badge +5 |
Pokémon Encounters
Encounter Rates
Each grotto contains exactly 4 Pokémon species with the following distribution:
- Pokémon 1: 37.5% (common)
- Pokémon 2: 37.5% (common)
- Pokémon 3: 20% (uncommon)
- Pokémon 4: 5% (rare)
When a grotto spawns a Pokémon (20% base chance), one of these four species is selected based on these probabilities.
Notable Hidden Ability Pokémon
Some particularly valuable Hidden Ability Pokémon available in grottoes:
Immunity (Poison immunity):
- Gligar - Found in Mt. Silver grottoes
Multiscale (Reduces damage at full HP):
- Dratini - Dragon's Den grotto
Magic Bounce (Reflects status moves):
- Espeon - Requires breeding from grotto Eevee
Regenerator (Restores 1/3 HP when switching out):
- Slowpoke - Multiple locations
Drizzle (Summons rain):
- Politoed - Evolve grotto Poliwhirl
Item Drops
Visible Items (40% spawn rate)
When a grotto spawns a visible item, it selects from a weighted probability table including:
- Poké Balls (Great Ball, Ultra Ball)
- Potions (Super Potion, Hyper Potion)
- Repels (Super Repel, Max Repel)
- The grotto's unique rare item
Hidden Items (40% spawn rate)
When a grotto spawns a hidden item (requires Itemfinder), it selects from:
- Mulch (common)
- Mushrooms (Tiny Mushroom, Big Mushroom, Balm Mushroom)
- Leaves (Silver Leaf, Gold Leaf)
- Rare Candies
- PP items (PP Up, PP Max)
Rare Items
Each grotto has one unique "rare item" that can appear as part of its visible item pool. These include evolution stones and other valuable items specific to that location.
Hunting Strategies
Daily Grotto Route
Optimize your grotto hunting by planning an efficient route:
- Start in Johto - Check early-game grottoes first
- Use Fly - Minimize travel time between locations
- Bring Itemfinder - Don't miss hidden items (40% of spawns)
- Save before interaction - Soft reset if you want a different nature/IVs
Targeting Specific Pokémon
- Identify your target grotto from the list above
- Soft reset until the desired Pokémon spawns (20% chance for any Pokémon, then rarity within that)
- Save before catching if you want to reset for nature/IVs
- Catch at appropriate level - Higher badges = higher levels = less training needed
Nature Hunting
Hidden Grotto Pokémon have random natures. For competitive Pokémon:
- Save before entering the grotto area
- Check if a Pokémon spawned (20% chance)
- Check the nature in battle
- Soft reset if nature is unfavorable
- Repeat until desired nature appears
Shiny Hunting
Note: Grotto Pokémon are explicitly excluded from shiny generation in the ROM code. Hidden Grotto encounters cannot be shiny.
Sources
All information in this guide is verified against the Polished Crystal ROM source code:
Core Mechanics
- Grotto count (22 total):
polishedcrystal/constants/script_constants.asmlines 241-263 - Grotto data table:
polishedcrystal/data/events/hidden_grottoes/grottoes.asmlines 1-165 - Initialization logic:
polishedcrystal/engine/events/hidden_grottoes.asmlines 15-93
Spawn Probabilities
- Content type distribution (20/40/40):
polishedcrystal/engine/events/hidden_grottoes.asmlines 36-44 - Pokémon selection rates (37.5/37.5/20/5):
polishedcrystal/data/events/hidden_grottoes/probabilities.asmlines 1-6 - Item probability tables:
polishedcrystal/data/events/hidden_grottoes/probabilities.asmlines 8-30
Daily Reset
- Grotto reset function:
polishedcrystal/engine/events/hidden_grottoes.asmlines 114-124 - Daily flag system:
polishedcrystal/engine/overworld/time.asmlines 129-141 - Daily flags definition:
polishedcrystal/data/events/engine_flags.asmline 151
Hidden Abilities
- Grotto Hidden Ability guarantee:
polishedcrystal/engine/pokemon/move_mon.asmlines 236-238 - Normal wild Hidden Ability rate (5%):
polishedcrystal/engine/pokemon/move_mon.asmlines 240-242
Level Scaling
- Badge-based level formula:
polishedcrystal/data/events/hidden_grottoes/grottoes.asm(LEVEL_FROM_BADGES usage) - Badge level table:
polishedcrystal/data/wild/badge_base_levels.asmlines 3-18
Special Mechanics
- First grotto Pokémon guarantee:
polishedcrystal/engine/events/hidden_grottoes.asmlines 31-32 - Shiny exclusion:
polishedcrystal/engine/pokemon/move_mon.asmlines 267-268 - Grotto empty flag:
polishedcrystal/engine/events/hidden_grottoes.asmlines 126-129
Data Extraction
- Extraction script:
scripts/extract-grottoes.tslines 1-363 - Output manifest:
public/new/grottoes.json
