From 0b42f575343cd700613a94099b10f22d2604418e Mon Sep 17 00:00:00 2001 From: Kurt Date: Fri, 20 Feb 2026 23:21:33 -0600 Subject: [PATCH] PA8: More tweaks to mastery setting --- .../Applicators/MoveShopRecordApplicator.cs | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/PKHeX.Core/Editing/Applicators/MoveShopRecordApplicator.cs b/PKHeX.Core/Editing/Applicators/MoveShopRecordApplicator.cs index fda610eec..aa5f668f6 100644 --- a/PKHeX.Core/Editing/Applicators/MoveShopRecordApplicator.cs +++ b/PKHeX.Core/Editing/Applicators/MoveShopRecordApplicator.cs @@ -107,15 +107,23 @@ public void SetMasteredFlag(Learnset learn, Learnset mastery, byte level, int in if (shop.GetMasteredRecordFlag(index)) return; - if (learn.TryGetLevelLearnMove(move, out var learnLevel) && level < learnLevel) // Can't learn it yet; must purchase. + if (learn.TryGetLevelLearnMove(move, out var learnLevel)) { - shop.SetPurchasedRecordFlag(index, true); - shop.SetMasteredRecordFlag(index, true); - return; + if (level < learnLevel) // Can't learn it yet; must purchase. + { + shop.SetPurchasedRecordFlag(index, true); + shop.SetMasteredRecordFlag(index, true); + return; + } + if (mastery.TryGetLevelLearnMove(move, out var masterLevel) && level < masterLevel) // Can't master it yet; must Seed of Mastery + shop.SetMasteredRecordFlag(index, true); + // Otherwise, is innately mastered, no need to force the flag. + } + else // Can't learn it without purchasing. + { + if (shop.GetPurchasedRecordFlag(index)) + shop.SetMasteredRecordFlag(index, true); } - - if (mastery.TryGetLevelLearnMove(move, out var masterLevel) && level < masterLevel) // Can't master it yet; must Seed of Mastery - shop.SetMasteredRecordFlag(index, true); } ///