From e532a29e72a2fdd8b294ce878a5c9a039e32fc38 Mon Sep 17 00:00:00 2001 From: Kurt Date: Sat, 29 Aug 2020 23:47:03 -0700 Subject: [PATCH] Allow gen1 moves on gen2 met data pk2's Thanks MrPerson0 on discord for notifying us of this mechanic. Stadium 2 can utilize Gen1 learnset data while keeping them in PK2 format, retaining the met data. --- PKHeX.Core/Legality/Restrictions/GBRestrictions.cs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/PKHeX.Core/Legality/Restrictions/GBRestrictions.cs b/PKHeX.Core/Legality/Restrictions/GBRestrictions.cs index c5a1faf11..47a6cb997 100644 --- a/PKHeX.Core/Legality/Restrictions/GBRestrictions.cs +++ b/PKHeX.Core/Legality/Restrictions/GBRestrictions.cs @@ -369,11 +369,18 @@ private static bool GetCatchRateMatchesPreEvolution(PKM pkm, int catch_rate, IEn /// true if can inhabit, false if not. private static bool CanInhabitGen1(this PKM pkm) { - // Korean Gen2 games can't tradeback because there are no Gen1 Korean games released + // Korean Gen2 games can't trade-back because there are no Gen1 Korean games released if (pkm.Korean || pkm.IsEgg) return false; - if (pkm is PK2 pk2 && pk2.CaughtData != 0) + + // Gen2 format with met data can't receive Gen1 moves, unless Stadium 2 is used (Oak's PC). + // If you put a Pokemon in the N64 box, the met info is retained, even if you switch over to a Gen I game to teach it TMs + // You can use rare candies from within the lab, so level-up moves from RBY context can be learned this way as well + // Stadium 2 is GB Cart Era only (not 3DS Virtual Console). + if (pkm is PK2 pk2 && pk2.CaughtData != 0 && !ParseSettings.AllowGBCartEra) return false; + + // Sanity check species, if it could have existed as a pre-evolution. int species = pkm.Species; if (species <= MaxSpeciesID_1) return true;