diff --git a/PKHeX.Core/Editing/Bulk/BatchEditing.cs b/PKHeX.Core/Editing/Bulk/BatchEditing.cs index 41125d27a..7f3221043 100644 --- a/PKHeX.Core/Editing/Bulk/BatchEditing.cs +++ b/PKHeX.Core/Editing/Bulk/BatchEditing.cs @@ -412,6 +412,20 @@ private static ModifyResult SetSuggestedPKMProperty(string name, PKMInfo info, s return ModifyResult.Modified; + case nameof(PKM.Heal): + pk.Heal(); + return ModifyResult.Modified; + case nameof(PKM.HealPP): + pk.HealPP(); + return ModifyResult.Modified; + + case nameof(PKM.Move1_PP): + case nameof(PKM.Move2_PP): + case nameof(PKM.Move3_PP): + case nameof(PKM.Move4_PP): + pk.SetSuggestedMovePP(name[4] - '1'); // 0-3 int32 + return ModifyResult.Modified; + case nameof(PKM.Moves): return SetMoves(pk, pk.GetMoveSet(la: info.Legality)); diff --git a/PKHeX.Core/Editing/CommonEdits.cs b/PKHeX.Core/Editing/CommonEdits.cs index 53d54acad..1fc16e46f 100644 --- a/PKHeX.Core/Editing/CommonEdits.cs +++ b/PKHeX.Core/Editing/CommonEdits.cs @@ -616,6 +616,23 @@ public static void SetRecordFlags(this PKM pk) } } + /// + /// Refreshes the Move PP for the desired move. + /// + /// Pokémon to modify. + /// Move PP to refresh. + public static void SetSuggestedMovePP(this PKM pk, int index) + { + switch (index) + { + case 0: pk.Move1_PP = pk.GetMovePP(pk.Move1, pk.Move1_PPUps); return; + case 1: pk.Move2_PP = pk.GetMovePP(pk.Move2, pk.Move2_PPUps); return; + case 2: pk.Move3_PP = pk.GetMovePP(pk.Move3, pk.Move3_PPUps); return; + case 3: pk.Move4_PP = pk.GetMovePP(pk.Move4, pk.Move4_PPUps); return; + default: throw new ArgumentException(nameof(index)); + } + } + /// /// Force hatches a PKM by applying the current species name and a valid Met Location from the origin game. ///