public Indian(
            string name,
            double hitPoints,
            Dictionary <string, double> experticeMultiplier,
            Krieghoff rifle1,
            Remington rifle2,
            Winchester rifle3,
            JuniorBow bow1,
            LongBow bow2,
            StrikerBow bow3,
            Damascus axe1,
            DoubleAxe axe2,
            Tomahawk axe3)
        {
            _name                = name;
            _hitPoints           = hitPoints;
            _experticeMultiplier = experticeMultiplier;

            _rifle1 = rifle1;
            _rifle2 = rifle2;
            _rifle3 = rifle3;

            _bow1 = bow1;
            _bow2 = bow2;
            _bow3 = bow3;

            _axe1 = axe1;
            _axe2 = axe2;
            _axe3 = axe3;
        }
        public override void InitOutfit()
        {
            Item item = null;

            item     = AddRandomHair();
            item.Hue = Utility.RandomHairHue();
            item     = AddRandomFacialHair(item.Hue);
            item     = new PlateChest();
            AddItem(item);
            item = new PlateLegs();
            AddItem(item);
            item = new PlateArms();
            AddItem(item);
            item = new PlateGloves();
            AddItem(item);
            switch (Utility.Random(6))
            {
            case 0: item = new PlateHelm(); break;

            case 1: item = new ChainCoif(); break;

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

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

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

            case 5:
            default: item = new Helmet(); break;
            }
            AddItem(item);
            item     = new Tunic();
            item.Hue = Utility.RandomNondyedHue();
            AddItem(item);
            item = new PlateGorget();
            AddItem(item);
            item = new DoubleAxe();
            AddItem(item);
            PackGold(15, 100);
        }
            public InternalSellInfo()
            {
                Add(typeof(Dagger), Dagger.GetSBSellValue());
                Add(typeof(Kryss), Kryss.GetSBSellValue());
                Add(typeof(WarFork), WarFork.GetSBSellValue());
                Add(typeof(ShortSpear), ShortSpear.GetSBSellValue());
                Add(typeof(Pitchfork), Pitchfork.GetSBSellValue());
                Add(typeof(Spear), Spear.GetSBSellValue());

                Add(typeof(HammerPick), HammerPick.GetSBSellValue());
                Add(typeof(WarAxe), WarAxe.GetSBSellValue());
                Add(typeof(Mace), Mace.GetSBSellValue());
                Add(typeof(Maul), Maul.GetSBSellValue());
                Add(typeof(WarHammer), WarHammer.GetSBSellValue());
                Add(typeof(WarMace), WarMace.GetSBSellValue());

                Add(typeof(ButcherKnife), ButcherKnife.GetSBSellValue());
                Add(typeof(SkinningKnife), SkinningKnife.GetSBSellValue());
                Add(typeof(Cleaver), Cleaver.GetSBSellValue());
                Add(typeof(Cutlass), Cutlass.GetSBSellValue());
                Add(typeof(Katana), Katana.GetSBSellValue());
                Add(typeof(Scimitar), Scimitar.GetSBSellValue());
                Add(typeof(Broadsword), Broadsword.GetSBSellValue());
                Add(typeof(Longsword), Longsword.GetSBSellValue());
                Add(typeof(VikingSword), VikingSword.GetSBSellValue());
                Add(typeof(Axe), Axe.GetSBSellValue());
                Add(typeof(BattleAxe), BattleAxe.GetSBSellValue());
                Add(typeof(DoubleAxe), DoubleAxe.GetSBSellValue());
                Add(typeof(ExecutionersAxe), ExecutionersAxe.GetSBSellValue());
                Add(typeof(LargeBattleAxe), LargeBattleAxe.GetSBSellValue());
                Add(typeof(TwoHandedAxe), TwoHandedAxe.GetSBSellValue());
                Add(typeof(Bardiche), Bardiche.GetSBSellValue());
                Add(typeof(Halberd), Halberd.GetSBSellValue());

                Add(typeof(Bow), Bow.GetSBSellValue());
                Add(typeof(Crossbow), Crossbow.GetSBSellValue());
                Add(typeof(HeavyCrossbow), HeavyCrossbow.GetSBSellValue());
            }
            public InternalBuyInfo()
            {
                Add(new GenericBuyInfo("Dagger", typeof(Dagger), Dagger.GetSBPurchaseValue(), 25, 0xF52, 0));
                Add(new GenericBuyInfo("Kryss", typeof(Kryss), Kryss.GetSBPurchaseValue(), 25, 0x1401, 0));
                Add(new GenericBuyInfo("War Fork", typeof(WarFork), WarFork.GetSBPurchaseValue(), 25, 0x1405, 0));
                Add(new GenericBuyInfo("Short Spear", typeof(ShortSpear), ShortSpear.GetSBPurchaseValue(), 25, 0x1403, 0));
                Add(new GenericBuyInfo("Pitchfork", typeof(Pitchfork), Pitchfork.GetSBPurchaseValue(), 25, 0xE87, 0));
                Add(new GenericBuyInfo("Spear", typeof(Spear), Spear.GetSBPurchaseValue(), 25, 0xF62, 0));

                Add(new GenericBuyInfo("Hammer Pick", typeof(HammerPick), HammerPick.GetSBPurchaseValue(), 25, 0x143D, 0));
                Add(new GenericBuyInfo("War Axe", typeof(WarAxe), WarAxe.GetSBPurchaseValue(), 25, 0x13B0, 0));
                Add(new GenericBuyInfo("Mace", typeof(Mace), Mace.GetSBPurchaseValue(), 25, 0xF5C, 0));
                Add(new GenericBuyInfo("Maul", typeof(Maul), Maul.GetSBPurchaseValue(), 25, 0x143B, 0));
                Add(new GenericBuyInfo("WarHammer", typeof(WarHammer), WarHammer.GetSBPurchaseValue(), 25, 0x1439, 0));
                Add(new GenericBuyInfo("War Mace", typeof(WarMace), WarMace.GetSBPurchaseValue(), 25, 0x1407, 0));

                Add(new GenericBuyInfo("Butcher Knife", typeof(ButcherKnife), ButcherKnife.GetSBPurchaseValue(), 25, 0x13F6, 0));
                Add(new GenericBuyInfo("Skinning Knife", typeof(SkinningKnife), SkinningKnife.GetSBPurchaseValue(), 25, 0xEC4, 0));
                Add(new GenericBuyInfo("Cleaver", typeof(Cleaver), Cleaver.GetSBPurchaseValue(), 25, 0xEC3, 0));
                Add(new GenericBuyInfo("Cutlass", typeof(Cutlass), Cutlass.GetSBPurchaseValue(), 25, 0x1441, 0));
                Add(new GenericBuyInfo("Katana", typeof(Katana), Katana.GetSBPurchaseValue(), 25, 0x13FF, 0));
                Add(new GenericBuyInfo("Scimitar", typeof(Scimitar), Scimitar.GetSBPurchaseValue(), 25, 0x13B6, 0));
                Add(new GenericBuyInfo("Broadsword", typeof(Broadsword), Broadsword.GetSBPurchaseValue(), 25, 0xF5E, 0));
                Add(new GenericBuyInfo("Longsword", typeof(Longsword), Longsword.GetSBPurchaseValue(), 25, 0xF61, 0));
                Add(new GenericBuyInfo("Viking Sword", typeof(VikingSword), VikingSword.GetSBPurchaseValue(), 25, 0x13B9, 0));
                Add(new GenericBuyInfo("Axe", typeof(Axe), Axe.GetSBPurchaseValue(), 25, 0xF49, 0));
                Add(new GenericBuyInfo("Battle Axe", typeof(BattleAxe), BattleAxe.GetSBPurchaseValue(), 25, 0xF47, 0));
                Add(new GenericBuyInfo("Double Axe", typeof(DoubleAxe), DoubleAxe.GetSBPurchaseValue(), 25, 0xF4B, 0));
                Add(new GenericBuyInfo("Executioner's Axe", typeof(ExecutionersAxe), ExecutionersAxe.GetSBPurchaseValue(), 25, 0xF45, 0));
                Add(new GenericBuyInfo("Large Battle Axe", typeof(LargeBattleAxe), LargeBattleAxe.GetSBPurchaseValue(), 25, 0x13FB, 0));
                Add(new GenericBuyInfo("Two-Handed Axe", typeof(TwoHandedAxe), TwoHandedAxe.GetSBPurchaseValue(), 25, 0x1443, 0));
                Add(new GenericBuyInfo("Bardiche", typeof(Bardiche), Bardiche.GetSBPurchaseValue(), 25, 0xF4D, 0));
                Add(new GenericBuyInfo("Halberd", typeof(Halberd), Halberd.GetSBPurchaseValue(), 25, 0x143E, 0));

                Add(new GenericBuyInfo("Bow", typeof(Bow), Bow.GetSBPurchaseValue(), 25, 0x13B2, 0));
                Add(new GenericBuyInfo("Crossbow", typeof(Crossbow), Crossbow.GetSBPurchaseValue(), 25, 0xF50, 0));
                Add(new GenericBuyInfo("Heavy Crossbow", typeof(HeavyCrossbow), HeavyCrossbow.GetSBPurchaseValue(), 25, 0x13FD, 0));
            }
Exemple #5
0
        public override void OnDeath(Container c)
        {
            base.OnDeath(c);

            Mobile killer = this.LastKiller;

            if (killer != null)
            {
                if (killer is BaseCreature)
                {
                    killer = ((BaseCreature)killer).GetMaster();
                }

                if (killer is PlayerMobile)
                {
                    if (GetPlayerInfo.LuckyKiller(killer.Luck) && this.Body == 78 && Utility.RandomMinMax(1, 4) == 1)
                    {
                        BaseWeapon axe = new Axe();
                        axe.MinDamage            = axe.MinDamage + 4;
                        axe.MaxDamage            = axe.MaxDamage + 8;
                        axe.Attributes.BonusHits = 50;
                        axe.Name = "minotaur axe";
                        c.DropItem(axe);
                    }
                    else if (GetPlayerInfo.LuckyKiller(killer.Luck) && this.Body == 650 && Utility.RandomMinMax(1, 4) == 1)
                    {
                        BaseWeapon axe = new DoubleAxe();
                        axe.MinDamage            = axe.MinDamage + 5;
                        axe.MaxDamage            = axe.MaxDamage + 9;
                        axe.Attributes.BonusHits = 50;
                        axe.Name = "minotaur battle axe";
                        c.DropItem(axe);
                    }
                }
            }
        }
Exemple #6
0
        public Rexxar() : base(AIType.AI_Melee, FightMode.Closest)
        {
            Name        = "Rexxar";
            Title       = "The murderer";
            Body        = 400;
            BaseSoundID = 427;
            Hue         = 1175;

            SetStr(200, 400);
            SetDex(100, 150);
            SetInt(46, 70);

            SetHits(9000);

            SetDamage(20, 25);

            SetSkill(SkillName.MagicResist, 125.1, 140.0);
            SetSkill(SkillName.Tactics, 90.1, 100.0);
            SetSkill(SkillName.Wrestling, 90.1, 100.0);

            Fame  = 150000;
            Karma = -150000;

            VirtualArmor = 50;

            Bandana bandana = new Bandana();

            bandana.Hue     = 1175;
            bandana.Movable = false;
            AddItem(bandana);

            ChainChest chest = new ChainChest();

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

            PlateArms arms = new PlateArms();

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

            PlateLegs legs = new PlateLegs();

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

            BodySash sash = new BodySash();

            sash.Hue     = 1175;
            sash.Movable = false;
            AddItem(sash);

            DoubleAxe axe = new DoubleAxe();

            axe.Hue     = 1175;
            axe.Movable = false;
            AddItem(axe);
        }
Exemple #7
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;
            }
            }
        }
Exemple #8
0
        public DeerTrapper() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            Name = "Deer Trapper";
            Body = 400;
            Hue  = 1002;


            SetStr(796, 825);
            SetDex(86, 105);
            SetInt(436, 475);
            SetHits(478, 495);
            SetDamage(20, 30);


            Item longpants;

            longpants     = new LongPants();
            longpants.Hue = 944;
            AddItem(longpants);
            longpants.LootType = LootType.Newbied;

            Item shirt;

            shirt     = new Tunic();
            shirt.Hue = 605;
            AddItem(shirt);
            shirt.LootType = LootType.Newbied;


            Item StrawHat;

            StrawHat     = new StrawHat();
            StrawHat.Hue = 944;
            AddItem(StrawHat);
            StrawHat.LootType = LootType.Newbied;

            Item boots;

            boots     = new Boots();
            boots.Hue = 1109;
            AddItem(boots);
            boots.LootType = LootType.Newbied;


            this.FacialHairItemID = 0x203F;
            this.FacialHairHue    = 1001;


            this.HairItemID = 0x2049;
            this.HairHue    = 1001;



            DoubleAxe weapon = new DoubleAxe();

            weapon.Movable = false;
            AddItem(weapon);

            SetDamageType(ResistanceType.Physical, 100);

            SetResistance(ResistanceType.Physical, 55, 60);
            SetResistance(ResistanceType.Fire, 61, 71);
            SetResistance(ResistanceType.Cold, 30, 40);
            SetResistance(ResistanceType.Poison, 25, 35);
            SetResistance(ResistanceType.Energy, 35, 45);

            SetSkill(SkillName.MagicResist, 99.2, 100);
            SetSkill(SkillName.Tactics, 97.6, 100);
            SetSkill(SkillName.Wrestling, 90.1, 92.5);
            SetSkill(SkillName.Anatomy, 75.1, 78);



            PackGold(250, 350);
        }
Exemple #9
0
        public Deathknight() : base(AIType.AI_Necro, FightMode.Aggressor, 10, 1, 0.2, 0.4)
        {
            Title = "the deathknight";

            SpeechHue = Utility.RandomDyedHue();

            Hue  = 0;
            Name = NameList.RandomName("daemon");

            SetStr(306, 430);
            SetDex(271, 350);
            SetInt(250, 355);

            SetHits(2200);

            if (Female = Utility.RandomBool())
            {
                Body = 0x191;
            }
            else
            {
                Body = 0x190;
            }

            new SkeletalMount().Rider = this;

            PlateChest chest = new PlateChest();

            chest.LootType = LootType.Blessed;
            chest.Hue      = 1175;
            AddItem(chest);
            PlateArms arms = new PlateArms();

            arms.LootType = LootType.Blessed;
            arms.Hue      = 1175;
            AddItem(arms);
            PlateGloves gloves = new PlateGloves();

            gloves.LootType = LootType.Blessed;
            gloves.Hue      = 1175;
            AddItem(gloves);
            PlateGorget gorget = new PlateGorget();

            gorget.LootType = LootType.Blessed;
            gorget.Hue      = 1175;
            AddItem(gorget);
            PlateLegs legs = new PlateLegs();

            legs.LootType = LootType.Blessed;
            legs.Hue      = 1175;
            AddItem(legs);
            Cloak cloak = new Cloak();

            cloak.LootType = LootType.Blessed;
            cloak.Hue      = 1175;
            AddItem(cloak);

            DeathknightsHelm helm = new DeathknightsHelm();

            helm.LootType = LootType.Blessed;
            AddItem(helm);



            switch (Utility.Random(4))
            {
            case 0:  LargeBattleAxe battleaxe = new LargeBattleAxe();
                battleaxe.Movable = false;
                battleaxe.Crafter = this;
                battleaxe.Hue     = 1175;
                battleaxe.Quality = WeaponQuality.Exceptional;
                AddItem(battleaxe); break;

            case 1:  DoubleAxe doubleaxe = new DoubleAxe();
                doubleaxe.Movable = false;
                doubleaxe.Crafter = this;
                doubleaxe.Hue     = 1175;
                doubleaxe.Quality = WeaponQuality.Exceptional;
                AddItem(doubleaxe); break;

            case 2:  Broadsword broadsword = new Broadsword();
                broadsword.Movable = false;
                broadsword.Crafter = this;
                broadsword.Hue     = 1175;
                broadsword.Quality = WeaponQuality.Exceptional;
                AddItem(broadsword); break;

            case 3:  VikingSword vikingsword = new VikingSword();
                vikingsword.Movable = false;
                vikingsword.Crafter = this;
                vikingsword.Hue     = 1175;
                vikingsword.Quality = WeaponQuality.Exceptional;
                AddItem(vikingsword); break;
            }

            if (Utility.RandomDouble() <= 0.40)
            {
                PackItem(new DeathknightsHelm());
            }


            PackGold(980, 1400);

            Skills[SkillName.Anatomy].Base       = 120.0;
            Skills[SkillName.Tactics].Base       = 120.0;
            Skills[SkillName.Swords].Base        = 120.0;
            Skills[SkillName.Necromancy].Base    = 120.0;
            Skills[SkillName.SpiritSpeak].Base   = 120.0;
            Skills[SkillName.MagicResist].Base   = 120.0;
            Skills[SkillName.Lumberjacking].Base = 100.0;
        }
Exemple #10
0
        public override void OnAfterSpawn()
        {
            base.OnAfterSpawn();

            Region reg = Region.Find(this.Location, this.Map);

            string World = Server.Misc.Worlds.GetMyWorld(this.Map, this.Location, this.X, this.Y);

            int clothColor = 0;
            int shieldType = 0;
            int helmType   = 0;
            int cloakColor = 0;

            Item weapon = new VikingSword(); weapon.Delete();

            if (Server.Misc.Worlds.GetRegionName(this.Map, this.Location) == "the Village of Whisper")
            {
                clothColor = 0x96D;             shieldType = 0x1B72;    helmType = 0x140E;              cloakColor = 0x972;             weapon = new Longsword();
            }
            else if (Server.Misc.Worlds.GetRegionName(this.Map, this.Location) == "the Town of Glacial Hills")
            {
                clothColor = 0x482;             shieldType = 0x1B74;    helmType = 0x1412;              cloakColor = 0x542;             weapon = new Kryss();
            }
            else if (Server.Misc.Worlds.GetRegionName(this.Map, this.Location) == "the Village of Springvale")
            {
                clothColor = 0x595;             shieldType = 0;                 helmType = 0x140E;              cloakColor = 0x593;             weapon = new Pike();
            }
            else if (Server.Misc.Worlds.GetRegionName(this.Map, this.Location) == "the City of Elidor")
            {
                clothColor = 0x665;             shieldType = 0x1B7B;    helmType = 0x1412;              cloakColor = 0x664;             weapon = new Katana();
            }
            else if (Server.Misc.Worlds.GetRegionName(this.Map, this.Location) == "the Village of Islegem")
            {
                clothColor = 0x7D1;             shieldType = 0;                 helmType = 0x140E;              cloakColor = 0x7D6;             weapon = new Spear();
            }
            else if (Server.Misc.Worlds.GetRegionName(this.Map, this.Location) == "Greensky Village")
            {
                clothColor = 0x7D7;             shieldType = 0;                 helmType = 0x1412;              cloakColor = 0x7DA;             weapon = new Bardiche();
            }
            else if (Server.Misc.Worlds.GetRegionName(this.Map, this.Location) == "the Port of Dusk")
            {
                clothColor = 0x601;             shieldType = 0x1B76;    helmType = 0x140E;              cloakColor = 0x600;             weapon = new Cutlass();
            }
            else if (Server.Misc.Worlds.GetRegionName(this.Map, this.Location) == "the Port of Starguide")
            {
                clothColor = 0x751;             shieldType = 0;                 helmType = 0x1412;              cloakColor = 0x758;             weapon = new BladedStaff();
            }
            else if (Server.Misc.Worlds.GetRegionName(this.Map, this.Location) == "the Village of Portshine")
            {
                clothColor = 0x847;             shieldType = 0x1B7A;    helmType = 0x140E;              cloakColor = 0x851;             weapon = new Mace();
            }
            else if (Server.Misc.Worlds.GetRegionName(this.Map, this.Location) == "the Ranger Outpost")
            {
                clothColor = 0x598;             shieldType = 0;                 helmType = 0x140E;              cloakColor = 0x83F;             weapon = new Spear();
            }
            else if (World == "the Land of Lodoria")               // ( Server.Misc.Worlds.GetRegionName( this.Map, this.Location ) == "the City of Lodoria" || Server.Misc.Worlds.GetRegionName( this.Map, this.Location ) == "the Castle of Knowledge" || Server.Misc.Worlds.GetRegionName( this.Map, this.Location ) == "the Lodoria City Park" || Server.Misc.Worlds.GetRegionName( this.Map, this.Location ) == "the Village of Lodoria" || Server.Misc.Worlds.GetRegionName( this.Map, this.Location ) == "the Lodoria Cemetery" )
            {
                clothColor = 0x6E4;             shieldType = 0x1BC4;    helmType = 0x1412;              cloakColor = 0x6E7;             weapon = new Scimitar();
            }
            else if (Server.Misc.Worlds.GetRegionName(this.Map, this.Location) == "the Lunar City of Dawn")
            {
                clothColor = 0x9C4;             shieldType = 0x1B76;    helmType = 0x140E;              cloakColor = 0x9C4;             weapon = new DiamondMace();
            }
            else if (Server.Misc.Worlds.GetRegionName(this.Map, this.Location) == "The Town of Devil Guard" || Server.Misc.Worlds.GetRegionName(this.Map, this.Location) == "The Farmland of Devil Guard")
            {
                clothColor = 0x430;             shieldType = 0;                 helmType = 0x140E;              cloakColor = 0;                 weapon = new LargeBattleAxe();
            }
            else if (Server.Misc.Worlds.GetRegionName(this.Map, this.Location) == "the Town of Moon")
            {
                clothColor = 0x8AF;             shieldType = 0x1B72;    helmType = 0x1412;              cloakColor = 0x972;             weapon = new Longsword();
            }
            else if (Server.Misc.Worlds.GetRegionName(this.Map, this.Location) == "the Village of Grey")
            {
                clothColor = 0;                 shieldType = 0;                 helmType = 0x140E;              cloakColor = 0x763;             weapon = new Halberd();
            }
            else if (Server.Misc.Worlds.GetRegionName(this.Map, this.Location) == "the City of Montor")
            {
                clothColor = 0x96F;             shieldType = 0x1B74;    helmType = 0x1412;              cloakColor = 0x529;             weapon = new Broadsword();
            }
            else if (Server.Misc.Worlds.GetRegionName(this.Map, this.Location) == "the Village of Fawn")
            {
                clothColor = 0x59D;             shieldType = 0;                 helmType = 0x140E;              cloakColor = 0x59C;             weapon = new DoubleAxe();
            }
            else if (Server.Misc.Worlds.GetRegionName(this.Map, this.Location) == "the Village of Yew")
            {
                clothColor = 0x83C;             shieldType = 0;                 helmType = 0x1412;              cloakColor = 0x850;             weapon = new Spear();
            }
            else if (Server.Misc.Worlds.GetRegionName(this.Map, this.Location) == "Iceclad Fisherman's Village" || Server.Misc.Worlds.GetRegionName(this.Map, this.Location) == "the Town of Mountain Crest" || Server.Misc.Worlds.GetRegionName(this.Map, this.Location) == "Glacial Coast Village")
            {
                clothColor = 0x482;             shieldType = 0;                 helmType = 0x140E;              cloakColor = 0x47E;             weapon = new Bardiche();
            }
            else if (Server.Misc.Worlds.GetRegionName(this.Map, this.Location) == "the Undercity of Umbra")
            {
                clothColor = 0x964;             shieldType = 0x1BC3;    helmType = 0x140E;              cloakColor = 0x966;             weapon = new BoneHarvester();
            }
            else if (World == "the Island of Umber Veil")
            {
                clothColor = 0xA5D;             shieldType = 0;                 helmType = 0x140E;              cloakColor = 0x96D;             weapon = new Halberd();
            }
            else if (Server.Misc.Worlds.GetRegionName(this.Map, this.Location) == "the City of Kuldara")
            {
                clothColor = 0x965;             shieldType = 0x1BC3;    helmType = 0x140E;              cloakColor = 0x845;             weapon = new Maul();
            }
            else if (World == "the Isles of Dread")
            {
                clothColor = 0x978;             shieldType = 0;                 helmType = 0x2645;              cloakColor = 0x973;             weapon = new OrnateAxe();
            }
            else if (Server.Misc.Worlds.GetRegionName(this.Map, this.Location) == "the Village of Barako")
            {
                clothColor = 0x515;             shieldType = 0x1B72;    helmType = 0x2645;              cloakColor = 0x58D;             weapon = new WarMace();
            }
            else if (World == "the Savaged Empire")               // ( Server.Misc.Worlds.GetRegionName( this.Map, this.Location ) == "the Village of Kurak" )
            {
                clothColor = 0x515;             shieldType = 0;                 helmType = 0x140E;              cloakColor = 0x59D;             weapon = new Spear();
            }
            else if (World == "the Serpent Island")               // ( Server.Misc.Worlds.GetRegionName( this.Map, this.Location ) == "the City of Furnace" )
            {
                clothColor = 0x515;             shieldType = 0;                 helmType = 0x2FBB;              cloakColor = 0;                 weapon = new Halberd();
            }
            else             // if ( Server.Misc.Worlds.GetRegionName( this.Map, this.Location ) == "the City of Britain" || Server.Misc.Worlds.GetRegionName( this.Map, this.Location ) == "the Britain Castle Grounds" || Server.Misc.Worlds.GetRegionName( this.Map, this.Location ) == "Lord British Castle" || Server.Misc.Worlds.GetRegionName( this.Map, this.Location ) == "the Britain Dungeons" )
            {
                clothColor = 0x9C4;             shieldType = 0x1BC4;    helmType = 0x140E;              cloakColor = 0x845;             weapon = new VikingSword();
            }

            weapon.Movable = false;
            ((BaseWeapon)weapon).MaxHitPoints = 1000;
            ((BaseWeapon)weapon).HitPoints    = 1000;
            ((BaseWeapon)weapon).MinDamage    = 500;
            ((BaseWeapon)weapon).MaxDamage    = 900;
            AddItem(weapon);

            AddItem(new PlateChest());
            if (World == "the Serpent Island")
            {
                AddItem(new RingmailArms());
            }
            else
            {
                AddItem(new PlateArms());
            }                                                                                                                       // FOR GARGOYLES
            AddItem(new PlateLegs());
            AddItem(new PlateGorget());
            AddItem(new PlateGloves());
            AddItem(new Boots( ));

            if (helmType > 0)
            {
                PlateHelm helm = new PlateHelm();
                helm.ItemID = helmType;
                helm.Name   = "helm";
                AddItem(helm);
            }
            if (shieldType > 0)
            {
                ChaosShield shield = new ChaosShield();
                shield.ItemID = shieldType;
                shield.Name   = "shield";
                AddItem(shield);
            }

            MorphingTime.ColorMyClothes(this, clothColor);

            if (cloakColor > 0)
            {
                Cloak cloak = new Cloak();
                cloak.Hue = cloakColor;
                AddItem(cloak);
            }

            Server.Misc.MorphingTime.CheckMorph(this);
        }
Exemple #11
0
        public EvilElf() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            Name = "Evil Elf";
            Body = 400;
            Hue  = 1002;


            SetStr(796, 825);
            SetDex(86, 105);
            SetInt(436, 475);
            SetHits(478, 495);
            SetDamage(20, 30);


            Item longpants;

            longpants     = new LongPants();
            longpants.Hue = 1368;
            AddItem(longpants);
            longpants.LootType = LootType.Newbied;

            Item tunic;

            tunic     = new Tunic();
            tunic.Hue = 1368;
            AddItem(tunic);
            tunic.LootType = LootType.Newbied;


            Item JesterHat;

            JesterHat     = new JesterHat();
            JesterHat.Hue = 1368;
            AddItem(JesterHat);
            JesterHat.LootType = LootType.Newbied;

            Item boots;

            boots     = new Boots();
            boots.Hue = 1109;
            AddItem(boots);
            boots.LootType = LootType.Newbied;


            FacialHairItemID = 0x204B;
            FacialHairHue    = 996;


            HairItemID = 0x203C;
            HairHue    = 996;

            Item leatherninjabelt;

            leatherninjabelt     = new LeatherNinjaBelt();
            leatherninjabelt.Hue = 1109;
            AddItem(leatherninjabelt);
            leatherninjabelt.LootType = LootType.Newbied;

            DoubleAxe weapon = new DoubleAxe();

            weapon.Movable = false;
            AddItem(weapon);

            SetDamageType(ResistanceType.Physical, 100);

            SetResistance(ResistanceType.Physical, 55, 60);
            SetResistance(ResistanceType.Fire, 61, 71);
            SetResistance(ResistanceType.Cold, 30, 40);
            SetResistance(ResistanceType.Poison, 25, 35);
            SetResistance(ResistanceType.Energy, 35, 45);

            SetSkill(SkillName.MagicResist, 99.2, 100);
            SetSkill(SkillName.Tactics, 97.6, 100);
            SetSkill(SkillName.Wrestling, 90.1, 92.5);
            SetSkill(SkillName.Anatomy, 75.1, 78);



            PackGold(250, 350);
        }
            public InternalBuyInfo()
            {
                //Tools
                Add(new GenericBuyInfo("Tongs", typeof(Tongs), Tongs.GetSBPurchaseValue(), 50, 0xFBB, 0));
                Add(new GenericBuyInfo("Smith's Hammer", typeof(SmithHammer), SmithHammer.GetSBPurchaseValue(), 50, 0x13E3, 0));

                //Armor
                Add(new GenericBuyInfo("Ringmail Helm", typeof(RingmailHelm), RingmailHelm.GetSBPurchaseValue(), 25, 5131, 0));
                Add(new GenericBuyInfo("Ringmail Gorget", typeof(RingmailGorget), RingmailGorget.GetSBPurchaseValue(), 25, 5078, 1812));
                Add(new GenericBuyInfo("Ringmail Arms", typeof(RingmailArms), RingmailArms.GetSBPurchaseValue(), 25, 0x13EE, 0));
                Add(new GenericBuyInfo("Ringmail Gloves", typeof(RingmailGloves), RingmailGloves.GetSBPurchaseValue(), 25, 0x13eb, 0));
                Add(new GenericBuyInfo("Ringmail Chest", typeof(RingmailChest), RingmailChest.GetSBPurchaseValue(), 25, 0x13ec, 0));
                Add(new GenericBuyInfo("Ringmail Legs", typeof(RingmailLegs), RingmailLegs.GetSBPurchaseValue(), 25, 0x13F0, 0));

                Add(new GenericBuyInfo("Chainmail Coif", typeof(ChainmailCoif), ChainmailCoif.GetSBPurchaseValue(), 25, 0x13BB, 0));
                Add(new GenericBuyInfo("Chainmail Gorget", typeof(ChainmailGorget), ChainmailGorget.GetSBPurchaseValue(), 25, 5063, 2500));
                Add(new GenericBuyInfo("Chainmail Arms", typeof(ChainmailArms), ChainmailArms.GetSBPurchaseValue(), 25, 5103, 2500));
                Add(new GenericBuyInfo("Chainmail Gloves", typeof(ChainmailGloves), ChainmailGloves.GetSBPurchaseValue(), 25, 5106, 2500));
                Add(new GenericBuyInfo("Chainmail Chest", typeof(ChainmailChest), ChainmailChest.GetSBPurchaseValue(), 25, 0x13BF, 0));
                Add(new GenericBuyInfo("Chainmail Legs", typeof(ChainmailLegs), ChainmailLegs.GetSBPurchaseValue(), 25, 0x13BE, 0));

                Add(new GenericBuyInfo("Platemail Helm", typeof(PlateHelm), PlateHelm.GetSBPurchaseValue(), 25, 0x1412, 0));
                Add(new GenericBuyInfo("Platemail Gorget", typeof(PlateGorget), PlateGorget.GetSBPurchaseValue(), 25, 0x1413, 0));
                Add(new GenericBuyInfo("Platemail Arms", typeof(PlateArms), PlateArms.GetSBPurchaseValue(), 25, 0x1410, 0));
                Add(new GenericBuyInfo("Platemail Gloves", typeof(PlateGloves), PlateGloves.GetSBPurchaseValue(), 25, 0x1414, 0));
                Add(new GenericBuyInfo("Platemail PlateChest", typeof(PlateChest), PlateChest.GetSBPurchaseValue(), 25, 0x1415, 0));
                Add(new GenericBuyInfo("Female Plate Chest", typeof(FemalePlateChest), FemalePlateChest.GetSBPurchaseValue(), 25, 7173, 0));
                Add(new GenericBuyInfo("Platemail Legs", typeof(PlateLegs), PlateLegs.GetSBPurchaseValue(), 25, 0x1411, 0));

                Add(new GenericBuyInfo("Bascinet", typeof(Bascinet), Bascinet.GetSBPurchaseValue(), 25, 5132, 0));
                Add(new GenericBuyInfo("Close Helm", typeof(CloseHelm), CloseHelm.GetSBPurchaseValue(), 25, 5129, 0));
                Add(new GenericBuyInfo("Norse Helm", typeof(NorseHelm), NorseHelm.GetSBPurchaseValue(), 25, 5135, 0));

                Add(new GenericBuyInfo("Buckler", typeof(Buckler), Buckler.GetSBPurchaseValue(), 25, 0x1B73, 0));
                Add(new GenericBuyInfo("Metal Shield", typeof(MetalShield), MetalShield.GetSBPurchaseValue(), 25, 0x1B7B, 0));
                Add(new GenericBuyInfo("Bronze Shield", typeof(BronzeShield), BronzeShield.GetSBPurchaseValue(), 25, 0x1B72, 0));
                Add(new GenericBuyInfo("Metal Kite Shield", typeof(MetalKiteShield), MetalKiteShield.GetSBPurchaseValue(), 25, 0x1B74, 0));
                Add(new GenericBuyInfo("Heater Shield", typeof(HeaterShield), HeaterShield.GetSBPurchaseValue(), 25, 0x1B76, 0));

                //Weapons
                Add(new GenericBuyInfo("Dagger", typeof(Dagger), Dagger.GetSBPurchaseValue(), 25, 0xF52, 0));
                Add(new GenericBuyInfo("Kryss", typeof(Kryss), Kryss.GetSBPurchaseValue(), 25, 0x1401, 0));
                Add(new GenericBuyInfo("War Fork", typeof(WarFork), WarFork.GetSBPurchaseValue(), 25, 0x1405, 0));
                Add(new GenericBuyInfo("Short Spear", typeof(ShortSpear), ShortSpear.GetSBPurchaseValue(), 25, 0x1403, 0));
                Add(new GenericBuyInfo("Pitchfork", typeof(Pitchfork), Pitchfork.GetSBPurchaseValue(), 25, 0xE87, 0));
                Add(new GenericBuyInfo("Spear", typeof(Spear), Spear.GetSBPurchaseValue(), 25, 0xF62, 0));

                Add(new GenericBuyInfo("Hammer Pick", typeof(HammerPick), HammerPick.GetSBPurchaseValue(), 25, 0x143D, 0));
                Add(new GenericBuyInfo("War Axe", typeof(WarAxe), WarAxe.GetSBPurchaseValue(), 25, 0x13B0, 0));
                Add(new GenericBuyInfo("Mace", typeof(Mace), Mace.GetSBPurchaseValue(), 25, 0xF5C, 0));
                Add(new GenericBuyInfo("Maul", typeof(Maul), Maul.GetSBPurchaseValue(), 25, 0x143B, 0));
                Add(new GenericBuyInfo("WarHammer", typeof(WarHammer), WarHammer.GetSBPurchaseValue(), 25, 0x1439, 0));
                Add(new GenericBuyInfo("War Mace", typeof(WarMace), WarMace.GetSBPurchaseValue(), 25, 0x1407, 0));

                Add(new GenericBuyInfo("Butcher Knife", typeof(ButcherKnife), ButcherKnife.GetSBPurchaseValue(), 25, 0x13F6, 0));
                Add(new GenericBuyInfo("Skinning Knife", typeof(SkinningKnife), SkinningKnife.GetSBPurchaseValue(), 25, 0xEC4, 0));
                Add(new GenericBuyInfo("Cleaver", typeof(Cleaver), Cleaver.GetSBPurchaseValue(), 25, 0xEC3, 0));
                Add(new GenericBuyInfo("Cutlass", typeof(Cutlass), Cutlass.GetSBPurchaseValue(), 25, 0x1441, 0));
                Add(new GenericBuyInfo("Katana", typeof(Katana), Katana.GetSBPurchaseValue(), 25, 0x13FF, 0));
                Add(new GenericBuyInfo("Scimitar", typeof(Scimitar), Scimitar.GetSBPurchaseValue(), 25, 0x13B6, 0));
                Add(new GenericBuyInfo("Broadsword", typeof(Broadsword), Broadsword.GetSBPurchaseValue(), 25, 0xF5E, 0));
                Add(new GenericBuyInfo("Longsword", typeof(Longsword), Longsword.GetSBPurchaseValue(), 25, 0xF61, 0));
                Add(new GenericBuyInfo("Viking Sword", typeof(VikingSword), VikingSword.GetSBPurchaseValue(), 25, 0x13B9, 0));
                Add(new GenericBuyInfo("Axe", typeof(Axe), Axe.GetSBPurchaseValue(), 25, 0xF49, 0));
                Add(new GenericBuyInfo("Battle Axe", typeof(BattleAxe), BattleAxe.GetSBPurchaseValue(), 25, 0xF47, 0));
                Add(new GenericBuyInfo("Double Axe", typeof(DoubleAxe), DoubleAxe.GetSBPurchaseValue(), 25, 0xF4B, 0));
                Add(new GenericBuyInfo("Executioner's Axe", typeof(ExecutionersAxe), ExecutionersAxe.GetSBPurchaseValue(), 25, 0xF45, 0));
                Add(new GenericBuyInfo("Large Battle Axe", typeof(LargeBattleAxe), LargeBattleAxe.GetSBPurchaseValue(), 25, 0x13FB, 0));
                Add(new GenericBuyInfo("Two-Handed Axe", typeof(TwoHandedAxe), TwoHandedAxe.GetSBPurchaseValue(), 25, 0x1443, 0));
                Add(new GenericBuyInfo("Bardiche", typeof(Bardiche), Bardiche.GetSBPurchaseValue(), 25, 0xF4D, 0));
                Add(new GenericBuyInfo("Halberd", typeof(Halberd), Halberd.GetSBPurchaseValue(), 25, 0x143E, 0));
            }
            public InternalSellInfo()
            {
                //Tools
                Add(typeof(Tongs), Tongs.GetSBSellValue());
                Add(typeof(SmithHammer), SmithHammer.GetSBSellValue());

                //Armor
                Add(typeof(RingmailHelm), RingmailHelm.GetSBSellValue());
                Add(typeof(RingmailGorget), RingmailGorget.GetSBSellValue());
                Add(typeof(RingmailArms), RingmailArms.GetSBSellValue());
                Add(typeof(RingmailGloves), RingmailGloves.GetSBSellValue());
                Add(typeof(RingmailChest), RingmailChest.GetSBSellValue());
                Add(typeof(RingmailLegs), RingmailLegs.GetSBSellValue());

                Add(typeof(ChainmailCoif), ChainmailCoif.GetSBSellValue());
                Add(typeof(ChainmailGorget), ChainmailGorget.GetSBSellValue());
                Add(typeof(ChainmailArms), ChainmailArms.GetSBSellValue());
                Add(typeof(ChainmailGloves), ChainmailGloves.GetSBSellValue());
                Add(typeof(ChainmailChest), ChainmailChest.GetSBSellValue());
                Add(typeof(ChainmailLegs), ChainmailLegs.GetSBSellValue());

                Add(typeof(PlateHelm), PlateHelm.GetSBSellValue());
                Add(typeof(PlateGorget), PlateGorget.GetSBSellValue());
                Add(typeof(PlateArms), PlateArms.GetSBSellValue());
                Add(typeof(PlateGloves), PlateGloves.GetSBSellValue());
                Add(typeof(PlateChest), PlateChest.GetSBSellValue());
                Add(typeof(FemalePlateChest), FemalePlateChest.GetSBSellValue());
                Add(typeof(PlateLegs), PlateLegs.GetSBSellValue());

                Add(typeof(Bascinet), Bascinet.GetSBSellValue());
                Add(typeof(CloseHelm), CloseHelm.GetSBSellValue());
                Add(typeof(NorseHelm), NorseHelm.GetSBSellValue());

                Add(typeof(Buckler), Buckler.GetSBSellValue());
                Add(typeof(MetalShield), MetalShield.GetSBSellValue());
                Add(typeof(BronzeShield), BronzeShield.GetSBSellValue());
                Add(typeof(MetalKiteShield), MetalKiteShield.GetSBSellValue());
                Add(typeof(HeaterShield), HeaterShield.GetSBSellValue());

                //Weapons
                Add(typeof(Dagger), Dagger.GetSBSellValue());
                Add(typeof(Kryss), Kryss.GetSBSellValue());
                Add(typeof(WarFork), WarFork.GetSBSellValue());
                Add(typeof(ShortSpear), ShortSpear.GetSBSellValue());
                Add(typeof(Pitchfork), Pitchfork.GetSBSellValue());
                Add(typeof(Spear), Spear.GetSBSellValue());

                Add(typeof(HammerPick), HammerPick.GetSBSellValue());
                Add(typeof(WarAxe), WarAxe.GetSBSellValue());
                Add(typeof(Mace), Mace.GetSBSellValue());
                Add(typeof(Maul), Maul.GetSBSellValue());
                Add(typeof(WarHammer), WarHammer.GetSBSellValue());
                Add(typeof(WarMace), WarMace.GetSBSellValue());

                Add(typeof(ButcherKnife), ButcherKnife.GetSBSellValue());
                Add(typeof(SkinningKnife), SkinningKnife.GetSBSellValue());
                Add(typeof(Cleaver), Cleaver.GetSBSellValue());
                Add(typeof(Cutlass), Cutlass.GetSBSellValue());
                Add(typeof(Katana), Katana.GetSBSellValue());
                Add(typeof(Scimitar), Scimitar.GetSBSellValue());
                Add(typeof(Broadsword), Broadsword.GetSBSellValue());
                Add(typeof(Longsword), Longsword.GetSBSellValue());
                Add(typeof(VikingSword), VikingSword.GetSBSellValue());
                Add(typeof(Axe), Axe.GetSBSellValue());
                Add(typeof(BattleAxe), BattleAxe.GetSBSellValue());
                Add(typeof(DoubleAxe), DoubleAxe.GetSBSellValue());
                Add(typeof(ExecutionersAxe), ExecutionersAxe.GetSBSellValue());
                Add(typeof(LargeBattleAxe), LargeBattleAxe.GetSBSellValue());
                Add(typeof(TwoHandedAxe), TwoHandedAxe.GetSBSellValue());
                Add(typeof(Bardiche), Bardiche.GetSBSellValue());
                Add(typeof(Halberd), Halberd.GetSBSellValue());
            }
        /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

        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);
        }
        public override void OnAfterSpawn()
        {
            base.OnAfterSpawn();

            Region reg = Region.Find(this.Location, this.Map);

            string World = Server.Misc.Worlds.GetMyWorld(this.Map, this.Location, this.X, this.Y);

            int clothColor = 0;
            int shieldType = 0;
            int helmType   = 0;
            int cloakColor = 0;

            Item weapon = new VikingSword(); weapon.Delete();

            if (Server.Misc.Worlds.GetRegionName(this.Map, this.Location) == "the Village of Whisper")
            {
                clothColor = 0x96D;             shieldType = 0x1B72;    helmType = 0x140E;              cloakColor = 0x972;             weapon = new Longsword();
            }
            else if (Server.Misc.Worlds.GetRegionName(this.Map, this.Location) == "the Town of Glacial Hills")
            {
                clothColor = 0xB70;             shieldType = 0x1B74;    helmType = 0x1412;              cloakColor = 0xB7A;             weapon = new Kryss();
            }
            else if (Server.Misc.Worlds.GetRegionName(this.Map, this.Location) == "the Village of Springvale")
            {
                clothColor = 0x595;             shieldType = 0;                 helmType = 0x140E;              cloakColor = 0x593;             weapon = new Pike();
            }
            else if (Server.Misc.Worlds.GetRegionName(this.Map, this.Location) == "the City of Elidor")
            {
                clothColor = 0x665;             shieldType = 0x1B7B;    helmType = 0x1412;              cloakColor = 0x664;             weapon = new Katana();
            }
            else if (Server.Misc.Worlds.GetRegionName(this.Map, this.Location) == "the Village of Islegem")
            {
                clothColor = 0x7D1;             shieldType = 0;                 helmType = 0x140E;              cloakColor = 0x7D6;             weapon = new Spear();
            }
            else if (Server.Misc.Worlds.GetRegionName(this.Map, this.Location) == "Greensky Village")
            {
                clothColor = 0x7D7;             shieldType = 0;                 helmType = 0x1412;              cloakColor = 0x7DA;             weapon = new Bardiche();
            }
            else if (Server.Misc.Worlds.GetRegionName(this.Map, this.Location) == "the Port of Dusk")
            {
                clothColor = 0x601;             shieldType = 0x1B76;    helmType = 0x140E;              cloakColor = 0x600;             weapon = new Cutlass();
            }
            else if (Server.Misc.Worlds.GetRegionName(this.Map, this.Location) == "the Port of Starguide")
            {
                clothColor = 0x751;             shieldType = 0;                 helmType = 0x1412;              cloakColor = 0x758;             weapon = new BladedStaff();
            }
            else if (Server.Misc.Worlds.GetRegionName(this.Map, this.Location) == "the Village of Portshine")
            {
                clothColor = 0x847;             shieldType = 0x1B7A;    helmType = 0x140E;              cloakColor = 0x851;             weapon = new Mace();
            }
            else if (Server.Misc.Worlds.GetRegionName(this.Map, this.Location) == "the Ranger Outpost")
            {
                clothColor = 0x598;             shieldType = 0;                 helmType = 0x140E;              cloakColor = 0x83F;             weapon = new Spear();
            }
            else if (World == "the Land of Lodoria")               // ( Server.Misc.Worlds.GetRegionName( this.Map, this.Location ) == "the City of Lodoria" || Server.Misc.Worlds.GetRegionName( this.Map, this.Location ) == "the Castle of Knowledge" || Server.Misc.Worlds.GetRegionName( this.Map, this.Location ) == "the Lodoria City Park" || Server.Misc.Worlds.GetRegionName( this.Map, this.Location ) == "the Village of Lodoria" || Server.Misc.Worlds.GetRegionName( this.Map, this.Location ) == "the Lodoria Cemetery" )
            {
                clothColor = 0x6E4;             shieldType = 0x1BC4;    helmType = 0x1412;              cloakColor = 0x6E7;             weapon = new Scimitar();
            }
            else if (Server.Misc.Worlds.GetRegionName(this.Map, this.Location) == "the Lunar City of Dawn")
            {
                clothColor = 0x9C4;             shieldType = 0;                 helmType = 11121;               cloakColor = 0x9C4;             weapon = new QuarterStaff();
            }
            else if (Server.Misc.Worlds.GetRegionName(this.Map, this.Location) == "The Town of Devil Guard" || Server.Misc.Worlds.GetRegionName(this.Map, this.Location) == "The Farmland of Devil Guard")
            {
                clothColor = 0x430;             shieldType = 0;                 helmType = 0x140E;              cloakColor = 0;                 weapon = new LargeBattleAxe();
            }
            else if (Server.Misc.Worlds.GetRegionName(this.Map, this.Location) == "the Town of Moon")
            {
                clothColor = 0x8AF;             shieldType = 0x1B72;    helmType = 0x1412;              cloakColor = 0x972;             weapon = new Longsword();
            }
            else if (Server.Misc.Worlds.GetRegionName(this.Map, this.Location) == "the Village of Grey")
            {
                clothColor = 0;                 shieldType = 0;                 helmType = 0x140E;              cloakColor = 0x763;             weapon = new Halberd();
            }
            else if (Server.Misc.Worlds.GetRegionName(this.Map, this.Location) == "the City of Montor")
            {
                clothColor = 0x96F;             shieldType = 0x1B74;    helmType = 0x1412;              cloakColor = 0x529;             weapon = new Broadsword();
            }
            else if (Server.Misc.Worlds.GetRegionName(this.Map, this.Location) == "the Village of Fawn")
            {
                clothColor = 0x59D;             shieldType = 0;                 helmType = 0x140E;              cloakColor = 0x59C;             weapon = new DoubleAxe();
            }
            else if (Server.Misc.Worlds.GetRegionName(this.Map, this.Location) == "the Village of Yew")
            {
                clothColor = 0x83C;             shieldType = 0;                 helmType = 0x1412;              cloakColor = 0x850;             weapon = new Spear();
            }
            else if (Server.Misc.Worlds.GetRegionName(this.Map, this.Location) == "Iceclad Fisherman's Village" || Server.Misc.Worlds.GetRegionName(this.Map, this.Location) == "the Town of Mountain Crest" || Server.Misc.Worlds.GetRegionName(this.Map, this.Location) == "Glacial Coast Village")
            {
                clothColor = 0x482;             shieldType = 0;                 helmType = 0x140E;              cloakColor = 0x47E;             weapon = new Bardiche();
            }
            else if (Server.Misc.Worlds.GetRegionName(this.Map, this.Location) == "the Undercity of Umbra")
            {
                clothColor = 0x964;             shieldType = 0x1BC3;    helmType = 0x140E;              cloakColor = 0x966;             weapon = new BoneHarvester();
            }
            else if (World == "the Island of Umber Veil")
            {
                clothColor = 0xA5D;             shieldType = 0;                 helmType = 0x140E;              cloakColor = 0x96D;             weapon = new Halberd();
            }
            else if (Server.Misc.Worlds.GetRegionName(this.Map, this.Location) == "the City of Kuldara")
            {
                clothColor = 0x965;             shieldType = 0x1BC3;    helmType = 0x140E;              cloakColor = 0x845;             weapon = new Maul();
            }
            else if (World == "the Isles of Dread")
            {
                clothColor = 0x978;             shieldType = 0x1B7A;    helmType = 0;                   cloakColor = 0x973;             weapon = new VikingSword();
            }
            else if (Server.Misc.Worlds.GetRegionName(this.Map, this.Location) == "the Village of Barako")
            {
                clothColor = 0x515;             shieldType = 0x1B72;    helmType = 0x2645;              cloakColor = 0x58D;             weapon = new WarMace();
            }
            else if (World == "the Savaged Empire")               // ( Server.Misc.Worlds.GetRegionName( this.Map, this.Location ) == "the Village of Kurak" )
            {
                clothColor = 0x515;             shieldType = 0;                 helmType = 0x140E;              cloakColor = 0x59D;             weapon = new Spear();
            }
            else if (World == "the Serpent Island")               // ( Server.Misc.Worlds.GetRegionName( this.Map, this.Location ) == "the City of Furnace" )
            {
                clothColor = 0x515;             shieldType = 0;                 helmType = 0x2FBB;              cloakColor = 0;                 weapon = new Halberd();
            }
            else             // if ( Server.Misc.Worlds.GetRegionName( this.Map, this.Location ) == "the City of Britain" || Server.Misc.Worlds.GetRegionName( this.Map, this.Location ) == "the Britain Castle Grounds" || Server.Misc.Worlds.GetRegionName( this.Map, this.Location ) == "Lord British Castle" || Server.Misc.Worlds.GetRegionName( this.Map, this.Location ) == "the Britain Dungeons" )
            {
                clothColor = 0x9C4;             shieldType = 0x1BC4;    helmType = 0x140E;              cloakColor = 0x845;             weapon = new VikingSword();
            }

            weapon.Movable = false;
            ((BaseWeapon)weapon).MaxHitPoints = 1000;
            ((BaseWeapon)weapon).HitPoints    = 1000;
            ((BaseWeapon)weapon).MinDamage    = 500;
            ((BaseWeapon)weapon).MaxDamage    = 900;
            AddItem(weapon);

            Item arms = new RingmailArms();

            if (World == "the Serpent Island")
            {
                arms = new PlateArms();
            }                                                                                   // FOR GARGOYLES
            Item tunic = new PlateChest();
            Item legs  = new PlateLegs();
            Item neck  = new PlateGorget();
            Item hand  = new PlateGloves();
            Item foot  = new Boots( );

            if (World == "the Isles of Dread")
            {
                tunic.ItemID = 0x5652;  tunic.Name = "tunic";
                if (this.Female)
                {
                    tunic.ItemID = 0x563E;
                    Utility.AssignRandomHair(this);
                }
                else
                {
                    Utility.AssignRandomHair(this);
                    FacialHairItemID = Utility.RandomList(0, 8254, 8255, 8256, 8257, 8267, 8268, 8269);
                }

                this.HairHue       = 0x455;
                this.FacialHairHue = 0x455;

                arms.ItemID = 22093;    arms.Name = "sleeves";
                legs.ItemID = 7176;             legs.Name = "skirt";
                neck.ItemID = 0x5650;   neck.Name = "amulet";
                hand.ItemID = 0x564E;   hand.Name = "gloves";
                foot.ItemID = 5901;             foot.Name = "sandals";
            }
            else if (World == "the Moon of Luna")
            {
                tunic.ItemID = 7939;    tunic.Name = "robe";
                if (this.Female)
                {
                    Utility.AssignRandomHair(this);
                }
                else
                {
                    Utility.AssignRandomHair(this);
                    FacialHairItemID = Utility.RandomList(0, 8254, 8255, 8256, 8257, 8267, 8268, 8269);
                }

                this.HairHue       = Utility.RandomHairHue();
                this.FacialHairHue = this.HairHue;

                arms.ItemID = 22093;    arms.Name = "sleeves";
                legs.ItemID = 7176;             legs.Name = "skirt";
                neck.ItemID = 0x5650;   neck.Name = "amulet";
                hand.ItemID = 0x564E;   hand.Name = "gloves";
                foot.ItemID = 5901;             foot.Name = "sandals";
            }

            AddItem(tunic);
            AddItem(arms);
            AddItem(legs);
            AddItem(neck);
            AddItem(hand);
            AddItem(foot);

            if (helmType > 0)
            {
                PlateHelm helm = new PlateHelm();
                helm.ItemID = helmType;
                helm.Name   = "helm";
                if (helmType == 11121)
                {
                    helm.Name = "hood";
                }
                AddItem(helm);
            }
            if (shieldType > 0)
            {
                ChaosShield shield = new ChaosShield();
                shield.ItemID = shieldType;
                shield.Name   = "shield";
                AddItem(shield);
            }

            MorphingTime.ColorMyClothes(this, clothColor);

            if (cloakColor > 0)
            {
                Cloak cloak = new Cloak();
                cloak.Hue = cloakColor;
                AddItem(cloak);
            }

            Server.Misc.MorphingTime.CheckMorph(this);

            if (Utility.RandomBool() && !Server.Misc.Worlds.InBuilding(this) && this.Map != Map.SerpentIsland)
            {
                BaseMount mount = new EvilMount();

                if (this.Map == Map.SavagedEmpire)
                {
                    mount.Body = 0x11C; mount.ItemID = 0x3E92; mount.Hue = Utility.RandomList(0xB79, 0xB19, 0xAEF, 0xACE, 0xAB0);
                }
                else if (this.Map == Map.IslesDread)
                {
                    mount.Body = 0xD5; mount.ItemID = 0x3EC5; if (Server.Misc.MyServerSettings.ClientVersion())
                    {
                        mount.Body = 0x22; mount.ItemID = 34; if (Utility.RandomBool())
                        {
                            mount.Body = 0xB1; mount.ItemID = 177;
                        }
                    }
                    else
                    {
                        mount.Hue = Utility.RandomList(0xAB1, 0xAC0, 0x92B);
                    }
                }
                else
                {
                    mount.Body = 0xE2; mount.ItemID = 0x3EA0; if (Server.Misc.MyServerSettings.ClientVersion())
                    {
                        mount.ItemID = 594;
                    }
                    else
                    {
                        mount.Hue = Utility.RandomList(0, 0, 0, 0, 0, 0x780, 0x781, 0x782, 0x783, 0x8FD, 0x8FE, 0x8FF, 0x900, 0x901, 0x902, 0x903, 0x904, 0x905, 0x906, 0x907, 0x908, Utility.RandomNeutralHue(), Utility.RandomNeutralHue(), Utility.RandomNeutralHue(), Utility.RandomNeutralHue(), Utility.RandomNeutralHue(), Utility.RandomNeutralHue());
                    }
                }

                Server.Mobiles.BaseMount.Ride(mount, this);
            }
        }
Exemple #16
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;
        }