public static bool CanPickupItem(this ACDItem item) { if (item.InventorySlot != InventorySlot.None) { return(false); } if (item.Stats.BoundToACD != -1) { return(item.Stats.BoundToACD == ZetaDia.Me?.ACDId); } if (item.ItemQualityLevel >= ItemQuality.Legendary || item.IsCraftingReagent) { if (item.Stats.BoundToACD == -1) { return(true); } return(item.GetIsTradeable()); } if (item.GetIsEquipment() && item.ItemQualityLevel <= ItemQuality.Rare6) { return(true); } return(false); }
public static bool GetIsSalvageable(this ACDItem item) { return(item.GetIsEquipment() && !item.IsVendorBought && item.Stats.RequiredLevel > 1 || item.IsPotion); }
/// <summary> /// Get the stash page where items should ideally be placed, ignoring if it can actually be placed there. /// </summary> public static int GetIdealStashPage(ACDItem item) { if (item.GetIsEquipment() && Core.Settings.Items.UseTypeStashingEquipment && ItemTypeMap.ContainsKey(item.GetRawItemType())) { return(ItemTypeMap[item.GetRawItemType()]); } if (Core.Settings.Items.UseTypeStashingOther && ItemTypeMap.ContainsKey(item.GetRawItemType())) { return(ItemTypeMap[item.GetRawItemType()]); } if (item.ItemBaseType >= ItemBaseType.Misc) { return(TotalStashPages - 1); } return(-1); }
public void RecordItemStats(ItemStats stats, ACDItem item) { if (!IsRunning) { return; } stats.Total++; if (item.Stats.IsAncient) { stats.Ancients++; } if (GameData.PetTable.Contains(item.GameBalanceId) || GameData.PetSnoIds.Contains(item.ActorSnoId)) { stats.Pets++; } if (GameData.TransmogTable.Contains(item.GameBalanceId)) { stats.Transmog++; } if (Core.Settings.Items.SpecialItems.HasFlag(SpecialItemTypes.Wings) && GameData.WingsTable.Contains(item.GameBalanceId) || GameData.CosmeticSnoIds.Contains(item.ActorSnoId)) { stats.Wings++; } if (item.GetTrinityItemType() == TrinityItemType.HealthPotion) { stats.Potions++; } if (item.GetTrinityItemType() == TrinityItemType.UberReagent) { stats.Ubers++; } if (item.GetTrinityItemType() == TrinityItemType.ConsumableAddSockets) { stats.Gifts++; } if (item.IsCraftingReagent) { stats.Crafting++; stats.CraftingStackQuantity += item.ItemStackQuantity; } if (item.GetIsEquipment()) { stats.Equipment++; switch (item.GetTrinityItemQuality()) { case TrinityItemQuality.Set: stats.Sets++; break; case TrinityItemQuality.Legendary: stats.Legendaries++; break; case TrinityItemQuality.Rare: stats.Rares++; break; case TrinityItemQuality.Magic: stats.Magics++; break; case TrinityItemQuality.Inferior: case TrinityItemQuality.Common: stats.Normals++; break; } } }