From 128fcdff7ac24f663ea42692e985b3433203a629 Mon Sep 17 00:00:00 2001 From: Kurt Date: Mon, 23 Sep 2024 00:48:57 -0500 Subject: [PATCH] Loosen restriction on party set (quantity) Empty array being set is a legitimate write; properly clears the party data. --- PKHeX.Core/Saves/SaveFile.cs | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/PKHeX.Core/Saves/SaveFile.cs b/PKHeX.Core/Saves/SaveFile.cs index 991c66942..80ae773c3 100644 --- a/PKHeX.Core/Saves/SaveFile.cs +++ b/PKHeX.Core/Saves/SaveFile.cs @@ -197,12 +197,9 @@ public IList PartyData } set { - if (value.Count is 0 or > MaxPartyCount) - throw new ArgumentOutOfRangeException(nameof(value), $"Expected 1-6, got {value.Count}"); -#if DEBUG - if (value[0].Species == 0) - System.Diagnostics.Debug.WriteLine($"Empty first slot, received {value.Count}."); -#endif + if (value.Count > MaxPartyCount) + throw new ArgumentOutOfRangeException(nameof(value), $"Expected 0-6, got {value.Count}"); + int ctr = 0; foreach (var exist in value.Where(pk => pk.Species != 0)) SetPartySlotAtIndex(exist, ctr++);