diff --git a/PkmnLib.Dynamic/Models/LearnedMove.cs b/PkmnLib.Dynamic/Models/LearnedMove.cs index 0bc7269..74637cb 100644 --- a/PkmnLib.Dynamic/Models/LearnedMove.cs +++ b/PkmnLib.Dynamic/Models/LearnedMove.cs @@ -80,6 +80,12 @@ public interface ILearnedMove : IDeepCloneable /// Restore the remaining PP by a certain amount. Will prevent it from going above max PP. /// void RestoreUses(byte amount); + + /// + /// Forcibly set the remaining PP to a certain amount. + /// + /// + void SetCurrentPP(byte uses); } /// @@ -136,4 +142,10 @@ public class LearnedMoveImpl : ILearnedMove /// Restore the PP by a certain amount. This will prevent the PP from going above the maximum PP. /// public void RestoreUses(byte amount) => CurrentPp = (byte)Math.Min(CurrentPp + amount, MaxPp); + + /// + public void SetCurrentPP(byte uses) + { + CurrentPp = Math.Min(uses, MaxPp); + } } \ No newline at end of file diff --git a/PkmnLib.Dynamic/Models/Pokemon.cs b/PkmnLib.Dynamic/Models/Pokemon.cs index 575643d..320082e 100644 --- a/PkmnLib.Dynamic/Models/Pokemon.cs +++ b/PkmnLib.Dynamic/Models/Pokemon.cs @@ -1091,6 +1091,7 @@ public class PokemonImpl : ScriptSource, IPokemon Types = Form.Types; OverrideAbility = null; AbilitySuppressed = false; + RecalculateFlatStats(); } } } diff --git a/PkmnLib.Dynamic/ScriptHandling/ScriptSet.cs b/PkmnLib.Dynamic/ScriptHandling/ScriptSet.cs index 8b6952d..bf1207b 100644 --- a/PkmnLib.Dynamic/ScriptHandling/ScriptSet.cs +++ b/PkmnLib.Dynamic/ScriptHandling/ScriptSet.cs @@ -21,7 +21,7 @@ public interface IScriptSet : IEnumerable /// Adds a script with a name to the set. If the script with that name already exists in this /// set, this makes that script stack instead. The return value here is that script. /// - ScriptContainer? StackOrAdd(StringKey scriptKey, Func