diff --git a/Source/Game/Entities/Player/Player.Talents.cs b/Source/Game/Entities/Player/Player.Talents.cs index f3e8ff5d4..66ffeb281 100644 --- a/Source/Game/Entities/Player/Player.Talents.cs +++ b/Source/Game/Entities/Player/Player.Talents.cs @@ -961,7 +961,7 @@ namespace Game.Entities TraitConfig editedConfig = m_activePlayerData.TraitConfigs[editedIndex]; // remove traits not found in new config - List entryIndicesToRemove = new(); + SortedSet entryIndicesToRemove = new(Comparer.Create((a, b) => -a.CompareTo(b))); for (int i = 0; i < editedConfig.Entries.Size(); ++i) { TraitEntry oldEntry = editedConfig.Entries[i]; diff --git a/Source/Game/Handlers/TraitHandler.cs b/Source/Game/Handlers/TraitHandler.cs index 931ce3c0d..51e683250 100644 --- a/Source/Game/Handlers/TraitHandler.cs +++ b/Source/Game/Handlers/TraitHandler.cs @@ -98,7 +98,7 @@ namespace Game if (newEntry.Rank != 0) traitEntry.Rank = newEntry.Rank; else - newConfigState.Entries.RemoveAll(TraitEntrytraitEntry => traitEntry.TraitNodeID == newEntry.TraitNodeID && traitEntry.TraitNodeEntryID == newEntry.TraitNodeEntryID); + newConfigState.Entries.RemoveAll(traitEntry => traitEntry.TraitNodeID == newEntry.TraitNodeID && traitEntry.TraitNodeEntryID == newEntry.TraitNodeEntryID); } else newConfigState.Entries.Add(newEntry);