Core Classes
EvolutionTree
Generation-specific evolution data.PKHeX.Core/Legality/Evolutions/EvolutionTree.cs
Usage:
EvolutionChain
Builds evolution histories for Pokémon.PKHeX.Core/Legality/Evolutions/EvolutionChain.cs
Example:
EvolutionHistory
Stores evolution chains for all generations.PKHeX.Core/Legality/Evolutions/EvolutionHistory.cs
EvoCriteria
Represents a single evolution state.EvolutionOrigin
Defines the starting point for evolution chain building.PKHeX.Core/Legality/Evolutions/EncounterOrigin.cs
Evolution Methods
Evolution methods are defined per generation:Common Evolution Types
| Type | Description | Argument |
|---|---|---|
LevelUp | Level up | Minimum level |
LevelUpFriendship | Level with high friendship | Minimum level |
LevelUpNature | Level with specific nature | Nature ID |
UseItem | Use evolution stone/item | Item ID |
Trade | Trade evolution | 0 or held item |
LevelUpMove | Level knowing specific move | Move ID |
LevelUpVersion | Level in specific game | Game ID |
LevelUpTime | Level at specific time | Time (day/night) |
Evolution Chain Building
Forward Evolution (Devolve)
Building from current species back to base form:Reverse Evolution (Evolve)
Building from base form to current species:Evolution Validation
Level Requirements
Validates evolution happened at valid level:Form Changes
Distinguishes between evolution and form change:Cross-Generation Evolution
Handles evolutions that span multiple generations:Special Evolution Cases
Nincada → Shedinja
Shedinja appears in empty party slot when Nincada evolves:Regional Form Evolutions
Alolan/Galarian/Paldean forms:Trade Evolutions with Items
Evolution Groups
Evolution logic is grouped by generation:EvolutionGroup1- Gen 1 (RBY)EvolutionGroup2- Gen 2 (GSC)EvolutionGroup3- Gen 3 (RSE/FRLG)EvolutionGroup4- Gen 4 (DPPt/HGSS)EvolutionGroup5- Gen 5 (BW/B2W2)EvolutionGroup6- Gen 6 (XY/ORAS)EvolutionGroup7- Gen 7 (SM/USUM)EvolutionGroup7b- Let’s GoEvolutionGroup8- Gen 8 (SwSh)EvolutionGroup8a- Legends ArceusEvolutionGroup8b- BDSPEvolutionGroup9- Gen 9 (SV)EvolutionGroup9a- Legends Z-A
Example: Complete Evolution Chain
Related Documentation
- Encounters - Encounter templates
- Verifiers - Validation logic
- Moves - Move learning across evolutions