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