public static void OrcBeg(Mobile m, object targeted, double chance)
            {
                Mobile t          = (Mobile)targeted;
                Item   reward     = null;
                string rewardName = "";


                if (chance > .99 && m.Skills.Begging.Base >= 100)
                {
                    int rand = Utility.Random(2);
                    if (rand == 0)
                    {
                        reward = new GruesomeStandardArtifact();                         //Gruesome Standard Artifact!
                    }
                    else if (rand == 1)
                    {
                        reward     = new BeggerCoins(50);
                        rewardName = "50 Dull Silver Coins.";
                    }
                    else if (rand == 2)
                    {
                        reward = new FurCape();
                    }
                }
                if (chance >= .95)
                {
                    int rand = Utility.Random(7);

                    if (rand == 0)
                    {
                        reward = new LambLeg();
                    }
                    else if (rand == 1)
                    {
                        reward = new Head();
                    }
                    else if (rand == 2)
                    {
                        reward = new FishSteak();
                    }
                    else if (rand == 3)
                    {
                        reward = new Pickaxe();
                    }
                    else if (rand == 5)
                    {
                        reward = new IronIngot(1);
                    }

                    else if (rand == 5)
                    {
                        reward     = new BeggerCoins(25);
                        rewardName = "25 Dull Silver Coins.";
                    }
                }
                Reward(m, t, reward, rewardName);
            }
Exemple #2
0
        private void Restock_Callback()
        {
            if (TotalItems < ItemsMax)
            {
                for (int i = TotalItems; i < ItemsMax; i++)
                {
                    Item item = null;

                    switch (Utility.RandomMinMax(1, 11))
                    {
                    default:
                    case 1: item = new Grapes(); break;

                    case 2: item = new Ham(); break;

                    case 3: item = new CheeseWedge(); break;

                    case 4: item = new Muffins(); break;

                    case 5: item = new FishSteak(); break;

                    case 6: item = new Ribs(); break;

                    case 7: item = new CookedBird(); break;

                    case 8: item = new Sausage(); break;

                    case 9: item = new Apple(); break;

                    case 10: item = new Peach(); break;

                    case 11: item = new Bandage(); break;
                    }

                    if (item != null)
                    {
                        DropItem(item);
                    }
                }
            }
        }
Exemple #3
0
        public static void FillHold(BaseGalleon galleon)
        {
            if (galleon == null)
            {
                return;
            }

            Container hold = galleon.GalleonHold;

            if (hold != null)
            {
                int cnt = Utility.RandomMinMax(7, 14);

                for (int i = 0; i < cnt; i++)
                {
                    Item item = RunicReforging.GenerateRandomItem(galleon);

                    if (item != null)
                    {
                        hold.DropItem(item);
                    }
                }

                hold.DropItem(new Swab());
                hold.DropItem(new Ramrod());
                hold.DropItem(new Matches(Utility.RandomMinMax(25, 30)));
                hold.DropItem(new HeavyCannonball(Utility.RandomMinMax(7, 10)));
                hold.DropItem(new LightCannonball(Utility.RandomMinMax(7, 10)));
                hold.DropItem(new HeavyGrapeshot(Utility.RandomMinMax(7, 10)));
                hold.DropItem(new LightGrapeshot(Utility.RandomMinMax(7, 10)));
                hold.DropItem(new HeavyPowderCharge(Utility.RandomMinMax(7, 10)));
                hold.DropItem(new LightPowderCharge(Utility.RandomMinMax(7, 10)));
                hold.DropItem(new FuseCord(Utility.RandomMinMax(7, 10)));

                if (.10 >= Utility.RandomDouble())
                {
                    hold.DropItem(new SmugglersCache());
                }

                if (.10 >= Utility.RandomDouble())
                {
                    FishSteak steaks = new FishSteak(5);
                    switch (Utility.Random(5))
                    {
                    case 0:
                        steaks.Name = "Spiced Salmon";
                        steaks.Hue  = 1759;
                        break;

                    case 1:
                        steaks.Name = "Dried Tuna";
                        steaks.Hue  = 2108;
                        break;

                    case 2:
                        steaks.Name = "Salted Snapper";
                        steaks.Hue  = 1864;
                        break;

                    case 3:
                        steaks.Name = "Salted Herring";
                        steaks.Hue  = 2302;
                        break;

                    case 4:
                        steaks.Name = "Spiced Salmon";
                        steaks.Hue  = 1637;
                        break;
                    }

                    hold.DropItem(steaks);
                }

                hold.DropItem(new Gold(Utility.RandomMinMax(5000, 25000)));

                if (0.50 > Utility.RandomDouble())
                {
                    switch (Utility.Random(4))
                    {
                    case 0:
                    case 1:
                    case 2: hold.DropItem(new IronWire(Utility.RandomMinMax(1, 5))); break;

                    case 3:
                    case 4:
                    case 5: hold.DropItem(new CopperWire(Utility.RandomMinMax(1, 5))); break;

                    case 6:
                    case 7: hold.DropItem(new SilverWire(Utility.RandomMinMax(1, 5))); break;

                    case 8: hold.DropItem(new GoldWire(Utility.RandomMinMax(1, 5))); break;
                    }
                }

                switch (Utility.Random(8))
                {
                case 0:
                    if (Utility.RandomBool())
                    {
                        hold.DropItem(new IronOre(Utility.RandomMinMax(40, 50)));
                    }
                    else
                    {
                        hold.DropItem(new IronIngot(Utility.RandomMinMax(40, 50)));
                    }
                    break;

                case 1:
                    if (Utility.RandomBool())
                    {
                        hold.DropItem(new DullCopperOre(Utility.RandomMinMax(40, 50)));
                    }
                    else
                    {
                        hold.DropItem(new DullCopperIngot(Utility.RandomMinMax(40, 50)));
                    }
                    break;

                case 2:
                    if (Utility.RandomBool())
                    {
                        hold.DropItem(new ShadowIronOre(Utility.RandomMinMax(40, 50)));
                    }
                    else
                    {
                        hold.DropItem(new ShadowIronIngot(Utility.RandomMinMax(40, 50)));
                    }
                    break;

                case 3:
                    if (Utility.RandomBool())
                    {
                        hold.DropItem(new CopperOre(Utility.RandomMinMax(40, 50)));
                    }
                    else
                    {
                        hold.DropItem(new CopperIngot(Utility.RandomMinMax(40, 50)));
                    }
                    break;

                case 4:
                    if (Utility.RandomBool())
                    {
                        hold.DropItem(new BronzeOre(Utility.RandomMinMax(40, 50)));
                    }
                    else
                    {
                        hold.DropItem(new BronzeIngot(Utility.RandomMinMax(40, 50)));
                    }
                    break;

                case 5:
                    if (Utility.RandomBool())
                    {
                        hold.DropItem(new AgapiteOre(Utility.RandomMinMax(40, 50)));
                    }
                    else
                    {
                        hold.DropItem(new AgapiteIngot(Utility.RandomMinMax(40, 50)));
                    }
                    break;

                case 6:
                    if (Utility.RandomBool())
                    {
                        hold.DropItem(new VeriteOre(Utility.RandomMinMax(40, 50)));
                    }
                    else
                    {
                        hold.DropItem(new VeriteIngot(Utility.RandomMinMax(40, 50)));
                    }
                    break;

                case 7:
                    if (Utility.RandomBool())
                    {
                        hold.DropItem(new ValoriteOre(Utility.RandomMinMax(40, 50)));
                    }
                    else
                    {
                        hold.DropItem(new ValoriteIngot(Utility.RandomMinMax(40, 50)));
                    }
                    break;
                }

                switch (Utility.Random(5))
                {
                case 0:
                    if (Utility.RandomBool())
                    {
                        hold.DropItem(new Board(Utility.RandomMinMax(40, 50)));
                    }
                    else
                    {
                        hold.DropItem(new Log(Utility.RandomMinMax(40, 50)));
                    }
                    break;

                case 1:
                    if (Utility.RandomBool())
                    {
                        hold.DropItem(new OakBoard(Utility.RandomMinMax(40, 50)));
                    }
                    else
                    {
                        hold.DropItem(new OakLog(Utility.RandomMinMax(40, 50)));
                    }
                    break;

                case 2:
                    if (Utility.RandomBool())
                    {
                        hold.DropItem(new AshBoard(Utility.RandomMinMax(40, 50)));
                    }
                    else
                    {
                        hold.DropItem(new AshLog(Utility.RandomMinMax(40, 50)));
                    }
                    break;

                case 3:
                    if (Utility.RandomBool())
                    {
                        hold.DropItem(new YewBoard(Utility.RandomMinMax(40, 50)));
                    }
                    else
                    {
                        hold.DropItem(new YewLog(Utility.RandomMinMax(40, 50)));
                    }
                    break;

                case 4:
                    if (Utility.RandomBool())
                    {
                        hold.DropItem(new BloodwoodBoard(Utility.RandomMinMax(40, 50)));
                    }
                    else
                    {
                        hold.DropItem(new BloodwoodLog(Utility.RandomMinMax(40, 50)));
                    }
                    break;
                }

                switch (Utility.Random(4))
                {
                case 0:
                    if (Utility.RandomBool())
                    {
                        hold.DropItem(new Leather(Utility.RandomMinMax(40, 50)));
                    }
                    else
                    {
                        hold.DropItem(new Hides(Utility.RandomMinMax(40, 50)));
                    }
                    break;

                case 1:
                    if (Utility.RandomBool())
                    {
                        hold.DropItem(new SpinedLeather(Utility.RandomMinMax(40, 50)));
                    }
                    else
                    {
                        hold.DropItem(new SpinedHides(Utility.RandomMinMax(40, 50)));
                    }
                    break;

                case 2:
                    if (Utility.RandomBool())
                    {
                        hold.DropItem(new HornedLeather(Utility.RandomMinMax(40, 50)));
                    }
                    else
                    {
                        hold.DropItem(new HornedHides(Utility.RandomMinMax(40, 50)));
                    }
                    break;

                case 3:
                    if (Utility.RandomBool())
                    {
                        hold.DropItem(new BarbedLeather(Utility.RandomMinMax(40, 50)));
                    }
                    else
                    {
                        hold.DropItem(new BarbedHides(Utility.RandomMinMax(40, 50)));
                    }
                    break;
                }

                switch (Utility.Random(4))
                {
                case 0: hold.DropItem(new HeavyCannonball(Utility.RandomMinMax(5, 10))); break;

                case 1: hold.DropItem(new LightCannonball(Utility.RandomMinMax(5, 10))); break;

                case 2: hold.DropItem(new HeavyGrapeshot(Utility.RandomMinMax(5, 10))); break;

                case 3: hold.DropItem(new LightGrapeshot(Utility.RandomMinMax(5, 10))); break;
                }


                //Rares
                if (0.8 > Utility.RandomDouble())
                {
                    Item deed;

                    if (Utility.RandomBool())
                    {
                        if (Core.EJ)
                        {
                            deed = new CarronadeDeed();
                        }
                        else
                        {
                            deed = new HeavyShipCannonDeed();
                        }
                    }
                    else
                    {
                        if (Core.EJ)
                        {
                            deed = new CulverinDeed();
                        }
                        else
                        {
                            deed = new LightShipCannonDeed();
                        }
                    }

                    hold.DropItem(deed);
                }

                if (0.025 > Utility.RandomDouble())
                {
                    if (Utility.RandomBool())
                    {
                        hold.DropItem(new WhiteClothDyeTub());
                    }
                    else
                    {
                        hold.DropItem(PermanentBoatPaint.DropRandom());
                    }
                }

                RefinementComponent.Roll(hold, 3, 0.25);

                if (Points.PointsSystem.RisingTide.Enabled)
                {
                    hold.DropItem(new MaritimeCargo());
                    hold.DropItem(new MaritimeCargo());

                    if (galleon is OrcishGalleon)
                    {
                        hold.DropItem(new MaritimeCargo());

                        if (Utility.RandomBool())
                        {
                            hold.DropItem(new MaritimeCargo());
                        }
                    }
                }
            }
        }
        public static void FillHold(BaseGalleon galleon)
        {
            if (galleon == null)
            {
                return;
            }

            Container hold = galleon.GalleonHold;

            if (hold != null)
            {
                int cnt = Utility.RandomMinMax(7, 14);

                for (int i = 0; i < cnt; i++)
                {
                    Item item = Loot.RandomArmorOrShieldOrWeaponOrJewelry();

                    if (item is BaseWeapon)
                    {
                        BaseRunicTool.ApplyAttributesTo((BaseWeapon)item, false, 0, Utility.RandomMinMax(1, 6), 10, 100);
                    }
                    else if (item is BaseArmor)
                    {
                        BaseRunicTool.ApplyAttributesTo((BaseArmor)item, false, 0, Utility.RandomMinMax(1, 6), 10, 100);
                    }
                    else if (item is BaseHat)
                    {
                        BaseRunicTool.ApplyAttributesTo((BaseHat)item, false, 0, Utility.RandomMinMax(1, 6), 10, 100);
                    }
                    else if (item is BaseJewel)
                    {
                        BaseRunicTool.ApplyAttributesTo((BaseJewel)item, false, 0, Utility.RandomMinMax(1, 6), 10, 100);
                    }
                    else
                    {
                        item.Delete();
                    }

                    hold.DropItem(item);
                }

                hold.DropItem(new Swab());
                hold.DropItem(new Ramrod());
                hold.DropItem(new Matches(Utility.RandomMinMax(25, 30)));
                hold.DropItem(new HeavyCannonball(Utility.RandomMinMax(7, 10)));
                hold.DropItem(new LightCannonball(Utility.RandomMinMax(7, 10)));
                hold.DropItem(new HeavyGrapeshot(Utility.RandomMinMax(7, 10)));
                hold.DropItem(new LightGrapeshot(Utility.RandomMinMax(7, 10)));
                hold.DropItem(new HeavyPowderCharge(Utility.RandomMinMax(7, 10)));
                hold.DropItem(new LightPowderCharge(Utility.RandomMinMax(7, 10)));
                hold.DropItem(new Fusecord(Utility.RandomMinMax(7, 10)));

                if (.10 >= Utility.RandomDouble())
                {
                    hold.DropItem(new SmugglersCache());
                }

                if (.10 >= Utility.RandomDouble())
                {
                    FishSteak steaks = new FishSteak(5);
                    switch (Utility.Random(5))
                    {
                    case 0:
                        steaks.Name = "Spiced Salmon";
                        steaks.Hue  = 1759;
                        break;

                    case 1:
                        steaks.Name = "Dried Tuna";
                        steaks.Hue  = 2108;
                        break;

                    case 2:
                        steaks.Name = "Salted Snapper";
                        steaks.Hue  = 1864;
                        break;

                    case 3:
                        steaks.Name = "Salted Herring";
                        steaks.Hue  = 2302;
                        break;

                    case 4:
                        steaks.Name = "Spiced Salmon";
                        steaks.Hue  = 1637;
                        break;
                    }

                    hold.DropItem(steaks);
                }

                /*if (0.10 > Utility.RandomDouble())
                 * {
                 *  Item item = null;
                 *  switch (Utility.Random(6))
                 *  {
                 *      case 0: item = new LightScatterShot(); break;
                 *      case 1: item = new HeavyScatterShot(); break;
                 *      case 2: item = new LightFragShot(); break;
                 *      case 3: item = new HeavyFragShot(); break;
                 *      case 4: item = new LightHotShot(); break;
                 *      case 5: item = new HeavyHotShot(); break;
                 *  }
                 *
                 *  if (item != null)
                 *  {
                 *      item.Amount = Utility.RandomMinMax(2, 10);
                 *      hold.DropItem(item);
                 *  }
                 * }*/

                hold.DropItem(new Gold(Utility.RandomMinMax(5000, 25000)));

                if (0.50 > Utility.RandomDouble())
                {
                    switch (Utility.Random(4))
                    {
                    case 0:
                    case 1:
                    case 2: hold.DropItem(new IronWire(Utility.RandomMinMax(1, 5))); break;

                    case 3:
                    case 4:
                    case 5: hold.DropItem(new CopperWire(Utility.RandomMinMax(1, 5))); break;

                    case 6:
                    case 7: hold.DropItem(new SilverWire(Utility.RandomMinMax(1, 5))); break;

                    case 8: hold.DropItem(new GoldWire(Utility.RandomMinMax(1, 5))); break;
                    }
                }

                switch (Utility.Random(8))
                {
                case 0:
                    if (Utility.RandomBool())
                    {
                        hold.DropItem(new IronOre(Utility.RandomMinMax(40, 50)));
                    }
                    else
                    {
                        hold.DropItem(new IronIngot(Utility.RandomMinMax(40, 50)));
                    }
                    break;

                case 1:
                    if (Utility.RandomBool())
                    {
                        hold.DropItem(new DullCopperOre(Utility.RandomMinMax(40, 50)));
                    }
                    else
                    {
                        hold.DropItem(new DullCopperIngot(Utility.RandomMinMax(40, 50)));
                    }
                    break;

                case 2:
                    if (Utility.RandomBool())
                    {
                        hold.DropItem(new ShadowIronOre(Utility.RandomMinMax(40, 50)));
                    }
                    else
                    {
                        hold.DropItem(new ShadowIronIngot(Utility.RandomMinMax(40, 50)));
                    }
                    break;

                case 3:
                    if (Utility.RandomBool())
                    {
                        hold.DropItem(new CopperOre(Utility.RandomMinMax(40, 50)));
                    }
                    else
                    {
                        hold.DropItem(new CopperIngot(Utility.RandomMinMax(40, 50)));
                    }
                    break;

                case 4:
                    if (Utility.RandomBool())
                    {
                        hold.DropItem(new BronzeOre(Utility.RandomMinMax(40, 50)));
                    }
                    else
                    {
                        hold.DropItem(new BronzeIngot(Utility.RandomMinMax(40, 50)));
                    }
                    break;

                case 5:
                    if (Utility.RandomBool())
                    {
                        hold.DropItem(new AgapiteOre(Utility.RandomMinMax(40, 50)));
                    }
                    else
                    {
                        hold.DropItem(new AgapiteIngot(Utility.RandomMinMax(40, 50)));
                    }
                    break;

                case 6:
                    if (Utility.RandomBool())
                    {
                        hold.DropItem(new VeriteOre(Utility.RandomMinMax(40, 50)));
                    }
                    else
                    {
                        hold.DropItem(new VeriteIngot(Utility.RandomMinMax(40, 50)));
                    }
                    break;

                case 7:
                    if (Utility.RandomBool())
                    {
                        hold.DropItem(new ValoriteOre(Utility.RandomMinMax(40, 50)));
                    }
                    else
                    {
                        hold.DropItem(new ValoriteIngot(Utility.RandomMinMax(40, 50)));
                    }
                    break;
                }

                switch (Utility.Random(5))
                {
                case 0:
                    if (Utility.RandomBool())
                    {
                        hold.DropItem(new Board(Utility.RandomMinMax(40, 50)));
                    }
                    else
                    {
                        hold.DropItem(new Log(Utility.RandomMinMax(40, 50)));
                    }
                    break;

                case 1:
                    if (Utility.RandomBool())
                    {
                        hold.DropItem(new OakBoard(Utility.RandomMinMax(40, 50)));
                    }
                    else
                    {
                        hold.DropItem(new OakLog(Utility.RandomMinMax(40, 50)));
                    }
                    break;

                case 2:
                    if (Utility.RandomBool())
                    {
                        hold.DropItem(new AshBoard(Utility.RandomMinMax(40, 50)));
                    }
                    else
                    {
                        hold.DropItem(new AshLog(Utility.RandomMinMax(40, 50)));
                    }
                    break;

                case 3:
                    if (Utility.RandomBool())
                    {
                        hold.DropItem(new YewBoard(Utility.RandomMinMax(40, 50)));
                    }
                    else
                    {
                        hold.DropItem(new YewLog(Utility.RandomMinMax(40, 50)));
                    }
                    break;

                case 4:
                    if (Utility.RandomBool())
                    {
                        hold.DropItem(new BloodwoodBoard(Utility.RandomMinMax(40, 50)));
                    }
                    else
                    {
                        hold.DropItem(new BloodwoodLog(Utility.RandomMinMax(40, 50)));
                    }
                    break;
                }

                switch (Utility.Random(4))
                {
                case 0:
                    if (Utility.RandomBool())
                    {
                        hold.DropItem(new Leather(Utility.RandomMinMax(40, 50)));
                    }
                    else
                    {
                        hold.DropItem(new Hides(Utility.RandomMinMax(40, 50)));
                    }
                    break;

                case 1:
                    if (Utility.RandomBool())
                    {
                        hold.DropItem(new SpinedLeather(Utility.RandomMinMax(40, 50)));
                    }
                    else
                    {
                        hold.DropItem(new SpinedHides(Utility.RandomMinMax(40, 50)));
                    }
                    break;

                case 2:
                    if (Utility.RandomBool())
                    {
                        hold.DropItem(new HornedLeather(Utility.RandomMinMax(40, 50)));
                    }
                    else
                    {
                        hold.DropItem(new HornedHides(Utility.RandomMinMax(40, 50)));
                    }
                    break;

                case 3:
                    if (Utility.RandomBool())
                    {
                        hold.DropItem(new BarbedLeather(Utility.RandomMinMax(40, 50)));
                    }
                    else
                    {
                        hold.DropItem(new BarbedHides(Utility.RandomMinMax(40, 50)));
                    }
                    break;
                }

                switch (Utility.Random(4))
                {
                case 0: hold.DropItem(new HeavyCannonball(Utility.RandomMinMax(5, 10))); break;

                case 1: hold.DropItem(new LightCannonball(Utility.RandomMinMax(5, 10))); break;

                case 2: hold.DropItem(new HeavyGrapeshot(Utility.RandomMinMax(5, 10))); break;

                case 3: hold.DropItem(new LightGrapeshot(Utility.RandomMinMax(5, 10))); break;
                }


                //Rares
                if (0.8 > Utility.RandomDouble())
                {
                    if (Utility.RandomBool())
                    {
                        hold.DropItem(new HeavyShipCannonDeed());
                    }
                    else
                    {
                        hold.DropItem(new LightShipCannonDeed());
                    }
                }

                if (0.025 > Utility.RandomDouble())
                {
                    if (Utility.RandomBool())
                    {
                        hold.DropItem(new WhiteClothDyeTub());
                    }
                    else
                    {
                        hold.DropItem(PermanentBoatPaint.DropRandom());
                    }
                }

                RefinementComponent.Roll(hold, 3, 0.25);
            }
        }
            public static void VendorBeg(Mobile m, object targeted, double chance)
            {
                //Console.WriteLine("Chance: {0}", chance);
                Mobile t          = (Mobile)targeted;
                Item   reward     = null;
                string rewardName = "";


                if (chance > .99 && m.Skills.Begging.Base >= 100)     //Vendor Only (1 hour cooldown)
                {
                    int rand = Utility.Random(9);                     //0-9 (10 Total) (40% chance for a item)
                    if (rand == 0)
                    {
                        reward     = new RockArtifact();                     //Rock Artifact
                        rewardName = "A rock";
                    }
                    else if (rand == 2)
                    {
                        reward     = new BeggerCoins(24);                     //Special Coins
                        rewardName = "24 dull slver coins.";
                    }
                    else if (rand == 4)                     //Fur Boots
                    {
                        reward     = new FurBoots();
                        rewardName = "a pair of Fur Boots";
                    }
                    else if (rand == 6)
                    {
                        reward     = new FlowerGarland();
                        rewardName = "a flower Garland";
                    }
                }
                Console.WriteLine("RewardName (1) {0}", reward);
                if (chance > .95 && m.Skills.Begging.Base >= 90 && reward == null)
                {
                    int rand = Utility.Random(9);
                    Console.WriteLine("Random 2 is {0}", rand);
                    if (rand == 0)
                    {
                        reward     = new BegBedRoll();
                        rewardName = "Bedroll";
                    }
                    else if (rand == 1)
                    {
                        reward     = new Cookies();
                        rewardName = "Cookies";
                    }
                    else if (rand == 3)
                    {
                        reward     = new FishSteak();
                        rewardName = "Fish Steaks";
                    }
                    else if (rand == 4)
                    {
                        reward     = new FishingPole();
                        rewardName = "Fishing Pole";
                    }
                    else if (rand == 6)
                    {
                        reward     = new BeggerCoins(12);
                        rewardName = "12 Dull Silver Coins.";
                    }
                    else if (rand == 7)
                    {
                        reward     = new Turnip();
                        rewardName = "Turnip";
                    }
                    else if (rand == 9)
                    {
                        reward     = new CeramicMug();
                        rewardName = "Ceramic Mug";
                    }
                }
                Console.WriteLine("RewardName (2) {0}", reward);
                if (reward == null)
                {
                    JunkBeg(m, t, chance);
                }
                else
                {
                    Reward(m, t, reward, rewardName);
                }
            }