diff --git a/PKHeX.Core/Legality/Checks.cs b/PKHeX.Core/Legality/Checks.cs index f4172a79a..2b216791a 100644 --- a/PKHeX.Core/Legality/Checks.cs +++ b/PKHeX.Core/Legality/Checks.cs @@ -1738,7 +1738,7 @@ private CheckResult VerifyHistory() } else // Is Traded { - if (pkm.Format == 6 && pkm.HT_Memory == 0) + if (pkm.Format == 6 && pkm.HT_Memory == 0 && !pkm.IsEgg) return new CheckResult(Severity.Invalid, V150, CheckIdentifier.History); } diff --git a/PKHeX.Core/MysteryGifts/PGF.cs b/PKHeX.Core/MysteryGifts/PGF.cs index 622c3e1e4..ed5945f89 100644 --- a/PKHeX.Core/MysteryGifts/PGF.cs +++ b/PKHeX.Core/MysteryGifts/PGF.cs @@ -209,7 +209,6 @@ public override PKM ConvertToPKM(SaveFile SAV) FatefulEncounter = true, }; - pk.CurrentFriendship = pk.IsEgg ? pi.HatchCycles : pi.BaseFriendship; pk.Move1_PP = pk.GetMovePP(Move1, 0); pk.Move2_PP = pk.GetMovePP(Move2, 0); pk.Move3_PP = pk.GetMovePP(Move3, 0); @@ -283,12 +282,12 @@ public override PKM ConvertToPKM(SaveFile SAV) if (IsEgg) { - // pk.IsEgg = true; + pk.IsEgg = true; pk.EggMetDate = Date; - // Force hatch - pk.IsEgg = false; - pk.Met_Location = 4; // Nuvema Town + pk.Nickname = PKX.GetSpeciesNameGeneration(0, pk.Language, Format); + pk.IsNicknamed = true; } + pk.CurrentFriendship = pk.IsEgg ? pi.HatchCycles : pi.BaseFriendship; pk.RefreshChecksum(); return pk; diff --git a/PKHeX.Core/MysteryGifts/PGT.cs b/PKHeX.Core/MysteryGifts/PGT.cs index cc4b54ea6..4321c6679 100644 --- a/PKHeX.Core/MysteryGifts/PGT.cs +++ b/PKHeX.Core/MysteryGifts/PGT.cs @@ -215,8 +215,10 @@ public override PKM ConvertToPKM(SaveFile SAV) pk4.Language = 2; // English pk4.Nickname = "MANAPHY"; pk4.Egg_Location = 1; // Ranger (will be +3000 later) + pk4.Move1_PP = pk4.GetMovePP(pk4.Move1, 0); + pk4.Move2_PP = pk4.GetMovePP(pk4.Move2, 0); + pk4.Move3_PP = pk4.GetMovePP(pk4.Move3, 0); } - pk4.CurrentFriendship = pk4.IsEgg ? pi.HatchCycles : pi.BaseFriendship; // Generate IV uint seed = Util.Rand32(); @@ -258,12 +260,11 @@ public override PKM ConvertToPKM(SaveFile SAV) } else { + pk4.Egg_Location = pk4.Egg_Location + 3000; if (SAV.Generation == 4) { pk4.IsEgg = true; - pk4.Met_Location = pk4.Egg_Location + 3000; - pk4.Egg_Location = 0; - pk4.IsNicknamed = true; + pk4.IsNicknamed = false; pk4.Nickname = PKX.GetSpeciesNameGeneration(0, pk4.Language, Format); pk4.MetDate = DateTime.Now; } @@ -271,10 +272,12 @@ public override PKM ConvertToPKM(SaveFile SAV) { pk4.IsEgg = false; // Met Location is modified when transferred to pk5; don't worry about it. - pk4.Egg_Location = pk4.Egg_Location + 3000; pk4.EggMetDate = DateTime.Now; } + while (pk4.IsShiny) + pk4.PID = RNG.ARNG.Next(pk4.PID); } + pk4.CurrentFriendship = pk4.IsEgg ? pi.HatchCycles : pi.BaseFriendship; if (pk4.Species == 201) // Never will be true; Unown was never distributed. pk4.AltForm = PKX.GetUnownForm(pk4.PID); diff --git a/PKHeX.Core/MysteryGifts/WC6.cs b/PKHeX.Core/MysteryGifts/WC6.cs index 15db3ca9c..0151ebd8d 100644 --- a/PKHeX.Core/MysteryGifts/WC6.cs +++ b/PKHeX.Core/MysteryGifts/WC6.cs @@ -344,7 +344,6 @@ public override PKM ConvertToPKM(SaveFile SAV) EVs = EVs, }; - pk.CurrentFriendship = pk.IsEgg ? pi.HatchCycles : pi.BaseFriendship; pk.Move1_PP = pk.GetMovePP(Move1, 0); pk.Move2_PP = pk.GetMovePP(Move2, 0); pk.Move3_PP = pk.GetMovePP(Move3, 0); @@ -438,7 +437,10 @@ public override PKM ConvertToPKM(SaveFile SAV) { pk.IsEgg = true; pk.EggMetDate = Date; + pk.Nickname = PKX.GetSpeciesNameGeneration(0, pk.Language, Format); + pk.IsNicknamed = true; } + pk.CurrentFriendship = pk.IsEgg ? pi.HatchCycles : pi.BaseFriendship; pk.RefreshChecksum(); return pk; diff --git a/PKHeX.Core/MysteryGifts/WC7.cs b/PKHeX.Core/MysteryGifts/WC7.cs index 020d0d193..89f791c37 100644 --- a/PKHeX.Core/MysteryGifts/WC7.cs +++ b/PKHeX.Core/MysteryGifts/WC7.cs @@ -369,7 +369,6 @@ public override PKM ConvertToPKM(SaveFile SAV) EVs = EVs, }; - pk.CurrentFriendship = pk.IsEgg ? pi.HatchCycles : pi.BaseFriendship; pk.Move1_PP = pk.GetMovePP(Move1, 0); pk.Move2_PP = pk.GetMovePP(Move2, 0); pk.Move3_PP = pk.GetMovePP(Move3, 0); @@ -450,7 +449,9 @@ public override PKM ConvertToPKM(SaveFile SAV) pk.IsEgg = true; pk.EggMetDate = Date; pk.Nickname = PKX.GetSpeciesNameGeneration(0, pk.Language, Format); + pk.IsNicknamed = true; } + pk.CurrentFriendship = pk.IsEgg ? pi.HatchCycles : pi.BaseFriendship; pk.RefreshChecksum(); return pk;