diff --git a/PKHeX.Core/Legality/Analysis.cs b/PKHeX.Core/Legality/Analysis.cs index 3c014408f..767e6c9d7 100644 --- a/PKHeX.Core/Legality/Analysis.cs +++ b/PKHeX.Core/Legality/Analysis.cs @@ -359,6 +359,8 @@ public int[] GetSuggestedMoves(bool tm, bool tutor, bool reminder) { if (!Parsed) return new int[4]; + if (pkm.IsEgg && pkm.Format <= 5) // pre relearn + return Legal.GetBaseEggMoves(pkm, pkm.Species, (GameVersion)pkm.Version, pkm.CurrentLevel); return Legal.GetValidMoves(pkm, Info.EvoChainsAllGens, Tutor: tutor, Machine: tm, MoveReminder: reminder).Skip(1).ToArray(); // skip move 0 } public EncounterStatic GetSuggestedMetInfo() => EncounterSuggestion.GetSuggestedMetInfo(pkm); diff --git a/PKHeX.Core/Legality/Core.cs b/PKHeX.Core/Legality/Core.cs index 98dec6133..999343290 100644 --- a/PKHeX.Core/Legality/Core.cs +++ b/PKHeX.Core/Legality/Core.cs @@ -232,6 +232,7 @@ internal static int[] GetBaseEggMoves(PKM pkm, int species, GameVersion gameSour switch (gameSource) { + case GameVersion.GSC: case GameVersion.GS: // If checking back-transfer specimen (GSC->RBY), remove moves that must be deleted prior to transfer int[] getRBYCompatibleMoves(int[] moves) => pkm.Format == 1 ? moves.Where(m => m <= MaxMoveID_1).ToArray() : moves; diff --git a/PKHeX.Core/PKM/PK2.cs b/PKHeX.Core/PKM/PK2.cs index 3f84b6587..658be95eb 100644 --- a/PKHeX.Core/PKM/PK2.cs +++ b/PKHeX.Core/PKM/PK2.cs @@ -351,7 +351,7 @@ public override int HPType public override int Egg_Location { get => 0; set { } } public override int OT_Friendship { get => 0; set { } } public override int Ball { get => 0; set { } } - public override int Version { get => (int)GameVersion.GSC; set { } } + public override int Version { get => HasOriginalMetLocation ? (int)GameVersion.C : (int)GameVersion.GSC; set { } } public override int SID { get => 0; set { } } #endregion