Example #1
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);
            }
        }
Example #2
0
        public AmazonWarrioress() : base(AIType.AI_Melee, FightMode.Closest, 5, 1, 0.45, 0.45)
        {
            Title = "an Amazon Warrioress";

            SetSkill(SkillName.Parry, 40.0, 60.0);
            SetSkill(SkillName.Swords, 40.0, 60.0);
            SetSkill(SkillName.Tactics, 50.0, 70.0);
            SetSkill(SkillName.MagicResist, 100.0);

            AddItem(MakeAmazonArmor(new FemalePlateChest()));
            AddItem(MakeAmazonArmor(new LeatherShorts()));
            AddItem(MakeAmazonArmor(new LeatherGloves()));
            AddItem(MakeAmazonArmor(new Boots()));

            double random = Utility.RandomDouble();

            if (0.33 > random)
            {
                Spear weapon = new Spear();

                double randomdamage = Utility.RandomDouble();
                if (0.05 > randomdamage)
                {
                    weapon.DamageLevel = WeaponDamageLevel.Vanq;
                }
                else if (0.10 > randomdamage)
                {
                    weapon.DamageLevel = WeaponDamageLevel.Force;
                }

                //if ( 0.10 > Utility.RandomDouble() )
                //	weapon.Attributes.SpellChanneling = 1;

                AddItem(MakeAmazonArmor(weapon));
                SetDamage(10, 15);
            }
            else if (0.10 > random)
            {
                DoubleBladedStaff weapon = new DoubleBladedStaff();

                double randomdamage = Utility.RandomDouble();
                if (0.05 > randomdamage)
                {
                    weapon.DamageLevel = WeaponDamageLevel.Vanq;
                }
                else if (0.10 > randomdamage)
                {
                    weapon.DamageLevel = WeaponDamageLevel.Force;
                }

                AddItem(NotCorpseCont(MakeAmazonArmor(weapon)));
                SetDamage(12, 18);
            }
            else
            {
                AddItem(new BlackStaff());
                SetDamage(8, 10);
            }

            SetResistance(ResistanceType.Physical, 25, 40);
            SetResistance(ResistanceType.Fire, 25, 30);
            SetResistance(ResistanceType.Cold, 25, 30);
            SetResistance(ResistanceType.Poison, 100, 100);
            SetResistance(ResistanceType.Energy, 25, 40);

            Fame  = 0;
            Karma = -3000;

            SetStr(50, 65);
            SetDex(50, 55);
            SetInt(10, 13);

            SetHits(60, 80);

            SetDamageType(ResistanceType.Physical, 80);
            SetDamageType(ResistanceType.Fire, 20);

            VirtualArmor = 30;
        }
        /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

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

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

            switch (nType)
            {
            case 1:         item = new Cutlass();                   item.Name = "cutlass";                  break;

            case 2:         item = new Katana();                    item.Name = "katana";                   break;

            case 3:         item = new Kryss();                             item.Name = "kryss";                    break;

            case 4:         item = new Broadsword();                item.Name = "broadsword";               break;

            case 5:         item = new Longsword();                 item.Name = "longsword";                break;

            case 6:         item = new ThinLongsword();             item.Name = "longsword";                break;

            case 7:         item = new VikingSword();               item.Name = "barbarian sword";  break;

            case 8:         item = new Scimitar();                  item.Name = "scimitar";                 break;

            case 9:         item = new BoneHarvester();             item.Name = "sickle";                   break;

            case 10:        item = new CrescentBlade();             item.Name = "crescent blade";   break;

            case 11:        item = new DoubleBladedStaff(); item.Name = "bladed staff";             break;

            case 12:        item = new Lance();                             item.Name = "lance";                    break;

            case 13:        item = new Pike();                              item.Name = "pike";                             break;

            case 14:        item = new Scythe();                    item.Name = "scythe";                   break;

            case 15:        item = new Dagger();                    item.Name = "dagger";                   break;

            case 16:        item = new HammerPick();                item.Name = "hammer pick";              break;

            case 17:        item = new Mace();                              item.Name = "mace";                             break;

            case 18:        item = new Maul();                              item.Name = "maul";                             break;

            case 19:        item = new WarHammer();                 item.Name = "war hammer";               break;

            case 20:        item = new WarMace();                   item.Name = "war mace";                 break;

            case 21:        item = new ExecutionersAxe();   item.Name = "great axe";                break;

            case 22:        item = new BattleAxe();                 item.Name = "battle axe";               break;

            case 23:        item = new TwoHandedAxe();              item.Name = "two-handed axe";   break;

            case 24:        item = new Axe();                               item.Name = "axe";                              break;

            case 25:        item = new DoubleAxe();                 item.Name = "double axe";               break;

            case 26:        item = new RoyalSword();                item.Name = "royal sword";              break;

            case 27:        item = new LargeBattleAxe();    item.Name = "large battle axe"; break;

            case 28:        item = new WarAxe();                    item.Name = "war axe";                  break;

            case 29:        item = new Bardiche();                  item.Name = "bardiche";                 break;

            case 30:        item = new Halberd();                   item.Name = "halberd";                  break;

            case 31:        item = new Pitchfork();                 item.Name = "trident";                  break;

            case 32:        item = new ShortSpear();                item.Name = "short spear";              break;

            case 33:        item = new Spear();                             item.Name = "spear";                    break;

            case 34:        item = new NoDachi();                   item.Name = "no dachi";                 break;

            case 35:        item = new Wakizashi();                 item.Name = "wakizashi";                break;

            case 36:        item = new Tetsubo();                   item.Name = "tetsubo";                  break;

            case 37:        item = new Lajatang();                  item.Name = "lajatang";                 break;

            case 38:        item = new Daisho();                    item.Name = "daisho";                   break;

            case 39:        item = new Tekagi();                    item.Name = "tekagi";                   break;

            case 40:        item = new Kama();                              item.Name = "kama";                             break;

            case 41:        item = new Sai();                               item.Name = "sai";                              break;
            }

            return(item);
        }
Example #4
0
        public override void InitOutfit()
        {
            Name             = "Grog-muk Nag";
            Body             = 400;
            Female           = false;
            Race             = Race.Human;
            Hue              = 2212;
            HairItemID       = 8265;
            HairHue          = 1109;
            FacialHairItemID = 0;
            FacialHairHue    = 0;

            SetStr(287);
            SetDex(159);
            SetInt(78);

            SetSkill(SkillName.ArmsLore, 64.0, 100.0);
            SetSkill(SkillName.Blacksmith, 65.0, 88.0);
            SetSkill(SkillName.Fencing, 45.0, 68.0);
            SetSkill(SkillName.Macing, 45.0, 68.0);
            SetSkill(SkillName.Swords, 45.0, 68.0);
            SetSkill(SkillName.Tactics, 36.0, 68.0);

            PackGold(42, 68);

            AddItem(new OrcishKinMask(2212));

            StuddedArms arms = new StuddedArms();

            arms.Hue     = 2423;
            arms.Movable = false;
            AddItem(arms);

            StuddedChest chest = new StuddedChest();

            chest.Hue     = 2423;
            chest.Movable = false;
            AddItem(chest);

            StuddedGloves gloves = new StuddedGloves();

            gloves.Hue     = 2423;
            gloves.Movable = false;
            AddItem(gloves);

            StuddedGorget gorget = new StuddedGorget();

            gorget.Hue     = 2423;
            gorget.Movable = false;
            AddItem(gorget);

            StuddedLegs legs = new StuddedLegs();

            legs.Hue     = 2423;
            legs.Movable = false;
            AddItem(legs);

            DoubleBladedStaff weapon = new DoubleBladedStaff();

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

            AddItem(new Boots(993));
        }
Example #5
0
        public Urk() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            BaseSoundID      = 0x45A;
            Hue              = 0x430;
            Body             = 0x190;
            Name             = NameList.RandomName("urk");
            HairItemID       = 0;
            FacialHairItemID = 0;

            Item helm = new WornHumanDeco();

            helm.Name   = "urkish face";
            helm.ItemID = 0x141B;
            helm.Hue    = 0x430;
            helm.Layer  = Layer.Helm;
            AddItem(helm);

            if (Utility.RandomMinMax(1, 2) == 1)
            {
                LeatherArms ratarms = new LeatherArms();
                ratarms.Name        = "urkish rat skin arms";
                ratarms.PoisonBonus = 6;
                ratarms.Hue         = 0x972;
                AddItem(ratarms);

                LeatherChest ratchest = new LeatherChest();
                ratchest.Name        = "urkish rat skin tunic";
                ratchest.PoisonBonus = 8;
                ratchest.Hue         = 0x972;
                AddItem(ratchest);

                LeatherGloves ratgloves = new LeatherGloves();
                ratgloves.Name        = "urkish rat skin gloves";
                ratgloves.PoisonBonus = 5;
                ratgloves.Hue         = 0x972;
                AddItem(ratgloves);

                LeatherGorget ratgorget = new LeatherGorget();
                ratgorget.Name        = "urkish rat skin gorget";
                ratgorget.PoisonBonus = 4;
                ratgorget.Hue         = 0x972;
                AddItem(ratgorget);

                LeatherLegs ratlegs = new LeatherLegs();
                ratlegs.Name        = "urkish rat skin leggings";
                ratlegs.PoisonBonus = 7;
                ratlegs.Hue         = 0x972;
                AddItem(ratlegs);
            }
            else
            {
                BoneChest bonechest = new BoneChest();
                bonechest.Name        = "urkish chest piece";
                bonechest.PoisonBonus = 8;
                bonechest.Hue         = 0x972;
                AddItem(bonechest);

                BoneArms bonearms = new BoneArms();
                bonearms.Name        = "urkish bracers";
                bonearms.PoisonBonus = 6;
                bonearms.Hue         = 0x972;
                AddItem(bonearms);

                BoneLegs bonelegs = new BoneLegs();
                bonelegs.Name        = "urkish leggings";
                bonelegs.PoisonBonus = 7;
                bonelegs.Hue         = 0x972;
                AddItem(bonelegs);

                BoneGloves bonegloves = new BoneGloves();
                bonegloves.Name        = "urkish gauntlets";
                bonegloves.PoisonBonus = 5;
                bonegloves.Hue         = 0x972;
                AddItem(bonegloves);
            }

            Item weapon = new BattleAxe();

            switch (Utility.Random(28))
            {
            case 0: weapon = new BattleAxe(); weapon.Name = "battle axe"; break;

            case 1: weapon = new VikingSword(); weapon.Name = "great sword"; break;

            case 2: weapon = new Halberd(); weapon.Name = "halberd"; break;

            case 3: weapon = new DoubleAxe(); weapon.Name = "double axe"; break;

            case 4: weapon = new ExecutionersAxe(); weapon.Name = "great axe"; break;

            case 5: weapon = new WarAxe(); weapon.Name = "war axe"; break;

            case 6: weapon = new TwoHandedAxe(); weapon.Name = "two handed axe"; break;

            case 7: weapon = new Cutlass(); weapon.Name = "cutlass"; break;

            case 8: weapon = new Katana(); weapon.Name = "katana"; break;

            case 9: weapon = new Kryss(); weapon.Name = "kryss"; break;

            case 10: weapon = new Broadsword(); weapon.Name = "broadsword"; break;

            case 11: weapon = new Longsword(); weapon.Name = "longsword"; break;

            case 12: weapon = new ThinLongsword(); weapon.Name = "longsword"; break;

            case 13: weapon = new Scimitar(); weapon.Name = "scimitar"; break;

            case 14: weapon = new BoneHarvester(); weapon.Name = "sickle"; break;

            case 15: weapon = new CrescentBlade(); weapon.Name = "crescent blade"; break;

            case 16: weapon = new DoubleBladedStaff(); weapon.Name = "double bladed staff"; break;

            case 17: weapon = new Pike(); weapon.Name = "pike"; break;

            case 18: weapon = new Scythe(); weapon.Name = "scythe"; break;

            case 19: weapon = new Pitchfork(); weapon.Name = "trident"; break;

            case 20: weapon = new ShortSpear(); weapon.Name = "short spear"; break;

            case 21: weapon = new Spear(); weapon.Name = "spear"; break;

            case 22: weapon = new Club(); weapon.Name = "club"; break;

            case 23: weapon = new HammerPick(); weapon.Name = "hammer pick"; break;

            case 24: weapon = new Mace(); weapon.Name = "mace"; break;

            case 25: weapon = new Maul(); weapon.Name = "maul"; break;

            case 26: weapon = new WarHammer(); weapon.Name = "war hammer"; break;

            case 27: weapon = new WarMace(); weapon.Name = "war mace"; break;
            }

            weapon.Name = "urkish " + weapon.Name;
            weapon.Hue  = 0x7D1;
            ((BaseWeapon)weapon).AosElementDamages.Physical = 60;
            ((BaseWeapon)weapon).AosElementDamages.Poison   = 40;
            AddItem(weapon);

            switch (Utility.RandomMinMax(0, 5))
            {
            case 0: Title = "the urk warrior"; break;

            case 1: Title = "the urk savage"; break;

            case 2: Title = "the urk barbarian"; break;

            case 3: Title = "the urk fighter"; break;

            case 4: Title = "the urk gladiator"; break;

            case 5: Title = "the urk berserker"; break;
            }

            SetStr(196, 250);
            SetDex(76, 95);
            SetInt(36, 60);

            SetHits(118, 150);

            SetDamage(8, 18);

            SetDamageType(ResistanceType.Physical, 60);
            SetDamageType(ResistanceType.Poison, 40);

            SetResistance(ResistanceType.Physical, 35, 45);
            SetResistance(ResistanceType.Fire, 20, 30);
            SetResistance(ResistanceType.Cold, 50, 60);
            SetResistance(ResistanceType.Poison, 60, 80);
            SetResistance(ResistanceType.Energy, 30, 40);

            SetSkill(SkillName.MagicResist, 65.1, 80.0);
            SetSkill(SkillName.Tactics, 85.1, 100.0);
            SetSkill(SkillName.Macing, 85.1, 95.0);
            SetSkill(SkillName.Swords, 85.1, 95.0);
            SetSkill(SkillName.Fencing, 85.1, 95.0);
            SetSkill(SkillName.Wrestling, 85.1, 95.0);

            Fame  = 3000;
            Karma = -3000;

            VirtualArmor = 40;
        }