From 2d3d6b49daea6efb7d7d6840c6de3ee9977ca006 Mon Sep 17 00:00:00 2001 From: Kurt Date: Mon, 11 Jan 2021 17:47:25 -0800 Subject: [PATCH] Force bad vc1 (should be vc2) to be vc2 templates --- .../Generator/EncounterStaticGenerator.cs | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/PKHeX.Core/Legality/Encounters/Generator/EncounterStaticGenerator.cs b/PKHeX.Core/Legality/Encounters/Generator/EncounterStaticGenerator.cs index 359d7d363..1c9d4b17e 100644 --- a/PKHeX.Core/Legality/Encounters/Generator/EncounterStaticGenerator.cs +++ b/PKHeX.Core/Legality/Encounters/Generator/EncounterStaticGenerator.cs @@ -103,12 +103,14 @@ internal static EncounterStatic7 GetVCStaticTransferEncounter(PKM pkm, IEncounte var species = pkm.Species; var met = pkm.Met_Level; if (pkm.VC1) - return EncounterStatic7.GetVC1(species > MaxSpeciesID_1 ? enc.Species : species, met); - if (pkm.VC2) - return EncounterStatic7.GetVC2(species > MaxSpeciesID_2 ? enc.Species : species, met); - - // Should never reach here. - throw new ArgumentException(nameof(pkm.Version)); + { + // Only yield a VC1 template if it could originate in VC1. + // Catch anything that can only exist in VC2 (Entei) even if it was "transferred" from VC1. + var vc1Species = species > MaxSpeciesID_1 ? enc.Species : species; + if (vc1Species <= MaxSpeciesID_1) + return EncounterStatic7.GetVC1(vc1Species, met); + } + return EncounterStatic7.GetVC2(species > MaxSpeciesID_2 ? enc.Species : species, met); } internal static EncounterStatic? GetStaticLocation(PKM pkm)