From e4c2b5d77a2c0a7f4edfe0d8954a407f9977ec49 Mon Sep 17 00:00:00 2001 From: Kurt Date: Mon, 19 Mar 2018 16:21:29 -0700 Subject: [PATCH] Split PPMax & PPCurrent edit methods As noted in #1866 --- PKHeX.Core/PKM/Editing/CommonEdits.cs | 27 +++++++++++++++---- .../Controls/PKM Editor/PKMEditor.cs | 2 +- 2 files changed, 23 insertions(+), 6 deletions(-) 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;