Ejemplo n.º 1
0
        static void CheckDonationBagPosition(DonationBag donationBag)
        {
            var badPosition = true;

            for (int i = 0; i < 10 && badPosition; i++)
            {
                badPosition = donationBag.X < 15 || donationBag.X > 125 || donationBag.Y < 50 || donationBag.Y > 80;

                if (!badPosition)
                {
                    foreach (DonationBag bag in Instance.FindItemsByType <DonationBag>(false))
                    {
                        if (bag != donationBag && Math.Abs(donationBag.X - bag.X) < 10 && Math.Abs(donationBag.Y - bag.Y) < 10)
                        {
                            badPosition = true;
                            break;
                        }
                    }
                }

                if (badPosition)
                {
                    donationBag.X = Utility.RandomMinMax(15, 125);
                    donationBag.Y = Utility.RandomMinMax(50, 80);
                }
            }
        }
        static void Categorize(Item item)
        {
            DeleteEmptyDonationBags();

            if (item is DonationBag)
                return;

            var container = item as Container;

            if (container != null && container.Items.Count > 0)
            {
                foreach (Item subItem in new List<Item>(container.Items))
                    Categorize(subItem);
            }

            if (item.Stackable)
            {
                var similarItems = Instance.FindItemsByType(item.GetType());

                if (similarItems.Length > 1)
                {
                    foreach (var similarItem in similarItems)
                    {
                        if (similarItem != item)
                        {
                            item.Amount += similarItem.Amount;
                            similarItem.Delete();
                        }
                    }
                }
            }

            string name;

            if (item is BaseRanged)
                name = "Ranged Weapons";
            else if (item is BaseWand)
                name = "Wands";
            else if (item is BaseAxe)
                name = "Axes";
            else if (item is BaseKnife)
                name = "Knives";
            else if (item is BaseBashing)
                name = "Maces";
            else if (item is BasePoleArm)
                name = "PoleArms";
            else if (item is BaseSpear)
                name = "Spears and Forks";
            else if (item is BaseStaff)
                name = "Staves";
            else if (item is BaseSword)
                name = "Swords";
            else if (item is BaseWeapon || item is BaseMeleeWeapon)
                name = "Other Weapons";
            else if (item is BaseHat)
                name = "Hats";
            else if (item is BaseShield)
                name = "Shields";
            else if (item is BaseArmor)
                name = "Armors";
            else if (item is Gold || item is BankCheck)
                name = "Gold";
            else if (item is BaseClothing || item is Cloth)
                name = "Clothes";
            else if (item is BaseTool || item is Lockpick)
                name = "Tools";
            else if (item is Food || item is BaseBeverage)
                name = "Food";
            else if (item is Bolt || item is Arrow)
                name = "Ammunition";
            else if (item is BaseReagent)
                name = "Reagents";
            else if (item is BaseJewel)
                name = "Jewels";
            else if (item is SpellScroll || item is Spellbook)
                name = "Spells";
            else if (item is BaseOre || item is BaseScales || item is BaseIngot)
                name = "Blacksmithing Resources";
            else if (item is BaseHides || item is BaseLeather)
                name = "Tailor Resources";
            else if (item is BaseAddonDeed || item is BaseAddon)
                name = "Addons";
            else if (item is BaseBook)
                name = "Books";
            else if (item is BaseLight)
                name = "Lights";
            else if (item is BaseContainer)
                name = "Containers";
            else if (item is BasePotion)
                name = "Potions";
            else if (item is BaseInstrument)
                name = "Instruments";
            else if (item is BaseTalisman)
                name = "Talismans";
            else
                name = "Miscellaneous";

            var exist = false;

            var existingBags = Instance.FindItemsByType<DonationBag>(false);

            foreach (DonationBag bag in existingBags)
            {
                if (bag.Name == name)
                {
                    bag.DropItem(item);
                    exist = true;
                    break;
                }
            }

            if (!exist)
            {
                var bag = new DonationBag();
                bag.Name = name;
                bag.DropItem(item);
                Instance.DropItem(bag);
                CheckAllDonationBagsPositions();
            }
        }
        static void CheckDonationBagPosition(DonationBag donationBag)
        {
            var badPosition = true;

            for(int i = 0; i < 10 && badPosition; i++)
            {
                badPosition = donationBag.X < 15 || donationBag.X > 125 || donationBag.Y < 50 || donationBag.Y > 80;

                if (!badPosition)
                {
                    foreach (DonationBag bag in Instance.FindItemsByType<DonationBag>(false))
                    {
                        if (bag != donationBag && Math.Abs(donationBag.X - bag.X) < 10 && Math.Abs(donationBag.Y - bag.Y) < 10)
                        {
                            badPosition = true;
                            break;
                        }
                    }
                }

                if (badPosition)
                {
                    donationBag.X = Utility.RandomMinMax(15, 125);
                    donationBag.Y = Utility.RandomMinMax(50, 80);
                }
            }
        }
Ejemplo n.º 4
0
        static void Categorize(Item item)
        {
            DeleteEmptyDonationBags();

            if (item is DonationBag)
            {
                return;
            }

            var container = item as Container;

            if (container != null && container.Items.Count > 0)
            {
                foreach (Item subItem in new List <Item>(container.Items))
                {
                    Categorize(subItem);
                }
            }

            if (item.Stackable)
            {
                var similarItems = Instance.FindItemsByType(item.GetType());

                if (similarItems.Length > 1)
                {
                    foreach (var similarItem in similarItems)
                    {
                        if (similarItem != item)
                        {
                            item.Amount += similarItem.Amount;
                            similarItem.Delete();
                        }
                    }
                }
            }

            string name;

            if (item is BaseRanged)
            {
                name = "Ranged Weapons";
            }
            else if (item is BaseWand)
            {
                name = "Wands";
            }
            else if (item is BaseAxe)
            {
                name = "Axes";
            }
            else if (item is BaseKnife)
            {
                name = "Knives";
            }
            else if (item is BaseBashing)
            {
                name = "Maces";
            }
            else if (item is BasePoleArm)
            {
                name = "PoleArms";
            }
            else if (item is BaseSpear)
            {
                name = "Spears and Forks";
            }
            else if (item is BaseStaff)
            {
                name = "Staves";
            }
            else if (item is BaseSword)
            {
                name = "Swords";
            }
            else if (item is BaseWeapon || item is BaseMeleeWeapon)
            {
                name = "Other Weapons";
            }
            else if (item is BaseHat)
            {
                name = "Hats";
            }
            else if (item is BaseShield)
            {
                name = "Shields";
            }
            else if (item is BaseArmor)
            {
                name = "Armors";
            }
            else if (item is Gold || item is BankCheck)
            {
                name = "Gold";
            }
            else if (item is BaseClothing || item is Cloth)
            {
                name = "Clothes";
            }
            else if (item is BaseTool || item is Lockpick)
            {
                name = "Tools";
            }
            else if (item is Food || item is BaseBeverage)
            {
                name = "Food";
            }
            else if (item is Bolt || item is Arrow)
            {
                name = "Ammunition";
            }
            else if (item is BaseReagent)
            {
                name = "Reagents";
            }
            else if (item is BaseJewel)
            {
                name = "Jewels";
            }
            else if (item is SpellScroll || item is Spellbook)
            {
                name = "Spells";
            }
            else if (item is BaseOre || item is BaseScales || item is BaseIngot)
            {
                name = "Blacksmithing Resources";
            }
            else if (item is BaseHides || item is BaseLeather)
            {
                name = "Tailor Resources";
            }
            else if (item is BaseAddonDeed || item is BaseAddon)
            {
                name = "Addons";
            }
            else if (item is BaseBook)
            {
                name = "Books";
            }
            else if (item is BaseLight)
            {
                name = "Lights";
            }
            else if (item is BaseContainer)
            {
                name = "Containers";
            }
            else if (item is BasePotion)
            {
                name = "Potions";
            }
            else if (item is BaseInstrument)
            {
                name = "Instruments";
            }
            else if (item is BaseTalisman)
            {
                name = "Talismans";
            }
            else
            {
                name = "Miscellaneous";
            }

            var exist = false;

            var existingBags = Instance.FindItemsByType <DonationBag>(false);

            foreach (DonationBag bag in existingBags)
            {
                if (bag.Name == name)
                {
                    bag.DropItem(item);
                    exist = true;
                    break;
                }
            }

            if (!exist)
            {
                var bag = new DonationBag();
                bag.Name = name;
                bag.DropItem(item);
                Instance.DropItem(bag);
                CheckAllDonationBagsPositions();
            }
        }