Exemplo n.º 1
0
        public override void GenerateLoot()
        {
            PackReg(20);
            PackReg(20);
            PackGold(450, 600);

            PackItem(new TheGuardianBook());

            // Froste: 12% random IOB drop
            if (0.12 > Utility.RandomDouble())
            {
                Item iob = Loot.RandomIOB();
                PackItem(iob);
            }

            if (IOBRegions.GetIOBStronghold(this) == IOBAlignment)
            {
                // 30% boost to gold
                PackGold(base.GetGold() / 3);
            }
        }
Exemplo n.º 2
0
        public override void GenerateLoot()
        {
            if (Core.UOAI || Core.UOAR)
            {
                PackGold(300, 450);

                // Category 2 MID
                PackMagicItem(1, 1, 0.05);

                // Froste: 12% random IOB drop
                if (0.12 > Utility.RandomDouble())
                {
                    Item iob = Loot.RandomIOB();
                    PackItem(iob);
                }

                if (IOBRegions.GetIOBStronghold(this) == IOBAlignment)
                {
                    // 30% boost to gold
                    PackGold(base.GetGold() / 3);
                }
            }
            else
            {
                if (Core.UOSP || Core.UOMO)
                {                       // ai special
                    if (Spawning)
                    {
                        PackGold(0);
                    }
                    else
                    {
                    }
                }
                else
                {
                    // ai special
                }
            }
        }
Exemplo n.º 3
0
        public override bool OnBeforeDeath()
        {
            switch (Utility.Random(6))
            {
            case 0: PackItem(new PlateArms()); break;

            case 1: PackItem(new PlateChest()); break;

            case 2: PackItem(new PlateGloves()); break;

            case 3: PackItem(new PlateGorget()); break;

            case 4: PackItem(new PlateLegs()); break;

            case 5: PackItem(new PlateHelm()); break;
            }

            PackItem(new Scimitar());
            PackItem(new WoodenShield());
            PackItem(new Bone(Utility.Random(9, 16)));

            PackGold(200, 400);
            // Category 2 MID
            PackMagicItem(1, 1, 0.05);

            // Froste: 12% random IOB drop
            if (0.12 > Utility.RandomDouble())
            {
                Item iob = Loot.RandomIOB();
                PackItem(iob);
            }

            if (IOBRegions.GetIOBStronghold(this) == IOBAlignment)
            {
                // 30% boost to gold
                PackGold(base.GetGold() / 3);
            }

            return(base.OnBeforeDeath());
        }
Exemplo n.º 4
0
        public override void GenerateLoot()
        {
            if (Core.UOAI || Core.UOAR)
            {
                PackGold(100, 150);

                // Froste: 12% random IOB drop
                if (0.12 > Utility.RandomDouble())
                {
                    Item iob = Loot.RandomIOB();
                    PackItem(iob);
                }

                // if we are in our own stronghold, add 1/3 more gold+
                if (IOBRegions.GetIOBStronghold(this) == IOBAlignment)
                {
                    // 30% boost to gold
                    PackGold(base.GetGold() / 3);
                }
            }
            else
            {
                if (Core.UOSP || Core.UOMO)
                {                       // http://web.archive.org/web/20020207053514/uo.stratics.com/hunters/brigand.shtml
                                        // 100 - 200 Gold, Clothing

                    if (Spawning)
                    {
                        PackGold(100, 200);
                    }

                    // note: I believe the stratics docs are incomplete here as I'm sure the brigand also drops "weapon carried"
                    //	in lieu of new information we will drop this weapon.
                }
                else
                {
                    AddLoot(LootPack.Average);
                }
            }
        }
Exemplo n.º 5
0
        public override void GenerateLoot()
        {
            PackMagicEquipment(1, 3, 0.80, 0.80);
            PackMagicEquipment(1, 3, 0.10, 0.10);
            PackGold(600, 700);

            // Category 3 MID
            PackMagicItem(1, 2, 0.10);
            PackMagicItem(1, 2, 0.05);

            // berry or bola
            if (Female)
            {
                if (Utility.RandomDouble() < 0.30)
                {
                    PackItem(new TribalBerry());
                }
            }
            else
            {
                if (Utility.RandomDouble() < 0.05)
                {
                    PackItem(new BolaBall());
                }
            }

            // Froste: 12% random IOB drop
            if (0.12 > Utility.RandomDouble())
            {
                Item iob = Loot.RandomIOB();
                PackItem(iob);
            }

            if (IOBRegions.GetIOBStronghold(this) == IOBAlignment)
            {
                // 30% boost to gold
                PackGold(base.GetGold() / 3);
            }
        }
Exemplo n.º 6
0
        public override void GenerateLoot()
        {
            if (Core.UOAI || Core.UOAR)
            {
                PackGold(170, 220);

                PackItem(new Arrow(Utility.RandomMinMax(20, 30)));

                // Froste: 12% random IOB drop
                if (0.12 > Utility.RandomDouble())
                {
                    Item iob = Loot.RandomIOB();
                    PackItem(iob);
                }

                if (IOBRegions.GetIOBStronghold(this) == IOBAlignment)
                {
                    // 30% boost to gold
                    PackGold(base.GetGold() / 3);
                }
            }
            else
            {
                if (Core.UOSP || Core.UOMO)
                {                       // ai special
                    if (Spawning)
                    {
                        PackGold(0);
                    }
                    else
                    {
                    }
                }
                else
                {
                    // ai special
                }
            }
        }
Exemplo n.º 7
0
        public override void GenerateLoot()
        {
            if (Core.UOAI || Core.UOAR)
            {
                PackGold(750, 800);

                PackItem(new TheGuardianBook());

                // Froste: 12% random IOB drop
                if (0.12 > Utility.RandomDouble())
                {
                    Item iob = Loot.RandomIOB();
                    PackItem(iob);
                }

                if (IOBRegions.GetIOBStronghold(this) == IOBAlignment)
                {
                    // 30% boost to gold
                    PackGold(base.GetGold() / 3);
                }
            }
            else
            {
                if (Core.UOSP || Core.UOMO)
                {                       // ai special
                    if (Spawning)
                    {
                        PackGold(0);
                    }
                    else
                    {
                    }
                }
                else
                {                       // Standard RunUO
                                        // ai special
                }
            }
        }
Exemplo n.º 8
0
        public override void GenerateLoot()
        {
            PackGold(60, 90);
            PackScroll(1, 5);
            PackReg(3);
            PackItem(new Bone(Utility.Random(10, 12)));
            // Category 2 MID
            PackMagicItem(1, 1, 0.05);

            // Froste: 12% random IOB drop
            if (0.12 > Utility.RandomDouble())
            {
                Item iob = Loot.RandomIOB();
                PackItem(iob);
            }

            if (IOBRegions.GetIOBStronghold(this) == IOBAlignment)
            {
                // 30% boost to gold
                PackGold(base.GetGold() / 3);
            }
        }
Exemplo n.º 9
0
        public override void GenerateLoot()
        {
            PackItem(new GnarledStaff());
            PackScroll(3, 7);
            PackScroll(3, 7);
            PackMagicEquipment(2, 3, 0.60, 0.60);
            PackMagicEquipment(2, 3, 0.25, 0.25);
            PackReg(10, 20);

            // pack the gold
            PackGold(600, 800);

            if (IOBRegions.GetIOBStronghold(this) == IOBAlignment)
            {
                // 30% boost to gold
                PackGold(base.GetGold() / 3);

                if (Utility.RandomDouble() < 0.10)
                {
                    PackItem(new IDWand());
                }
            }

            // Froste: 12% random IOB drop
            if (0.12 > Utility.RandomDouble())
            {
                Item iob = Loot.RandomIOB();
                PackItem(iob);
            }

            // Category 4 MID
            PackMagicItem(2, 3, 0.10);
            PackMagicItem(2, 3, 0.05);
            PackMagicItem(2, 3, 0.02);

            // pack bulk reg
            PackItem(new BlackPearl(Utility.RandomMinMax(10, 20)));
        }
Exemplo n.º 10
0
        public override void GenerateLoot()
        {
            // TODO: Skull?
            switch (Utility.Random(7))
            {
            case 0: PackItem(new Arrow()); break;

            case 1: PackItem(new Lockpick()); break;

            case 2: PackItem(new Shaft()); break;

            case 3: PackItem(new Ribs()); break;

            case 4: PackItem(new Bandage()); break;

            case 5: PackItem(new BeverageBottle(BeverageType.Wine)); break;

            case 6: PackItem(new Jug(BeverageType.Cider)); break;
            }

            // Froste: 12% random IOB drop
            if (0.12 > Utility.RandomDouble())
            {
                Item iob = Loot.RandomIOB();
                PackItem(iob);
            }

            PackGold(50, 100);

            // Category 2 MID
            PackMagicItem(1, 1, 0.05);

            if (IOBRegions.GetIOBStronghold(this) == IOBAlignment)
            {
                // 30% boost to gold
                PackGold(base.GetGold() / 3);
            }
        }
Exemplo n.º 11
0
        public override void GenerateLoot()
        {
            if (Core.UOAI || Core.UOAR)
            {
                PackGold(100, 150);

                // Froste: 12% random IOB drop
                if (0.12 > Utility.RandomDouble())
                {
                    Item iob = Loot.RandomIOB();
                    PackItem(iob);
                }

                // if we are in our own stronghold, add 1/3 more gold+
                if (IOBRegions.GetIOBStronghold(this) == IOBAlignment)
                {
                    // 30% boost to gold
                    PackGold(base.GetGold() / 3);
                }
            }
            else
            {
                if (Core.UOSP || Core.UOMO)
                {                       // ai special
                    if (Spawning)
                    {
                        PackGold(0);
                    }
                    else
                    {
                    }
                }
                else
                {
                    // ai special
                }
            }
        }
Exemplo n.º 12
0
        public override void GenerateLoot()
        {
            PackGem();
            PackMagicEquipment(1, 3);
            PackGold(200, 250);

            int phrase = Utility.Random(2);

            switch (phrase)
            {
            case 0: this.Say(true, "Heh! On to Davy Jones' lockarrr.."); break;

            case 1: this.Say(true, "Sink me!"); break;
            }

            // Category 2 MID
            PackMagicItem(1, 1, 0.05);

            // TreasureMap
            //	5% chance to get a level 3 treasure map
            //  removed this tmap drop

            // Froste: 12% random IOB drop
            if (0.12 > Utility.RandomDouble())
            {
                Item iob = Loot.RandomIOB();
                PackItem(iob);
            }

            // pack bulk reg
            PackItem(new MandrakeRoot(Utility.RandomMinMax(10, 20)));

            if (IOBRegions.GetIOBStronghold(this) == IOBAlignment)
            {
                // 30% boost to gold
                PackGold(base.GetGold() / 3);
            }
        }
Exemplo n.º 13
0
        public override void GenerateLoot()
        {
            switch (Utility.Random(6))
            {
            case 0: PackItem(new PlateArms()); break;

            case 1: PackItem(new PlateChest()); break;

            case 2: PackItem(new PlateGloves()); break;

            case 3: PackItem(new PlateGorget()); break;

            case 4: PackItem(new PlateLegs()); break;

            case 5: PackItem(new PlateHelm()); break;
            }

            PackPotion();
            PackPotion();
            PackItem(new Scimitar());
            PackItem(new Arrow(10));
            PackItem(new WoodenShield());
            PackGold(100, 130);
            PackItem(new Bone(Utility.Random(8, 12)));
            // Froste: 12% random IOB drop
            if (0.12 > Utility.RandomDouble())
            {
                Item iob = Loot.RandomIOB();
                PackItem(iob);
            }

            if (IOBRegions.GetIOBStronghold(this) == IOBAlignment)
            {
                // 30% boost to gold
                PackGold(base.GetGold() / 3);
            }
        }
Exemplo n.º 14
0
        public override void GenerateLoot()
        {
            PackGold(100, 150);

            // Froste: 12% random IOB drop
            if (0.12 > Utility.RandomDouble())
            {
                Item iob = Loot.RandomIOB();
                PackItem(iob);
            }

            // if we are in our own stronghold, add 1/3 more gold+
            if (IOBRegions.GetIOBStronghold(this) == IOBAlignment)
            {
                // 30% boost to gold
                PackGold(base.GetGold() / 3);

                // chance at powder of translocation
                if (CoreAI.PowderOfTranslocationAvail > Utility.RandomDouble())
                {
                    PackItem(new PowderOfTranslocation(Utility.RandomMinMax(1, 5)));
                }
            }
        }
Exemplo n.º 15
0
        public override void GenerateLoot()
        {
            if (Core.UOAI || Core.UOAR)
            {
                PackItem(new GnarledStaff());
                PackGold(600, 800);
                PackScroll(3, 7);
                PackScroll(3, 7);
                PackMagicEquipment(2, 3, 0.60, 0.60);
                PackMagicEquipment(2, 3, 0.25, 0.25);
                PackReg(10, 20);

                // Froste: 12% random IOB drop
                if (0.12 > Utility.RandomDouble())
                {
                    Item iob = Loot.RandomIOB();
                    PackItem(iob);
                }

                if (IOBRegions.GetIOBStronghold(this) == IOBAlignment)
                {
                    // 30% boost to gold
                    PackGold(base.GetGold() / 3);
                }

                //if not in region
                if (IOBRegions.GetIOBStronghold(this) != IOBAlignment)
                {
                    // Adam: Remove interesting colors if not in stronghold
                    Item shoes = this.FindItemOnLayer(Layer.Shoes);
                    if (shoes is Sandals)
                    {
                        shoes.Hue = 0;
                    }

                    // make sure the robe does not drop
                    Item shroud = FindItemOnLayer(Layer.OuterTorso);
                    if (shroud != null)
                    {
                        shroud.LootType = LootType.Newbied;
                    }
                }
            }
            else
            {
                if (Core.UOSP || Core.UOMO)
                {                       // ai special
                    if (Spawning)
                    {
                        PackGold(0);
                    }
                    else
                    {
                    }
                }
                else
                {                       // Standard RunUO
                                        // ai special
                }
            }
        }
Exemplo n.º 16
0
        public override void GenerateLoot()
        {
            if (Core.UOAI || Core.UOAR)
            {
                switch (Utility.Random(5))
                {
                case 0: PackItem(new BoneArms()); break;

                case 1: PackItem(new BoneChest()); break;

                case 2: PackItem(new BoneGloves()); break;

                case 3: PackItem(new BoneLegs()); break;

                case 4: PackItem(new BoneHelm()); break;
                }

                PackGold(0, 25);
                PackItem(new Bone(Utility.Random(7, 10)));
                // Froste: 12% random IOB drop
                if (0.12 > Utility.RandomDouble())
                {
                    Item iob = Loot.RandomIOB();
                    PackItem(iob);
                }

                if (IOBRegions.GetIOBStronghold(this) == IOBAlignment)
                {
                    // 30% boost to gold
                    PackGold(base.GetGold() / 3);
                }
            }
            else
            {
                if (Core.UOSP || Core.UOMO)
                {                       // http://web.archive.org/web/20021014235748/uo.stratics.com/hunters/skeleton.shtml
                                        // 0 to 50 Gold, Sometimes Bone Armor, Weapon Carried
                    if (Spawning)
                    {
                        PackGold(0, 50);
                    }
                    else
                    {
                        if (0.12 > Utility.RandomDouble())
                        {
                            switch (Utility.Random(5))
                            {
                            case 0: PackItem(new BoneArms()); break;

                            case 1: PackItem(new BoneChest()); break;

                            case 2: PackItem(new BoneGloves()); break;

                            case 3: PackItem(new BoneLegs()); break;

                            case 4: PackItem(new BoneHelm()); break;
                            }
                        }

                        // Weapon Carried
                        if (Body == 56)
                        {
                            PackItem(new Hatchet());
                        }
                    }
                }
                else
                {
                    if (Spawning)
                    {
                        switch (Utility.Random(5))
                        {
                        case 0: PackItem(new BoneArms()); break;

                        case 1: PackItem(new BoneChest()); break;

                        case 2: PackItem(new BoneGloves()); break;

                        case 3: PackItem(new BoneLegs()); break;

                        case 4: PackItem(new BoneHelm()); break;
                        }
                    }

                    AddLoot(LootPack.Poor);
                }
            }
        }
Exemplo n.º 17
0
        public override void GenerateLoot()
        {
            if (Core.UOAI || Core.UOAR)
            {
                PackGold(100, 150);

                // berry or bola
                if (Female)
                {
                    if (Utility.RandomDouble() < 0.30)
                    {
                        PackItem(new TribalBerry());
                    }
                }
                else
                {
                    if (Utility.RandomDouble() < 0.05)
                    {
                        PackItem(new BolaBall());
                    }
                }

                // Froste: 12% random IOB drop
                if (0.12 > Utility.RandomDouble())
                {
                    Item iob = Loot.RandomIOB();
                    PackItem(iob);
                }

                if (IOBRegions.GetIOBStronghold(this) == IOBAlignment)
                {
                    // 30% boost to gold
                    PackGold(base.GetGold() / 3);
                }
            }
            else
            {
                if (Core.UOSP || Core.UOMO)
                {                       // http://web.archive.org/web/20020606081710/uo.stratics.com/hunters/savage.shtml
                                        // 20-40 Gold, bandages, bone arms, bone legs, spear, bola balls, savage tribal mask, mask of orcish kin, tribal berry.
                    if (Spawning)
                    {
                        PackGold(20, 40);
                    }
                    else
                    {
                        PackItem(new Bandage(Utility.RandomMinMax(1, 15)));

                        // bone arms dropped as part of dress
                        // bone legs dropped as part of dress
                        // spear dropped as part of dress

                        // http://www.uoguide.com/Savage_Empire
                        // http://uo.stratics.com/secrets/archive/orcsavage.shtml
                        // Bola balls have appeared as loot on Orc Bombers. Balls on Bombers are rather common, around a 50/50% chance of getting a ball or not. They are only appearing as loot on bombers.
                        if (Core.PublishDate >= Core.EraSAVE)
                        {
                            if (Female && 0.1 > Utility.RandomDouble())
                            {
                                PackItem(new TribalBerry());
                            }
                            else if (!Female && 0.1 > Utility.RandomDouble())
                            {
                                PackItem(new BolaBall());
                            }
                        }

                        // savage tribal mask dropped as part of dress
                        // mask of orish kin dropped as part of dress
                    }
                }
                else
                {
                    if (Spawning)
                    {
                        // bone arms dropped as part of dress
                        // bone legs dropped as part of dress
                        // spear dropped as part of dress

                        // http://www.uoguide.com/Savage_Empire
                        // http://uo.stratics.com/secrets/archive/orcsavage.shtml
                        // Bola balls have appeared as loot on Orc Bombers. Balls on Bombers are rather common, around a 50/50% chance of getting a ball or not. They are only appearing as loot on bombers.
                        if (Core.PublishDate >= Core.EraSAVE)
                        {
                            if (Female && 0.1 > Utility.RandomDouble())
                            {
                                PackItem(new TribalBerry());
                            }
                            else if (!Female && 0.1 > Utility.RandomDouble())
                            {
                                PackItem(new BolaBall());
                            }
                        }

                        // savage tribal mask dropped as part of dress
                        // mask of orish kin dropped as part of dress

                        PackItem(new Bandage(Utility.RandomMinMax(1, 15)));
                    }

                    AddLoot(LootPack.Meager);
                }
            }
        }
Exemplo n.º 18
0
        public override void GenerateLoot()
        {
            if (Core.UOAI || Core.UOAR)
            {
                PackGold(125, 175);

                if (Utility.RandomDouble() < 0.05)
                {
                    PackItem(new BolaBall());
                }

                if (Utility.RandomDouble() < 0.30)
                {
                    PackItem(new TribalBerry());
                }

                // Froste: 12% random IOB drop
                if (0.12 > Utility.RandomDouble())
                {
                    Item iob = Loot.RandomIOB();
                    PackItem(iob);
                }

                // Category 2 MID
                PackMagicItem(1, 1, 0.05);

                if (IOBRegions.GetIOBStronghold(this) == IOBAlignment)
                {
                    // 30% boost to gold
                    PackGold(base.GetGold() / 3);
                }
            }
            else
            {
                if (Core.UOSP || Core.UOMO)
                {                       // http://web.archive.org/web/20020606081839/uo.stratics.com/hunters/savage_rider.shtml
                                        // 20-40 Gold, bandages, bone arms, bone legs, bear mask, bola balls, tribal spear.
                    if (Spawning)
                    {
                        PackGold(20, 40);
                    }
                    else
                    {
                        PackItem(new Bandage(Utility.Random(3, 12)));
                        // arms dropped as dress
                        // legs dropped as dress
                        // bear mask dropped as dress

                        // http://www.uoguide.com/Savage_Empire
                        // http://uo.stratics.com/secrets/archive/orcsavage.shtml
                        // Bola balls have appeared as loot on Orc Bombers. Balls on Bombers are rather common, around a 50/50% chance of getting a ball or not. They are only appearing as loot on bombers.
                        if (Core.PublishDate >= Core.EraSAVE)
                        {
                            if (0.2 > Utility.RandomDouble())
                            {
                                PackItem(new BolaBall());
                            }
                        }

                        // spear dropped as dress
                    }
                }
                else
                {
                    if (Spawning)
                    {
                        PackItem(new Bandage(Utility.RandomMinMax(1, 15)));

                        // arms dropped as dress
                        // legs dropped as dress
                        // bear mask dropped as dress

                        // http://www.uoguide.com/Savage_Empire
                        // http://uo.stratics.com/secrets/archive/orcsavage.shtml
                        // Bola balls have appeared as loot on Orc Bombers. Balls on Bombers are rather common, around a 50/50% chance of getting a ball or not. They are only appearing as loot on bombers.
                        if (Core.PublishDate >= Core.EraSAVE)
                        {
                            if (0.2 > Utility.RandomDouble())
                            {
                                PackItem(new BolaBall());
                            }
                        }

                        // spear dropped as dress
                    }

                    AddLoot(LootPack.Average);
                }
            }
        }
        public override bool OnBeforeDeath()
        {
            BoneMagi rm = new BoneMagi();

            rm.Team = this.Team;
            rm.MoveToWorld(this.Location, this.Map);

            Effects.SendLocationEffect(Location, Map, 0x3709, 13, 0x3B2, 0);

            Container bag = new Bag();

            switch (Utility.Random(9))
            {
            case 0: bag.DropItem(new Amber()); break;

            case 1: bag.DropItem(new Amethyst()); break;

            case 2: bag.DropItem(new Citrine()); break;

            case 3: bag.DropItem(new Diamond()); break;

            case 4: bag.DropItem(new Emerald()); break;

            case 5: bag.DropItem(new Ruby()); break;

            case 6: bag.DropItem(new Sapphire()); break;

            case 7: bag.DropItem(new StarSapphire()); break;

            case 8: bag.DropItem(new Tourmaline()); break;
            }

            switch (Utility.Random(8))
            {
            case 0: bag.DropItem(new SpidersSilk(3)); break;

            case 1: bag.DropItem(new BlackPearl(3)); break;

            case 2: bag.DropItem(new Bloodmoss(3)); break;

            case 3: bag.DropItem(new Garlic(3)); break;

            case 4: bag.DropItem(new MandrakeRoot(3)); break;

            case 5: bag.DropItem(new Nightshade(3)); break;

            case 6: bag.DropItem(new SulfurousAsh(3)); break;

            case 7: bag.DropItem(new Ginseng(3)); break;
            }

            if (0.12 > Utility.RandomDouble())
            {
                Item iob = Loot.RandomIOB();
                bag.DropItem(iob);
            }

            bag.DropItem(new Gold(1000, 1500));

            if (IOBRegions.GetIOBStronghold(this) == IOBAlignment)
            {
                // 30% boost to gold
                PackGold(base.GetGold() / 3);
            }

            // Category 4 MID
            rm.PackMagicItem(2, 3, 0.10);
            rm.PackMagicItem(2, 3, 0.05);
            rm.PackMagicItem(2, 3, 0.02);

            rm.PackMagicEquipment(2, 3, 0.60, 0.60);
            rm.PackMagicEquipment(2, 3, 0.25, 0.25);

            rm.AddItem(bag);

            this.Delete();

            return(false);
        }
Exemplo n.º 20
0
        public override void GenerateLoot()
        {
            PackGold(1200, 1600);
            PackScroll(6, 8);
            PackScroll(6, 8);
            PackReg(10);
            PackReg(10);

            // Adam: liches carry IDWands. It's historical man!
            //	20% chance to get an IDWands
            if (Utility.RandomDouble() < 0.20)
            {
                PackItem(new IDWand());
            }

            // Froste: 12% random IOB drop
            if (0.12 > Utility.RandomDouble())
            {
                Item iob = Loot.RandomIOB();
                PackItem(iob);
            }

            // adam: add 25% chance to get a Random Slayer Instrument
            PackSlayerInstrument(.25);

            // adam: Add the Corpse Skin (rare) armor to this mini-boss.
            if (Utility.RandomDouble() < 0.10)
            {
                switch (Utility.Random(10))
                {
                case 0: PackItem(new CorpseSkinArmor(), false); break;                          // female chest

                case 1: PackItem(new CorpseSkinArms(), false); break;                           // arms

                case 2: PackItem(new CorpseSkinTunic(), false); break;                          // male chest

                case 3: PackItem(new CorpseSkinGloves(), false); break;                         // gloves

                case 4: PackItem(new CorpseSkinGorget(), false); break;                         // gorget

                case 5: PackItem(new CorpseSkinLeggings(), false); break;                       // legs

                case 6: PackItem(new CorpseSkinHelm(), false); break;                           // helm

                case 7: PackItem(new CorpseSkinBustier(), false); break;                        //bustier

                case 8: PackItem(new CorpseSkinShorts(), false); break;                         //shorts

                case 9: PackItem(new CorpseSkinSkirt(), false); break;                          //skirt
                }
            }

            // Use our unevenly weighted table for chance resolution
            Item item;

            item = Loot.RandomArmorOrShieldOrWeapon();
            PackItem(Loot.ImbueWeaponOrArmor(item, 6, 0, false));

            if (IOBRegions.GetIOBStronghold(this) == IOBAlignment)
            {
                // 30% boost to gold
                PackGold(base.GetGold() / 3);
            }
        }
Exemplo n.º 21
0
        public override void GenerateLoot()
        {
            if (Core.UOAI || Core.UOAR)
            {
                // TODO: Skull?
                switch (Utility.Random(7))
                {
                case 0: PackItem(new Arrow()); break;

                case 1: PackItem(new Lockpick()); break;

                case 2: PackItem(new Shaft()); break;

                case 3: PackItem(new Ribs()); break;

                case 4: PackItem(new Bandage()); break;

                case 5: PackItem(new BeverageBottle(BeverageType.Wine)); break;

                case 6: PackItem(new Jug(BeverageType.Cider)); break;
                }

                // Froste: 12% random IOB drop
                if (0.12 > Utility.RandomDouble())
                {
                    Item iob = Loot.RandomIOB();
                    PackItem(iob);
                }

                PackGold(50, 100);

                // Category 2 MID
                PackMagicItem(1, 1, 0.05);

                if (IOBRegions.GetIOBStronghold(this) == IOBAlignment)
                {
                    // 30% boost to gold
                    PackGold(base.GetGold() / 3);
                }
            }
            else
            {                   // Adam: the orc captain should have classic loot.. I don't know wtf RunUO is giving
                if (Core.UOSP || Core.UOMO)
                {               // http://web.archive.org/web/20020607073208/uo.stratics.com/hunters/orccap.shtml
                                //  50 to 150 Gold, Gems, Two-Handed Axe, Ringmail Tunic, Orc Helm, Thigh Boots, 1 Raw Ribs (carved)
                    if (Spawning)
                    {
                        PackGold(50, 150);
                    }
                    else
                    {
                        PackGem(1, .9);
                        PackGem(1, .05);
                        PackItem(new TwoHandedAxe());
                        PackItem(new RingmailChest());
                        PackItem(new OrcHelm());
                        PackItem(new ThighBoots());
                    }
                }
                else
                {
                    if (Spawning)
                    {
                        // TODO: Skull?
                        switch (Utility.Random(7))
                        {
                        case 0: PackItem(new Arrow()); break;

                        case 1: PackItem(new Lockpick()); break;

                        case 2: PackItem(new Shaft()); break;

                        case 3: PackItem(new Ribs()); break;

                        case 4: PackItem(new Bandage()); break;

                        case 5: PackItem(new BeverageBottle(BeverageType.Wine)); break;

                        case 6: PackItem(new Jug(BeverageType.Cider)); break;
                        }

                        if (Core.AOS)
                        {
                            PackItem(Loot.RandomNecromancyReagent());
                        }
                    }

                    AddLoot(LootPack.Meager, 2);
                }
            }
        }
Exemplo n.º 22
0
        public override void GenerateLoot()
        {
            if (Core.UOAI || Core.UOAR)
            {
                PackGold(1200, 1600);
                PackScroll(6, 8);
                PackScroll(6, 8);
                PackReg(10);
                PackReg(10);

                PackItem(new GnarledStaff());

                // Adam: liches carry IDWands. It's historical man!
                //	20% chance to get an IDWands
                if (Utility.RandomDouble() < 0.20)
                {
                    PackItem(new IDWand());
                }

                // Froste: 12% random IOB drop
                if (0.12 > Utility.RandomDouble())
                {
                    Item iob = Loot.RandomIOB();
                    PackItem(iob);
                }

                // adam: add 25% chance to get a Random Slayer Instrument
                PackSlayerInstrument(.25);

                // adam: Add the Corpse Skin (rare) armor to this mini-boss.
                if (Utility.RandomDouble() < 0.10)
                {
                    switch (Utility.Random(10))
                    {
                    case 0: PackItem(new CorpseSkinArmor(), false); break;                              // female chest

                    case 1: PackItem(new CorpseSkinArms(), false); break;                               // arms

                    case 2: PackItem(new CorpseSkinTunic(), false); break;                              // male chest

                    case 3: PackItem(new CorpseSkinGloves(), false); break;                             // gloves

                    case 4: PackItem(new CorpseSkinGorget(), false); break;                             // gorget

                    case 5: PackItem(new CorpseSkinLeggings(), false); break;                           // legs

                    case 6: PackItem(new CorpseSkinHelm(), false); break;                               // helm

                    case 7: PackItem(new CorpseSkinBustier(), false); break;                            //bustier

                    case 8: PackItem(new CorpseSkinShorts(), false); break;                             //shorts

                    case 9: PackItem(new CorpseSkinSkirt(), false); break;                              //skirt
                    }
                }

                // Use our unevenly weighted table for chance resolution
                Item item;
                item = Loot.RandomArmorOrShieldOrWeapon();
                PackItem(Loot.ImbueWeaponOrArmor(item, 6, 0, false));

                if (IOBRegions.GetIOBStronghold(this) == IOBAlignment)
                {
                    // 30% boost to gold
                    PackGold(base.GetGold() / 3);
                }
            }
            else
            {
                if (Core.UOSP || Core.UOMO)
                {                       // http://web.archive.org/web/20011218043901/uo.stratics.com/hunters/ancientlich.shtml
                                        // 1500 Gold, Reagents, Magic Items, Bone Armor
                    if (Spawning)
                    {
                        PackGold(1500);
                    }
                    else
                    {
                        PackReg(30, 275);
                        if (Utility.RandomBool())
                        {
                            PackMagicEquipment(2, 3);
                        }
                        else
                        {
                            PackMagicItem(2, 3, 0.80);
                        }

                        switch (Utility.Random(5))
                        {
                        case 0: PackItem(new BoneArms()); break;

                        case 1: PackItem(new BoneChest()); break;

                        case 2: PackItem(new BoneGloves()); break;

                        case 3: PackItem(new BoneLegs()); break;

                        case 4: PackItem(new BoneHelm()); break;
                        }
                    }
                }
                else
                {
                    if (Spawning)
                    {
                        if (Core.AOS)
                        {
                            PackNecroReg(30, 275);
                        }

                        PackItem(new GnarledStaff());
                    }

                    AddLoot(LootPack.FilthyRich, 3);
                    AddLoot(LootPack.MedScrolls, 2);
                }
            }
        }
Exemplo n.º 23
0
        public override void GenerateLoot()
        {
            if (Core.UOAI || Core.UOAR)
            {
                PackReg(3);
                PackReg(3);
                PackGold(60, 90);
                PackScroll(1, 4);

                // Froste: 12% random IOB drop
                if (0.12 > Utility.RandomDouble())
                {
                    Item iob = Loot.RandomIOB();
                    PackItem(iob);
                }

                // Category 2 MID
                PackMagicItem(1, 1, 0.05);

                if (IOBRegions.GetIOBStronghold(this) == IOBAlignment)
                {
                    // 30% boost to gold
                    PackGold(base.GetGold() / 3);
                }
            }
            else
            {
                if (Core.UOSP || Core.UOMO)
                {                       // http://web.archive.org/web/20011217100121/uo.stratics.com/hunters/orcmage.shtml
                                        // 50 to 150 Gold, Potions, Arrows, Gems, Scrolls (circle 1-4), Reagents, Mask of Orcish Kin, 1 Raw Ribs (carved)

                    if (Spawning)
                    {
                        PackGold(50, 150);
                    }
                    else
                    {
                        PackPotion();
                        PackItem(new Arrow(Utility.RandomMinMax(1, 4)));
                        PackGem(1, .9);
                        PackGem(1, .05);
                        PackScroll(1, 4);
                        PackReg(3);
                        PackReg(3, 0.3);
                        // http://www.uoguide.com/Savage_Empire
                        // http://uo.stratics.com/secrets/archive/orcsavage.shtml
                        if (Core.PublishDate >= Core.EraSAVE)
                        {
                            if (0.05 > Utility.RandomDouble())
                            {
                                PackItem(new OrcishKinMask());
                            }
                        }
                    }
                }
                else
                {
                    if (Spawning)
                    {
                        PackReg(6);

                        // http://www.uoguide.com/Savage_Empire
                        // http://uo.stratics.com/secrets/archive/orcsavage.shtml
                        if (Core.PublishDate >= Core.EraSAVE)
                        {
                            if (0.05 > Utility.RandomDouble())
                            {
                                PackItem(new OrcishKinMask());
                            }
                        }
                    }

                    AddLoot(LootPack.Average);
                    AddLoot(LootPack.LowScrolls);
                }
            }
        }
Exemplo n.º 24
0
        public override void GenerateLoot()
        {
            if (Core.UOAI || Core.UOAR)
            {
                PackGold(600, 700);
                PackItem(new ShadowIronOre(25));
                PackItem(new IronIngot(10));
                PackMagicEquipment(1, 3, 0.80, 0.80);
                PackMagicEquipment(1, 3, 0.10, 0.10);

                // Froste: 12% random IOB drop
                if (0.12 > Utility.RandomDouble())
                {
                    Item iob = Loot.RandomIOB();
                    PackItem(iob);
                }

                if (0.2 > Utility.RandomDouble())
                {
                    PackItem(new BolaBall());
                }

                // Category 3 MID
                PackMagicItem(1, 2, 0.10);
                PackMagicItem(1, 2, 0.05);

                if (IOBRegions.GetIOBStronghold(this) == IOBAlignment)
                {
                    // 30% boost to gold
                    PackGold(base.GetGold() / 3);
                }
            }
            else
            {
                // http://web.archive.org/web/20020221205654/uo.stratics.com/hunters/orcbrute.shtml
                // 50 -120 Gold, 25 shadow ore, 10 ingots, a war mace, orc helm, orc mask, bola ball

                if (Core.UOSP || Core.UOMO)
                {
                    if (Spawning)
                    {
                        PackGold(50, 120);
                    }
                    else
                    {
                        PackItem(new ShadowIronOre(25));
                        PackItem(new IronIngot(10));
                        PackItem(new WarMace());
                        if (Utility.RandomBool())                                                       // TODO: no idea about the drop rates here
                        {
                            PackItem(new OrcHelm());
                        }
                        else
                        {
                            PackItem(typeof(OrcishMask), .1);
                        }

                        // 1. http://www.uoguide.com/Savage_Empire
                        // 2. http://uo.stratics.com/secrets/archive/orcsavage.shtml
                        // 3. Bola balls have appeared as loot on Orc Bombers. Balls on Bombers are rather common, around a 50/50% chance of getting a ball or not. They are only appearing as loot on bombers.
                        // 4. http://web.archive.org/web/20020221205654/uo.stratics.com/hunters/orcbrute.shtml
                        // 5. 50 -120 Gold, 25 shadow ore, 10 ingots, a war mace, orc helm, orc mask, bola ball
                        if (Core.PublishDate >= Core.EraSAVE)                           // enable due to above #4&5 above
                        {
                            if (0.2 > Utility.RandomDouble())
                            {
                                PackItem(new BolaBall());
                            }
                        }
                    }
                }
                else
                {
                    if (Spawning)
                    {
                        PackItem(new ShadowIronOre(25));
                        PackItem(new IronIngot(10));
                        PackItem(new WarMace());

                        // http://www.uoguide.com/Savage_Empire
                        // http://uo.stratics.com/secrets/archive/orcsavage.shtml
                        if (Core.PublishDate >= Core.EraSAVE)
                        {
                            if (0.05 > Utility.RandomDouble())
                            {
                                PackItem(new OrcishKinMask());
                            }
                        }

                        // 1. http://www.uoguide.com/Savage_Empire
                        // 2. http://uo.stratics.com/secrets/archive/orcsavage.shtml
                        // 3. Bola balls have appeared as loot on Orc Bombers. Balls on Bombers are rather common, around a 50/50% chance of getting a ball or not. They are only appearing as loot on bombers.
                        // 4. http://web.archive.org/web/20020221205654/uo.stratics.com/hunters/orcbrute.shtml
                        // 5. 50 -120 Gold, 25 shadow ore, 10 ingots, a war mace, orc helm, orc mask, bola ball
                        if (Core.PublishDate >= Core.EraSAVE)                           // enable due to above #4&5 above
                        {
                            if (0.2 > Utility.RandomDouble())
                            {
                                PackItem(new BolaBall());
                            }
                        }
                    }

                    AddLoot(LootPack.FilthyRich);
                    AddLoot(LootPack.Rich);
                }
            }
        }
Exemplo n.º 25
0
        public override void GenerateLoot()
        {
            if (Core.UOAI || Core.UOAR)
            {
                switch (Utility.Random(20))
                {
                case 0: PackItem(new Scimitar()); break;

                case 1: PackItem(new Katana()); break;

                case 2: PackItem(new WarMace()); break;

                case 3: PackItem(new WarHammer()); break;

                case 4: PackItem(new Kryss()); break;

                case 5: PackItem(new Pitchfork()); break;
                }

                PackItem(new ThighBoots());
                PackGold(25, 50);

                switch (Utility.Random(3))
                {
                case 0: PackItem(new Ribs()); break;

                case 1: PackItem(new Shaft()); break;

                case 2: PackItem(new Candle()); break;
                }

                if (0.2 > Utility.RandomDouble())
                {
                    PackItem(new BolaBall());
                }

                // Froste: 12% random IOB drop
                if (0.12 > Utility.RandomDouble())
                {
                    Item iob = Loot.RandomIOB();
                    PackItem(iob);
                }

                if (IOBRegions.GetIOBStronghold(this) == IOBAlignment)
                {
                    // 30% boost to gold
                    PackGold(base.GetGold() / 3);
                }
            }
            else
            {
                if (Core.UOSP || Core.UOMO)
                {                       // http://web.archive.org/web/20011217145644/uo.stratics.com/hunters/orc.shtml
                                        // 0 to 50 Gold, Weapon, Thigh Boots, 1 Raw Ribs (carved)
                                        // note: when you open the page for orcish lord from the 2002 stratics archive, you get this 2001 page

                    if (Spawning)
                    {
                        PackGold(0, 50);
                    }
                    else
                    {
                        switch (Utility.Random(20))
                        {
                        case 0: PackItem(new Scimitar()); break;

                        case 1: PackItem(new Katana()); break;

                        case 2: PackItem(new WarMace()); break;

                        case 3: PackItem(new WarHammer()); break;

                        case 4: PackItem(new Kryss()); break;

                        case 5: PackItem(new Pitchfork()); break;
                        }

                        PackItem(new ThighBoots());
                    }
                }
                else
                {
                    if (Spawning)
                    {
                        switch (Utility.Random(20))
                        {
                        case 0: PackItem(new Scimitar()); break;

                        case 1: PackItem(new Katana()); break;

                        case 2: PackItem(new WarMace()); break;

                        case 3: PackItem(new WarHammer()); break;

                        case 4: PackItem(new Kryss()); break;

                        case 5: PackItem(new Pitchfork()); break;
                        }

                        PackItem(new ThighBoots());

                        switch (Utility.Random(3))
                        {
                        case 0: PackItem(new Ribs()); break;

                        case 1: PackItem(new Shaft()); break;

                        case 2: PackItem(new Candle()); break;
                        }

                        // http://www.uoguide.com/Savage_Empire
                        // http://uo.stratics.com/secrets/archive/orcsavage.shtml
                        // Bola balls have appeared as loot on Orc Bombers. Balls on Bombers are rather common, around a 50/50% chance of getting a ball or not. They are only appearing as loot on bombers.
                        if (Core.PublishDate >= Core.EraSAVE)
                        {
                            if (0.2 > Utility.RandomDouble())
                            {
                                PackItem(new BolaBall());
                            }
                        }
                    }

                    AddLoot(LootPack.Meager);
                }
            }
        }
Exemplo n.º 26
0
        public override void GenerateLoot()
        {
            if (Core.UOAI || Core.UOAR)
            {
                PackItem(new GnarledStaff());
                PackScroll(3, 7);
                PackScroll(3, 7);
                PackMagicEquipment(2, 3, 0.60, 0.60);
                PackMagicEquipment(2, 3, 0.25, 0.25);
                PackReg(10, 20);

                // pack the gold
                PackGold(600, 800);

                if (IOBRegions.GetIOBStronghold(this) == IOBAlignment)
                {
                    // 30% boost to gold
                    PackGold(base.GetGold() / 3);

                    if (Utility.RandomDouble() < 0.10)
                    {
                        PackItem(new IDWand());
                    }
                }

                // Froste: 12% random IOB drop
                if (0.12 > Utility.RandomDouble())
                {
                    Item iob = Loot.RandomIOB();
                    PackItem(iob);
                }

                // Category 4 MID
                PackMagicItem(2, 3, 0.10);
                PackMagicItem(2, 3, 0.05);
                PackMagicItem(2, 3, 0.02);

                // pack bulk reg
                PackItem(new BlackPearl(Utility.RandomMinMax(10, 20)));
            }
            else
            {
                if (Core.UOSP || Core.UOMO)
                {                       // http://web.archive.org/web/20020213054135/uo.stratics.com/hunters/lichlord.shtml
                                        // 400 to 700 Gold, Magic items, Gems, Scrolls, Blackmoor reagent

                    if (Spawning)
                    {
                        PackGold(400, 700);
                    }
                    else
                    {
                        PackMagicEquipment(2, 3);
                        PackMagicItem(2, 3, 0.10);
                        PackGem(1, .9);
                        PackGem(1, .05);
                        PackScroll(4, 7, .9);
                        PackScroll(4, 7, .05);
                        PackItem(typeof(Blackmoor), 0.005);                                     // TODO: no idea the rarity, make it 5 in 1000
                    }
                }
                else
                {
                    if (Spawning)
                    {
                        PackItem(new GnarledStaff());
                        if (Core.AOS)
                        {
                            PackNecroReg(12, 40);
                        }
                    }

                    AddLoot(LootPack.FilthyRich);
                    AddLoot(LootPack.MedScrolls, 2);
                }
            }
        }
Exemplo n.º 27
0
        public override void GenerateLoot()
        {
            if (Core.UOAI || Core.UOAR)
            {
                switch (Utility.Random(6))
                {
                case 0: PackItem(new PlateArms()); break;

                case 1: PackItem(new PlateChest()); break;

                case 2: PackItem(new PlateGloves()); break;

                case 3: PackItem(new PlateGorget()); break;

                case 4: PackItem(new PlateLegs()); break;

                case 5: PackItem(new PlateHelm()); break;
                }

                PackPotion();
                PackPotion();
                PackItem(new Scimitar());
                PackItem(new Arrow(10));
                PackItem(new WoodenShield());
                PackGold(100, 130);
                PackItem(new Bone(Utility.Random(8, 12)));
                // Froste: 12% random IOB drop
                if (0.12 > Utility.RandomDouble())
                {
                    Item iob = Loot.RandomIOB();
                    PackItem(iob);
                }

                if (IOBRegions.GetIOBStronghold(this) == IOBAlignment)
                {
                    // 30% boost to gold
                    PackGold(base.GetGold() / 3);
                }
            }
            else
            {
                if (Core.UOSP || Core.UOMO)
                {                       // http://web.archive.org/web/20021014235931/uo.stratics.com/hunters/skeletalknight.shtml
                                        // 50 to 150 Gold, Potions, Arrows, Gems, Platemail Armor, Wooden Shield, Weapon Carried

                    if (Spawning)
                    {
                        PackGold(50, 150);
                    }
                    else
                    {
                        PackPotion();
                        PackPotion(0.5);
                        PackItem(new Arrow(10));                                // TODO: no idea how many, use AI's value
                        PackGem(1, .9);
                        PackGem(1, .05);

                        switch (Utility.Random(6))
                        {
                        case 0: PackItem(new PlateArms()); break;

                        case 1: PackItem(new PlateChest()); break;

                        case 2: PackItem(new PlateGloves()); break;

                        case 3: PackItem(new PlateGorget()); break;

                        case 4: PackItem(new PlateLegs()); break;

                        case 5: PackItem(new PlateHelm()); break;
                        }

                        PackItem(new Scimitar());
                        PackItem(new WoodenShield());
                    }
                }
                else
                {
                    if (Spawning)
                    {
                        switch (Utility.Random(6))
                        {
                        case 0: PackItem(new PlateArms()); break;

                        case 1: PackItem(new PlateChest()); break;

                        case 2: PackItem(new PlateGloves()); break;

                        case 3: PackItem(new PlateGorget()); break;

                        case 4: PackItem(new PlateLegs()); break;

                        case 5: PackItem(new PlateHelm()); break;
                        }

                        PackItem(new Scimitar());
                        PackItem(new WoodenShield());
                    }

                    AddLoot(LootPack.Average);
                    AddLoot(LootPack.Meager);
                }
            }
        }
Exemplo n.º 28
0
        public override void GenerateLoot()
        {
            if (Core.UOAI || Core.UOAR)
            {
                PackGold(200, 250);
                PackReg(10, 15);
                //PackItem( new Bandage( Utility.RandomMinMax( 1, 15 ) ) );

                if (Utility.RandomDouble() < 0.30)
                {
                    PackItem(new TribalBerry());
                }

                // Froste: 12% random IOB drop
                if (0.12 > Utility.RandomDouble())
                {
                    Item iob = Loot.RandomIOB();
                    PackItem(iob);
                }

                // Category 2 MID
                PackMagicItem(1, 1, 0.05);

                // pack bulk reg
                PackItem(new Ginseng(Utility.RandomMinMax(10, 20)));

                if (IOBRegions.GetIOBStronghold(this) == IOBAlignment)
                {
                    // 30% boost to gold
                    PackGold(base.GetGold() / 3);
                }
            }
            else
            {
                if (Core.UOSP || Core.UOMO)
                {                       // http://web.archive.org/web/20020213040553/uo.stratics.com/hunters/savage_shaman.shtml
                                        // 20-40 Gold, bone arms, bone legs, deer mask, pouch of reagents (1-5 of each)
                    if (Spawning)
                    {
                        PackGold(20, 40);
                    }
                    else
                    {
                        PackItem(typeof(BoneArms), 0.8);
                        PackItem(typeof(BoneLegs), 0.8);
                        PackItem(typeof(DeerMask), 0.12);
                        PackItem(new BagOfReagents(Utility.Random(1, 5)));
                    }
                }
                else
                {
                    if (Spawning)
                    {
                        PackReg(10, 15);
                        PackItem(new Bandage(Utility.RandomMinMax(1, 15)));

                        // http://www.uoguide.com/Savage_Empire
                        // http://uo.stratics.com/secrets/archive/orcsavage.shtml
                        if (Core.PublishDate >= Core.EraSAVE)
                        {
                            if (0.1 > Utility.RandomDouble())
                            {
                                PackItem(new TribalBerry());
                            }
                        }
                    }

                    AddLoot(LootPack.Average);
                }
            }
        }
Exemplo n.º 29
0
        public override void GenerateLoot()
        {
            if (Core.UOAI || Core.UOAR)
            {
                PackGold(25, 50);
                PackReg(10);
                // Froste: 12% random IOB drop
                if (0.12 > Utility.RandomDouble())
                {
                    Item iob = Loot.RandomIOB();
                    PackItem(iob);
                }

                if (IOBRegions.GetIOBStronghold(this) == IOBAlignment)
                {
                    // 30% boost to gold
                    PackGold(base.GetGold() / 3);
                }
            }
            else
            {
                if (Core.UOSP || Core.UOMO)
                {                       // http://web.archive.org/web/20021001072933/uo.stratics.com/hunters/wraith.shtml
                                        // 50 to 150 Gold, Magic Items, Gems, Reagents, Scrolls, Bones

                    if (Spawning)
                    {
                        PackGold(50, 150);
                    }
                    else
                    {
                        if (Utility.RandomBool())                                       // TODO: no idea as to the level and rate
                        {
                            PackMagicEquipment(1, 1);
                        }
                        else
                        {
                            PackMagicItem(1, 1);
                        }

                        PackGem(1, .9);
                        PackGem(1, .05);

                        PackReg(10);                                                            // use 10 - from most recent stratics

                        PackScroll(1, 4);                                                       // TODO: no idea as to the level and rate
                        PackScroll(1, 4, 0.1);

                        if (0.12 > Utility.RandomDouble())
                        {
                            switch (Utility.Random(4))
                            {
                            case 0: PackItem(new BonePile()); break;

                            case 1: PackItem(new BonePile()); break;

                            case 2: PackItem(new BonePile()); break;

                            case 3: PackItem(new BonePile()); break;
                            }
                        }
                    }
                }
                else
                {
                    if (Spawning)
                    {
                        PackReg(10);
                    }

                    AddLoot(LootPack.Meager);
                }
            }
        }
Exemplo n.º 30
0
        public override void GenerateLoot()
        {
            if (Core.UOAI || Core.UOAR)
            {
                switch (Utility.Random(5))
                {
                case 0: PackItem(new Lockpick()); break;

                case 1: PackItem(new MortarPestle()); break;

                case 2: PackItem(new Bottle()); break;

                case 3: PackItem(new RawRibs()); break;

                case 4: PackItem(new Shovel()); break;
                }

                PackItem(new RingmailChest());

                if (0.3 > Utility.RandomDouble())
                {
                    PackItem(Loot.RandomPossibleReagent());
                }

                if (0.2 > Utility.RandomDouble())
                {
                    PackItem(new BolaBall());
                }

                // Froste: 12% random IOB drop
                if (0.12 > Utility.RandomDouble())
                {
                    Item iob = Loot.RandomIOB();
                    PackItem(iob);
                }

                PackGold(100, 130);

                if (IOBRegions.GetIOBStronghold(this) == IOBAlignment)
                {
                    // 30% boost to gold
                    PackGold(base.GetGold() / 3);
                }
            }
            else
            {
                if (Core.UOSP || Core.UOMO)
                {                       // http://web.archive.org/web/20020207055138/uo.stratics.com/hunters/orclord.shtml
                                        // 150 to 300 Gold, Magic items, Gems, Two-Handed Axe, Ringmail Tunic, (Evil) Orc Helm, Thigh Boots, 1 Raw Ribs (carved)
                                        // note: when you open the page for orcish lord from the 2002 stratics archive, you get this 2001 page

                    if (Spawning)
                    {
                        PackGold(150, 300);
                    }
                    else
                    {
                        PackMagicEquipment(1, 1);
                        PackMagicItem(1, 1, 0.05);
                        PackGem(1, .9);
                        PackGem(1, .05);
                        PackItem(new TwoHandedAxe());
                        PackItem(new RingmailChest());

                        // TODO: don't know drop rate. this guy says semi rare, so maybe 1 in 100?
                        // http://www.iceweasel.net/wzl_guild/semi/
                        PackItem(typeof(EvilOrcHelm), 0.01);

                        PackItem(new ThighBoots());
                    }
                }
                else
                {
                    if (Spawning)
                    {
                        switch (Utility.Random(5))
                        {
                        case 0: PackItem(new Lockpick()); break;

                        case 1: PackItem(new MortarPestle()); break;

                        case 2: PackItem(new Bottle()); break;

                        case 3: PackItem(new RawRibs()); break;

                        case 4: PackItem(new Shovel()); break;
                        }

                        PackItem(new RingmailChest());

                        if (0.3 > Utility.RandomDouble())
                        {
                            PackItem(Loot.RandomPossibleReagent());
                        }

                        // http://www.uoguide.com/Savage_Empire
                        // http://uo.stratics.com/secrets/archive/orcsavage.shtml
                        // Bola balls have appeared as loot on Orc Bombers. Balls on Bombers are rather common, around a 50/50% chance of getting a ball or not. They are only appearing as loot on bombers.
                        if (Core.PublishDate >= Core.EraSAVE)
                        {
                            if (0.2 > Utility.RandomDouble())
                            {
                                PackItem(new BolaBall());
                            }
                        }
                    }

                    AddLoot(LootPack.Meager);
                    AddLoot(LootPack.Average);
                    // TODO: evil orc helm
                }
            }
        }