/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

        public static Item CreateBowItem()
        {
            Item item = null;

            int nType = Utility.RandomMinMax(0, 7);

            switch (nType)
            {
            case 0:         item = new Crossbow();                          item.Name = "crossbow";                         break;

            case 1:         item = new HeavyCrossbow();                     item.Name = "heavy crossbow";           break;

            case 2:         item = new RepeatingCrossbow();         item.Name = "repeating crossbow";       break;

            case 3:         item = new CompositeBow();                      item.Name = "composite bow";            break;

            case 4:         item = new Bow();                                       item.Name = "bow";                                      break;

            case 5:         item = new ElvenCompositeLongbow();     item.Name = "woodland longbow";         break;

            case 6:         item = new MagicalShortbow();           item.Name = "woodland shortbow";                break;

            case 7:         item = new Yumi();                                      item.Name = "yumi";                                     break;
            }

            return(item);
        }
Esempio n. 2
0
        public override void GenerateLoot()
        {
            AddLoot(LootPack.FilthyRich, 5);
            AddLoot(LootPack.HighScrolls, 3);
            AddLoot(LootPack.MedScrolls, 4);
            AddLoot(LootPack.LowScrolls, 6);
            AddLoot(LootPack.Gems, 5);

            if (Utility.RandomDouble() < 0.20)
            {
                BaseWeapon weapon = Loot.RandomWeapon(true);
                switch (Utility.Random(33))
                {
                case 0: weapon = new BattleAxe(); break;

                case 1: weapon = new ExecutionersAxe(); break;

                case 2: weapon = new LargeBattleAxe(); break;

                case 3: weapon = new WarAxe(); break;

                case 4: weapon = new Bow(); break;

                case 5: weapon = new Crossbow(); break;

                case 6: weapon = new HeavyCrossbow(); break;

                case 7: weapon = new WarHammer(); break;

                case 8: weapon = new WarMace(); break;

                case 9: weapon = new Bardiche(); break;

                case 10: weapon = new Halberd(); break;

                case 11: weapon = new Spear(); break;

                case 12: weapon = new QuarterStaff(); break;

                case 13: weapon = new Katana(); break;

                case 14: weapon = new Longsword(); break;

                case 15: weapon = new VikingSword(); break;

                case 16: weapon = new CompositeBow(); break;

                case 17: weapon = new CrescentBlade(); break;

                case 18: weapon = new DoubleBladedStaff(); break;

                case 19: weapon = new Lance(); break;

                case 20: weapon = new PaladinSword(); break;

                case 21: weapon = new Scythe(); break;

                case 22: weapon = new Daisho(); break;

                case 23: weapon = new Lajatang(); break;

                case 24: weapon = new NoDachi(); break;

                case 25: weapon = new Tetsubo(); break;

                case 26: weapon = new Yumi(); break;

                case 27: weapon = new ElvenCompositeLongbow(); break;

                case 28: weapon = new OrnateAxe(); break;

                case 29: weapon = new RadiantScimitar(); break;

                case 30: weapon = new WarCleaver(); break;

                case 31: weapon = new WildStaff(); break;

                default: weapon = new DiamondMace(); break;
                }

                BaseRunicTool.ApplyAttributesTo(weapon, 5, 35, 50);
                weapon.Hue = 1461;

                PackItem(weapon);
            }

            if (Utility.RandomDouble() < 0.20)
            {
                BaseArmor armor = Loot.RandomArmor(true);
                switch (Utility.Random(5))
                {
                case 0: armor = new CrusaderGauntlets(); break;

                case 1: armor = new CrusaderGorget(); break;

                case 2: armor = new CrusaderLeggings(); break;

                case 3: armor = new CrusaderSleeves(); break;

                default: armor = new CrusaderBreastplate(); break;
                }

                BaseRunicTool.ApplyAttributesTo(armor, 5, 35, 50);
                armor.Hue = 1461;

                PackItem(armor);
            }

            if (Utility.RandomDouble() < 0.20)
            {
                BaseClothing clothing = Loot.RandomClothing(true);
                BaseRunicTool.ApplyAttributesTo(clothing, 5, 35, 50);
                clothing.Hue = 1461;

                PackItem(clothing);
            }

            if (Utility.RandomDouble() < 0.10)
            {
                BaseShield shield = new MetalKiteShield();
                if (Core.AOS)
                {
                    BaseRunicTool.ApplyAttributesTo(shield, 5, 35, 50);
                }
                shield.Hue = 1461;

                PackItem(shield);
            }

            if (Utility.RandomDouble() < 0.10)
            {
                BaseJewel bracelet = new GoldBracelet();
                if (Core.AOS)
                {
                    BaseRunicTool.ApplyAttributesTo(bracelet, 5, 35, 50);
                }
                bracelet.Hue = 1461;

                PackItem(bracelet);
            }

            if (Utility.RandomDouble() < 0.10)
            {
                BaseJewel earrings = new GoldEarrings();
                if (Core.AOS)
                {
                    BaseRunicTool.ApplyAttributesTo(earrings, 5, 35, 50);
                }
                earrings.Hue = 1461;

                PackItem(earrings);
            }

            if (Utility.RandomDouble() < 0.10)
            {
                BaseJewel necklace = new GoldNecklace();
                if (Core.AOS)
                {
                    BaseRunicTool.ApplyAttributesTo(necklace, 5, 35, 50);
                }
                necklace.Hue = 1461;

                PackItem(necklace);
            }

            if (Utility.RandomDouble() < 0.10)
            {
                BaseJewel ring = new GoldRing();
                if (Core.AOS)
                {
                    BaseRunicTool.ApplyAttributesTo(ring, 5, 35, 50);
                }
                ring.Hue = 1461;

                PackItem(ring);
            }
        }
Esempio n. 3
0
        public override void InitOutfit()
        {
            Name       = "Quill Razorwind the fletcher";
            Body       = 606;
            Female     = true;
            Race       = Race.Elf;
            Hue        = 1002;
            HairItemID = 12238;
            HairHue    = 63;

            SetStr(225);
            SetDex(265);
            SetInt(151);

            SetSkill(SkillName.Archery, 80.0, 100.0);
            SetSkill(SkillName.Anatomy, 59.5, 68.7);
            SetSkill(SkillName.Fletching, 80.0, 100.0);
            SetSkill(SkillName.Tactics, 60.0, 83.0);
            SetSkill(SkillName.Wrestling, 61.0, 93.0);

            PackGold(14, 46);

            ElvenCompositeLongbow weapon = new ElvenCompositeLongbow();

            weapon.Movable = true;
            weapon.Quality = WeaponQuality.Exceptional;
            AddItem(weapon);

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

            FemaleLeatherChest chest = new FemaleLeatherChest();

            chest.Movable = true;
            chest.Hue     = 2207;
            AddItem(chest);

            StuddedGorget gorget = new StuddedGorget();

            gorget.Movable = true;
            gorget.Hue     = 2207;
            AddItem(gorget);

            StuddedArms arms = new StuddedArms();

            arms.Movable = true;
            arms.Hue     = 2207;
            AddItem(arms);

            StuddedGloves gloves = new StuddedGloves();

            gloves.Movable = true;
            gloves.Hue     = 2207;
            AddItem(gloves);

            DrowSpiderCloak cloak = new DrowSpiderCloak();

            cloak.Movable = true;
            cloak.Hue     = 663;
            AddItem(cloak);

            AddItem(new ThighBoots(663));
        }
Esempio n. 4
0
        public DragonSanctuaryElfRanger() : base(AIType.AI_Archer, FightMode.Closest, 15, 1, 0.1, 0.2)
        {
            SetStr(755, 788);
            SetDex(300, 500);
            SetInt(100, 200);

            SetHits(500, 600);

            SetDamage(12, 15);

            SetSkill(SkillName.Anatomy, 100.0);
            SetSkill(SkillName.Archery, 100.0);
            SetSkill(SkillName.Chivalry, 100.0);
            SetSkill(SkillName.MagicResist, 70.0);
            SetSkill(SkillName.Tactics, 100.0);

            Karma = 10000;

            m_Timer = new MoveTimer(this);
            ChangeLocation();

            PackItem(new Bandage(Utility.RandomMinMax(15, 20)));
            PackItem(new Arrow(Utility.RandomMinMax(80, 90)));

            if (Female = Utility.RandomBool())
            {
                Name       = NameList.RandomName("elven female");
                Title      = "Ljosalfar Ranger of Dragon Sanctuary";
                Body       = 606;
                Hue        = Utility.RandomList(1002, 1003, 1009, 1010, 1011, 1016, 1017, 1023, 1030);
                HairHue    = Utility.RandomList(1502, 1507, 1513, 2213, 2216, 2218);
                HairItemID = Utility.RandomList(12224, 12225, 12236, 12237, 12238, 12239);

                BaseWeapon weapon = Loot.RandomWeapon(true);
                switch (Utility.Random(3))
                {
                case 0: weapon = new ElvenCompositeLongbow(); break;

                case 1: weapon = new MagicalShortbow(); break;

                case 2: weapon = new SkeletalWarBow(); break;
                }

                BaseRunicTool.ApplyAttributesTo(weapon, 5, 25, 35);
                weapon.Slayer = SlayerName.ReptilianDeath;
                weapon.WeaponAttributes.HitLightning = 25;
                weapon.Hue     = 0x4D5;
                weapon.Movable = true;
                AddItem(weapon);

                EbonsilkTiara helm = new EbonsilkTiara();
                BaseRunicTool.ApplyAttributesTo(helm, 5, 25, 35);
                helm.Hue     = 0x4D5;
                helm.Movable = true;
                AddItem(helm);

                LeafGorget gorget = new LeafGorget();
                BaseRunicTool.ApplyAttributesTo(gorget, 5, 25, 35);
                gorget.Hue     = 0x4D5;
                gorget.Movable = true;
                AddItem(gorget);

                LeafArms arms = new LeafArms();
                BaseRunicTool.ApplyAttributesTo(arms, 5, 25, 35);
                arms.Hue     = 0x4D5;
                arms.Movable = true;
                AddItem(arms);

                LeafChest chest = new LeafChest();
                BaseRunicTool.ApplyAttributesTo(chest, 5, 25, 35);
                chest.Hue     = 0x4D5;
                chest.Movable = true;
                AddItem(chest);

                LeafTonlet legs = new LeafTonlet();
                BaseRunicTool.ApplyAttributesTo(legs, 5, 25, 35);
                legs.Hue     = 0x4D5;
                legs.Movable = true;
                AddItem(legs);

                LightBoots boots = new LightBoots();
                BaseRunicTool.ApplyAttributesTo(boots, 5, 25, 35);
                boots.Hue     = 0x4D5;
                boots.Movable = true;
                AddItem(boots);

                new Nightmare().Rider = this;
            }
            else
            {
                Name       = NameList.RandomName("elven male");
                Title      = "Svartalfar Ranger of Dragon Sanctuary";
                Body       = 605;
                Hue        = Utility.RandomList(897, 898, 899, 900, 901, 905, 990, 995, 996, 997, 998, 999, 2401, 2402, 2403, 2404, 2405, 2406, 2407, 2408, 2409, 2410, 2411);
                HairHue    = 2405;
                HairItemID = Utility.RandomList(12224, 12225, 12236, 12237, 12238, 12239);

                BaseWeapon weapon = Loot.RandomWeapon(true);
                switch (Utility.Random(3))
                {
                case 0: weapon = new EbonyGreatBow(); break;

                case 1: weapon = new EbonyWarBow(); break;

                case 2: weapon = new SkeletalWarBow(); break;
                }

                BaseRunicTool.ApplyAttributesTo(weapon, 5, 25, 35);
                weapon.Slayer = SlayerName.ReptilianDeath;
                weapon.WeaponAttributes.HitLightning = 25;
                weapon.Hue     = 0x4D5;
                weapon.Movable = true;
                AddItem(weapon);

                EbonsilkTiara helm = new EbonsilkTiara();
                BaseRunicTool.ApplyAttributesTo(helm, 5, 25, 35);
                helm.Hue     = 0x4D5;
                helm.Movable = true;
                AddItem(helm);

                EbonsilkGorget gorget = new EbonsilkGorget();
                BaseRunicTool.ApplyAttributesTo(gorget, 5, 25, 35);
                gorget.Hue     = 0x4D5;
                gorget.Movable = true;
                AddItem(gorget);

                EbonsilkArms arms = new EbonsilkArms();
                BaseRunicTool.ApplyAttributesTo(arms, 5, 25, 35);
                arms.Hue     = 0x4D5;
                arms.Movable = true;
                AddItem(arms);

                EbonsilkChest chest = new EbonsilkChest();
                BaseRunicTool.ApplyAttributesTo(chest, 5, 25, 35);
                chest.Hue     = 0x4D5;
                chest.Movable = true;
                AddItem(chest);

                EbonsilkLegs legs = new EbonsilkLegs();
                BaseRunicTool.ApplyAttributesTo(legs, 5, 25, 35);
                legs.Hue     = 0x4D5;
                legs.Movable = true;
                AddItem(legs);

                HighBoots boots = new HighBoots();
                BaseRunicTool.ApplyAttributesTo(boots, 5, 25, 35);
                boots.Hue     = 0x4D5;
                boots.Movable = true;
                AddItem(boots);

                new FireSteed().Rider = this;
            }
        }