From 4869f188bd08dcb895ca33a23e270b106752b00a Mon Sep 17 00:00:00 2001 From: Kaphotics Date: Wed, 30 Mar 2016 18:53:34 -0700 Subject: [PATCH] Check memories for eggs/transfer Catches some of those jan2014 banked pentagon mons without OT memories The last check is unused; the last two checks are designed in case past gen pkm are checked. --- Legality/Checks.cs | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/Legality/Checks.cs b/Legality/Checks.cs index 13046527f..baebc8112 100644 --- a/Legality/Checks.cs +++ b/Legality/Checks.cs @@ -521,7 +521,22 @@ private LegalityCheck verifyHandlerMemories() if (pk6.HT_Memory == 0) return new LegalityCheck(Severity.Invalid, "Memory -- missing Handling Trainer Memory."); } - + + // Memory Checks + if (pk6.IsEgg) + { + if (pk6.HT_Memory != 0) + return new LegalityCheck(Severity.Invalid, "Memory -- has Handling Trainer Memory."); + if (pk6.OT_Memory != 0) + return new LegalityCheck(Severity.Invalid, "Memory -- has Original Trainer Memory."); + } + else if (EncounterType != typeof(WC6)) + { + if (pk6.OT_Memory == 0 ^ !pk6.Gen6) + return new LegalityCheck(Severity.Invalid, "Memory -- missing Original Trainer Memory."); + if (!pk6.Gen6 && pk6.OT_Affection != 0) + return new LegalityCheck(Severity.Invalid, "OT Affection should be zero."); + } // Unimplemented: Ingame Trade Memories return new LegalityCheck(Severity.Valid, "History is valid.");