private static void VerifyMiscEggCommon(LegalityAnalysis data) { var pkm = data.pkm; if (pkm.Move1_PPUps > 0 || pkm.Move2_PPUps > 0 || pkm.Move3_PPUps > 0 || pkm.Move4_PPUps > 0) { data.AddLine(GetInvalid(LEggPPUp, CheckIdentifier.Egg)); } if (pkm.Move1_PP != pkm.GetMovePP(pkm.Move1, 0) || pkm.Move2_PP != pkm.GetMovePP(pkm.Move2, 0) || pkm.Move3_PP != pkm.GetMovePP(pkm.Move3, 0) || pkm.Move4_PP != pkm.GetMovePP(pkm.Move4, 0)) { data.AddLine(GetInvalid(LEggPP, CheckIdentifier.Egg)); } var EncounterMatch = data.EncounterOriginal; var HatchCycles = (EncounterMatch as EncounterStatic)?.EggCycles; if (HatchCycles == 0 || HatchCycles == null) { HatchCycles = pkm.PersonalInfo.HatchCycles; } if (pkm.CurrentFriendship > HatchCycles) { data.AddLine(GetInvalid(LEggHatchCycles, CheckIdentifier.Egg)); } if (pkm.Format >= 6 && EncounterMatch is EncounterEgg && !pkm.Moves.SequenceEqual(pkm.RelearnMoves)) { var moves = string.Join(", ", LegalityAnalysis.GetMoveNames(pkm.Moves)); var msg = string.Format(LMoveFExpect_0, moves); data.AddLine(GetInvalid(msg, CheckIdentifier.Egg)); } }
private static void VerifyMiscEggCommon(LegalityAnalysis data) { var pkm = data.pkm; if (pkm.Move1_PPUps > 0 || pkm.Move2_PPUps > 0 || pkm.Move3_PPUps > 0 || pkm.Move4_PPUps > 0) { data.AddLine(GetInvalid(LEggPPUp, Egg)); } if (pkm.Move1_PP != pkm.GetMovePP(pkm.Move1, 0) || pkm.Move2_PP != pkm.GetMovePP(pkm.Move2, 0) || pkm.Move3_PP != pkm.GetMovePP(pkm.Move3, 0) || pkm.Move4_PP != pkm.GetMovePP(pkm.Move4, 0)) { data.AddLine(GetInvalid(LEggPP, Egg)); } var EncounterMatch = data.EncounterOriginal; var HatchCycles = EncounterMatch is EncounterStatic s ? s.EggCycles : 0; if (HatchCycles == 0) // no value set { HatchCycles = pkm.PersonalInfo.HatchCycles; } if (pkm.CurrentFriendship > HatchCycles) { data.AddLine(GetInvalid(LEggHatchCycles, Egg)); } if (pkm.Format >= 6 && EncounterMatch is EncounterEgg && !pkm.Moves.SequenceEqual(pkm.RelearnMoves)) { var moves = string.Join(", ", LegalityAnalysis.GetMoveNames(pkm.Moves)); var msg = string.Format(LMoveFExpect_0, moves); data.AddLine(GetInvalid(msg, Egg)); } if (pkm is PK8 pk8) { if (pk8.HasAnyMoveRecordFlag()) { data.AddLine(GetInvalid(LEggRelearnFlags, Egg)); } if (pk8.StatNature != pk8.Nature) { data.AddLine(GetInvalid(LEggNature, Egg)); } } }