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;
					}
			}
		}
Exemple #2
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( hue ) );
                    }
                    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( 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:
                {
                    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:
                {
                    if( Core.ML )
                    {
                        Container regs = new BagOfNecroReagents( 50 );

                        PackItem( regs );

                        regs.LootType = LootType.Regular;
                    }

                    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;
                }
            }
        }
		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 );
		}