small changes

This commit is contained in:
Lucca Faria Ferri 2023-08-30 11:21:21 +02:00
parent c38bc4ba26
commit 16421480a7
3 changed files with 22 additions and 31 deletions

View File

@ -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<T>(this List<T> list1, List<T> list2)
{
foreach (T m in list2)
{
if (list1.Contains(m))
return true;
}
return false;
return list2.Any(list1.Contains);
}
public static bool ContainsAtLeastOne<T>(this List<T> list, T[] array)
{
foreach (T m in array)
{
if (list.Contains(m))
return true;
}
return false;
return array.Any(list.Contains);
}
}
}

View File

@ -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]);

View File

@ -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<int> itemTypes = ItemGroup.HierarchyToHashList(item.ItemType);
@ -162,14 +162,14 @@ namespace DiIiS_NA.GameServer.GSSystem.ItemsSystem
IEnumerable<AffixTable> 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++)
{