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.
///