Пример #1
0
        public override void InitOutfit()
        {
            Name       = "Giolia Uumena";
            Title      = "the Scarlet Sister of Healing";
            Body       = 606;
            Female     = true;
            Race       = Race.Elf;
            Hue        = 1002;
            HairItemID = 12236;
            HairHue    = 1619;

            SetSkill(SkillName.Healing, 120.0);

            Circlet helm = new Circlet();

            helm.Hue     = 763;
            helm.Movable = false;
            AddItem(helm);

            CloakOfHumility cloak = new CloakOfHumility();

            cloak.Hue     = 718;
            cloak.Movable = false;
            AddItem(cloak);

            AddItem(new ClothNinjaJacket(888));
            AddItem(new BodySash(718));
            AddItem(new Skirt(888));
            AddItem(new ThighBoots(888));

            WildStaff weapon = new WildStaff();

            weapon.Hue     = 743;
            weapon.Movable = false;
            weapon.Quality = WeaponQuality.Exceptional;
            AddItem(weapon);
        }
Пример #2
0
        private static void AddSkillItems(SkillName skill, Mobile m)
        {
            var elf      = (m.Race == Race.Elf);
            var human    = (m.Race == Race.Human);
            var gargoyle = (m.Race == Race.Gargoyle);

            switch (skill)
            {
            case SkillName.Alchemy:
            {
                PackItem(new EmptyBottle(4));
                PackItem(new MortarPestle());

                var hue = Utility.RandomPinkHue();

                if (elf)
                {
                    if (m.Female)
                    {
                        EquipItem(new FemaleElvenRobe(hue));
                    }
                    else
                    {
                        EquipItem(new MaleElvenRobe(hue));
                    }
                }
                else
                {
                    EquipItem(new Robe(Utility.RandomPinkHue()));
                }
                break;
            }

            case SkillName.Anatomy:
            {
                PackItem(new Bandage(3));

                var hue = Utility.RandomYellowHue();

                if (elf)
                {
                    if (m.Female)
                    {
                        EquipItem(new FemaleElvenRobe(hue));
                    }
                    else
                    {
                        EquipItem(new MaleElvenRobe(hue));
                    }
                }
                else
                {
                    EquipItem(new Robe(hue));
                }
                break;
            }

            case SkillName.AnimalLore:
            {
                var hue = Utility.RandomBlueHue();

                if (elf)
                {
                    EquipItem(new WildStaff());

                    if (m.Female)
                    {
                        EquipItem(new FemaleElvenRobe(hue));
                    }
                    else
                    {
                        EquipItem(new MaleElvenRobe(hue));
                    }
                }
                else
                {
                    EquipItem(new ShepherdsCrook());
                    EquipItem(new Robe(hue));
                }
                break;
            }

            case SkillName.Archery:
            {
                PackItem(new Arrow(25));

                if (elf)
                {
                    EquipItem(new ElvenCompositeLongbow());
                }
                else if (human)
                {
                    EquipItem(new Bow());
                }

                break;
            }

            case SkillName.ArmsLore:
            {
                if (elf)
                {
                    switch (Utility.Random(3))
                    {
                    case 0:
                        EquipItem(new Leafblade());
                        break;

                    case 1:
                        EquipItem(new RuneBlade());
                        break;

                    case 2:
                        EquipItem(new DiamondMace());
                        break;
                    }
                }
                else if (human)
                {
                    switch (Utility.Random(3))
                    {
                    case 0:
                        EquipItem(new Kryss());
                        break;

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

                    case 2:
                        EquipItem(new Club());
                        break;
                    }
                }
                else if (gargoyle)
                {
                    switch (Utility.Random(3))
                    {
                    case 0:
                        EquipItem(new BloodBlade());
                        break;

                    case 1:
                        EquipItem(new GlassSword());
                        break;

                    case 2:
                        EquipItem(new DiscMace());
                        break;
                    }
                }

                break;
            }

            case SkillName.Begging:
            {
                if (elf)
                {
                    EquipItem(new WildStaff());
                }
                else if (human)
                {
                    EquipItem(new GnarledStaff());
                }
                else if (gargoyle)
                {
                    EquipItem(new SerpentStoneStaff());
                }

                break;
            }

            case SkillName.Blacksmith:
            {
                PackItem(new Tongs());
                PackItem(new Pickaxe());
                PackItem(new Pickaxe());
                PackItem(new IronIngot(50));

                if (human || elf)
                {
                    EquipItem(new HalfApron(Utility.RandomYellowHue()));
                }

                break;
            }

            case SkillName.Bushido:
            {
                if (human || elf)
                {
                    EquipItem(new Hakama());
                    EquipItem(new Kasa());
                }

                EquipItem(new BookOfBushido());
                break;
            }

            case SkillName.Fletching:
            {
                PackItem(new Board(14));
                PackItem(new Feather(5));
                PackItem(new Shaft(5));
                break;
            }

            case SkillName.Camping:
            {
                PackItem(new Bedroll());
                PackItem(new Kindling(5));
                break;
            }

            case SkillName.Carpentry:
            {
                PackItem(new Board(10));
                PackItem(new Saw());

                if (human || elf)
                {
                    EquipItem(new HalfApron(Utility.RandomYellowHue()));
                }

                break;
            }

            case SkillName.Cartography:
            {
                PackItem(new BlankMap());
                PackItem(new BlankMap());
                PackItem(new BlankMap());
                PackItem(new BlankMap());
                PackItem(new Sextant());
                break;
            }

            case SkillName.Cooking:
            {
                PackItem(new Kindling(2));
                PackItem(new RawLambLeg());
                PackItem(new RawChickenLeg());
                PackItem(new RawFishSteak());
                PackItem(new SackFlour());
                PackItem(new Pitcher(BeverageType.Water));
                break;
            }

            case SkillName.Chivalry:
            {
                if (Core.ML)
                {
                    PackItem(new BookOfChivalry((ulong)0x3FF));
                }

                break;
            }

            case SkillName.DetectHidden:
            {
                if (human || elf)
                {
                    EquipItem(new Cloak(0x455));
                }

                break;
            }

            case SkillName.Discordance:
            {
                PackInstrument();
                break;
            }

            case SkillName.Fencing:
            {
                if (elf)
                {
                    EquipItem(new Leafblade());
                }
                else if (human)
                {
                    EquipItem(new Kryss());
                }
                else if (gargoyle)
                {
                    EquipItem(new BloodBlade());
                }

                break;
            }

            case SkillName.Fishing:
            {
                EquipItem(new FishingPole());

                var hue = Utility.RandomYellowHue();

                if (elf)
                {
                    Item i = new Circlet();
                    i.Hue = hue;
                    EquipItem(i);
                }
                else if (human)
                {
                    EquipItem(new FloppyHat(hue));
                }

                break;
            }

            case SkillName.Healing:
            {
                PackItem(new Bandage(50));
                PackItem(new Scissors());
                break;
            }

            case SkillName.Herding:
            {
                if (elf)
                {
                    EquipItem(new WildStaff());
                }
                else
                {
                    EquipItem(new ShepherdsCrook());
                }

                break;
            }

            case SkillName.Hiding:
            {
                if (human || elf)
                {
                    EquipItem(new Cloak(0x455));
                }

                break;
            }

            case SkillName.Inscribe:
            {
                PackItem(new BlankScroll(2));
                PackItem(new BlueBook());
                break;
            }

            case SkillName.ItemID:
            {
                if (elf)
                {
                    EquipItem(new WildStaff());
                }
                else if (human)
                {
                    EquipItem(new GnarledStaff());
                }
                else if (gargoyle)
                {
                    EquipItem(new SerpentStoneStaff());
                }

                break;
            }

            case SkillName.Lockpicking:
            {
                PackItem(new Lockpick(20));
                break;
            }

            case SkillName.Lumberjacking:
            {
                if (human || elf)
                {
                    EquipItem(new Hatchet());
                }
                else if (gargoyle)
                {
                    EquipItem(new DualShortAxes());
                }

                break;
            }

            case SkillName.Macing:
            {
                if (elf)
                {
                    EquipItem(new DiamondMace());
                }
                else if (human)
                {
                    EquipItem(new Club());
                }
                else if (gargoyle)
                {
                    EquipItem(new DiscMace());
                }

                break;
            }

            case SkillName.Magery:
            {
                var regs = new BagOfReagents(50);

                if (!Core.AOS)
                {
                    foreach (var item in regs.Items)
                    {
                        item.LootType = LootType.Newbied;
                    }
                }

                PackItem(regs);

                regs.LootType = LootType.Regular;

                PackScroll(0);
                PackScroll(1);
                PackScroll(2);

                var book = new Spellbook((ulong)0x382A8C38);
                book.LootType = LootType.Blessed;
                EquipItem(book);

                if (elf)
                {
                    EquipItem(new Circlet());

                    if (m.Female)
                    {
                        EquipItem(new FemaleElvenRobe(Utility.RandomBlueHue()));
                    }
                    else
                    {
                        EquipItem(new MaleElvenRobe(Utility.RandomBlueHue()));
                    }
                }
                else
                {
                    if (human)
                    {
                        EquipItem(new WizardsHat());
                    }

                    EquipItem(new Robe(Utility.RandomBlueHue()));
                }

                break;
            }

            case SkillName.Mining:
            {
                PackItem(new Pickaxe());
                break;
            }

            case SkillName.Musicianship:
            {
                PackInstrument();
                break;
            }

            case SkillName.Necromancy:
            {
                if (Core.ML)
                {
                    Container regs = new BagOfNecroReagents(50);

                    PackItem(regs);

                    regs.LootType = LootType.Regular;
                }

                Spellbook
                    book = new NecromancerSpellbook(
                    (ulong)0x8981);             // animate dead, evil omen, pain spike, summon familiar, wraith form
                book.LootType = LootType.Blessed;
                PackItem(book);

                break;
            }

            case SkillName.Ninjitsu:
            {
                if (human || elf)
                {
                    EquipItem(new Hakama(0x2C3));         //Only ninjas get the hued one.
                    EquipItem(new Kasa());
                }

                EquipItem(new BookOfNinjitsu());
                break;
            }

            case SkillName.Parry:
            {
                if (human || elf)
                {
                    EquipItem(new WoodenShield());
                }
                else if (gargoyle)
                {
                    EquipItem(new GargishWoodenShield());
                }

                break;
            }

            case SkillName.Peacemaking:
            {
                PackInstrument();
                break;
            }

            case SkillName.Poisoning:
            {
                PackItem(new LesserPoisonPotion());
                PackItem(new LesserPoisonPotion());
                break;
            }

            case SkillName.Provocation:
            {
                PackInstrument();
                break;
            }

            case SkillName.Snooping:
            {
                PackItem(new Lockpick(20));
                break;
            }

            case SkillName.SpiritSpeak:
            {
                if (human || elf)
                {
                    EquipItem(new Cloak(0x455));
                }

                break;
            }

            case SkillName.Stealing:
            {
                PackItem(new Lockpick(20));
                break;
            }

            case SkillName.Swords:
            {
                if (elf)
                {
                    EquipItem(new RuneBlade());
                }
                else if (human)
                {
                    EquipItem(new Katana());
                }
                else if (gargoyle)
                {
                    EquipItem(new GlassSword());
                }

                break;
            }

            case SkillName.Tactics:
            {
                if (elf)
                {
                    EquipItem(new RuneBlade());
                }
                else if (human)
                {
                    EquipItem(new Katana());
                }
                else if (gargoyle)
                {
                    EquipItem(new GlassSword());
                }

                break;
            }

            case SkillName.Tailoring:
            {
                PackItem(new BoltOfCloth());
                PackItem(new SewingKit());
                break;
            }

            case SkillName.Tinkering:
            {
                PackItem(new TinkerTools());
                PackItem(new IronIngot(50));
                PackItem(new Axle());
                PackItem(new AxleGears());
                PackItem(new Springs());
                PackItem(new ClockFrame());
                break;
            }

            case SkillName.Tracking:
            {
                if (human || elf)
                {
                    if (m_Mobile != null)
                    {
                        var shoes = m_Mobile.FindItemOnLayer(Layer.Shoes);

                        if (shoes != null)
                        {
                            shoes.Delete();
                        }
                    }

                    var hue = Utility.RandomYellowHue();

                    if (elf)
                    {
                        EquipItem(new ElvenBoots(hue));
                    }
                    else
                    {
                        EquipItem(new Boots(hue));
                    }

                    EquipItem(new SkinningKnife());
                }
                else if (gargoyle)
                {
                    PackItem(new SkinningKnife());
                }

                break;
            }

            case SkillName.Veterinary:
            {
                PackItem(new Bandage(5));
                PackItem(new Scissors());
                break;
            }

            case SkillName.Wrestling:
            {
                if (elf)
                {
                    EquipItem(new LeafGloves());
                }
                else if (human)
                {
                    EquipItem(new LeatherGloves());
                }
                else if (gargoyle)
                {
                    // Why not give them arm armor?
                    EquipItem(new GargishLeatherArms());
                }

                break;
            }

            case SkillName.Throwing:
            {
                if (gargoyle)
                {
                    EquipItem(new Boomerang());
                }

                break;
            }

            case SkillName.Mysticism:
            {
                PackItem(new MysticBook((ulong)0xAB));
                break;
            }
            }
        }
Пример #3
0
        private static void     AddSkillItems(SkillName skill, Mobile m)
        {
            bool elf = (m.Race == Race.Elf);

            switch (skill)
            {
            case SkillName.Alchemy:
            {
                PackItem(new Bottle(4));
                PackItem(new MortarPestle());

                int hue = Utility.RandomPinkHue();

                if (elf)
                {
                    if (m.Female)
                    {
                        EquipItem(new FemaleElvenRobe(hue));
                    }
                    else
                    {
                        EquipItem(new MaleElvenRobe(hue));
                    }
                }
                else
                {
                    EquipItem(new Robe(Utility.RandomPinkHue()));
                }
                break;
            }

            case SkillName.Anatomy:
            {
                PackItem(new Bandage(3));

                int hue = Utility.RandomYellowHue();

                if (elf)
                {
                    if (m.Female)
                    {
                        EquipItem(new FemaleElvenRobe(hue));
                    }
                    else
                    {
                        EquipItem(new MaleElvenRobe(hue));
                    }
                }
                else
                {
                    EquipItem(new Robe(Utility.RandomPinkHue()));
                }
                break;
            }

            case SkillName.AnimalLore:
            {
                int hue = Utility.RandomBlueHue();

                if (elf)
                {
                    EquipItem(new WildStaff());

                    if (m.Female)
                    {
                        EquipItem(new FemaleElvenRobe(hue));
                    }
                    else
                    {
                        EquipItem(new MaleElvenRobe(hue));
                    }
                }
                else
                {
                    EquipItem(new ShepherdsCrook());
                    EquipItem(new Robe(hue));
                }
                break;
            }

            case SkillName.Archery:
            {
                PackItem(new Arrow(25));

                if (elf)
                {
                    EquipItem(new ElvenCompositeLongbow());
                }
                else
                {
                    EquipItem(new Bow());
                }

                break;
            }

            case SkillName.ArmsLore:
            {
                if (elf)
                {
                    switch (Utility.Random(3))
                    {
                    case 0: EquipItem(new Leafblade()); break;

                    case 1: EquipItem(new RuneBlade()); break;

                    case 2: EquipItem(new DiamondMace()); break;
                    }
                }
                else
                {
                    switch (Utility.Random(3))
                    {
                    case 0: EquipItem(new Kryss()); break;

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

                    case 2: EquipItem(new Club()); break;
                    }
                }

                break;
            }

            case SkillName.Begging:
            {
                if (elf)
                {
                    EquipItem(new WildStaff());
                }
                else
                {
                    EquipItem(new GnarledStaff());
                }
                break;
            }

            case SkillName.Blacksmith:
            {
                PackItem(new Tongs());
                PackItem(new Pickaxe());
                PackItem(new Pickaxe());
                PackItem(new IronIngot(50));
                EquipItem(new HalfApron(Utility.RandomYellowHue()));
                break;
            }

            case SkillName.Bushido:
            {
                EquipItem(new Hakama());
                EquipItem(new Kasa());
                EquipItem(new BookOfBushido());
                break;
            }

            case SkillName.Fletching:
            {
                PackItem(new Board(14));
                PackItem(new Feather(5));
                PackItem(new Shaft(5));
                break;
            }

            case SkillName.Camping:
            {
                PackItem(new Bedroll());
                PackItem(new Kindling(5));
                break;
            }

            case SkillName.Carpentry:
            {
                PackItem(new Board(10));
                PackItem(new Saw());
                EquipItem(new HalfApron(Utility.RandomYellowHue()));
                break;
            }

            case SkillName.Cartography:
            {
                PackItem(new BlankMap());
                PackItem(new BlankMap());
                PackItem(new BlankMap());
                PackItem(new BlankMap());
                PackItem(new Sextant());
                break;
            }

            case SkillName.Cooking:
            {
                PackItem(new Kindling(2));
                PackItem(new RawLambLeg());
                PackItem(new RawChickenLeg());
                PackItem(new RawFishSteak());
                PackItem(new SackFlour());
                PackItem(new Pitcher(BeverageType.Water));
                break;
            }

            case SkillName.Chivalry:
            {
                if (Core.ML)
                {
                    PackItem(new BookOfChivalry((ulong)0x3FF));
                }

                break;
            }

            case SkillName.DetectHidden:
            {
                EquipItem(new Cloak(0x455));
                break;
            }

            case SkillName.Discordance:
            {
                PackInstrument();
                break;
            }

            case SkillName.Fencing:
            {
                if (elf)
                {
                    EquipItem(new Leafblade());
                }
                else
                {
                    EquipItem(new Kryss());
                }

                break;
            }

            case SkillName.Fishing:
            {
                EquipItem(new FishingPole());

                int hue = Utility.RandomYellowHue();

                if (elf)
                {
                    Item i = new Circlet();
                    i.Hue = hue;
                    EquipItem(i);
                }
                else
                {
                    EquipItem(new FloppyHat(Utility.RandomYellowHue()));
                }

                break;
            }

            case SkillName.Healing:
            {
                PackItem(new Bandage(50));
                PackItem(new Scissors());
                break;
            }

            case SkillName.Herding:
            {
                if (elf)
                {
                    EquipItem(new WildStaff());
                }
                else
                {
                    EquipItem(new ShepherdsCrook());
                }

                break;
            }

            case SkillName.Hiding:
            {
                EquipItem(new Cloak(0x455));
                break;
            }

            case SkillName.Inscribe:
            {
                PackItem(new BlankScroll(2));
                PackItem(new BlueBook());
                break;
            }

            case SkillName.ItemID:
            {
                if (elf)
                {
                    EquipItem(new WildStaff());
                }
                else
                {
                    EquipItem(new GnarledStaff());
                }
                break;
            }

            case SkillName.Lockpicking:
            {
                PackItem(new Lockpick(20));
                break;
            }

            case SkillName.Lumberjacking:
            {
                EquipItem(new Hatchet());
                break;
            }

            case SkillName.Macing:
            {
                if (elf)
                {
                    EquipItem(new DiamondMace());
                }
                else
                {
                    EquipItem(new Club());
                }

                break;
            }

            case SkillName.Magery:
            {
                BagOfReagents regs = new BagOfReagents(30);

/*
 *                                      if ( !Core.AOS )
 *                                              foreach ( Item item in regs.Items )
 *                                                      item.LootType = LootType.Newbied;
 */

                PackItem(regs);

                regs.LootType = LootType.Regular;

                PackScroll(0);
                PackScroll(1);
                PackScroll(2);

                Spellbook book = new Spellbook((ulong)0x382A8C38);

                EquipItem(book);

                //book.LootType = LootType.Blessed;

                if (elf)
                {
                    EquipItem(new Circlet());

                    if (m.Female)
                    {
                        EquipItem(new FemaleElvenRobe(Utility.RandomBlueHue()));
                    }
                    else
                    {
                        EquipItem(new MaleElvenRobe(Utility.RandomBlueHue()));
                    }
                }
                else
                {
                    EquipItem(new WizardsHat());
                    EquipItem(new Robe(Utility.RandomBlueHue()));
                }

                break;
            }

            case SkillName.Mining:
            {
                PackItem(new Pickaxe());
                break;
            }

            case SkillName.Musicianship:
            {
                PackInstrument();
                break;
            }

            case SkillName.Necromancy:
            {
                Container regs = new BagOfNecroReagents(50);

                PackItem(regs);

                regs.LootType = LootType.Regular;
                Spellbook book = new NecromancerSpellbook((ulong)0x1CFFF);                           // Silver: All except VE/VS
                PackItem(book);

                break;
            }

            case SkillName.Ninjitsu:
            {
                EquipItem(new Hakama(0x2C3));                                   //Only ninjas get the hued one.
                EquipItem(new Kasa());
                EquipItem(new BookOfNinjitsu());
                break;
            }

            case SkillName.Parry:
            {
                EquipItem(new WoodenShield());
                break;
            }

            case SkillName.Peacemaking:
            {
                PackInstrument();
                break;
            }

            case SkillName.Poisoning:
            {
                PackItem(new LesserPoisonPotion());
                PackItem(new LesserPoisonPotion());
                break;
            }

            case SkillName.Provocation:
            {
                PackInstrument();
                break;
            }

            case SkillName.Snooping:
            {
                PackItem(new Lockpick(20));
                break;
            }

            case SkillName.SpiritSpeak:
            {
                EquipItem(new Cloak(0x455));
                break;
            }

            case SkillName.Stealing:
            {
                PackItem(new Lockpick(20));
                break;
            }

            case SkillName.Swords:
            {
                if (elf)
                {
                    EquipItem(new RuneBlade());
                }
                else
                {
                    EquipItem(new Katana());
                }

                break;
            }

            case SkillName.Tactics:
            {
                if (elf)
                {
                    EquipItem(new RuneBlade());
                }
                else
                {
                    EquipItem(new Katana());
                }

                break;
            }

            case SkillName.Tailoring:
            {
                PackItem(new BoltOfCloth());
                PackItem(new SewingKit());
                break;
            }

            case SkillName.Tracking:
            {
                if (m_Mobile != null)
                {
                    Item shoes = m_Mobile.FindItemOnLayer(Layer.Shoes);

                    if (shoes != null)
                    {
                        shoes.Delete();
                    }
                }

                int hue = Utility.RandomYellowHue();

                if (elf)
                {
                    EquipItem(new ElvenBoots(hue));
                }
                else
                {
                    EquipItem(new Boots(hue));
                }

                EquipItem(new SkinningKnife());
                break;
            }

            case SkillName.Veterinary:
            {
                PackItem(new Bandage(5));
                PackItem(new Scissors());
                break;
            }

            case SkillName.Wrestling:
            {
                if (elf)
                {
                    EquipItem(new LeafGloves());
                }
                else
                {
                    EquipItem(new LeatherGloves());
                }

                break;
            }
            }
        }
Пример #4
0
        public KingLeonidas() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            Name = "King Leonidas";
            Body = 400;
            Hue  = 1020;

            SetStr(3020, 4000);
            SetDex(800);
            SetInt(160, 200);

            SetHits(900, 1000);

            SetDamage(25, 35);



            SetSkill(SkillName.MagicResist, 200.0);
            SetSkill(SkillName.Tactics, 200.0);
            SetSkill(SkillName.Wrestling, 200.0);

            new Horse().Rider = this;


            VikingSword weapon = new VikingSword();

            weapon.Hue     = 2125;
            weapon.Movable = false;
            AddItem(weapon);

            WoodenKiteShield shield = new WoodenKiteShield();

            shield.Hue     = 2125;
            shield.Movable = false;
            AddItem(shield);

            Circlet helm = new Circlet();

            helm.Hue     = 2125;
            helm.Movable = false;
            AddItem(helm);

            PlateArms arms = new PlateArms();

            arms.Hue = 2125;
            AddItem(arms);

            PlateGloves gloves = new PlateGloves();

            gloves.Hue = 2125;
            AddItem(gloves);

            ChainChest tunic = new ChainChest();

            tunic.Hue = 2125;
            AddItem(tunic);

            ChainLegs legs = new ChainLegs();

            legs.Hue = 2125;
            AddItem(legs);

            AddItem(new Boots());

            HairItemID = 0x203C;             // Short Hair
            HairHue    = 742;



            Fame  = 0;
            Karma = 0;

            VirtualArmor = 90;
            PackArmor(1, 20);
        }
        public TerraBranford() : base(AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            Name       = "Terra";
            Title      = "the Faraway Traveler";
            Body       = 606;
            Female     = true;
            Race       = Race.Elf;
            Hue        = 33777;
            HairItemID = 12239;
            HairHue    = 71;

            SetStr(500);
            SetDex(500);
            SetInt(500);

            SetHits(1000);
            SetMana(2000);

            SetDamage(15, 20);

            SetSkill(SkillName.AnimalLore, 64.0, 100.0);
            SetSkill(SkillName.AnimalTaming, 90.0, 100.0);
            SetSkill(SkillName.EvalInt, 95.5, 125.0);
            SetSkill(SkillName.Magery, 99.5, 125.0);
            SetSkill(SkillName.MagicResist, 95.5, 100.0);
            SetSkill(SkillName.Meditation, 95.5, 100.0);
            SetSkill(SkillName.Veterinary, 65.0, 88.0);
            SetSkill(SkillName.Wrestling, 95.5, 100.0);

            PackGold(227, 348);

            Circlet helm = new Circlet();

            helm.Movable = true;
            AddItem(helm);

            PlateGorget gorget = new PlateGorget();

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

            PlateArms arms = new PlateArms();

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

            FemalePlateChest chest = new FemalePlateChest();

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

            AddItem(new ThighBoots(29));

            Container pack = new Backpack();

            pack.DropItem(new Gold(Utility.RandomMinMax(450, 570)));
            pack.DropItem(new BlackPearl(Utility.RandomMinMax(15, 20)));
            pack.DropItem(new Bloodmoss(Utility.RandomMinMax(15, 20)));
            pack.DropItem(new Garlic(Utility.RandomMinMax(15, 20)));
            pack.DropItem(new Ginseng(Utility.RandomMinMax(15, 20)));
            pack.DropItem(new MandrakeRoot(Utility.RandomMinMax(15, 20)));
            pack.DropItem(new Nightshade(Utility.RandomMinMax(15, 20)));
            pack.DropItem(new SpidersSilk(Utility.RandomMinMax(15, 20)));
            pack.DropItem(new SulfurousAsh(Utility.RandomMinMax(15, 20)));

            PackItem(pack);

            switch (Utility.Random(32))
            {
            case 0: PackItem(new ClumsyScroll()); break;

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

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

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

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

            case 5: PackItem(new NightSightScroll()); break;

            case 6: PackItem(new ReactiveArmorScroll()); break;

            case 7: PackItem(new WeakenScroll()); break;

            case 8: PackItem(new AgilityScroll()); break;

            case 9: PackItem(new CunningScroll()); break;

            case 10: PackItem(new CureScroll()); break;

            case 11: PackItem(new HarmScroll()); break;

            case 12: PackItem(new MagicTrapScroll()); break;

            case 13: PackItem(new MagicUnTrapScroll()); break;

            case 14: PackItem(new ProtectionScroll()); break;

            case 15: PackItem(new StrengthScroll()); break;

            case 16: PackItem(new BlessScroll()); break;

            case 17: PackItem(new FireballScroll()); break;

            case 18: PackItem(new MagicLockScroll()); break;

            case 19: PackItem(new PoisonScroll()); break;

            case 20: PackItem(new TelekinisisScroll()); break;

            case 21: PackItem(new TeleportScroll()); break;

            case 22: PackItem(new UnlockScroll()); break;

            case 23: PackItem(new WallOfStoneScroll()); break;

            case 24: PackItem(new ArchCureScroll()); break;

            case 25: PackItem(new ArchProtectionScroll()); break;

            case 26: PackItem(new CurseScroll()); break;

            case 27: PackItem(new FireFieldScroll()); break;

            case 28: PackItem(new GreaterHealScroll()); break;

            case 29: PackItem(new LightningScroll()); break;

            case 30: PackItem(new ManaDrainScroll()); break;

            case 31: PackItem(new RecallScroll()); break;
            }
        }
        public OborunianDrowSpiderTrainer() : base(AIType.AI_Melee, FightMode.Closest, 12, 1, 0.175, 0.350)
        {
            Name       = NameList.RandomName("elven female");
            Title      = "the oborunian spider trainer";
            Female     = true;
            Body       = 606;
            Hue        = 33840;
            HairItemID = 12240;
            HairHue    = 1153;

            SetStr(147, 205);
            SetDex(97, 114);
            SetInt(54, 147);

            SetHits(225, 350);

            SetDamage(1, 4);

            SetSkill(SkillName.MagicResist, 43.4, 60.2);
            SetSkill(SkillName.Ninjitsu, 100.0);
            SetSkill(SkillName.Tactics, 45.6, 54.4);
            SetSkill(SkillName.Wrestling, 50.7, 59.6);

            Circlet circlet = new Circlet();

            BaseRunicTool.ApplyAttributesTo(circlet, 5, 5, 35);
            circlet.Hue     = 1157;
            circlet.Movable = true;
            AddItem(circlet);

            WoodlandGorget gorget = new WoodlandGorget();

            BaseRunicTool.ApplyAttributesTo(gorget, 5, 5, 35);
            gorget.Hue     = 2075;
            gorget.Movable = true;
            AddItem(gorget);

            DrowSpiderCloak cloak = new DrowSpiderCloak();

            BaseRunicTool.ApplyAttributesTo(cloak, 5, 5, 35);
            cloak.Movable = true;
            AddItem(cloak);

            StuddedBustierArms bustier = new StuddedBustierArms();

            BaseRunicTool.ApplyAttributesTo(bustier, 5, 5, 35);
            bustier.Hue     = 2075;
            bustier.Movable = true;
            AddItem(bustier);

            DragonGloves gloves = new DragonGloves();

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

            WildStaff staff = new WildStaff();

            BaseRunicTool.ApplyAttributesTo(staff, 5, 5, 35);
            staff.Hue     = 2704;
            staff.Quality = WeaponQuality.Exceptional;
            staff.Movable = true;
            AddItem(staff);

            WoodlandBelt belt = new WoodlandBelt();

            BaseRunicTool.ApplyAttributesTo(belt, 5, 5, 35);
            belt.Hue     = 2075;
            belt.Movable = true;
            AddItem(belt);

            ThighBoots boots = new ThighBoots();

            BaseRunicTool.ApplyAttributesTo(boots, 5, 5, 35);
            boots.Hue     = 1883;
            boots.Movable = true;
            AddItem(boots);

            PackGold(212, 315);

            PackItem(new FishScale(Utility.RandomMinMax(6, 11)));

            Fame  = 2000;
            Karma = -2000;

            m_NextAbilityTime = DateTime.Now + TimeSpan.FromSeconds(Utility.RandomMinMax(2, 5));
        }
Пример #7
0
        private static void AddSkillItems(SkillName skill, Mobile m, Expansion e)
        {
            bool elf = (m.Race == Race.Elf);

            switch (skill)
            {
            case SkillName.Alchemy:
            {
                PackItem(new Bottle(4), e);
                PackItem(new MortarPestle(), e);

                int hue = Utility.RandomPinkHue();

                if (elf)
                {
                    if (m.Female)
                    {
                        EquipItem(new FemaleElvenRobe(hue), e);
                    }
                    else
                    {
                        EquipItem(new MaleElvenRobe(hue), e);
                    }
                }
                else
                {
                    EquipItem(new Robe(Utility.RandomPinkHue()), e);
                }
                break;
            }

            case SkillName.Anatomy:
            {
                PackItem(new Bandage(3), e);

                int hue = Utility.RandomYellowHue();

                if (elf)
                {
                    if (m.Female)
                    {
                        EquipItem(new FemaleElvenRobe(hue), e);
                    }
                    else
                    {
                        EquipItem(new MaleElvenRobe(hue), e);
                    }
                }
                else
                {
                    EquipItem(new Robe(Utility.RandomPinkHue()), e);
                }
                break;
            }

            case SkillName.AnimalLore:
            {
                int hue = Utility.RandomBlueHue();

                if (elf)
                {
                    EquipItem(new WildStaff(), e);

                    if (m.Female)
                    {
                        EquipItem(new FemaleElvenRobe(hue), e);
                    }
                    else
                    {
                        EquipItem(new MaleElvenRobe(hue), e);
                    }
                }
                else
                {
                    EquipItem(new ShepherdsCrook(), e);
                    EquipItem(new Robe(hue), e);
                }
                break;
            }

            case SkillName.Archery:
            {
                PackItem(new Arrow(50), e);

                if (elf)
                {
                    EquipItem(new ElvenCompositeLongbow(), e);
                }
                else
                {
                    EquipItem(new Bow(), e);
                }

                break;
            }

            case SkillName.ArmsLore:
            {
                if (elf)
                {
                    switch (Utility.Random(3))
                    {
                    case 0:
                        EquipItem(new Leafblade(), e);
                        break;

                    case 1:
                        EquipItem(new RuneBlade(), e);
                        break;

                    case 2:
                        EquipItem(new DiamondMace(), e);
                        break;
                    }
                }
                else
                {
                    switch (Utility.Random(3))
                    {
                    case 0:
                        EquipItem(new Kryss(), e);
                        break;

                    case 1:
                        EquipItem(new Katana(), e);
                        break;

                    case 2:
                        EquipItem(new Club(), e);
                        break;
                    }
                }

                break;
            }

            case SkillName.Begging:
            {
                if (elf)
                {
                    EquipItem(new WildStaff(), e);
                }
                else
                {
                    EquipItem(new GnarledStaff(), e);
                }
                break;
            }

            case SkillName.Blacksmith:
            {
                PackItem(new Tongs(), e);
                PackItem(new Pickaxe(), e);
                PackItem(new Pickaxe(), e);
                PackItem(new IronIngot(50), e);
                EquipItem(new HalfApron(Utility.RandomYellowHue()), e);
                break;
            }

            case SkillName.Fletching:
            {
                PackItem(new Board(14), e);
                PackItem(new Feather(5), e);
                PackItem(new Shaft(5), e);
                break;
            }

            case SkillName.Camping:
            {
                PackItem(new Bedroll(), e);
                PackItem(new Kindling(5), e);
                break;
            }

            case SkillName.Carpentry:
            {
                PackItem(new Board(10), e);
                PackItem(new Saw(), e);
                EquipItem(new HalfApron(Utility.RandomYellowHue()), e);
                break;
            }

            case SkillName.Cartography:
            {
                PackItem(new BlankMap(), e);
                PackItem(new BlankMap(), e);
                PackItem(new BlankMap(), e);
                PackItem(new BlankMap(), e);
                PackItem(new Sextant(), e);
                break;
            }

            case SkillName.Cooking:
            {
                PackItem(new Kindling(2), e);
                PackItem(new RawLambLeg(), e);
                PackItem(new RawChickenLeg(), e);
                PackItem(new RawFishSteak(), e);
                PackItem(new SackFlour(), e);
                PackItem(new Pitcher(BeverageType.Water), e);
                break;
            }

            case SkillName.DetectHidden:
            {
                EquipItem(new Cloak(997), e);
                break;
            }

            case SkillName.Discordance:
            {
                PackInstrument(e);
                break;
            }

            case SkillName.Fencing:
            {
                if (elf)
                {
                    EquipItem(new Leafblade(), e);
                }
                else
                {
                    EquipItem(new Kryss(), e);
                }

                break;
            }

            case SkillName.Fishing:
            {
                EquipItem(new FishingPole(), e);

                int hue = Utility.RandomYellowHue();

                if (elf)
                {
                    Item i = new Circlet();
                    i.Hue = hue;
                    EquipItem(i, e);
                }
                else
                {
                    EquipItem(new FloppyHat(Utility.RandomYellowHue()), e);
                }

                break;
            }

            case SkillName.Healing:
            {
                PackItem(new Bandage(50), e);
                PackItem(new Scissors(), e);
                break;
            }

            case SkillName.Herding:
            {
                if (elf)
                {
                    EquipItem(new WildStaff(), e);
                }
                else
                {
                    EquipItem(new ShepherdsCrook(), e);
                }

                break;
            }

            case SkillName.Hiding:
            {
                EquipItem(new Cloak(997), e);
                break;
            }

            case SkillName.Inscribe:
            {
                PackItem(new BlankScroll(2), e);
                PackItem(new BlueBook(), e);
                break;
            }

            case SkillName.ItemID:
            {
                if (elf)
                {
                    EquipItem(new WildStaff(), e);
                }
                else
                {
                    EquipItem(new GnarledStaff(), e);
                }
                break;
            }

            case SkillName.Lockpicking:
            {
                PackItem(new Lockpick(20), e);
                break;
            }

            case SkillName.Lumberjacking:
            {
                EquipItem(new Hatchet(), e);
                break;
            }

            case SkillName.Macing:
            {
                if (elf)
                {
                    EquipItem(new DiamondMace(), e);
                }
                else
                {
                    EquipItem(new Club(), e);
                }

                break;
            }

            case SkillName.Magery:
            {
                var regs = new BagOfReagents(50);

                /*
                 * if (e < Expansion.AOS)
                 * {
                 *      foreach (Item item in regs.Items)
                 *      {
                 *              item.LootType = LootType.Newbied;
                 *      }
                 * }
                 */
                PackItem(regs, e);

                regs.LootType = LootType.Regular;

                PackScroll(0, e);
                PackScroll(1, e);
                PackScroll(2, e);

                // All characters get a spellbook

                /*
                 * Spellbook book = new Spellbook((ulong)0xFFFFFFFF);
                 * book.LootType = LootType.Newbied;
                 * EquipItem(book, e);
                 */

                if (elf)
                {
                    EquipItem(new Circlet(), e);

                    if (m.Female)
                    {
                        EquipItem(new FemaleElvenRobe(Utility.RandomBlueHue()), e);
                    }
                    else
                    {
                        EquipItem(new MaleElvenRobe(Utility.RandomBlueHue()), e);
                    }
                }
                else
                {
                    EquipItem(new WizardsHat(), e);
                    EquipItem(new Robe(Utility.RandomBlueHue()), e);
                }

                break;
            }

            case SkillName.Mining:
            {
                PackItem(new Pickaxe(), e);
                break;
            }

            case SkillName.Musicianship:
            {
                PackInstrument(e);
                break;
            }

            case SkillName.Peacemaking:
            {
                PackInstrument(e);
                break;
            }

            case SkillName.Poisoning:
            {
                PackItem(new LesserPoisonPotion(), e);
                PackItem(new LesserPoisonPotion(), e);
                break;
            }

            case SkillName.Provocation:
            {
                PackInstrument(e);
                break;
            }

            case SkillName.Snooping:
            {
                PackItem(new Lockpick(20), e);
                break;
            }

            case SkillName.SpiritSpeak:
            {
                EquipItem(new Cloak(997), e);
                break;
            }

            case SkillName.Stealing:
            {
                PackItem(new Lockpick(20), e);
                break;
            }

            case SkillName.Swords:
            {
                if (elf)
                {
                    EquipItem(new RuneBlade(), e);
                }
                else
                {
                    EquipItem(new Katana(), e);
                }

                break;
            }

            case SkillName.Tactics:
            {
                if (elf)
                {
                    EquipItem(new RuneBlade(), e);
                }
                else
                {
                    EquipItem(new Katana(), e);
                }

                break;
            }

            case SkillName.Tailoring:
            {
                //PackItem( new BoltOfCloth() );
                PackItem(new SewingKit(), e);
                break;
            }

            case SkillName.Tracking:
            {
                if (m_Mobile != null)
                {
                    Item shoes = m_Mobile.FindItemOnLayer(Layer.Shoes);

                    if (shoes != null)
                    {
                        shoes.Delete();
                    }
                }

                int hue = Utility.RandomYellowHue();

                if (elf)
                {
                    EquipItem(new ElvenBoots(hue), e);
                }
                else
                {
                    EquipItem(new Boots(hue), e);
                }

                EquipItem(new SkinningKnife(), e);
                break;
            }

            case SkillName.Veterinary:
            {
                PackItem(new Bandage(5), e);
                PackItem(new Scissors(), e);
                break;
            }

            case SkillName.Wrestling:
            {
                if (elf)
                {
                    EquipItem(new LeafGloves(), e);
                }
                else
                {
                    EquipItem(new LeatherGloves(), e);
                }

                break;
            }
            }
        }