small changes
This commit is contained in:
parent
c38bc4ba26
commit
16421480a7
@ -1,4 +1,5 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
namespace DiIiS_NA.Core.Extensions
|
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)
|
public static bool ContainsAtLeastOne<T>(this List<T> list1, List<T> list2)
|
||||||
{
|
{
|
||||||
foreach (T m in list2)
|
return list2.Any(list1.Contains);
|
||||||
{
|
|
||||||
if (list1.Contains(m))
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool ContainsAtLeastOne<T>(this List<T> list, T[] array)
|
public static bool ContainsAtLeastOne<T>(this List<T> list, T[] array)
|
||||||
{
|
{
|
||||||
foreach (T m in array)
|
return array.Any(list.Contains);
|
||||||
{
|
|
||||||
if (list.Contains(m))
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -44,15 +44,15 @@ namespace DiIiS_NA.Core.Extensions
|
|||||||
byteArray[indexBA++] = (byte)item;
|
byteArray[indexBA++] = (byte)item;
|
||||||
}
|
}
|
||||||
|
|
||||||
System.IO.MemoryStream ms = new System.IO.MemoryStream(byteArray);
|
System.IO.MemoryStream ms = new(byteArray);
|
||||||
System.IO.Compression.GZipStream sr = new System.IO.Compression.GZipStream(ms,
|
System.IO.Compression.GZipStream sr = new(ms,
|
||||||
System.IO.Compression.CompressionMode.Decompress);
|
System.IO.Compression.CompressionMode.Decompress);
|
||||||
|
|
||||||
byteArray = new byte[byteArray.Length];
|
byteArray = new byte[byteArray.Length];
|
||||||
|
|
||||||
int rByte = sr.Read(byteArray, 0, 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++)
|
for (int i = 0; i < rByte; i++)
|
||||||
{
|
{
|
||||||
sB.Append((char)byteArray[i]);
|
sB.Append((char)byteArray[i]);
|
||||||
|
|||||||
@ -115,30 +115,30 @@ namespace DiIiS_NA.GameServer.GSSystem.ItemsSystem
|
|||||||
|
|
||||||
if (Item.IsAccessory(item.ItemType) && affixesCount <= 1) affixesCount = 2;
|
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"))
|
if (item.ItemDefinition.Name.ToLower().Contains("p71_ethereal"))
|
||||||
{
|
{
|
||||||
affixesCount = 8;
|
affixesCount = 8;
|
||||||
IsUnique = true;
|
isUnique = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (item.GBHandle.GBID == -4139386) affixesCount = 6; //referral ring
|
if (item.GBHandle.GBID == -4139386) affixesCount = 6; //referral ring
|
||||||
if (IsUnique)
|
if (isUnique)
|
||||||
affixesCount += 3;
|
affixesCount += 3;
|
||||||
|
|
||||||
Class ItemPlayerClass = Class.None;
|
Class itemPlayerClass = Class.None;
|
||||||
if (item.ItemType.Usable.HasFlag(ItemFlags.Barbarian)) ItemPlayerClass = Class.Barbarian;
|
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.Crusader)) itemPlayerClass = Class.Crusader;
|
||||||
if (item.ItemType.Usable.HasFlag(ItemFlags.Necromancer)) ItemPlayerClass = Class.Necromancer;
|
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.DemonHunter)) itemPlayerClass = Class.DemonHunter;
|
||||||
if (item.ItemType.Usable.HasFlag(ItemFlags.Wizard)) ItemPlayerClass = Class.Wizard;
|
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.WitchDoctor)) itemPlayerClass = Class.Witchdoctor;
|
||||||
if (item.ItemType.Usable.HasFlag(ItemFlags.Monk)) ItemPlayerClass = Class.Monk;
|
if (item.ItemType.Usable.HasFlag(ItemFlags.Monk)) itemPlayerClass = Class.Monk;
|
||||||
|
|
||||||
|
|
||||||
List<int> itemTypes = ItemGroup.HierarchyToHashList(item.ItemType);
|
List<int> itemTypes = ItemGroup.HierarchyToHashList(item.ItemType);
|
||||||
@ -162,14 +162,14 @@ namespace DiIiS_NA.GameServer.GSSystem.ItemsSystem
|
|||||||
IEnumerable<AffixTable> filteredList = null;
|
IEnumerable<AffixTable> filteredList = null;
|
||||||
|
|
||||||
filteredList = AllAffix.Where(a =>
|
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) &&
|
itemTypes.ContainsAtLeastOne(a.ItemGroup) &&
|
||||||
(a.AffixLevelMax >= levelToFind) &&
|
(a.AffixLevelMax >= levelToFind) &&
|
||||||
(a.OverrideLevelReq <= item.ItemDefinition.RequiredLevel)
|
(a.OverrideLevelReq <= item.ItemDefinition.RequiredLevel)
|
||||||
//!a.Name.Contains("1xx_Inferior")
|
//!a.Name.Contains("1xx_Inferior")
|
||||||
);
|
);
|
||||||
|
|
||||||
if (IsUnique)
|
if (isUnique)
|
||||||
{
|
{
|
||||||
var restrictedFamily = item.ItemDefinition.LegendaryAffixFamily.Where(af => af != -1).ToHashSet();
|
var restrictedFamily = item.ItemDefinition.LegendaryAffixFamily.Where(af => af != -1).ToHashSet();
|
||||||
filteredList = filteredList
|
filteredList = filteredList
|
||||||
@ -298,7 +298,7 @@ namespace DiIiS_NA.GameServer.GSSystem.ItemsSystem
|
|||||||
//Logger.Debug("Affix " + def.Hash + ", final score is" + affix.Score);
|
//Logger.Debug("Affix " + def.Hash + ", final score is" + affix.Score);
|
||||||
item.AffixList.Add(affix);
|
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();
|
item.RareItemName = GenerateItemName();
|
||||||
}
|
}
|
||||||
@ -306,7 +306,7 @@ namespace DiIiS_NA.GameServer.GSSystem.ItemsSystem
|
|||||||
n++;
|
n++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IsUnique)
|
if (isUnique)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < 6; i++)
|
for (int i = 0; i < 6; i++)
|
||||||
{
|
{
|
||||||
|
|||||||
Loading…
Reference in New Issue
user.block.title