Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        private static bool CanStackOnPage(ACDItem item, int stashPageNumber, ref int col, ref int row, InventoryMap itemsOnStashPage)
        {
            if (item.IsUnidentified)
            {
                return(false);
            }

            if (item.MaxStackCount <= 0 ||
                item.GetIsTradeable() ||
                s_specialCaseNonStackableItems.Contains(item.GetRawItemType()))
            {
                return(false);
            }

            for (var i = 0; i < 10; i++)
            {
                for (var c = 0; c < 7; c++)
                {
                    var r = stashPageNumber * 10 + i;

                    if (TryGetStackLocation(item, stashPageNumber, c, r, itemsOnStashPage, ref col, ref row))
                    {
                        return(true);
                    }
                }
            }
            return(false);
        }