From 2ba0c868ee7d86c5530bf777aca63ad67be3347e Mon Sep 17 00:00:00 2001 From: Ethan Moffat Date: Mon, 28 Mar 2022 17:17:52 -0700 Subject: [PATCH] Fix inventory save routine to ini file so that it doesn't persist old slot data for a character --- EndlessClient/HUD/Panels/InventoryPanel.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/EndlessClient/HUD/Panels/InventoryPanel.cs b/EndlessClient/HUD/Panels/InventoryPanel.cs index ddd4c098d..c03405d36 100644 --- a/EndlessClient/HUD/Panels/InventoryPanel.cs +++ b/EndlessClient/HUD/Panels/InventoryPanel.cs @@ -305,14 +305,16 @@ private void SaveInventoryFile(object sender, EventArgs e) ? inventory.Sections[_playerInfoProvider.LoggedInAccountName] : new SortedList(); + var existing = section.Where(x => x.Key.Contains(_characterProvider.MainCharacter.Name)).Select(x => x.Key).ToList(); + foreach (var key in existing) + section.Remove(key); + foreach (var item in _childItems) section[$"{_characterProvider.MainCharacter.Name}.{item.Slot}"] = $"{item.InventoryItem.ItemID}"; inventory.Sections[_playerInfoProvider.LoggedInAccountName] = section; inventory.Save(); - - base.UnloadContent(); } private void HandleItemDoubleClick(object sender, EIFRecord itemData)