diff --git a/src/DiIiS-NA/Core/Extensions/ListExtensions.cs b/src/DiIiS-NA/Core/Extensions/ListExtensions.cs index 2eed864..f8139e0 100644 --- a/src/DiIiS-NA/Core/Extensions/ListExtensions.cs +++ b/src/DiIiS-NA/Core/Extensions/ListExtensions.cs @@ -1,4 +1,5 @@ using System.Collections.Generic; +using System.Linq; namespace DiIiS_NA.Core.Extensions { @@ -6,22 +7,12 @@ namespace DiIiS_NA.Core.Extensions { public static bool ContainsAtLeastOne(this List list1, List list2) { - foreach (T m in list2) - { - if (list1.Contains(m)) - return true; - } - return false; + return list2.Any(list1.Contains); } public static bool ContainsAtLeastOne(this List list, T[] array) { - foreach (T m in array) - { - if (list.Contains(m)) - return true; - } - return false; + return array.Any(list.Contains); } } } diff --git a/src/DiIiS-NA/Core/Extensions/StringExtensions.cs b/src/DiIiS-NA/Core/Extensions/StringExtensions.cs index 0d9495f..89d9eda 100644 --- a/src/DiIiS-NA/Core/Extensions/StringExtensions.cs +++ b/src/DiIiS-NA/Core/Extensions/StringExtensions.cs @@ -44,15 +44,15 @@ namespace DiIiS_NA.Core.Extensions byteArray[indexBA++] = (byte)item; } - System.IO.MemoryStream ms = new System.IO.MemoryStream(byteArray); - System.IO.Compression.GZipStream sr = new System.IO.Compression.GZipStream(ms, + System.IO.MemoryStream ms = new(byteArray); + System.IO.Compression.GZipStream sr = new(ms, System.IO.Compression.CompressionMode.Decompress); byteArray = new byte[byteArray.Length]; int rByte = sr.Read(byteArray, 0, byteArray.Length); - System.Text.StringBuilder sB = new System.Text.StringBuilder(rByte); + System.Text.StringBuilder sB = new(rByte); for (int i = 0; i < rByte; i++) { sB.Append((char)byteArray[i]); diff --git a/src/DiIiS-NA/D3-GameServer/GSSystem/ItemsSystem/AffixGenerator.cs b/src/DiIiS-NA/D3-GameServer/GSSystem/ItemsSystem/AffixGenerator.cs index aa1eb2b..e9cdef9 100644 --- a/src/DiIiS-NA/D3-GameServer/GSSystem/ItemsSystem/AffixGenerator.cs +++ b/src/DiIiS-NA/D3-GameServer/GSSystem/ItemsSystem/AffixGenerator.cs @@ -115,30 +115,30 @@ namespace DiIiS_NA.GameServer.GSSystem.ItemsSystem if (Item.IsAccessory(item.ItemType) && affixesCount <= 1) affixesCount = 2; - bool IsUnique = item.ItemDefinition.Name.Contains("Unique_"); + bool isUnique = item.ItemDefinition.Name.Contains("Unique_"); - if (IsUnique && !isCrafting) affixesCount = item.ItemDefinition.BonusAffixes + item.ItemDefinition.BonusMajorAffixes + item.ItemDefinition.BonusMinorAffixes; + if (isUnique && !isCrafting) affixesCount = item.ItemDefinition.BonusAffixes + item.ItemDefinition.BonusMajorAffixes + item.ItemDefinition.BonusMinorAffixes; if (item.ItemDefinition.Name.ToLower().Contains("p71_ethereal")) { affixesCount = 8; - IsUnique = true; + isUnique = true; } if (item.GBHandle.GBID == -4139386) affixesCount = 6; //referral ring - if (IsUnique) + if (isUnique) affixesCount += 3; - Class ItemPlayerClass = Class.None; - if (item.ItemType.Usable.HasFlag(ItemFlags.Barbarian)) ItemPlayerClass = Class.Barbarian; - if (item.ItemType.Usable.HasFlag(ItemFlags.Crusader)) ItemPlayerClass = Class.Crusader; - if (item.ItemType.Usable.HasFlag(ItemFlags.Necromancer)) ItemPlayerClass = Class.Necromancer; - if (item.ItemType.Usable.HasFlag(ItemFlags.DemonHunter)) ItemPlayerClass = Class.DemonHunter; - if (item.ItemType.Usable.HasFlag(ItemFlags.Wizard)) ItemPlayerClass = Class.Wizard; - if (item.ItemType.Usable.HasFlag(ItemFlags.WitchDoctor)) ItemPlayerClass = Class.Witchdoctor; - if (item.ItemType.Usable.HasFlag(ItemFlags.Monk)) ItemPlayerClass = Class.Monk; + Class itemPlayerClass = Class.None; + if (item.ItemType.Usable.HasFlag(ItemFlags.Barbarian)) itemPlayerClass = Class.Barbarian; + if (item.ItemType.Usable.HasFlag(ItemFlags.Crusader)) itemPlayerClass = Class.Crusader; + if (item.ItemType.Usable.HasFlag(ItemFlags.Necromancer)) itemPlayerClass = Class.Necromancer; + if (item.ItemType.Usable.HasFlag(ItemFlags.DemonHunter)) itemPlayerClass = Class.DemonHunter; + if (item.ItemType.Usable.HasFlag(ItemFlags.Wizard)) itemPlayerClass = Class.Wizard; + if (item.ItemType.Usable.HasFlag(ItemFlags.WitchDoctor)) itemPlayerClass = Class.Witchdoctor; + if (item.ItemType.Usable.HasFlag(ItemFlags.Monk)) itemPlayerClass = Class.Monk; List itemTypes = ItemGroup.HierarchyToHashList(item.ItemType); @@ -162,14 +162,14 @@ namespace DiIiS_NA.GameServer.GSSystem.ItemsSystem IEnumerable filteredList = null; filteredList = AllAffix.Where(a => - (a.PlayerClass == ItemPlayerClass || a.PlayerClass == Class.None) &&//(a.PlayerClass == ItemPlayerClass || a.PlayerClass == Class.None) && + (a.PlayerClass == itemPlayerClass || a.PlayerClass == Class.None) &&//(a.PlayerClass == ItemPlayerClass || a.PlayerClass == Class.None) && itemTypes.ContainsAtLeastOne(a.ItemGroup) && (a.AffixLevelMax >= levelToFind) && (a.OverrideLevelReq <= item.ItemDefinition.RequiredLevel) //!a.Name.Contains("1xx_Inferior") ); - if (IsUnique) + if (isUnique) { var restrictedFamily = item.ItemDefinition.LegendaryAffixFamily.Where(af => af != -1).ToHashSet(); filteredList = filteredList @@ -298,7 +298,7 @@ namespace DiIiS_NA.GameServer.GSSystem.ItemsSystem //Logger.Debug("Affix " + def.Hash + ", final score is" + affix.Score); item.AffixList.Add(affix); - if (affixesCount > 0 && !IsUnique && !item.ItemDefinition.Name.Contains("StaffOfCow")) + if (affixesCount > 0 && !isUnique && !item.ItemDefinition.Name.Contains("StaffOfCow")) { item.RareItemName = GenerateItemName(); } @@ -306,7 +306,7 @@ namespace DiIiS_NA.GameServer.GSSystem.ItemsSystem n++; } - if (IsUnique) + if (isUnique) { for (int i = 0; i < 6; i++) {