diff --git a/PKHeX.Core/PKM/Editing/CommonEdits.cs b/PKHeX.Core/PKM/Editing/CommonEdits.cs
index 12e11178b..2e27d3c0c 100644
--- a/PKHeX.Core/PKM/Editing/CommonEdits.cs
+++ b/PKHeX.Core/PKM/Editing/CommonEdits.cs
@@ -148,19 +148,36 @@ public static void SetNature(this PKM pk, int nature)
///
/// Pokémon to modify.
/// to use (if already known). Will fetch the current if not provided.
- public static void SetPPUps(this PKM pk, int[] Moves = null)
+ public static void SetMaximumPPUps(this PKM pk, int[] Moves = null)
{
if (Moves == null)
Moves = pk.Moves;
- pk.Move1_PP = pk.GetMovePP(Moves[0], pk.Move1_PPUps = GetPPUpCount(Moves[0]));
- pk.Move2_PP = pk.GetMovePP(Moves[1], pk.Move2_PPUps = GetPPUpCount(Moves[1]));
- pk.Move3_PP = pk.GetMovePP(Moves[2], pk.Move3_PPUps = GetPPUpCount(Moves[2]));
- pk.Move4_PP = pk.GetMovePP(Moves[3], pk.Move4_PPUps = GetPPUpCount(Moves[3]));
+ pk.Move1_PPUps = GetPPUpCount(Moves[0]);
+ pk.Move2_PPUps = GetPPUpCount(Moves[1]);
+ pk.Move3_PPUps = GetPPUpCount(Moves[2]);
+ pk.Move4_PPUps = GetPPUpCount(Moves[3]);
+ pk.SetMaximumPPCurrent(Moves);
int GetPPUpCount(int moveID) => moveID > 0 ? 3 : 0;
}
+ ///
+ /// Updates the individual PP count values for each moveslot based on the maximum possible value.
+ ///
+ /// Pokémon to modify.
+ /// to use (if already known). Will fetch the current if not provided.
+ public static void SetMaximumPPCurrent(this PKM pk, int[] Moves = null)
+ {
+ if (Moves == null)
+ Moves = pk.Moves;
+
+ pk.Move1_PP = pk.GetMovePP(Moves[0], pk.Move1_PPUps);
+ pk.Move2_PP = pk.GetMovePP(Moves[1], pk.Move2_PPUps);
+ pk.Move3_PP = pk.GetMovePP(Moves[2], pk.Move3_PPUps);
+ pk.Move4_PP = pk.GetMovePP(Moves[3], pk.Move4_PPUps);
+ }
+
///
/// Sets the value, with special consideration for the values which derive the value.
///
diff --git a/PKHeX.WinForms/Controls/PKM Editor/PKMEditor.cs b/PKHeX.WinForms/Controls/PKM Editor/PKMEditor.cs
index 7db3a5230..83dda2a6c 100644
--- a/PKHeX.WinForms/Controls/PKM Editor/PKMEditor.cs
+++ b/PKHeX.WinForms/Controls/PKM Editor/PKMEditor.cs
@@ -669,7 +669,7 @@ private bool SetSuggestedMoves(bool random = false, bool silent = false)
}
pkm.Moves = m;
- pkm.SetPPUps(m);
+ pkm.SetMaximumPPCurrent(m);
FieldsLoaded = false;
LoadMoves(pkm);
FieldsLoaded = true;