diff --git a/Source/Game/DataStorage/Structs/I_Records.cs b/Source/Game/DataStorage/Structs/I_Records.cs index b3b8ca9c1..1b1712faa 100644 --- a/Source/Game/DataStorage/Structs/I_Records.cs +++ b/Source/Game/DataStorage/Structs/I_Records.cs @@ -111,7 +111,7 @@ namespace Game.DataStorage public sealed class ItemBonusListGroupEntryRecord { public uint Id; - public int ItemBonusListGroupID; + public uint ItemBonusListGroupID; public int ItemBonusListID; public int ItemLevelSelectorID; public int OrderIndex; @@ -139,8 +139,8 @@ namespace Game.DataStorage public ushort ChildItemBonusTreeID; public ushort ChildItemBonusListID; public ushort ChildItemLevelSelectorID; - public int ItemBonusListGroupID; - public int ParentItemBonusTreeNodeID; + public uint ItemBonusListGroupID; + public uint ParentItemBonusTreeNodeID; public uint ParentItemBonusTreeID; } diff --git a/Source/Game/Entities/Unit/Unit.Combat.cs b/Source/Game/Entities/Unit/Unit.Combat.cs index f0134153b..adc1cd24d 100644 --- a/Source/Game/Entities/Unit/Unit.Combat.cs +++ b/Source/Game/Entities/Unit/Unit.Combat.cs @@ -330,7 +330,7 @@ namespace Game.Entities public virtual void OnCombatExit() { - foreach (var pair in m_appliedAuras.KeyValueList) + foreach (var pair in GetAppliedAuras()) { AuraApplication aurApp = pair.Value; aurApp.GetBase().CallScriptEnterLeaveCombatHandlers(aurApp, false); diff --git a/Source/Game/Entities/Unit/Unit.Spells.cs b/Source/Game/Entities/Unit/Unit.Spells.cs index 7a9b008bb..be4c35e07 100644 --- a/Source/Game/Entities/Unit/Unit.Spells.cs +++ b/Source/Game/Entities/Unit/Unit.Spells.cs @@ -4358,24 +4358,12 @@ namespace Game.Entities return; } - bool remove = false; - for (var i = 0; i < m_appliedAuras.KeyValueList.Count; i++) + foreach (var app in GetAppliedAuras()) { - var app = m_appliedAuras.KeyValueList[i]; - if (remove) - { - remove = false; - i = 0; - } - if (aura.CanStackWith(app.Value.GetBase())) continue; RemoveAura(app, AuraRemoveMode.Default); - if (i == m_appliedAuras.KeyValueList.Count - 1) - break; - - remove = true; } } public int GetHighestExclusiveSameEffectSpellGroupValue(AuraEffect aurEff, AuraType auraType, bool checkMiscValue = false, int miscValue = 0)