diff --git a/PKHeX.Core/Legality/Encounters/EncounterStatic/EncounterStatic1E.cs b/PKHeX.Core/Legality/Encounters/EncounterStatic/EncounterStatic1E.cs index e5450f987..be3c3fc60 100644 --- a/PKHeX.Core/Legality/Encounters/EncounterStatic/EncounterStatic1E.cs +++ b/PKHeX.Core/Legality/Encounters/EncounterStatic/EncounterStatic1E.cs @@ -31,6 +31,10 @@ public override bool IsMatch(PKM pkm, DexLevel evo) if (Language != EncounterGBLanguage.Any && pkm.Japanese != (Language == EncounterGBLanguage.Japanese)) return false; + // EC/PID check doesn't exist for these, so check Shiny state here. + if ((Shiny == Shiny.Always) != pkm.IsShiny) + return false; + if (TID != -1 && pkm.TID != TID) return false; diff --git a/PKHeX.Core/Legality/Encounters/EncounterStatic/EncounterStatic2E.cs b/PKHeX.Core/Legality/Encounters/EncounterStatic/EncounterStatic2E.cs index c6d74206a..2aa540aeb 100644 --- a/PKHeX.Core/Legality/Encounters/EncounterStatic/EncounterStatic2E.cs +++ b/PKHeX.Core/Legality/Encounters/EncounterStatic/EncounterStatic2E.cs @@ -36,6 +36,10 @@ public override bool IsMatch(PKM pkm, DexLevel evo) if (CurrentLevel != -1 && CurrentLevel > pkm.CurrentLevel) return false; + // EC/PID check doesn't exist for these, so check Shiny state here. + if ((Shiny == Shiny.Always) != pkm.IsShiny && Location != 14) // Celebi is the only Wild "event", can be either. + return false; + if (EggEncounter && !pkm.IsEgg) return true;