diff --git a/PKHeX/Legality/Checks.cs b/PKHeX/Legality/Checks.cs index fcc9971e3..096778248 100644 --- a/PKHeX/Legality/Checks.cs +++ b/PKHeX/Legality/Checks.cs @@ -797,12 +797,14 @@ private CheckResult verifyEncounterG12() if (EncountersGBMatch == null) return new CheckResult(Severity.Invalid, V80, CheckIdentifier.Encounter); - if (EncountersGBMatch.First().Type == GBEncounterType.EggEncounter) + var first = EncountersGBMatch.First(); + if (first.Type == GBEncounterType.EggEncounter) { pkm.WasEgg = true; + EncounterOriginalGB = first.Species; return verifyEncounterEgg(); } - EncounterMatch = EncounterOriginalGB = EncountersGBMatch.FirstOrDefault()?.Encounter; + EncounterMatch = EncounterOriginalGB = first.Encounter; if (EncounterMatch is EncounterSlot) return new CheckResult(Severity.Valid, V68, CheckIdentifier.Encounter); if (EncounterMatch is EncounterStatic) diff --git a/PKHeX/Legality/Core.cs b/PKHeX/Legality/Core.cs index cdac44f90..971e1607d 100644 --- a/PKHeX/Legality/Core.cs +++ b/PKHeX/Legality/Core.cs @@ -15,6 +15,7 @@ public static partial class Legal /// Setting to specify if an analysis should permit data sourced from the physical cartridge era of GameBoy games. public static bool AllowGBCartEra = false; public static bool AllowGen1Tradeback = false; + public static bool AllowGen2VCTransfer => AllowGen1Tradeback; /// Setting to specify if the e-berry index item is an eningma berry or a e-reader berry and the name of the e-reader berry public static bool EReaderBerryIsEnigma = true; @@ -1967,7 +1968,7 @@ private static GBEncounterData getEncounter12(PKM pkm, GameVersion game) internal static List getEncounter12(PKM pkm) { var g1 = pkm.Gen2_NotTradeback ? null : getEncounter12(pkm, GameVersion.RBY); - var g2 = pkm.Gen1_NotTradeback ? null : getEncounter12(pkm, GameVersion.GSC); + var g2 = pkm.Gen1_NotTradeback || !AllowGen2VCTransfer ? null : getEncounter12(pkm, GameVersion.GSC); if (g1 == null && g2 == null) return null; if (g1 == null || g2 == null) diff --git a/PKHeX/Legality/RNG/MethodFinder.cs b/PKHeX/Legality/RNG/MethodFinder.cs index 5002d8fba..6f0c9a769 100644 --- a/PKHeX/Legality/RNG/MethodFinder.cs +++ b/PKHeX/Legality/RNG/MethodFinder.cs @@ -55,7 +55,7 @@ public static PIDIV Analyze(PKM pk) if (getBACDMatch(pk, pid, IVs, out pidiv)) return pidiv; - return pidiv; // no match + return null; // no match } private static bool getLCRNGMatch(uint top, uint bot, uint[] IVs, out PIDIV pidiv)