Пример #1
0
        /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

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

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

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

            case 3:         item = new Club();                                      item.Name = "club";                                     break;

            case 4:         item = new GnarledStaff();                      item.Name = "staff";                            break;

            case 5:         item = new ShepherdsCrook();            item.Name = "crook";                            break;

            case 6:
            case 7:
            case 8:
            case 9:
                item = CreateWoodenArmor();                                                                                             break;

            case 10:
            case 11:
            case 12:
            case 13:
                item = CreateBowItem();                                                                                                 break;

            case 14:        item = new Nunchaku();                          item.Name = "nunchaku";                         break;

            case 15:        item = new Bokuto();                            item.Name = "bokuto";                           break;
            }

            return(item);
        }
Пример #2
0
            public InternalBuyInfo()
            {
                Add(new GenericBuyInfo("Hatchet", typeof(Hatchet), Hatchet.GetSBPurchaseValue(), 50, 0xF43, 0));
                Add(new GenericBuyInfo("Saw", typeof(Saw), Saw.GetSBPurchaseValue(), 50, 0x1034, 0));

                Add(new GenericBuyInfo("Club", typeof(Club), Club.GetSBPurchaseValue(), 25, 0x13B4, 0));
                Add(new GenericBuyInfo("Shepherd's Crook", typeof(ShepherdsCrook), ShepherdsCrook.GetSBPurchaseValue(), 25, 0xE81, 0));
                Add(new GenericBuyInfo("Quarter Staff", typeof(QuarterStaff), QuarterStaff.GetSBPurchaseValue(), 25, 0xE89, 0));
                Add(new GenericBuyInfo("Gnarled Staff", typeof(GnarledStaff), GnarledStaff.GetSBPurchaseValue(), 25, 0x13F8, 0));
                Add(new GenericBuyInfo("Black Staff", typeof(BlackStaff), BlackStaff.GetSBPurchaseValue(), 25, 0xDF0, 0));

                Add(new GenericBuyInfo("Wooden Shield", typeof(WoodenShield), WoodenShield.GetSBPurchaseValue(), 25, 7034, 0));
                Add(new GenericBuyInfo("Wooden Kite Shield", typeof(WoodenKiteShield), WoodenKiteShield.GetSBPurchaseValue(), 25, 7033, 0));

                Add(new GenericBuyInfo("Lute", typeof(Lute), Lute.GetSBPurchaseValue(), 50, 0x0EB3, 0));
                Add(new GenericBuyInfo("Drums", typeof(Drums), Drums.GetSBPurchaseValue(), 50, 0x0E9C, 0));
                Add(new GenericBuyInfo("Harp", typeof(Harp), Harp.GetSBPurchaseValue(), 50, 0x0EB1, 0));
                Add(new GenericBuyInfo("Tambourine", typeof(Tambourine), Tambourine.GetSBPurchaseValue(), 50, 0x0E9E, 0));

                Add(new GenericBuyInfo("Scorp", typeof(Scorp), Scorp.GetSBPurchaseValue(), 50, 0x10E7, 0));
                Add(new GenericBuyInfo("Smoothing Plane", typeof(SmoothingPlane), SmoothingPlane.GetSBPurchaseValue(), 50, 0x1032, 0));
                Add(new GenericBuyInfo("Drawing Knife", typeof(DrawKnife), DrawKnife.GetSBPurchaseValue(), 50, 0x10E4, 0));
                Add(new GenericBuyInfo("Froe", typeof(Froe), Froe.GetSBPurchaseValue(), 50, 0x10E5, 0));
                Add(new GenericBuyInfo("Hammer", typeof(Hammer), Hammer.GetSBPurchaseValue(), 50, 0x102A, 0));
                Add(new GenericBuyInfo("Inshave", typeof(Inshave), Inshave.GetSBPurchaseValue(), 50, 0x10E6, 0));
                Add(new GenericBuyInfo("Jointing Plane", typeof(JointingPlane), JointingPlane.GetSBPurchaseValue(), 50, 0x1030, 0));
                Add(new GenericBuyInfo("Wooden Plane", typeof(WoodenPlane), WoodenPlane.GetSBPurchaseValue(), 50, 0x102C, 0));
                Add(new GenericBuyInfo("Dovetail Saw", typeof(DovetailSaw), DovetailSaw.GetSBPurchaseValue(), 50, 0x1028, 0));
            }
Пример #3
0
        public BarbarianShaman() : base(AIType.AI_SphereMage, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            int hairHue = Utility.RandomHairHue();

            Hue = Utility.RandomSkinHue();

            Body = 0x190;
            Name = "Barbarian Shaman";
            AddItem(new LongHair(hairHue));
            AddItem(new ShortBeard(hairHue));
            Item temp;

            temp         = new ThighBoots();
            temp.Hue     = 0x01bb;
            temp.Movable = false;
            AddItem(temp);
            temp         = new Kilt();
            temp.Hue     = 0x01bb;
            temp.Movable = false;
            AddItem(temp);
            temp         = new BodySash();
            temp.Hue     = 0x01bb;
            temp.Movable = false;
            AddItem(temp);
            temp         = new GnarledStaff();
            temp.Movable = false;
            AddItem(temp);

            SetStr(100, 150);
            SetDex(81, 95);
            SetInt(20, 30);
            SetHits(150, 200);
            SetStam(81, 95);
            SetMana(100);

            SetDamage(20, 25);
            SetSkill(SkillName.Magery, 60.0, 75.0);
            SetSkill(SkillName.Parry, 75.0, 100.0);
            SetSkill(SkillName.MagicResist, 40.0, 55.0);
            SetSkill(SkillName.Macing, 100.0);
            SetSkill(SkillName.Tactics, 80.0, 95.0);
            SetSkill(SkillName.Wrestling, 80.0, 95.0);

            Fame  = Utility.RandomMinMax(3500, 5000);
            Karma = Utility.RandomMinMax(-4000, -6000);

            VirtualArmor = 20;

            if (Utility.RandomDouble() <= 0.7)
            {
                Spellbook book = new Spellbook();
                book.Content  = ulong.MaxValue;
                book.LootType = LootType.Regular;
                AddItem(book);
            }
        }
Пример #4
0
        public BloodStoneWitch() : base(AIType.AI_SphereMage, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            Name   = NameList.RandomName("female");
            Title  = "the Blood Stone Witch";
            Body   = 0x0191;
            Hue    = 0x0493;
            Female = true;
            SetStr(100, 150);
            SetDex(100, 150);
            SetInt(200);

            SetHits(100, 150);
            SetStam(100, 150);
            SetMana(200);
            SetDamage(30, 40);

            AddItem(new LongHair(1));

            Item temp;

            temp         = new FancyShirt(0);
            temp.Movable = false;
            AddItem(temp);

            temp         = new Skirt(1);
            temp.Movable = false;
            AddItem(temp);

            temp         = new WizardsHat(1);
            temp.Movable = false;
            AddItem(temp);

            temp         = new ThighBoots(1);
            temp.Movable = false;
            AddItem(temp);

            temp = new GnarledStaff();
            AddItem(temp);
            //PackGold(100, 200);

            SetSkill(SkillName.MagicResist, 80.0, 90.0);
            SetSkill(SkillName.Magery, 100.0, 150.0);
            SetSkill(SkillName.Macing, 55.0, 75.0);
            SetSkill(SkillName.Tactics, 70.0, 90.0);
            SetSkill(SkillName.Wrestling, 40.0, 55.0);

            Fame  = Utility.RandomMinMax(2000, 4000);
            Karma = Utility.RandomMinMax(-3000, -5000);

            VirtualArmor = 45;

            PackItem(new Sandals());
        }
Пример #5
0
            public InternalSellInfo()
            {
                Add(typeof(Hatchet), Hatchet.GetSBSellValue());
                Add(typeof(Saw), Saw.GetSBSellValue());

                Add(typeof(Scorp), Scorp.GetSBSellValue());
                Add(typeof(SmoothingPlane), SmoothingPlane.GetSBSellValue());
                Add(typeof(DrawKnife), DrawKnife.GetSBSellValue());
                Add(typeof(Froe), Froe.GetSBSellValue());
                Add(typeof(Hammer), Hammer.GetSBSellValue());
                Add(typeof(Inshave), Inshave.GetSBSellValue());
                Add(typeof(JointingPlane), JointingPlane.GetSBSellValue());
                Add(typeof(WoodenPlane), WoodenPlane.GetSBSellValue());
                Add(typeof(DovetailSaw), DovetailSaw.GetSBSellValue());

                Add(typeof(Lute), Lute.GetSBSellValue());
                Add(typeof(Drums), Drums.GetSBSellValue());
                Add(typeof(Harp), Harp.GetSBSellValue());
                Add(typeof(Tambourine), Tambourine.GetSBSellValue());

                Add(typeof(Club), Club.GetSBSellValue());
                Add(typeof(ShepherdsCrook), ShepherdsCrook.GetSBSellValue());
                Add(typeof(QuarterStaff), QuarterStaff.GetSBSellValue());
                Add(typeof(GnarledStaff), GnarledStaff.GetSBSellValue());
                Add(typeof(BlackStaff), BlackStaff.GetSBSellValue());

                Add(typeof(WoodenShield), WoodenShield.GetSBSellValue());
                Add(typeof(WoodenKiteShield), WoodenKiteShield.GetSBSellValue());

                /*
                 *              Add( typeof( WoodenBox ), 7 );
                 *              Add( typeof( SmallCrate ), 5 );
                 *              Add( typeof( MediumCrate ), 6 );
                 *              Add( typeof( LargeCrate ), 7 );
                 *              Add( typeof( WoodenChest ), 15 );
                 *
                 *              Add( typeof( LargeTable ), 10 );
                 *              Add( typeof( Nightstand ), 7 );
                 *              Add( typeof( YewWoodTable ), 10 );
                 *              Add( typeof( WritingTable ), 9 );
                 *
                 *              Add( typeof( Throne ), 24 );
                 *              Add( typeof( WoodenThrone ), 6 );
                 *              Add( typeof( Stool ), 6 );
                 *              Add( typeof( FootStool ), 6 );
                 *
                 *              Add( typeof( FancyWoodenChairCushion ), 12 );
                 *              Add( typeof( CushionedWoodenChair ), 10 );
                 *              Add( typeof( WoodenChair ), 8 );
                 *              Add( typeof( BambooChair ), 6 );
                 *              Add( typeof( WoodenBench ), 6 );
                 */
            }
Пример #6
0
        public NoviceNecromancer()
            : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.6)
        {
            Name = "un apprenti nécromant";
            Body = 400;
            Hue  = 1109;

            Item shroud = new RobeACapuche(1109);

            shroud.Movable = false;
            AddItem(shroud);

            Item staff = new GnarledStaff();

            staff.Hue     = 2211;
            staff.Movable = false;
            AddItem(staff);

            SetStr(46, 70);
            SetDex(31, 50);
            SetInt(26, 60);

            SetHits(45, 60);

            SetDamage(5, 13);

            SetDamageType(ResistanceType.Physical, 50);
            SetDamageType(ResistanceType.Poison, 25);
            SetDamageType(ResistanceType.Energy, 25);

            SetResistance(ResistanceType.Physical, 15, 25);
            SetResistance(ResistanceType.Fire, 5, 10);
            SetResistance(ResistanceType.Poison, 5, 10);
            SetResistance(ResistanceType.Cold, 5, 10);
            SetResistance(ResistanceType.Energy, 15, 25);

            SetSkill(SkillName.MagicResist, 15.1, 40.0);
            SetSkill(SkillName.Tactics, 35.1, 50.0);
            SetSkill(SkillName.Macing, 35.1, 50.0);
            SetSkill(SkillName.Necromancy, 35.1, 50.0);
            SetSkill(SkillName.Focus, 35.1, 50.0);
            SetSkill(SkillName.SpiritSpeak, 35.1, 50.0);
            SetSkill(SkillName.Meditation, 35.1, 50.0);

            Fame  = 600;
            Karma = -600;

            VirtualArmor = 25;

            PackNecroReg(5, 10);
        }
Пример #7
0
        public override void InitOutfit()
        {
            AddItem(Immovable(new Robe(0x1)));
            AddItem(Immovable(new Sandals()));
            AddItem(Immovable(new WizardsHat(0x1)));
            AddItem(Immovable(new GoldBracelet()));

            HairItemID = 0x203C;

            Item staff = new GnarledStaff();

            staff.Movable = false;
            AddItem(staff);
        }
Пример #8
0
        public override void InitOutfit()
        {
            AddItem(new Robe(0x1));
            AddItem(new Sandals());
            AddItem(new WizardsHat(0x1));
            AddItem(new GoldBracelet());

            AddItem(new LongHair(0x0));

            Item staff = new GnarledStaff();

            staff.Movable = false;
            AddItem(staff);
        }
Пример #9
0
        public override void InitOutfit()
        {
            //base.InitOutfit();

            Hue = 33777;

            Item shroud = new RobeACapuche(1109);

            shroud.Movable = false;
            AddItem(shroud);

            Item staff = new GnarledStaff();

            staff.Hue     = 2211;
            staff.Movable = false;
            AddItem(staff);
        }
Пример #10
0
        public Haggis()
        {
            Hue = 0x83EA;

            Female = true;
            Body   = 0x191;
            Name   = "Haggis";
            Title  = "the Blind Witch";

            AddItem(new Robe(0x1));
            AddItem(new Sandals());
            AddItem(new GoldBracelet());

            AddItem(new LongHair(0x0));

            Item staff = new GnarledStaff();

            staff.Movable = false;
            AddItem(staff);

            Blessed = true;
        }
        public override void GenerateLoot()
        {
            AddLoot(LootPack.Average);
            AddLoot(LootPack.Potions);

            if (Utility.RandomDouble() < 0.15)
            {
                BaseWeapon weapon = Loot.RandomWeapon(true);
                switch (Utility.Random(4))
                {
                case 0: weapon = new QuarterStaff(); break;

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

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

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

                BaseRunicTool.ApplyAttributesTo(weapon, 2, 10, 20);

                PackItem(weapon);
            }
        }
Пример #12
0
        public override void OnResponse(NetState state, RelayInfo info)           //Function for GumpButtonType.Reply Buttons
        {
            Mobile       from   = state.Mobile;
            PlayerMobile pm     = from as PlayerMobile;
            PlayerModule module = pm.PlayerModule;

            m_cost = 50;            //MOD COST OF WEAPON HERE!!
            Item      wep  = from.FindItemOnLayer(Layer.FirstValid);
            Item      weps = from.FindItemOnLayer(Layer.TwoHanded);
            Container pack = from.Backpack;

            if (wep != null)
            {
                pack.TryDropItem(from, wep, false);
            }

            if (weps != null)
            {
                pack.TryDropItem(from, weps, false);
            }

            switch (info.ButtonID)
            {
            case 0:                     //Cancel
            {
                from.SendMessage("You decide against spending your skill points.");
                //from.SendGump( new LevelGump( from ) );
                break;
            }

            case 1:                     //Katana
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    Katana kat = new Katana();
                    (( Item )kat).Name = "Katana [Level Item]";
                    kat.Identified     = true;                                //Prevents others from being used in the upgrading!
                    kat.LootType       = LootType.Blessed;
                    from.EquipItem(kat);
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 2:                     //Broad Sword
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    Broadsword bs = new Broadsword();
                    bs.Identified = true;
                    bs.Name       = "Broadsword";
                    bs.LootType   = LootType.Blessed;
                    from.EquipItem(bs);
                    from.SendMessage(102, "You chose a Broadsword");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 3:                     //Scimitar
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    Scimitar sc = new Scimitar();
                    sc.Identified = true;
                    sc.Name       = "Scimitar";
                    sc.LootType   = LootType.Blessed;
                    from.EquipItem(sc);
                    from.SendMessage(102, "You chose a Scimitar");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 4:                     //Viking sword
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    VikingSword vs = new VikingSword();
                    vs.Identified = true;
                    vs.Name       = "Vikingsword";
                    vs.LootType   = LootType.Blessed;
                    from.EquipItem(vs);
                    from.SendMessage(102, "You chose a Viking Sword");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 5:                     //Halberd
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    Halberd hb = new Halberd();
                    hb.Identified = true;
                    hb.Name       = "Halberd";
                    hb.LootType   = LootType.Blessed;
                    from.EquipItem(hb);
                    from.SendMessage(102, "You chose a Halberd");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 6:                     //Bardiche
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    Bardiche bd = new Bardiche();
                    bd.Identified = true;
                    bd.Name       = "Bardiche";
                    bd.LootType   = LootType.Blessed;
                    from.EquipItem(bd);
                    from.SendMessage(102, "You chose a Bardiche");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 7:                     //Double Axe
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    DoubleAxe da = new DoubleAxe();
                    da.Identified = true;
                    da.Name       = "Double Axe";
                    da.LootType   = LootType.Blessed;
                    from.EquipItem(da);
                    from.SendMessage(102, "You chose a Double Axe");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 8:                     //Large Battle Axe
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    LargeBattleAxe lba = new LargeBattleAxe();
                    lba.Identified = true;
                    lba.Name       = "Large Battle Axe";
                    lba.LootType   = LootType.Blessed;
                    from.EquipItem(lba);
                    from.SendMessage(102, "You chose a Large Battle Axe");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 9:                     //Axe
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    Axe a = new Axe();
                    a.Identified = true;
                    a.Name       = "Axe";
                    a.LootType   = LootType.Blessed;
                    from.EquipItem(a);
                    from.SendMessage(102, "You chose an Axe");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 10:                     //Kryss
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    Kryss k = new Kryss();
                    k.Identified = true;
                    k.Name       = "Kryss";
                    k.LootType   = LootType.Blessed;
                    from.EquipItem(k);
                    from.SendMessage(102, "You chose a Kryss");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 11:                     //War Fork
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    WarFork wf = new WarFork();
                    wf.Identified = true;
                    wf.Name       = "War Fork";
                    wf.LootType   = LootType.Blessed;
                    from.EquipItem(wf);
                    from.SendMessage(102, "You chose a War Fork");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 12:                     //Dagger
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    Dagger d = new Dagger();
                    d.Identified = true;
                    d.Name       = "Dagger";
                    d.LootType   = LootType.Blessed;
                    from.EquipItem(d);
                    from.SendMessage(102, "You chose a Dagger");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 13:                     //Pike
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    Pike p = new Pike();
                    p.Identified = true;
                    p.Name       = "Pike";
                    p.LootType   = LootType.Blessed;
                    from.EquipItem(p);
                    from.SendMessage(102, "You chose a Pike");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 14:                     //Short Spear
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    ShortSpear ss = new ShortSpear();
                    ss.Identified = true;
                    ss.Name       = "Short Spear";
                    ss.LootType   = LootType.Blessed;
                    from.EquipItem(ss);
                    from.SendMessage(102, "You chose a Short Spear");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 15:                     //Long Spear
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    Spear ls = new Spear();
                    ls.Identified = true;
                    ls.Name       = "Long Spear";
                    ls.LootType   = LootType.Blessed;
                    from.EquipItem(ls);
                    from.SendMessage(102, "You chose a Long Spear");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 16:                     //Pitchfork
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    Pitchfork p = new Pitchfork();
                    p.Identified = true;
                    p.Name       = "Pitchfork";
                    p.LootType   = LootType.Blessed;
                    from.EquipItem(p);
                    from.SendMessage(102, "You chose a Pitchfork");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 17:                     //lance
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    Lance l = new Lance();
                    l.Identified = true;
                    l.Name       = "Lance";
                    l.LootType   = LootType.Blessed;
                    from.EquipItem(l);
                    from.SendMessage(102, "You chose a Lance");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 18:                     //Sai's
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    Sai s = new Sai();
                    s.Identified = true;
                    s.Name       = "Sai";
                    s.LootType   = LootType.Blessed;
                    from.EquipItem(s);
                    from.SendMessage(102, "You chose Sai's");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 19:                     //War Mace
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    WarMace wm = new WarMace();
                    wm.Identified = true;
                    wm.Name       = "War Mace";
                    wm.LootType   = LootType.Blessed;
                    from.EquipItem(wm);
                    from.SendMessage(102, "You chose a War Mace");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 20:                     //War Hammer
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    WarHammer wh = new WarHammer();
                    wh.Identified = true;
                    wh.Name       = "War Hammer";
                    wh.LootType   = LootType.Blessed;
                    from.EquipItem(wh);
                    from.SendMessage(102, "You chose a War Hammer");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 21:                     //Maul
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    Maul w = new Maul();
                    w.Identified = true;
                    w.Name       = "Maul";
                    w.LootType   = LootType.Blessed;
                    from.EquipItem(w);
                    from.SendMessage(102, "You chose a Maul");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 22:                     //Club
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    Club w = new Club();
                    w.Identified = true;
                    w.Name       = "Club";
                    w.LootType   = LootType.Blessed;
                    from.EquipItem(w);
                    from.SendMessage(102, "You chose a Club");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 23:                     //Q Staff
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    QuarterStaff w = new QuarterStaff();
                    w.Identified = true;
                    w.Name       = "Quarter Staff";
                    w.LootType   = LootType.Blessed;
                    from.EquipItem(w);
                    from.SendMessage(102, "You chose a Quarter Staff");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 24:                     //G Staff
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    GnarledStaff w = new GnarledStaff();
                    w.Identified = true;
                    w.Name       = "Gnarled Staff";
                    w.LootType   = LootType.Blessed;
                    from.EquipItem(w);
                    from.SendMessage(102, "You chose a Gnarled Staff");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 25:                     //B Staff
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    BlackStaff w = new BlackStaff();
                    w.Identified = true;
                    w.Name       = "BlackStaff";
                    w.LootType   = LootType.Blessed;
                    from.EquipItem(w);
                    from.SendMessage(102, "You chose a Black Staff");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 26:                     //Hammer Pick
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    HammerPick w = new HammerPick();
                    w.Identified = true;
                    w.Name       = "Hammer Pick";
                    w.LootType   = LootType.Blessed;
                    from.EquipItem(w);
                    from.SendMessage(102, "You chose a Hammer Pick");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 27:                     //War Axe
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    WarAxe w = new WarAxe();
                    w.Identified = true;
                    w.Name       = "War Axe";
                    w.LootType   = LootType.Blessed;
                    from.EquipItem(w);
                    from.SendMessage(102, "You chose a War Axe");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 28:                     //Bow
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    Bow w = new Bow();
                    w.Identified = true;
                    w.Name       = "Bow";
                    w.LootType   = LootType.Blessed;
                    from.EquipItem(w);
                    from.SendMessage(102, "You chose a Bow");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 29:                     //Composite Bow
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    CompositeBow w = new CompositeBow();
                    w.Identified = true;
                    w.Name       = "Composite Bow";
                    w.LootType   = LootType.Blessed;
                    from.EquipItem(w);
                    from.SendMessage(102, "You chose a Composite Bow");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 30:                     //Crossbow
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    Crossbow w = new Crossbow();
                    w.Identified = true;
                    w.Name       = "Crossbow";
                    w.LootType   = LootType.Blessed;
                    from.EquipItem(w);
                    from.SendMessage(102, "You chose a Crossbow");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 31:                     //Heavy Crossbow
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    HeavyCrossbow w = new HeavyCrossbow();
                    w.Identified = true;
                    w.Name       = "Heavy Crossbow";
                    w.LootType   = LootType.Blessed;
                    from.EquipItem(w);
                    from.SendMessage(102, "You chose a Heavy Crossbow");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 32:                     //Repeating Crossbow
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    RepeatingCrossbow w = new RepeatingCrossbow();
                    w.Identified = true;
                    w.Name       = "Repeating Crossbow";
                    w.LootType   = LootType.Blessed;
                    from.EquipItem(w);
                    from.SendMessage(102, "You chose a Repeating Crossbow");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 33:                     //Yumi
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    Yumi w = new Yumi();
                    w.Identified = true;
                    w.Name       = "Yumi";
                    w.LootType   = LootType.Blessed;
                    from.EquipItem(w);
                    from.SendMessage(102, "You chose a Yumi");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }
            }
        }
Пример #13
0
        private void AddEquipment(GuardType type)
        {
            AddItem(new Boots(Faction.primaryHue));
            AddItem(new Cloak(Faction.primaryHue));
            AddItem(new BodySash(Faction.primaryHue));

            switch (type)
            {
            default:
            case GuardType.Archer:
            {
                AddItem(new LeatherLegs());
                AddItem(new StuddedChest());
                AddItem(new LeatherGloves());
                AddItem(new LeatherArms());

                Bow bow = new Bow();
                bow.Quality = WeaponQuality.Exceptional;

                AddItem(bow);
                AddToBackpack(new Arrow(200));
            } break;

            case GuardType.Cavalry:
            {
                AddItem(new PlateLegs());
                AddItem(new RingmailChest());
                AddItem(new FancyShirt());
                AddItem(new PlateGorget());
                AddItem(new RingmailGloves());

                BaseWeapon weapon;

                if (Utility.RandomBool())
                {
                    weapon = new Halberd();
                }
                else
                {
                    weapon = new Bardiche();
                }

                weapon.Quality  = WeaponQuality.Exceptional;
                weapon.Resource = CraftResource.Gold;

                weapon.Speed += (Core.AOS ? 5 : -1);

                AddItem(weapon);
            } break;

            case GuardType.Pikeman:
            {
                AddItem(new RingmailLegs());
                AddItem(new RingmailChest());
                AddItem(new RingmailArms());
                AddItem(new RingmailGloves());
                AddItem(new PlateGorget());

                if (Utility.RandomBool())
                {
                    AddItem(new CloseHelm());
                }
                else
                {
                    AddItem(new NorseHelm());
                }

                AddItem(new Pike());
            } break;

            case GuardType.Swordsman:
            {
                AddItem(new ChainLegs());
                AddItem(new ChainChest());
                AddItem(new RingmailArms());
                AddItem(new RingmailGloves());
                AddItem(new PlateGorget());

                switch (Utility.Random(3))
                {
                case 0: AddItem(new CloseHelm()); break;

                case 1: AddItem(new NorseHelm()); break;

                case 2: AddItem(new PlateHelm()); break;
                }

                BaseWeapon weapon;

                switch (Utility.Random(4))
                {
                default:
                case 0: weapon = new Broadsword(); break;

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

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

                case 3: weapon = new Axe(); break;
                }

                weapon.Quality  = WeaponQuality.Exceptional;
                weapon.Resource = CraftResource.Gold;
                weapon.Layer    = Layer.OneHanded;

                AddItem(weapon);

                if (Utility.RandomBool())
                {
                    AddItem(new HeaterShield());
                }
                else
                {
                    AddItem(new MetalKiteShield());
                }
            }
            break;

            case GuardType.Wizard:
            {
                AddItem(new WizardsHat(Faction.primaryHue));
                AddItem(new Robe(Faction.primaryHue));

                GnarledStaff staff = new GnarledStaff();
                staff.Attributes.SpellDamage = Utility.RandomMinMax(4, 8);

                AddItem(staff);
            }
            break;

            case GuardType.Medic:
            {
                AddItem(new Bandana(Faction.primaryHue));
                AddItem(new Robe(Faction.primaryHue));
            }
            break;
            }
        }
Пример #14
0
        public SoulBinder() : base(AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            Name        = "Soul Binder";
            Title       = "from Hell";
            Hue         = 0xFFFF;
            Body        = 400;
            SpeechHue   = 1258;
            BaseSoundID = 0;
            Team        = 0;
            new EtherealHorse().Rider = this;

            SetStr(275, 375);
            SetDex(40, 75);
            SetInt(100, 150);

            SetHits(230, 375);
            SetMana(100, 150);

            SetDamage(10, 15);

            SetSkill(SkillName.Tactics, 100.7, 100.4);
            SetSkill(SkillName.Anatomy, 100.5, 100.3);
            SetSkill(SkillName.MagicResist, 220.4, 220.7);
            SetSkill(SkillName.Magery, 120.4, 120.7);
            SetSkill(SkillName.Macing, 110.4, 110.7);
            SetSkill(SkillName.EvalInt, 110.4, 110.7);

            Fame  = 7000;
            Karma = -10000;

            VirtualArmor = 70;

            Item GnarledStaff = new GnarledStaff();

            GnarledStaff.Movable = false;
            GnarledStaff.Hue     = 1;
            EquipItem(GnarledStaff);

            Item BoneHelm = new BoneHelm();

            BoneHelm.Movable = false;
            BoneHelm.Hue     = 38;
            EquipItem(BoneHelm);

            Item HoodedShroudOfShadows = new HoodedShroudOfShadows();

            HoodedShroudOfShadows.Movable = false;
            HoodedShroudOfShadows.Hue     = 0xFFFF;
            EquipItem(HoodedShroudOfShadows);

            Item PlateGloves = new PlateGloves();

            PlateGloves.Movable = false;
            PlateGloves.Hue     = 38;
            EquipItem(PlateGloves);

            Item LongPants = new LongPants();

            LongPants.Movable = false;
            LongPants.Hue     = 1;
            EquipItem(LongPants);

            Item Sandals = new Sandals();

            Sandals.Movable = false;
            Sandals.Hue     = 1;
            EquipItem(Sandals);

            Item Cloak = new Cloak();

            Cloak.Movable = false;
            Cloak.Hue     = 0xFFFF;
            EquipItem(Cloak);

            Item hair = new Item(0x203B);

            hair.Hue     = 38;
            hair.Layer   = Layer.Hair;
            hair.Movable = false;
            AddItem(hair);

            PackGold(1800, 3100);
            PackMagicItems(3, 7);

            switch (Utility.Random(1))
            {
            case 0: PackItem(new SoulGem()); break;
            }
        }
Пример #15
0
        public Witch() : base(AIType.AI_SphereMage, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            Name   = NameList.RandomName("female");
            Title  = "the Witch";
            Body   = 0x0191;
            Hue    = 0x0599;
            Female = true;
            SetStr(70, 90);
            SetDex(81, 95);
            SetInt(80, 100);

            SetHits(70, 90);
            SetStam(81, 95);
            SetMana(100);
            SetDamage(15, 20);

            AddItem(new LongHair(Utility.RandomHairHue()));

            Item temp;

            temp         = new FancyShirt(0);
            temp.Movable = false;
            AddItem(temp);

            temp         = new Skirt(1);
            temp.Movable = false;
            AddItem(temp);

            temp         = new WizardsHat(1);
            temp.Movable = false;
            AddItem(temp);

            temp         = new ThighBoots(1);
            temp.Movable = false;
            AddItem(temp);

            temp = new GnarledStaff();
            AddItem(temp);
            //PackGold(50, 80);
            AddItem(new EyesOfNewt(Utility.RandomMinMax(1, 5)));
            AddItem(new BatWing(Utility.RandomMinMax(1, 5)));
            PackPotion();
            PackPotion();

            SetSkill(SkillName.MagicResist, 80.0, 90.0);
            SetSkill(SkillName.Magery, 65.0, 85.0);
            SetSkill(SkillName.Macing, 55.0, 75.0);
            SetSkill(SkillName.Tactics, 70.0, 90.0);
            SetSkill(SkillName.Wrestling, 40.0, 55.0);

            Fame  = Utility.RandomMinMax(2000, 4000);
            Karma = Utility.RandomMinMax(-3000, -5000);

            VirtualArmor = 16;

            PackItem(new Sandals());

            if (Utility.RandomDouble() <= 0.7)
            {
                Spellbook book = new Spellbook();
                book.Content  = ulong.MaxValue;
                book.LootType = LootType.Regular;
                AddItem(book);
            }
        }
Пример #16
0
        public void InitOutfit()
        {
            Item hair = new Item(8263)
            {
                Hue     = 2404,
                Layer   = Layer.Hair,
                Movable = false
            };

            AddItem(hair);

            Item fhair = new Item(8267)
            {
                Hue     = 0,
                Layer   = Layer.FacialHair,
                Movable = false
            };

            AddItem(fhair);

            Item doublet = new Doublet()
            {
                Hue     = 573,
                Movable = false
            };

            AddItem(doublet);

            Item elvenShirt = new ElvenShirt()
            {
                Hue     = 0,
                Movable = false
            };

            AddItem(elvenShirt);

            Item longpants = new LongPants()
            {
                Hue     = 0,
                Movable = false
            };

            AddItem(longpants);

            Item leatherBelt = new LeatherNinjaBelt()
            {
                Hue     = 903,
                Movable = false
            };

            AddItem(leatherBelt);

            Item staff = new GnarledStaff()
            {
                Hue     = 0,
                Movable = false
            };

            Shoes shoes = new Shoes()
            {
                Hue     = 903,
                Movable = false
            };

            AddItem(shoes);

            PackGold(50, 200);
        }
Пример #17
0
        public CouncilElder()
            : base(AIType.AI_CouncilMember, FightMode.All | FightMode.Strongest, 10, 1, 0.2, 0.4)
        {
            Name         = "Kahn Anthias, ";
            Title        = "Elder of the Mystic Council";
            Female       = false;
            Body         = 0x190;
            IOBAlignment = IOBAlignment.Council;
            ControlSlots = 9;
            BardImmune   = true;

            HoodedShroudOfShadows shroud = new HoodedShroudOfShadows();

            shroud.Hue  = 0x4D3;
            shroud.Name = "Tattered Elder's Robe";

            // adam: reduce chance to 5% from 7% drop
            if (Utility.RandomDouble() <= 0.95)
            {
                shroud.LootType = LootType.Newbied;
            }
            else
            {
                shroud.LootType = LootType.Regular;
            }

            AddItem(shroud);

            Sandals sandals = new Sandals(0x1);

            // adam: reduce chance to 5% from 7% drop
            if (Utility.RandomDouble() <= 0.95)
            {
                sandals.LootType = LootType.Newbied;
            }

            AddItem(sandals);

            GnarledStaff staff = new GnarledStaff();

            staff.LootType = LootType.Newbied;
            staff.Movable  = false;
            AddItem(staff);

            SetStr(216, 305);
            SetDex(96, 115);
            SetInt(966, 1045);

            SetHits(560, 595);
            SetDamage(15, 27);

            SetSkill(SkillName.EvalInt, 120.1, 130.0);
            SetSkill(SkillName.Magery, 120.1, 130.0);
            SetSkill(SkillName.MagicResist, 175.2, 200.0);
            SetSkill(SkillName.Meditation, 100.1, 101.0);
            SetSkill(SkillName.Tactics, 90.1, 100.0);
            SetSkill(SkillName.Wrestling, 160.0, 170.0);
            SetSkill(SkillName.Poisoning, 100.1, 101.0);
            SetSkill(SkillName.Macing, 75.1, 100.0);

            Fame  = 20000;
            Karma = -20000;

            VirtualArmor = 60;
        }