Inheritance: BaseArmor
示例#1
0
        public Khalnga()
            : base(AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            Body = 0x190;
            Title = "the Bone Lord";

            SetStr(1254, 1381);
            SetDex(93, 135);
            SetInt(745, 810);

            SetHits(3000, 4500);

            SetDamage(30, 45);

            SetSkill(SkillName.Wrestling, 90.1, 100.0);
            SetSkill(SkillName.Tactics, 90.1, 100.0);
            SetSkill(SkillName.MagicResist, 90.1, 100.0);
            SetSkill(SkillName.Magery, 90.1, 100.0);
            SetSkill(SkillName.EvalInt, 100.0);
            SetSkill(SkillName.Meditation, 120.1, 130.0);

            VirtualArmor = 50;
            Fame = 10000;
            Karma = -10000;

            PlateHelm helm = new PlateHelm();
            helm.Hue = 1157;
            helm.Identified = true;
            AddItem(Immovable(helm));

            PlateArms arms = new PlateArms();
            arms.Hue = 1157;
            arms.Identified = true;
            AddItem(Immovable(arms));

            PlateLegs legs = new PlateLegs();
            legs.Hue = 1157;
            legs.Identified = true;
            AddItem(Immovable(legs));

            PlateGloves gloves = new PlateGloves();
            gloves.Hue = 1157;
            gloves.Identified = true;
            AddItem(Immovable(gloves));

            PlateChest chest = new PlateChest();
            chest.Hue = 1157;
            chest.Identified = true;
            AddItem(Immovable(chest));

            PlateGorget gorget = new PlateGorget();
            gorget.Hue = 1157;
            gorget.Identified = true;
            AddItem(Immovable(gorget));

            Spellbook spellbook = new Spellbook();
            spellbook.Hue = 1157;
            spellbook.Name = "red book of spells";
            AddItem(Immovable(spellbook));
        }
 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 PaladinSectionRepresentative()
		{
			Name = NameList.RandomName( "male" );
			Title = "the Paladin";
			Body = 0x190;
			Hue = Utility.RandomSkinHue();

			Item item = new PlateArms();
			item.Hue = 2214;
			AddItem( item );

			item = new PlateChest();
			item.Hue = 2214;
			AddItem( item );

			item = new PlateGloves();
			item.Hue = 2214;
			AddItem( item );

			item = new PlateLegs();
			item.Hue = 2214;
			AddItem( item );

			item = new PlateGorget();
			item.Hue = 2214;
			AddItem( item );

			item = new PlateHelm();
			item.Hue = 2214;
			AddItem( item );

			AddItem( new Cloak( 1254 ) );
			AddItem( new Halberd() );
		}
示例#4
0
		public Guardian() : base( AIType.AI_Archer, FightMode.Aggressor, 10, 1, 0.2, 0.4 ) 
		{ 
			InitStats( 100, 125, 25 ); 
			Title = "the guardian"; 

			SpeechHue = 0; 

			Hue = Utility.RandomSkinHue(); 

			if ( Female = Utility.RandomBool() ) 
			{ 
				Body = 0x191; 
				Name = NameList.RandomName( "female" ); 
			} 
			else 
			{ 
				Body = 0x190; 
				Name = NameList.RandomName( "male" ); 
			} 

			new Orn().Rider = this; 

			PlateChest chest = new PlateChest(); 
			chest.Hue = 0x966; 
			AddItem( chest ); 
			PlateArms arms = new PlateArms(); 
			arms.Hue = 0x966; 
			AddItem( arms ); 
			PlateGloves gloves = new PlateGloves(); 
			gloves.Hue = 0x966; 
			AddItem( gloves ); 
			PlateGorget gorget = new PlateGorget(); 
			gorget.Hue = 0x966; 
			AddItem( gorget ); 
			PlateLegs legs = new PlateLegs(); 
			legs.Hue = 0x966; 
			AddItem( legs ); 
			PlateHelm helm = new PlateHelm(); 
			helm.Hue = 0x966; 
			AddItem( helm ); 


			Bow bow = new Bow(); 

			bow.Movable = false; 
			bow.Crafter = this; 
			bow.Quality = WeaponQuality.Exceptional; 

			AddItem( bow ); 

			PackItem( new Arrow( 250 ) );
			PackGold( 250, 500 );

			Skills[SkillName.Anatomy].Base = 120.0; 
			Skills[SkillName.Tactics].Base = 120.0; 
			Skills[SkillName.Archery].Base = 120.0; 
			Skills[SkillName.MagicResist].Base = 120.0; 
			Skills[SkillName.DetectHidden].Base = 100.0; 

		} 
示例#5
0
文件: Corey.cs 项目: Crome696/ServUO
        public override void InitOutfit()
        { 
            this.AddItem(new Backpack());						
            this.AddItem(new Halberd());	
            this.AddItem(new Cloak(0x4E6));				
			
            Item item;
			
            item = new PlateLegs();
            item.Hue = 0x8A6;
            this.AddItem(item);	
			
            item = new PlateArms();
            item.Hue = 0x8A6;
            this.AddItem(item);	
			
            item = new PlateChest();
            item.Hue = 0x8A6;
            this.AddItem(item);	
			
            item = new PlateGloves();
            item.Hue = 0x8A6;
            this.AddItem(item);	
			
            item = new PlateHelm();
            item.Hue = 0x8A6;
            this.AddItem(item);	
			
            item = new PlateGorget();
            item.Hue = 0x8A6;
            this.AddItem(item);					
        }
示例#6
0
        public override void InitOutfit()
        {
            AddItem(new Backpack());
            AddItem(new Halberd());
            AddItem(new Cloak(0x4E6));

            Item item;

            item = new PlateLegs
            {
                Hue = 0x8A6
            };
            AddItem(item);

            item = new PlateArms
            {
                Hue = 0x8A6
            };
            AddItem(item);

            item = new PlateChest
            {
                Hue = 0x8A6
            };
            AddItem(item);

            item = new PlateGloves
            {
                Hue = 0x8A6
            };
            AddItem(item);

            item = new PlateHelm
            {
                Hue = 0x8A6
            };
            AddItem(item);

            item = new PlateGorget
            {
                Hue = 0x8A6
            };
            AddItem(item);
        }
示例#7
0
        public BagofPlateArmor()
        {
            Movable = true;
            Hue     = 0x25;
            Name    = "a bag of Plate Armor";

            PlateChest chest = new PlateChest();

            chest.Quality  = Quality.Exceptional;
            chest.LootType = LootType.Blessed;
            DropItem(chest);

            PlateArms arms = new PlateArms();

            arms.Quality  = Quality.Exceptional;
            arms.LootType = LootType.Blessed;
            DropItem(arms);

            PlateGloves gloves = new PlateGloves();

            gloves.Quality  = Quality.Exceptional;
            gloves.LootType = LootType.Blessed;
            DropItem(gloves);

            PlateGorget gorget = new PlateGorget();

            gorget.Quality  = Quality.Exceptional;
            gorget.LootType = LootType.Blessed;
            DropItem(gorget);

            PlateLegs legs = new PlateLegs();

            legs.Quality  = Quality.Exceptional;
            legs.LootType = LootType.Blessed;
            DropItem(legs);

            PlateHelm helm = new PlateHelm();

            helm.Quality  = Quality.Exceptional;
            helm.LootType = LootType.Blessed;
            DropItem(helm);
        }
示例#8
0
		public override void GenerateLoot()
		{
			PlateChest chest = new PlateChest(); 
			chest.Hue = 0x966; 
			AddItem( chest ); 
			PlateArms arms = new PlateArms(); 
			arms.Hue = 0x966; 
			AddItem( arms ); 
			PlateGloves gloves = new PlateGloves(); 
			gloves.Hue = 0x966; 
			AddItem( gloves ); 
			PlateGorget gorget = new PlateGorget(); 
			gorget.Hue = 0x966; 
			AddItem( gorget ); 
			PlateLegs legs = new PlateLegs(); 
			legs.Hue = 0x966; 
			AddItem( legs ); 
			PlateHelm helm = new PlateHelm(); 
			helm.Hue = 0x966; 
			AddItem( helm ); 

			Bow bow = new Bow(); 

			bow.Movable = false; 
			bow.Crafter = this; 
			bow.Quality = WeaponQuality.Exceptional; 

			AddItem( bow ); 

			PackItem( new Arrow( 250 ) );
			PackGold( 250, 500 );
		}
示例#9
0
        public TownGuard()
            : base(AIType.AI_Melee, FightMode.Closest, 15, 1, 0.175, 0.2)
        {
            Title = "the guard";
            Body = 400;
                    Hue = Utility.RandomSkinHue();
            SpeechHue=1153;
            this.Body = 0x190;
            this.Name = NameList.RandomName( "male" );
                    SetStr( 150 );
            SetDex( 100 );
            SetInt( 25 );

            SetSkill( SkillName.MagicResist, 200.0 );
            SetSkill( SkillName.Tactics, 100.0 );
            SetSkill( SkillName.Healing, 100.0 );
            SetSkill( SkillName.Anatomy, 100.0 );
            SetSkill( SkillName.Swords, 100.0 );
            SetSkill( SkillName.Lumberjacking, 100.0 );
            SetSkill( SkillName.Healing, 100.0 );

            Fame = 2500;
            Karma = 5000;

            VirtualArmor = 30;

            Item hair = new Item( Utility.RandomList( 0x203B, 0x2049, 0x2048, 0x204A ) );
            hair.Hue = Utility.RandomHairHue();
            hair.Layer = Layer.Hair;
            hair.Movable = false;
            AddItem( hair );

            switch ( Utility.Random( 50 ) )
            {
                case 0:
                {
                    Item beard = new Item( Utility.RandomList( 0x2040, 0x204B, 0x203F, 0x2041 ) );
                    beard.Hue = hair.Hue;
                    beard.Layer = Layer.FacialHair;
                    beard.Movable = false;
                    AddItem( beard );
                    break;
                }
            }

            PackGold( 0 );
            switch ( Utility.Random( 35 ) )
            {
                case 0:
                {
                    Item helm = new PlateHelm();
                    EquipItem( helm );
                    break;
                }
            }
            switch ( Utility.Random( 35 ) )
            {
                case 0:
                {
                    Item gloves = new PlateGloves();
                    EquipItem( gloves );
                    break;
                }
            }
            Item platechest = new PlateChest();
            EquipItem( platechest );
            Item platearms = new PlateArms();
            EquipItem( platearms );
            Item platelegs = new PlateLegs();
            EquipItem( platelegs );
            Item plategorget = new PlateGorget();
            EquipItem( plategorget );
            Halberd halberd = new Halberd();
            halberd.Movable = false;
            halberd.MinDamage = 40;
            halberd.MaxDamage = 45;
            EquipItem( halberd );
            PackItem( new Halberd() );
            PackItem( new Bandage( 100 ) );
        }
示例#10
0
        public static string MakeThisTask()
        {
            string task = null;

            switch (Utility.RandomMinMax(1, 10))
            {
            case 1: task = "Repair"; break;

            case 2: task = "Fix"; break;

            case 3: task = "Buff"; break;

            case 4: task = "Modify"; break;

            case 5: task = "Polish"; break;

            case 6: task = "Engrave"; break;

            case 7: task = "Adjust"; break;

            case 8: task = "Improve"; break;

            case 9: task = "Smooth the dents from"; break;

            case 10: task = "Remove the dents from"; break;
            }

            Item item = null;

            switch (Utility.RandomMinMax(1, 79))
            {
            case 1: item = new AssassinSpike(); break;

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

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

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

            case 5: item = new BattleAxe(); break;

            case 6: item = new BoneHarvester(); break;

            case 7: item = new Broadsword(); break;

            case 8: item = new BronzeShield(); break;

            case 9: item = new Buckler(); break;

            case 10: item = new ButcherKnife(); break;

            case 11: item = new ChainChest(); break;

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

            case 13: item = new ChainLegs(); break;

            case 14: item = new ChampionShield(); break;

            case 15: item = new Cleaver(); break;

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

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

            case 18: item = new CrescentBlade(); break;

            case 19: item = new CrestedShield(); break;

            case 20: item = new Cutlass(); break;

            case 21: item = new Dagger(); break;

            case 22: item = new DarkShield(); break;

            case 23: item = new DiamondMace(); break;

            case 24: item = new DoubleAxe(); break;

            case 25: item = new DoubleBladedStaff(); break;

            case 26: item = new DreadHelm(); break;

            case 27: item = new ElvenMachete(); break;

            case 28: item = new ElvenShield(); break;

            case 29: item = new ElvenSpellblade(); break;

            case 30: item = new ExecutionersAxe(); break;

            case 31: item = new FemalePlateChest(); break;

            case 32: item = new GuardsmanShield(); break;

            case 33: item = new Halberd(); break;

            case 34: item = new HammerPick(); break;

            case 35: item = new HeaterShield(); break;

            case 36: item = new Helmet(); break;

            case 37: item = new Helmet(); break;

            case 38: item = new JeweledShield(); break;

            case 39: item = new Katana(); break;

            case 40: item = new Kryss(); break;

            case 41: item = new Lance(); break;

            case 42: item = new LargeBattleAxe(); break;

            case 43: item = new Leafblade(); break;

            case 44: item = new Longsword(); break;

            case 45: item = new Mace(); break;

            case 46: item = new Maul(); break;

            case 47: item = new MetalKiteShield(); break;

            case 48: item = new MetalShield(); break;

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

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

            case 51: item = new OrnateAxe(); break;

            case 52: item = new Pickaxe(); break;

            case 53: item = new Pike(); break;

            case 54: item = new Pitchfork(); break;

            case 55: item = new PlateArms(); break;

            case 56: item = new PlateChest(); break;

            case 57: item = new PlateGloves(); break;

            case 58: item = new PlateGorget(); break;

            case 59: item = new PlateHelm(); break;

            case 60: item = new PlateHelm(); break;

            case 61: item = new PlateLegs(); break;

            case 62: item = new RadiantScimitar(); break;

            case 63: item = new RingmailArms(); break;

            case 64: item = new RingmailChest(); break;

            case 65: item = new RingmailGloves(); break;

            case 66: item = new RingmailLegs(); break;

            case 67: item = new RuneBlade(); break;

            case 68: item = new Scimitar(); break;

            case 69: item = new Scythe(); break;

            case 70: item = new ShortSpear(); break;

            case 71: item = new SkinningKnife(); break;

            case 72: item = new Spear(); break;

            case 73: item = new ThinLongsword(); break;

            case 74: item = new TwoHandedAxe(); break;

            case 75: item = new VikingSword(); break;

            case 76: item = new WarAxe(); break;

            case 77: item = new WarCleaver(); break;

            case 78: item = new WarHammer(); break;

            case 79: item = new WarMace(); break;
            }

            if (Utility.RandomMinMax(1, 5) == 1)
            {
                bool evil   = false;
                bool orient = false;

                switch (Utility.RandomMinMax(1, 8))
                {
                case 1: evil = true; break;

                case 2: orient = true; break;
                }

                string sAdjective = "unusual";
                string eAdjective = "might";

                sAdjective = Server.LootPackEntry.MagicItemAdj("start", orient, evil, item.ItemID);
                eAdjective = Server.LootPackEntry.MagicItemAdj("end", orient, evil, item.ItemID);

                string name  = "item";
                string xName = ContainerFunctions.GetOwner("property");

                if (item.Name != null && item.Name != "")
                {
                    name = item.Name.ToLower();
                }
                if (name == "item")
                {
                    name = MorphingItem.AddSpacesToSentence((item.GetType()).Name).ToLower();
                }

                switch (Utility.RandomMinMax(0, 5))
                {
                case 0: name = sAdjective + " " + name + " of " + xName;        break;

                case 1: name = name + " of " + xName;                                           break;

                case 2: name = sAdjective + " " + name;                                         break;

                case 3: name = sAdjective + " " + name + " of " + xName;        break;

                case 4: name = name + " of " + xName;                                           break;

                case 5: name = sAdjective + " " + name;                                         break;
                }

                task = task + " their " + name;
            }
            else
            {
                string[] sMetals = new string[] { "iron ", "dull copper ", "shadow iron ", "copper ", "bronze ", "gold ", "agapite ", "verite ", "valorite ", "nepturite ", "obsidian ", "steel ", "brass ", "mithril ", "xormite ", "dwarven " };
                string   sMetal  = sMetals[Utility.RandomMinMax(0, (sMetals.Length - 1))];

                string name = "item";
                if (item.Name != null && item.Name != "")
                {
                    name = item.Name.ToLower();
                }
                if (name == "item")
                {
                    name = MorphingItem.AddSpacesToSentence((item.GetType()).Name).ToLower();
                }

                task = task + " their " + sMetal + name;
            }

            item.Delete();

            return(task);
        }
示例#11
0
		public override void OnGaveMeleeAttack( Mobile defender )
		{
			int kpgainmin, kpgainmax;

			if ( this.Stage == 1 )
			{
				if ( defender is BaseCreature )
				{
					BaseCreature bc = (BaseCreature)defender;

					if ( bc.Controlled != true )
					{
						kpgainmin = 6 + ( bc.HitsMax ) / 10;
						kpgainmax = 6 + ( bc.HitsMax ) / 10;

						this.KP += Utility.RandomList( kpgainmin, kpgainmax );
					}
				}

				if ( this.KP >= 50000 )
				{
					if ( this.S1 == true )
					{
						this.S1 = false;
						int hits, va, mindamage, maxdamage;

						hits = ( this.HitsMax + 200 );

						va = ( this.VirtualArmor + 10 );

						mindamage = this.DamageMin + ( 1 );
						maxdamage = this.DamageMax + ( 1 );

						this.Warmode = false;
						this.Say( "*"+ this.Name +" achieves a new level of combat*");
						this.SetDamage( mindamage, maxdamage );
						this.SetHits( hits );
						this.VirtualArmor = va;
						this.Stage = 2;
						this.Title = "the Shadow Knight";

						this.SetDamageType( ResistanceType.Physical, 20 );
						this.SetDamageType( ResistanceType.Fire, 20 );
						this.SetDamageType( ResistanceType.Cold, 20 );
						this.SetDamageType( ResistanceType.Poison, 20 );
						this.SetDamageType( ResistanceType.Energy, 20 );

						this.SetResistance( ResistanceType.Physical, 45 );
						this.SetResistance( ResistanceType.Fire, 45 );
						this.SetResistance( ResistanceType.Cold, 45 );
						this.SetResistance( ResistanceType.Poison, 45 );
						this.SetResistance( ResistanceType.Energy, 45 );

						this.RawStr += 20;
						this.RawInt += 10;
						this.RawDex += 10;

						Item del = this.FindItemOnLayer( Layer.OuterTorso ); // The Robe
						if ( del != null )
						{
							del.Delete();
						}

						del = this.FindItemOnLayer( Layer.InnerTorso );
						if ( del != null )
						{
							del.Delete();
						}
						BaseArmor chest = new LeatherChest();
						chest.Hue = 1175;
						chest.Movable = false;
						AddItem( chest );

						del = this.FindItemOnLayer( Layer.Pants );
						if ( del != null )
						{
							del.Delete();
						}
						BaseArmor legs = new LeatherLegs();
						legs.Hue = 1175;
						legs.Movable = false;	
						AddItem( legs );

						del = this.FindItemOnLayer( Layer.Neck );
						if ( del != null )
						{
							del.Delete();
						}
						BaseArmor gorget = new LeatherGorget();
						gorget.Hue = 1175;
						gorget.Movable = false;	
						AddItem( gorget );

						del = this.FindItemOnLayer( Layer.Gloves );
						if ( del != null )
						{
							del.Delete();
						}
						BaseArmor gloves = new LeatherGloves();
						gloves.Hue = 1175;
						gloves.Movable = false;	
						AddItem( gloves );

						del = this.FindItemOnLayer( Layer.Helm );
						if ( del != null )
						{
							del.Delete();
						}
						BaseArmor helm = new LeatherCap();
						helm.Hue = 1175;
						helm.Movable = false;	
						AddItem( helm );

						del = this.FindItemOnLayer( Layer.Arms );
						if ( del != null )
						{
							del.Delete();
						}
						BaseArmor arms = new LeatherArms();
						arms.Hue = 1175;
						arms.Movable = false;	
						AddItem( arms );

						del = this.FindItemOnLayer( Layer.Shoes );
						if ( del != null )
						{
							del.Delete();
						}
						Item sandals = new Sandals();
						sandals.Hue = 1153;
						sandals.Movable = false;	
						AddItem( sandals );
					}
				}
			}

			else if ( this.Stage == 2 )
			{
				if ( defender is BaseCreature )
				{
					BaseCreature bc = (BaseCreature)defender;

					if ( bc.Controlled != true )
					{
						kpgainmin = 5 + ( bc.HitsMax ) / 10;
						kpgainmax = 5 + ( bc.HitsMax ) / 10;

						this.KP += Utility.RandomList( kpgainmin, kpgainmax );
					}
				}

				if ( this.KP >= 100000 )
				{
					if ( this.S2 == true )
					{
						this.S2 = false;
						int hits, va, mindamage, maxdamage;

						hits = ( this.HitsMax + 100 );

						va = ( this.VirtualArmor + 5 );

						mindamage = this.DamageMin + ( 2 );
						maxdamage = this.DamageMax + ( 2 );

						this.Warmode = false;
						this.Say( "*"+ this.Name +" achieves a new level of combat*");
						this.SetDamage( mindamage, maxdamage );
						this.SetHits( hits );
						this.VirtualArmor = va;
						this.Stage = 3;
						this.Title = "the Golden Knight";

						this.SetDamageType( ResistanceType.Physical, 20 );
						this.SetDamageType( ResistanceType.Fire, 20 );
						this.SetDamageType( ResistanceType.Cold, 20 );
						this.SetDamageType( ResistanceType.Poison, 20 );
						this.SetDamageType( ResistanceType.Energy, 20 );

						this.SetResistance( ResistanceType.Physical, 55 );
						this.SetResistance( ResistanceType.Fire, 55 );
						this.SetResistance( ResistanceType.Cold, 55 );
						this.SetResistance( ResistanceType.Poison, 55 );
						this.SetResistance( ResistanceType.Energy, 55 );

						this.RawStr += 20;
						this.RawInt += 50;
						this.RawDex += 50;

						Item del = this.FindItemOnLayer( Layer.InnerTorso );
						if ( del != null )
						{
							del.Delete();
						}
						BaseArmor chest = new StuddedChest();
						chest.Hue = 1161;
						chest.Movable = false;
						AddItem( chest );

						del = this.FindItemOnLayer( Layer.Pants );
						if ( del != null )
						{
							del.Delete();
						}
						BaseArmor legs = new StuddedLegs();
						legs.Hue = 1161;
						legs.Movable = false;	
						AddItem( legs );

						del = this.FindItemOnLayer( Layer.Neck );
						if ( del != null )
						{
							del.Delete();
						}
						BaseArmor gorget = new StuddedGorget();
						gorget.Hue = 1161;
						gorget.Movable = false;	
						AddItem( gorget );

						del = this.FindItemOnLayer( Layer.Gloves );
						if ( del != null )
						{
							del.Delete();
						}
						BaseArmor gloves = new StuddedGloves();
						gloves.Hue = 1161;
						gloves.Movable = false;	
						AddItem( gloves );

						del = this.FindItemOnLayer( Layer.Helm );
						if ( del != null )
						{
							del.Delete();
						}
						BaseArmor helm = new LeatherCap();
						helm.Hue = 1161;
						helm.Movable = false;	
						AddItem( helm );

						del = this.FindItemOnLayer( Layer.Arms );
						if ( del != null )
						{
							del.Delete();
						}
						BaseArmor arms = new StuddedArms();
						arms.Hue = 1161;
						arms.Movable = false;	
						AddItem( arms );
					}
				}
			}

			else if ( this.Stage == 3 )
			{
				if ( defender is BaseCreature )
				{
					BaseCreature bc = (BaseCreature)defender;

					if ( bc.Controlled != true )
					{
						kpgainmin = 4 + ( bc.HitsMax ) / 20;
						kpgainmax = 4 + ( bc.HitsMax ) / 20;

						this.KP += Utility.RandomList( kpgainmin, kpgainmax );
					}
				}

				if ( this.KP >= 150000 )
				{
					if ( this.S3 == true )
					{
						this.S3 = false;
						int hits, va, mindamage, maxdamage;

						hits = ( this.HitsMax + 100 );

						va = ( this.VirtualArmor + 5 );

						mindamage = this.DamageMin + ( 1 );
						maxdamage = this.DamageMax + ( 1 );

						this.Warmode = false;
						this.Say( "*"+ this.Name +" achieves a new level of combat*");
						this.SetDamage( mindamage, maxdamage );
						this.SetHits( hits );
						this.VirtualArmor = va;
						this.Stage = 4;
						this.Title = "the Blood Knight";

						this.SetResistance( ResistanceType.Physical, 60 );
						this.SetResistance( ResistanceType.Fire, 60 );
						this.SetResistance( ResistanceType.Cold, 60 );
						this.SetResistance( ResistanceType.Poison, 60 );
						this.SetResistance( ResistanceType.Energy, 60 );

						this.RawStr += 20;
						this.RawInt += 30;
						this.RawDex += 30;


						Item del = this.FindItemOnLayer( Layer.InnerTorso );
						if ( del != null )
						{
							del.Delete();
						}
						BaseArmor chest = new PlateChest();
						chest.Hue = 1157;
						chest.Movable = false;
						AddItem( chest );

						del = this.FindItemOnLayer( Layer.Pants );
						if ( del != null )
						{
							del.Delete();
						}
						BaseArmor legs = new PlateLegs();
						legs.Hue = 1157;
						legs.Movable = false;	
						AddItem( legs );

						del = this.FindItemOnLayer( Layer.Neck );
						if ( del != null )
						{
							del.Delete();
						}
						BaseArmor gorget = new PlateGorget();
						gorget.Hue = 1157;
						gorget.Movable = false;	
						AddItem( gorget );

						del = this.FindItemOnLayer( Layer.Gloves );
						if ( del != null )
						{
							del.Delete();
						}
						BaseArmor gloves = new PlateGloves();
						gloves.Hue = 1157;
						gloves.Movable = false;	
						AddItem( gloves );

						del = this.FindItemOnLayer( Layer.Helm );
						if ( del != null )
						{
							del.Delete();
						}
						BaseArmor helm = new PlateHelm();
						helm.Hue = 1157;
						helm.Movable = false;	
						AddItem( helm );

						del = this.FindItemOnLayer( Layer.Arms );
						if ( del != null )
						{
							del.Delete();
						}
						BaseArmor arms = new PlateArms();
						arms.Hue = 1157;
						arms.Movable = false;	
						AddItem( arms );
						
						del = this.FindItemOnLayer( Layer.Shoes );
						if ( del != null )
						{
							del.Delete();
						}
					}
				}
			}

			else if ( this.Stage == 4 )
			{
				if ( defender is BaseCreature )
				{
					BaseCreature bc = (BaseCreature)defender;

					if ( bc.Controlled != true )
					{
						kpgainmin = 3 + ( bc.HitsMax ) / 25;
						kpgainmax = 3 + ( bc.HitsMax ) / 30;

						this.KP += Utility.RandomList( kpgainmin, kpgainmax );
					}
				}

				if ( this.KP >= 250000 )
				{
					if ( this.S4 == true )
					{
						this.S4 = false;
						int hits, va, mindamage, maxdamage;

						hits = ( this.HitsMax + 100 );

						va = ( this.VirtualArmor + 3 );

						mindamage = this.DamageMin + ( 1 );
						maxdamage = this.DamageMax + ( 1 );

						this.Warmode = false;
						this.Say( "*"+ this.Name +" achieves a new level of combat*");
						this.SetDamage( mindamage, maxdamage );
						this.SetHits( hits );
						this.VirtualArmor = va;
						this.Stage = 5;
						this.Title = "the Knight of Destiny";

						this.SetDamageType( ResistanceType.Physical, 20 );
						this.SetDamageType( ResistanceType.Fire, 20 );
						this.SetDamageType( ResistanceType.Cold, 20 );
						this.SetDamageType( ResistanceType.Poison, 20 );
						this.SetDamageType( ResistanceType.Energy, 20 );

						this.SetResistance( ResistanceType.Physical, 70 );
						this.SetResistance( ResistanceType.Fire, 70 );
						this.SetResistance( ResistanceType.Cold, 70 );
						this.SetResistance( ResistanceType.Poison, 70 );
						this.SetResistance( ResistanceType.Energy, 70 );

						this.RawStr += 20;
						this.RawInt += 10;
						this.RawDex += 10;

						Item del = this.FindItemOnLayer( Layer.InnerTorso );
						if ( del != null )
						{
							del.Delete();
						}
						BaseArmor chest = new BoneChest();
						chest.Hue = 1152;
						chest.Movable = false;
						AddItem( chest );

						del = this.FindItemOnLayer( Layer.Pants );
						if ( del != null )
						{
							del.Delete();
						}
						BaseArmor legs = new BoneLegs();
						legs.Hue = 1152;
						legs.Movable = false;	
						AddItem( legs );

						del = this.FindItemOnLayer( Layer.Neck );
						if ( del != null )
						{
							del.Delete();
						}

						del = this.FindItemOnLayer( Layer.Gloves );
						if ( del != null )
						{
							del.Delete();
						}
						BaseArmor gloves = new BoneGloves();
						gloves.Hue = 1152;
						gloves.Movable = false;	
						AddItem( gloves );

						del = this.FindItemOnLayer( Layer.Helm );
						if ( del != null )
						{
							del.Delete();
						}
						BaseArmor helm = new BoneHelm();
						helm.Hue = 1152;
						helm.Movable = false;	
						AddItem( helm );

						del = this.FindItemOnLayer( Layer.Arms );
						if ( del != null )
						{
							del.Delete();
						}
						BaseArmor arms = new BoneArms();
						arms.Hue = 1152;
						arms.Movable = false;	
						AddItem( arms );

						del = this.FindItemOnLayer( Layer.Shoes );
						if ( del != null )
						{
							del.Delete();
						}
						Item sandals = new Sandals();
						sandals.Hue = 1152;
						sandals.Movable = false;	
						AddItem( sandals );
					}
				}
			}

			else if ( this.Stage == 5 )
			{
				if ( defender is BaseCreature )
				{
					BaseCreature bc = (BaseCreature)defender;

					if ( bc.Controlled != true )
					{
						kpgainmin = 2 + ( bc.HitsMax ) / 35;
						kpgainmax = 2 + ( bc.HitsMax ) / 35;

						this.KP += Utility.RandomList( kpgainmin, kpgainmax );
					}
				}

				if ( this.KP >= 350000 )
				{
					if ( this.S5 == true )
					{
						this.S5 = false;
						int hits, va, mindamage, maxdamage;

						hits = ( this.HitsMax + 100 );

						va = ( this.VirtualArmor + 10 );

						mindamage = this.DamageMin + ( 3 );
						maxdamage = this.DamageMax + ( 3 );

						this.Warmode = false;
						this.Say( "*"+ this.Name +" is Reborn*");
						this.Say( "Master, please lend me some armor");
						this.SetDamage( mindamage, maxdamage );
						this.SetHits( hits );
						this.VirtualArmor = va;
						this.Stage = 6;
						this.Title = "the Champion";

						this.SetResistance( ResistanceType.Physical, 5 );
						this.SetResistance( ResistanceType.Fire, 5 );
						this.SetResistance( ResistanceType.Cold, 5 );
						this.SetResistance( ResistanceType.Poison, 5 );
						this.SetResistance( ResistanceType.Energy, 5 );

						this.RawStr += 40;
						this.RawInt += 30;
						this.RawDex += 30;

						Item del = this.FindItemOnLayer( Layer.InnerTorso );
						if ( del != null )
						{
							del.Delete();
						}


						del = this.FindItemOnLayer( Layer.Pants );
						if ( del != null )
						{
							del.Delete();
						}


						del = this.FindItemOnLayer( Layer.Neck );
						if ( del != null )
						{
							del.Delete();
						}


						del = this.FindItemOnLayer( Layer.Gloves );
						if ( del != null )
						{
							del.Delete();
						}


						del = this.FindItemOnLayer( Layer.Helm );
						if ( del != null )
						{
							del.Delete();
						}


						del = this.FindItemOnLayer( Layer.Arms );
						if ( del != null )
						{
							del.Delete();
						}


						del = this.FindItemOnLayer( Layer.Shoes );
						if ( del != null )
						{
							del.Delete();
						}

					}
				}
			}

			else if ( this.Stage == 6 )
			{
				if ( defender is BaseCreature )
				{
					BaseCreature bc = (BaseCreature)defender;

					if ( bc.Controlled != true )
					{
						kpgainmin = 1 + ( bc.HitsMax ) / 40;
						kpgainmax = 1 + ( bc.HitsMax ) / 40;

						this.KP += Utility.RandomList( kpgainmin, kpgainmax );
					}
				}

				if ( this.KP >= 400000 )
				{
					if ( this.S6 == true )
					{
						this.S6 = false;
						int hits, va, mindamage, maxdamage;

						hits = ( this.HitsMax + 200 );

						va = ( this.VirtualArmor + 10 );

						mindamage = this.DamageMin + ( 3 );
						maxdamage = this.DamageMax + ( 3 );

						this.Warmode = false;
						this.Say( "*"+ this.Name +" is now a great champion and loyal friend*");
						if ( this.ControlMaster != null )
						{
							this.Title = ", Loyal Subject of " + this.ControlMaster.Name + "";
						}
						this.SetDamage( mindamage, maxdamage );
						this.SetHits( hits );
						this.VirtualArmor = va;
						this.Stage = 7;

						this.SetDamageType( ResistanceType.Physical, 40 );
						this.SetDamageType( ResistanceType.Fire, 40 );
						this.SetDamageType( ResistanceType.Cold, 40 );
						this.SetDamageType( ResistanceType.Poison, 40 );
						this.SetDamageType( ResistanceType.Energy, 40 );

						this.RawStr += 40;
						this.RawInt += 40;
						this.RawDex += 40;
					}
				}
			}

			else if ( this.Stage == 7 )
			{
				if ( defender is BaseCreature )
				{
					BaseCreature bc = (BaseCreature)defender;

					if ( bc.Controlled != true )
					{
						kpgainmin = 1 + ( bc.Hits ) / 50;
						kpgainmax = 1 + ( bc.Hits ) / 50;

						this.KP += Utility.RandomList( kpgainmin, kpgainmax );
					}
				}
			}

			base.OnGaveMeleeAttack( defender );
		}
示例#12
0
        public PomiGuard(TownStone town, GuardSpawner spawn)
            : base(AIType.AI_Pomi, FightMode.Closest, 15, 1, 0.2, 1)
        {
            m_spawn = spawn;
            Location = m_spawn.Location;
            m_Town = town;
            Map = spawn.Map;
            InitStats(200, 200, 200);
            SpeechHue = Utility.RandomDyedHue();
            Hue = Utility.RandomSkinHue();
            Body = 0x190;
            Name = NameList.RandomName("male");
            Title = "Garde de " + m_Town.Nom;

            PlateChest chest = new PlateChest();
            chest.Hue = 0;
            chest.Movable = false;
            AddItem(chest);
            PlateArms arms = new PlateArms();
            arms.Hue = 0;
            arms.Movable = false;
            AddItem(arms);
            PlateGloves gloves = new PlateGloves();
            gloves.Hue = 0;
            gloves.Movable = false;
            AddItem(gloves);
            PlateGorget gorget = new PlateGorget();
            gorget.Hue = 0;
            gorget.Movable = false;
            AddItem(gorget);
            PlateLegs legs = new PlateLegs();
            legs.Hue = 0;
            legs.Movable = false;
            AddItem(legs);
            PlateHelm helm = new PlateHelm();
            helm.Hue = 0;
            helm.Movable = false;
            AddItem(helm);
            Surcoat surcoat = new Surcoat();
            surcoat.Hue = m_Town.Hue;
            surcoat.Movable = false;
            AddItem(surcoat);


            AddItem(new PomiCloak(m_Town, "Garde"));

            HairItemID = Utility.RandomList(0x203B, 0x203C, 0x203D, 0x2044, 0x2045, 0x2047, 0x2049, 0x204A);
            HairHue = Utility.RandomHairHue();

            if (Utility.RandomBool())
            {
                FacialHairItemID = Utility.RandomList(0x203E, 0x203F, 0x2040, 0x2041, 0x204B, 0x204C, 0x204D);
                FacialHairHue = HairHue;
            }

            Halberd weapon = new Halberd();
            //weapon.Hue = m_Town.Hue;
            weapon.Movable = false;
            weapon.Crafter = this;
            weapon.Quality = WeaponQuality.Exceptional;
            VirtualArmor = 100;

            AddItem(weapon);

            Skills[SkillName.Anatomy].Base = 100.0;
            Skills[SkillName.Tactics].Base = 110.0;
            Skills[SkillName.Swords].Base = 160.0;
            Skills[SkillName.MagicResist].Base = 110.0;
            Skills[SkillName.DetectHidden].Base = 100.0;
        }
示例#13
0
		public IceKing() : base( AIType.AI_Mage, FightMode.Closest, 10, 1, 0.1, 0.4 )
		{
			Name = "Set";
			Title = "The Ice King";
			Body = 400;
			Hue = 1151;
			BaseSoundID = 377;

			AddItem( new ThighBoots( 0x51D ) );
			
			Item item;
			
			item = new BodySash();
			item.Hue = 1151;
			AddItem( item );
			
			item = new Cloak();
			item.Hue = 1151;
			AddItem( item );			

			PlateArms arms = new PlateArms();
			arms.Hue = 1151;
                        arms.Movable = false;
			AddItem(arms);

			PlateChest chest = new PlateChest();
			chest.Hue = 1151;
                        chest.Movable = false;
			AddItem(chest);

			PlateGloves gloves = new PlateGloves();
			gloves.Hue = 1151;
                        gloves.Movable = false;
			AddItem(gloves);

			PlateGorget gorget = new PlateGorget();
			gorget.Hue = 1151;
                        gorget.Movable = false;
			AddItem(gorget);

			PlateHelm helm = new PlateHelm();
			helm.Hue = 1151;
                        helm.Movable = false;
			AddItem(helm);

			PlateLegs legs = new PlateLegs();
			legs.Hue = 1151;
                        legs.Movable = false;
			AddItem(legs);

			SetStr( 1198, 1207 );
			SetDex( 127, 135 );
			SetInt( 495, 546 );

			SetHits( 25000 );

			SetDamage( 27, 31 );

			SetDamageType( ResistanceType.Physical, 80 );
			SetDamageType( ResistanceType.Cold, 20 );
			
			SetResistance( ResistanceType.Physical, 78, 89 );
			SetResistance( ResistanceType.Fire, 30, 46 );
			SetResistance( ResistanceType.Cold, 97, 100 );
			SetResistance( ResistanceType.Poison, 71, 80 );
			SetResistance( ResistanceType.Energy, 70, 80 );

			SetSkill( SkillName.Wrestling, 110.4, 112.3 );
			SetSkill( SkillName.Tactics, 114.0, 118.5 );
			SetSkill( SkillName.MagicResist, 114.1, 132.0 );
			SetSkill( SkillName.Magery, 90.9, 99.8 );
			SetSkill( SkillName.EvalInt, 90.7, 98.7 );
			SetSkill( SkillName.Meditation, 90.4, 98.8 );
			
			Fame = 24000;
			Karma = -24000;

			VirtualArmor = 80;

			PackGold( 9500, 16500 );

			if( Utility.RandomDouble() <= 0.15 ) PackItem( new RarewoodChest() );
		}
示例#14
0
		//AIType, Fight Mode, Range Perception, Fighting Range, Active Speed, Passive Speed
		public VampireLord() : base( AIType.AI_SphereMage, FightMode.Closest, 10, 1, 0.2, 0.4 )
		{
			Name = "Vampire Lord";
			Body = 0x0190;
			Hue = 0x497;

			SetStr( 750 );
			SetDex( 400, 500 );
			SetInt( 200, 250 );

			SetHits( 350, 400 );
			SetStam( 250, 300 );
			SetMana( 250, 300 );

			SetDamage( 20, 40 );

			SetSkill( SkillName.Poisoning, 90.0, 100.0 );
			SetSkill( SkillName.Tactics, 90.0, 98.0 );
			SetSkill( SkillName.MagicResist, 75.0, 88.0 );
			SetSkill( SkillName.Parry, 85.0, 98.0 );
			SetSkill( SkillName.Wrestling, 67.0, 90.0 );
			SetSkill( SkillName.DetectHidden, 90.0, 100.0 );
			SetSkill( SkillName.Swords, 90.0, 95.0 );
			SetSkill( SkillName.Magery, 95.0, 100.0 );
            SetSkill(SkillName.EvalInt, 95.0, 100.0);

			Fame = 3000;
			Karma = -10000;

			VirtualArmor = 40;

		    Item temp = new PlateGloves {Movable = false, Hue = 0x0492, Name = "Vampire Plate Gauntlets"};
		    AddItem( temp );
			temp = new PlateArms {Hue = 0x0492, Movable = false, Name = "Vampire Plate Arms"};
		    AddItem( temp );
			temp = new PlateGorget {Movable = false, Hue = 0x0492, Name = "Vampire Plate Gorget"};
		    AddItem( temp );
			temp = new PlateLegs {Movable = false, Hue = 0x0492, Name = "Vampire Plate Legs"};
		    AddItem( temp );
			temp = new PlateChest {Movable = false, Hue = 0x0492, Name = "Vampire Plate Chest"};
		    AddItem( temp );
			temp = new PlateHelm {Movable = false, Hue = 0x0492, Name = "Vampire Plate Helm"};
		    AddItem( temp );
			temp = new BodySash {Movable = false, Hue = 0x1, Name = "Vampire Sash"};
		    AddItem( temp );
			temp = new Cloak {Movable = false, Hue = 0x1};
		    AddItem( temp );

            BaseArmor tarm;
            if (Utility.RandomDouble() < 0.3)
            {
                switch (Utility.Random(6))
                {
                    case 0:
                        tarm = new PlateGloves {Hue = 0x492, Name = "Vampire Plate Gauntlets"};
                        break;
                    case 1:
                        tarm = new PlateArms {Hue = 0x492, Name = "Vampire Plate Arms"};
                        break;
                    case 2:
                        tarm = new PlateChest {Hue = 0x492, Name = "Vampire Plate Chest"};
                        break;
                    case 3:
                        tarm = new PlateHelm {Hue = 0x492, Name = "Vampire Plate Helm"};
                        break;
                    case 4:
                        tarm = new PlateLegs {Hue = 0x492, Name = "Vampire Plate Legs"};
                        break;
                    default:
                        tarm = new PlateGorget {Hue = 0x492, Name = "Vampire Plate Gorget"};
                        break;
                }

                tarm.ProtectionLevel = (ArmorProtectionLevel) Utility.RandomMinMax(0, 5);
                AddItem(tarm);
            }

		    BaseSword twep;
			switch( Utility.Random( 8 ) )
			{
				case 0:
					twep = new Broadsword();
					break;
				case 1:
					twep = new Cutlass();
					break;
				case 2:
					twep = new Scimitar();
					break;
				case 3:
					twep = new Katana();
					break;
				case 4:
					twep = new Kryss();
					break;
				case 5:
					twep = new Longsword();
					break;
				case 6:
					twep = new ThinLongsword();
					break;
				default:
					twep = new VikingSword();
					break;
			}
			switch( Utility.Random( 3 ) )
			{
				case 0:
                    twep.DamageLevel = WeaponDamageLevel.Might;
					break;
				case 1:
                    twep.DamageLevel = WeaponDamageLevel.Force;
					break;
				case 2:
					twep.DamageLevel = WeaponDamageLevel.Power;
					break;
			}

			AddItem( twep );
		}
示例#15
0
        public SpiritSoldier()
            : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            Hue = 12345678;
            Name = "a spirit soldier";

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

            SetStr( 186, 200 );
            SetDex( 51, 65 );
            SetInt( 35 );

            SetHits( 156, 170 );

            SetDamage( 12, 14 );

            SetDamageType( ResistanceType.Energy, 100 );

            SetResistance( ResistanceType.Blunt, 35, 45 );
            SetResistance( ResistanceType.Piercing, 30, 40 );
            SetResistance( ResistanceType.Slashing, 30, 40 );
            SetResistance( ResistanceType.Fire, 25, 30 );
            SetResistance( ResistanceType.Cold, 25, 30 );
            SetResistance( ResistanceType.Poison, 100 );
            SetResistance( ResistanceType.Energy, 10, 20 );

            SetSkill( SkillName.Anatomy, 125.0 );
            SetSkill( SkillName.Fencing, 46.0, 77.5 );
            SetSkill( SkillName.Macing, 35.0, 57.5 );
            SetSkill( SkillName.Poisoning, 60.0, 82.5 );
            SetSkill( SkillName.MagicResist, 83.5, 92.5 );
            SetSkill( SkillName.Swords, 125.0 );
            SetSkill( SkillName.Tactics, 125.0 );
            SetSkill( SkillName.Lumberjacking, 125.0 );

            Fame = 6500;
            Karma = -6500;

            VirtualArmor = 40;

            Broadsword weapon = new Broadsword();
            weapon.Hue = 12345678;
            AddItem( weapon );

            PlateChest armor = new PlateChest();
            armor.Hue = 12345678;
            AddItem( armor );

            PlateHelm helm = new PlateHelm();
            helm.Hue = 12345678;
            AddItem( helm );

            PlateGorget gorget = new PlateGorget();
            gorget.Hue = 12345678;
            AddItem( gorget );

            PlateArms arms = new PlateArms();
            arms.Hue = 12345678;
            AddItem( arms );

            PlateGloves gloves = new PlateGloves();
            gloves.Hue = 12345678;
            AddItem( gloves );

            PlateLegs legs = new PlateLegs();
            legs.Hue = 12345678;
            AddItem( legs );

            HeaterShield shield = new HeaterShield();
            shield.Hue = 12345678;
            AddItem( shield );

            PackItem( new Necroplasm( 5 ) );
        }
public SpawnHelperMage() : base( AIType.AI_Mage, FightMode.Closest, 25, 1, 0.4, 0.3 ) 
{ 
	



            		Title = "[BEC-Mage]";
			if ( Female = Utility.RandomBool() ) 
			{ 
				Body = 401; 
				Name = NameList.RandomName( "female" );
			
				
			}
			else 
			{ 
				Body = 400; 			
				Name = NameList.RandomName( "male" ); 


			}
//			Name.Hue = 2002;
//			Title.Hue = 2002;

 
       	    SetStr(100, 150);
            SetDex(100, 150);
            SetInt(250, 500);
		ActiveSpeed = 0.2;
		PassiveSpeed = 0;

            SetHits(200, 300);

//            SetDamage(12, 19);

            SetDamageType(ResistanceType.Physical, 120);

            SetResistance(ResistanceType.Physical, 65, 80);
            SetResistance(ResistanceType.Fire, 65, 80);
            SetResistance(ResistanceType.Cold, 65, 80);
            SetResistance(ResistanceType.Poison, 65, 80);
            SetResistance(ResistanceType.Energy, 65, 80);

            SetSkill(SkillName.Swords, 89.0, 120.0);
            SetSkill(SkillName.Tactics, 89.0, 120.0);
            SetSkill(SkillName.MagicResist, 89.0, 120.0);
            SetSkill(SkillName.Tactics, 89.0, 120.0);
            SetSkill(SkillName.Parry, 89.0, 120.0);
            SetSkill(SkillName.Anatomy, 85.0, 120.0);
            SetSkill(SkillName.Healing, 85.0, 120.0);
            SetSkill(SkillName.Magery, 99.0, 120.0);
            SetSkill(SkillName.EvalInt, 99.0, 120.0);
            SetSkill(SkillName.Poisoning, 85.0, 100.0);

            Fame = 18000;
            Karma = 10000;

            VirtualArmor = 50;

                           	 switch (Utility.Random(4))
                           	 {
                           	 	case 0: BattleAxe weapona = new BattleAxe();
						weapona.Hue = 2063;
                      				weapona.LootType = LootType.Newbied;
						weapona.Attributes.SpellChanneling = 1;
						weapona.WeaponAttributes.HitLeechMana = 60;
                      				weapona.Movable = false;
						AddItem( weapona );
						break;
                           	 	case 1: Axe weaponb = new Axe();
						weaponb.Hue = 2063;
                      				weaponb.LootType = LootType.Newbied;
						weaponb.Attributes.SpellChanneling = 1;
						weaponb.WeaponAttributes.HitLeechMana = 60;
                      				weaponb.Movable = false;
						AddItem( weaponb );
						break;
                           	 	case 2: Bardiche weaponc = new Bardiche();
						weaponc.Hue = 2063;
                      				weaponc.LootType = LootType.Newbied;
						weaponc.Attributes.SpellChanneling = 1;
						weaponc.WeaponAttributes.HitLeechMana = 60;
                      				weaponc.Movable = false;
						AddItem( weaponc );
						break;
                           	 	case 3: Hatchet weapond = new Hatchet();
						weapond.Hue = 2063;
                      				weapond.LootType = LootType.Newbied;
						weapond.Attributes.SpellChanneling = 1;
						weapond.WeaponAttributes.HitLeechMana = 60;
                      				weapond.Movable = false;
						AddItem( weapond );
						break;
                            	} 



                           	 Item Robe =  new Robe( );			
                        	Robe.Name = "Britania Electric Co.";
                        	Robe.Movable = false; 
				Robe.Hue = 1109;
				AddItem( Robe );



                           	 switch (Utility.Random(3))
                           	 {
                           	 	case 0: AddItem( new LongPants(1050)); break;
                           	 	case 1: Item LegsOfBane = new LeggingsOfBane();
						LegsOfBane.Hue = 1269;
                      				LegsOfBane.LootType = LootType.Newbied;
                      				LegsOfBane.Movable = false;
						AddItem( LegsOfBane );
						break;
                           	 	case 2: break;
                            	} 

                           	 switch (Utility.Random(3))
                           	 {
                           	 	case 0:	AddItem( new Boots() ); break;
                           	 	case 1: Item Sandals = new Sandals();
						Sandals.Hue = 1195;
                        			Sandals.LootType = LootType.Blessed;
                        			Sandals.Movable = false;
						AddItem( Sandals );
						break;
                           	 	case 2: break;
                            	} 


						Item PlateHelm = new PlateHelm();
						PlateHelm.Hue = 2063;
                      				PlateHelm.LootType = LootType.Newbied;
                      				PlateHelm.Movable = false;
						AddItem( PlateHelm );


                           	 switch (Utility.Random(3))
                           	 {
                           	 	case 0:	AddItem( new LeatherGloves() ); break;
                           	 	case 1: break;
                           	 	case 2: break;
                            	} 


			AddItem( new Shirt(743) );

			

			
			Utility.AssignRandomHair( this );

			for (int i = 0; i < 10; i++)
			{
				PackItem( new GreaterCurePotion() );
				PackItem( new GreaterHealPotion() );
				PackItem( new TotalRefreshPotion() );
			}

          		  PackItem(new Bandage(Utility.RandomMinMax(80, 200)));

			Horse ns = new Horse();
			ns.Controlled = true;
			ns.Hue = 2063;
			ns.ControlMaster = this;
			ns.ControlOrder = OrderType.Stay;
			ns.Rider = this; 
}
示例#17
0
        public InsulariiCaptain()
            : base(Nation.Alyrian)
        {
            int chance = Utility.RandomMinMax( 1, 6 );
            Nation nation = Nation.Alyrian;

            switch( chance )
            {
                case 1: nation = Nation.Alyrian; break;
                case 2: nation = Nation.Azhuran; break;
                case 3: nation = Nation.Khemetar; break;
                case 4: nation = Nation.Mhordul; break;
                case 5: nation = Nation.Tyrean; break;
                case 6: nation = Nation.Vhalurian; break;
            }

            Hue = BaseKhaerosMobile.AssignRacialHue( nation );
            HairItemID = BaseKhaerosMobile.AssignRacialHair( nation, this.Female );
            int hairhue = BaseKhaerosMobile.AssignRacialHairHue( nation );
            HairHue = hairhue;

            if( !this.Female )
            {
                FacialHairItemID = BaseKhaerosMobile.AssignRacialFacialHair( nation );
                FacialHairHue = hairhue;
            }

            if( this.Backpack == null )
                AddItem( new Backpack() );

            SetStr( 250 );
            SetDex( 75 );
            SetInt( 75 );

            SetDamage( 20, 25 );

            SetHits( 800 );

            SetDamageType( ResistanceType.Blunt, 100 );

            SetResistance( ResistanceType.Blunt, 20 );
            SetResistance( ResistanceType.Piercing, 20 );
            SetResistance( ResistanceType.Slashing, 20 );

            SetSkill( SkillName.Anatomy, 100.0 );
            SetSkill( SkillName.Archery, 100.0 );
            SetSkill( SkillName.Fencing, 100.0 );
            SetSkill( SkillName.Macing, 100.0 );
            SetSkill( SkillName.Swords, 100.0 );
            SetSkill( SkillName.Tactics, 100.0 );
            SetSkill( SkillName.Polearms, 100.0 );
            SetSkill( SkillName.ExoticWeaponry, 100.0 );
            SetSkill( SkillName.Axemanship, 100.0 );
            SetSkill( SkillName.UnarmedFighting, 100.0 );

            this.Fame = 18000;

            this.VirtualArmor = 0;

            FightMode = FightMode.Closest;

            Title = "the Insularii Captain";
            Name = BaseKhaerosMobile.GiveInsulariiName( this.Female );

            PlateChest chest = new PlateChest();
            chest.Resource = CraftResource.Bronze;
            chest.Hue = 2591;

            PlateArms arms = new PlateArms();
            arms.Resource = CraftResource.Bronze;
            arms.Hue = 2591;

            PlateLegs legs = new PlateLegs();
            legs.Resource = CraftResource.Bronze;
            legs.Hue = 2591;

            PlateGorget gorget = new PlateGorget();
            gorget.Resource = CraftResource.Bronze;
            gorget.Hue = 2591;

            PlateGloves gloves = new PlateGloves();
            gloves.Resource = CraftResource.Bronze;
            gloves.Hue = 2591;

            PlateHelm helm = new PlateHelm();
            helm.Resource = CraftResource.Bronze;
            helm.Name = "Insularii Horned Helm";
            helm.Hue = 2591;
            helm.ItemID = 15380;

            AzhuranBladedStaff staff = new AzhuranBladedStaff();
            staff.Resource = CraftResource.Bronze;

            EquipItem( chest );
            EquipItem( arms );
            EquipItem( legs );
            EquipItem( gorget );
            EquipItem( gloves );
            EquipItem( helm );
            EquipItem( staff );

            Surcoat surcoat = new Surcoat();
            surcoat.Name = "Insularii Surcoat";
            surcoat.ItemID = 15502;
            surcoat.Hue = 2799;

            EquipItem( surcoat );
        }
		public DungeonGuard() : base( AIType.AI_Melee )
		{
			Name = NameList.RandomName( "male" );
			Title = "the Guard";
			Fame = 5000;
			Karma = -5000;
			Hue = 1175;
			BodyValue = 400;;

			SetStr( 150 );
			SetDex( 100 );
			SetInt( 200 );

			SetHits( 1000 );

            		SetSkill( SkillName.MagicResist, 200.0 );
            		SetSkill( SkillName.Tactics, 100.0 );
            		SetSkill( SkillName.Swords, 120.0 );
			SetSkill( SkillName.DetectHidden, 100.0, 120.0 );

			PlateArms a = new PlateArms();
			a.Hue = 1109;
			a.LootType = LootType.Blessed;
			AddItem( a );

			Cloak c = new Cloak();
			c.Hue = 1157;
			c.LootType = LootType.Blessed;
			AddItem( c );

			BodySash b = new BodySash();
			b.Hue = 1157;
			b.LootType = LootType.Blessed;
			AddItem( b );

			PlateGloves g = new PlateGloves();
			g.Hue = 1109;
			g.LootType = LootType.Blessed;
			AddItem( g );

			PlateLegs l = new PlateLegs();
			l.Hue = 1109;
			l.LootType = LootType.Blessed;
			AddItem( l );

			PlateChest t = new PlateChest();
			t.Hue = 1109;
			t.LootType = LootType.Blessed;
			AddItem( t );

			PlateGorget n = new PlateGorget();
			n.Hue = 1109;
			n.LootType = LootType.Blessed;
			AddItem( n );

			PlateHelm h = new PlateHelm();
			h.Hue = 1109;
			h.LootType = LootType.Blessed;
			AddItem( h );

			VikingSword w = new VikingSword();
			w.Hue = 1109;
			w.Movable = false;
			w.LootType = LootType.Blessed;
			AddItem( w );

			ChaosShield s = new ChaosShield();
			s.Hue = 1109;
			s.Movable = false;
			s.LootType = LootType.Blessed;
			AddItem( s );
		}
		public PaladinOfPride(): base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
		{
			Body = 0x190;
			Name = "Frothos";
			Title = "Master of Pride";
			Hue = 0;

			SetStr( 400, 450 );
			SetDex( 151, 165 );
			SetInt( 180, 200 );

			SetHits( 5000, 5500 );

			SetDamage( 25, 35 );

			SetDamageType( ResistanceType.Physical, 100 );
			SetDamageType( ResistanceType.Cold, 25 );

			SetResistance( ResistanceType.Physical, 75 );
			SetResistance( ResistanceType.Fire, 60 );
			SetResistance( ResistanceType.Cold, 60 );
			SetResistance( ResistanceType.Poison, 60 );
			SetResistance( ResistanceType.Energy, 60 );

			SetSkill( SkillName.Wrestling, 100.0 );
			SetSkill( SkillName.Swords, 120.1, 130.0 );
			SetSkill( SkillName.Anatomy, 120.1, 130.0 );
			SetSkill( SkillName.MagicResist, 90.1, 100.0 );
			SetSkill( SkillName.Tactics, 90.1, 100.0 );

			Fame = 10000;
			Karma = -10000;         

			VirtualArmor = 65;          
         
			Broadsword weapon = new Broadsword();
			weapon.Hue = 1153;
			weapon.Movable = false;
			AddItem( weapon );

            PlateGorget gorget = new PlateGorget();
            gorget.Hue = 1153;
            gorget.Movable = false;
            AddItem( gorget );

			MetalShield shield = new MetalShield();
			shield.Hue = 1153;
			shield.Movable = false;
			AddItem( shield );

			PlateHelm helm = new PlateHelm();
			helm.Hue = 1153;
            helm.Movable = false;
			AddItem( helm );

			PlateArms arms = new PlateArms();
			arms.Hue = 1153;
            arms.Movable = false;
			AddItem( arms );

			PlateGloves gloves = new PlateGloves();
			gloves.Hue = 1153;
            gloves.Movable = false;
			AddItem( gloves );

			PlateChest tunic = new PlateChest();
			tunic.Hue = 1153;
            tunic.Movable = false;
			AddItem( tunic );

			PlateLegs legs = new PlateLegs();
			legs.Hue = 1153;
            legs.Movable = false;
			AddItem( legs );

			AddItem( new Boots() );
            Hue = 1153;
            PackGold( 3500,4000 );
            PackItem(new PrideCrystal());
        }
示例#20
0
		public DupresKnight() : base( AIType.AI_Melee, FightMode.Aggressor, 10, 1, 0.2, 0.4 )
		{
			Name = m_Names[Utility.Random( m_Names.Length )];
			Title = m_Titles[Utility.Random( m_Titles.Length )];
			Body = 0x190;
			Hue = Utility.RandomSkinHue();

			SetStr( 190, 200 );
			SetDex( 50, 75 );
			SetInt( 150, 250  );
			SetHits( 3900, 4100 );
			SetDamage( 22, 28 );
			SetDamageType( ResistanceType.Physical, 100 );

			SetResistance( ResistanceType.Physical, 50, 70 );
			SetResistance( ResistanceType.Fire, 50, 70 );
			SetResistance( ResistanceType.Cold, 50, 70 );
			SetResistance( ResistanceType.Poison, 50, 70 );
			SetResistance( ResistanceType.Energy, 50, 70 );

			SetSkill( SkillName.EvalInt, 195.0, 220.0 );
			SetSkill( SkillName.Magery, 195.0, 220.0 );
			SetSkill( SkillName.Meditation, 195.0, 200.0 );
			SetSkill( SkillName.MagicResist, 100.0, 120.0 );
			SetSkill( SkillName.Tactics, 195.0, 220.0 );
			SetSkill( SkillName.Wrestling, 195.0, 220.0 );

			VirtualArmor = 70;

            Item longsword = new Longsword();
            longsword.LootType = LootType.Blessed;
            AddItem(longsword);

            Item ph = new PlateHelm();
            ph.LootType = LootType.Blessed;
            AddItem(ph);

            Item pa = new PlateArms();
            pa.LootType = LootType.Blessed;
            AddItem(pa);

            Item pg = new PlateGorget();
            pg.LootType = LootType.Blessed;
            AddItem(pg);

            Item pgl = new PlateGloves();
            pgl.LootType = LootType.Blessed;
            AddItem(pgl);

            Item pl = new PlateLegs();
            pl.LootType = LootType.Blessed;
            AddItem(pl);

            Item pc = new PlateChest();
            pc.LootType = LootType.Blessed;
            AddItem(pc);

            Item mks = new MetalKiteShield();
            mks.LootType = LootType.Blessed;
            mks.Hue = 0x794;
            AddItem(mks);

            Item bs = new BodySash(0x794); // dark purple
            bs.LootType = LootType.Blessed;
            AddItem(bs);

            PackGold( 400, 600 );            
		}
示例#21
0
        public Paladin()
            : base(AIType.AI_Melee, FightMode.Aggressor, 10, 1, 0.36, 0.56)
        {
            Female = Utility.RandomBool();
            Body = Female ? 401 : 400;
            Title = "the paladin";
            Name = NameList.RandomName( Female ? "female" : "male" );
            Hue = Utility.RandomSkinHue();
            SetStr( 64, 92 );
            SetDex( 46, 88 );
            SetInt( 37, 49 );
            Karma = Utility.RandomMinMax( 33, -25 );

            SetSkill( SkillName.Tactics, 55, 77.5 );
            SetSkill( SkillName.MagicResist, 55, 77.5 );
            SetSkill( SkillName.Parry, 55, 77.5 );
            SetSkill( SkillName.Swords, 55, 77.5 );
            SetSkill( SkillName.Macing, 55, 77.5 );
            SetSkill( SkillName.Fencing, 55, 77.5 );
            SetSkill( SkillName.Wrestling, 55, 77.5 );
            SetSkill( SkillName.ArmsLore, 52.5, 75 );

            Item item = null;
            if ( !Female )
            {
                int hairHue = Utility.RandomHairHue();
                Utility.AssignRandomHair(this, hairHue);
                Utility.AssignRandomFacialHair( this, hairHue );
                item = new PlateChest();
                AddItem( item );
                item = new PlateLegs();
                AddItem( item );
                item = new PlateArms();
                AddItem( item );
                item = new PlateGloves();
                AddItem( item );
                item = new PlateGorget();
                AddItem( item );
                switch ( Utility.Random( 5 ) )
                {
                    case 0: item = new PlateHelm(); break;
                    case 1: item = new Helmet(); break;
                    case 2: item = new CloseHelm(); break;
                    case 3: item = new Bascinet(); break;
                    case 4: default: item = new NorseHelm(); break;
                }
                AddItem( item );
                item = new Tunic();
                item.Hue = Utility.RandomNondyedHue();
                AddItem( item );
                item = new HeaterShield();
                item.Hue = Utility.RandomNondyedHue();
                AddItem( item );
                item = new VikingSword();
                AddItem( item );
                item = Utility.RandomBool() ? (Item)new Boots() : (Item)new ThighBoots();
                AddItem( item );
                PackGold( 15, 100 );
            }
            else
            {
                int hairHue = Utility.RandomHairHue();
                Utility.AssignRandomHair(this, hairHue);
                item = new PlateChest();
                AddItem( item );
                item = new PlateLegs();
                AddItem( item );
                item = new PlateArms();
                AddItem( item );
                item = new PlateGloves();
                AddItem( item );
                item = new PlateGorget();
                AddItem( item );
                switch ( Utility.Random( 5 ) )
                {
                    case 0: item = new PlateHelm(); break;
                    case 1: item = new Helmet(); break;
                    case 2: item = new CloseHelm(); break;
                    case 3: item = new Bascinet(); break;
                    case 4: default: item = new NorseHelm(); break;
                }
                AddItem( item );
                item = new Tunic();
                item.Hue = Utility.RandomNondyedHue();
                AddItem( item );
                item = new HeaterShield();
                item.Hue = Utility.RandomNondyedHue();
                AddItem( item );
                item = new VikingSword();
                AddItem( item );
                item = Utility.RandomBool() ? (Item)new Boots() : (Item)new ThighBoots();
                AddItem( item );
                PackGold( 15, 100 );
            }
        }
示例#22
0
        public HireFighter()
        {
            Female = Utility.RandomBool();
            Body = Female ? 401 : 400;
            Title = "the fighter";
            Name = NameList.RandomName( Female ? "female" : "male" );
            Hue = Utility.RandomSkinHue();
            SetStr( 11, 88 );
            SetDex( 11, 88 );
            SetInt( 7, 49 );
            Karma = Utility.RandomMinMax( 13, -45 );

            SetSkill( SkillName.Tactics, 45, 67.5 );
            SetSkill( SkillName.MagicResist, 45, 67.5 );
            SetSkill( SkillName.Parry, 45, 67.5 );
            SetSkill( SkillName.Swords, 45, 67.5 );
            SetSkill( SkillName.Macing, 45, 67.5 );
            SetSkill( SkillName.Fencing, 45, 67.5 );
            SetSkill( SkillName.Wrestling, 45, 67.5 );
            SetSkill( SkillName.ArmsLore, 42.5, 65 );

            Item item = null;
            if ( !Female )
            {
                item = AddRandomHair();
                item.Hue = Utility.RandomHairHue();
                item = AddRandomFacialHair( item.Hue );
                item = new StuddedChest();
                AddItem( item );
                item = new StuddedLegs();
                AddItem( item );
                item = new StuddedArms();
                AddItem( item );
                item = new StuddedGloves();
                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 StuddedGorget();
                AddItem( item );
                item = Loot.RandomWeapon();
                AddItem( item );
                if ( item.Layer == Layer.OneHanded )
                {
                    item = new WoodenShield();
                    AddItem( item );
                }
            } else {
                item = AddRandomHair();
                item.Hue = Utility.RandomHairHue();
                item = new StuddedChest();
                AddItem( item );
                item = new StuddedLegs();
                AddItem( item );
                item = new StuddedArms();
                AddItem( item );
                item = new StuddedGloves();
                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 StuddedGorget();
                AddItem( item );
                item = Loot.RandomWeapon();
                AddItem( item );
                if ( item.Layer == Layer.OneHanded )
                {
                    item = new WoodenShield();
                    AddItem( item );
                }
            }
        }
示例#23
0
		public void DoSpecialAbility( Mobile target )
		{
			if (target is PlayerMobile)
			{
				int resnum = 0;
				PlayerMobile owner = target as PlayerMobile;
				BaseArmor helm1 = new PlateHelm();
				BaseArmor gorget1 = new PlateGorget();
				BaseArmor tunic1 = new PlateChest();
				BaseArmor arms1 = new PlateArms();
				BaseArmor gloves1 = new PlateGloves();
				BaseArmor legs1 = new PlateLegs();
				BaseShield shield1 = new HeaterShield();
				BaseWeapon wep1 = new Kryss();
				Item helm = owner.FindItemOnLayer(Layer.Helm );
				if (helm != null) helm1 = helm as BaseArmor;
				Item gorget = owner.FindItemOnLayer(Layer.Neck );
				if (gorget != null) gorget1 = gorget as BaseArmor;
				Item tunic = owner.FindItemOnLayer(Layer.InnerTorso );
				if (tunic != null) tunic1 = tunic as BaseArmor;
				Item arms = owner.FindItemOnLayer(Layer.Arms );
				if (arms != null) arms1 = arms as BaseArmor;
				Item gloves = owner.FindItemOnLayer(Layer.Gloves );
				if (gloves != null) gloves1 = gloves as BaseArmor;
				Item legs   = owner.FindItemOnLayer(Layer.Pants );
				if (legs != null) legs1 = legs as BaseArmor;
				Item shield = owner.FindItemOnLayer(Layer.TwoHanded );
				if (shield != null) shield1 = shield as BaseShield;
				Item wep = owner.FindItemOnLayer(Layer.FirstValid );
				if (wep != null) wep1 = wep as BaseWeapon;

				if (shield1 != null)
				{
					resnum = (int)(shield1.Resource);
					if (resnum >=1 && resnum <= 99 && shield1.HitPoints >= 21) {shield1.HitPoints -= 20; target.SendMessage("one of your items has been affected by rust"); return; }
				}

				if (tunic1 != null)
				{
					resnum = (int)(tunic1.Resource);
					if (resnum >=1 && resnum <= 99 && tunic1.HitPoints >= 21) {tunic1.HitPoints -= 20; target.SendMessage("one of your items has been affected by rust"); return; }
				}

				if (legs1 != null)
				{
					resnum = (int)(legs1.Resource);
					if (resnum >=1 && resnum <= 99 && legs1.HitPoints >= 21) {legs1.HitPoints -= 20; target.SendMessage("one of your items has been affected by rust"); return; }
				}

				if (arms1 != null)
				{
					resnum = (int)(arms1.Resource);
					if (resnum >=1 && resnum <= 99 && arms1.HitPoints >= 21) {arms1.HitPoints -= 20; target.SendMessage("one of your items has been affected by rust"); return; }
				}

				if (helm1 != null)
				{
					resnum = (int)(helm1.Resource);
					if (resnum >=1 && resnum <= 99 && helm1.HitPoints >= 21) {helm1.HitPoints -= 20; target.SendMessage("one of your items has been affected by rust"); return; }
				}

				if (gloves1 != null)
				{
					resnum = (int)(gloves1.Resource);
					if (resnum >=1 && resnum <= 99 && gloves1.HitPoints >= 21) {gloves1.HitPoints -= 20; target.SendMessage("one of your items has been affected by rust"); return; }
				}

				if (gorget1 != null)
				{
					resnum = (int)(gorget1.Resource);
					if (resnum >=1 && resnum <= 99 && gorget1.HitPoints >= 21) {gorget1.HitPoints -= 20; target.SendMessage("one of your items has been affected by rust"); return; }
				}

				if (wep1 != null)
				{
					resnum = (int)(wep1.Resource);
					if (resnum >=1 && resnum <= 99 && wep1.HitPoints >= 21) {wep1.HitPoints -= 20; target.SendMessage("one of your items has been affected by rust"); return; }
				}

				if (shield1 != null)
				{
					resnum = (int)(shield1.Resource);
					if (resnum >=1 && resnum <= 99 && shield1.HitPoints >= 11) {shield1.HitPoints -= 10; target.SendMessage("one of your items has been affected by rust"); return; }
				}

				if (tunic1 != null)
				{
					resnum = (int)(tunic1.Resource);
					if (resnum >=1 && resnum <= 99 && tunic1.HitPoints >= 11) {tunic1.HitPoints -= 10; target.SendMessage("one of your items has been affected by rust"); return; }
				}

				if (legs1 != null)
				{
					resnum = (int)(legs1.Resource);
					if (resnum >=1 && resnum <= 99 && legs1.HitPoints >= 11) {legs1.HitPoints -= 10; target.SendMessage("one of your items has been affected by rust"); return; }
				}

				if (arms1 != null)
				{
					resnum = (int)(arms1.Resource);
					if (resnum >=1 && resnum <= 99 && arms1.HitPoints >= 11) {arms1.HitPoints -= 10; target.SendMessage("one of your items has been affected by rust"); return; }
				}

				if (helm1 != null)
				{
					resnum = (int)(helm1.Resource);
					if (resnum >=1 && resnum <= 99 && helm1.HitPoints >= 11) {helm1.HitPoints -= 10; target.SendMessage("one of your items has been affected by rust"); return; }
				}

				if (gloves1 != null)
				{
					resnum = (int)(gloves1.Resource);
					if (resnum >=1 && resnum <= 99 && gloves1.HitPoints >= 11) {gloves1.HitPoints -= 10; target.SendMessage("one of your items has been affected by rust"); return; }
				}

				if (gorget1 != null)
				{
					resnum = (int)(gorget1.Resource);
					if (resnum >=1 && resnum <= 99 && gorget1.HitPoints >= 11) {gorget1.HitPoints -= 10; target.SendMessage("one of your items has been affected by rust"); return; }
				}

				if (wep1 != null)
				{
					resnum = (int)(wep1.Resource);
					if (resnum >=1 && resnum <= 99 && wep1.HitPoints >= 11) {wep1.HitPoints -= 10; target.SendMessage("one of your items has been affected by rust"); return; }
				}
			}
			return;
		}
示例#24
0
		public DreadLordCaptain() : base( AIType.AI_SphereMage, FightMode.Closest, 10, 1, 0.1, 0.1 )
		{
			SpeechHue = Utility.RandomDyedHue();

			Hue = Utility.RandomSkinHue();

			Body = 0x190;
			Name = "Dread Lord Captain";

			SetStr( 400 );
			SetDex( 200, 250 );
			SetInt( 200, 250 );
			SetHits( 350, 400 );
			SetStam( 200, 250 );
			SetMana( 200, 250 );
			SetDamage( 10, 20 );

			SetSkill( SkillName.Parry, 85.0, 98.0 );
			SetSkill( SkillName.Wrestling, 67.0, 90.0 );
			SetSkill( SkillName.Magery, 90.0, 100.0 );
			SetSkill( SkillName.Poisoning, 90.0, 100.0 );
			SetSkill( SkillName.MagicResist, 65.0, 88.0 );
			SetSkill( SkillName.Swords, 90.0, 95.0 );
			SetSkill( SkillName.Tactics, 90.0, 98.0 );

			Fame = 7500;
			Karma = -10000;

			VirtualArmor = 40;

			Item temp;
			temp = new PlateGloves();
			temp.Movable = false;
			AddItem( temp );
			temp = new PlateHelm();
			temp.Movable = false;
			AddItem( temp );
			temp = new PlateArms();
			temp.Movable = false;
			AddItem( temp );
			temp = new PlateGorget();
			temp.Movable = false;
			AddItem( temp );
			temp = new PlateLegs();
			temp.Movable = false;
			AddItem( temp );
			temp = new PlateChest();
			temp.Movable = false;
			AddItem( temp );
			temp = new VikingSword();
			temp.Movable = false;
			AddItem( temp );
			temp = new Cloak();
			temp.Hue = 0x0493;
			temp.Movable = true;
			AddItem( temp );
			temp = new BodySash();
			temp.Hue = 0x0493;
			temp.Movable = true;
			AddItem( temp );
			temp = new HalfApron();
			temp.Hue = 0x1;
			temp.Movable = false;
			AddItem( temp );

			Item hair = new Item( Utility.RandomList( 0x203B, 0x2049, 0x2048, 0x204A ) );
			hair.Hue = Utility.RandomNondyedHue();
			hair.Layer = Layer.Hair;
			hair.Movable = false;
			AddItem( hair );
			//PackGold(800, 1200);
			PackGem( 4 );
		}
            public override void OnResponse(NetState sender, RelayInfo info)
            {
                Mobile    from = sender.Mobile;
                Container pack = from.Backpack;
                int       temp;

                switch (info.ButtonID)
                {
                case 101:
                {                 // gold
                    temp = Utility.Random(25000, 50000);
                    from.AddToBackpack(new BankCheck(temp));
                    from.SendMessage(0x22, String.Format("You won {0} gold!", temp));
                    from.SendGump(new SlotMachineGump(from, m_From, 0));
                    break;
                }

                case 102:
                {                 // reagents,armor
                    temp = Utility.Random(6);
                    if (temp == 0)
                    {
                        BaseArmor chest;
                        chest          = new PlateChest();
                        chest.Resource = CraftResource.Iron;
                        chest.Hue      = 0x845;
                        pack.AddItem(chest);
                        from.SendMessage(0x22, "You won Platemail Chest!");
                    }
                    else if (temp == 1)
                    {
                        BaseArmor gloves;
                        gloves          = new PlateGloves();
                        gloves.Resource = CraftResource.Iron;
                        gloves.Hue      = 0x845;
                        pack.AddItem(gloves);
                        from.SendMessage(0x22, "You won Platemail Gloves!");
                    }
                    else if (temp == 2)
                    {
                        BaseArmor arms;
                        arms          = new PlateArms();
                        arms.Resource = CraftResource.Iron;
                        arms.Hue      = 0x845;
                        pack.AddItem(arms);
                        from.SendMessage(0x22, "You won Platemail Arms!");
                    }
                    else if (temp == 3)
                    {
                        BaseArmor helm;
                        helm          = new PlateHelm();
                        helm.Resource = CraftResource.Iron;
                        helm.Hue      = 0x845;
                        pack.AddItem(helm);
                        from.SendMessage(0x22, "You won Platemail Helmet!");
                    }
                    else if (temp == 4)
                    {
                        BaseArmor gorget;
                        gorget          = new PlateGorget();
                        gorget.Resource = CraftResource.Iron;
                        gorget.Hue      = 0x845;
                        pack.AddItem(gorget);
                        from.SendMessage(0x22, "You won Platemail Gorget!");
                    }
                    else if (temp == 5)
                    {
                        BaseArmor legs;
                        legs          = new PlateLegs();
                        legs.Resource = CraftResource.Iron;
                        legs.Hue      = 0x845;
                        pack.AddItem(legs);
                        from.SendMessage(0x22, "You won Platemail Legs!");
                    }
                    else
                    {
                        from.AddToBackpack(new BagOfReagents(100));
                        from.SendMessage(0x22, String.Format("You won a Bag of Reagents!"));
                    }
                    from.SendGump(new SlotMachineGump(from, m_From, 0));
                    break;
                }

                case 103:
                {                 //
                    temp = Utility.Random(500, 5000);
                    from.AddToBackpack(new Gold(temp));
                    from.SendMessage(0x22, String.Format("You won {0} gold!", temp));
                    from.SendGump(new SlotMachineGump(from, m_From, 0));
                    break;
                }
                }         //switch
            }
示例#26
0
        public Mercenary()
            : base(AIType.AI_Melee, FightMode.Agressor, 10, 1, 0.45, 0.8)
        {
            Female = Utility.RandomBool();
            Body = Female ? 401 : 400;
            Title = "the mercenary";
            Name = NameList.RandomName( Female ? "female" : "male" );
            Hue = Utility.RandomSkinHue();
            SetStr( 25, 88 );
            SetDex( 25, 88 );
            SetInt( 37, 49 );
            Karma = Utility.RandomMinMax( 13, -45 );

            SetSkill( SkillName.Tactics, 45, 67.5 );
            SetSkill( SkillName.MagicResist, 45, 67.5 );
            SetSkill( SkillName.Parry, 45, 67.5 );
            SetSkill( SkillName.Swords, 45, 67.5 );
            SetSkill( SkillName.Macing, 45, 67.5 );
            SetSkill( SkillName.Fencing, 45, 67.5 );
            SetSkill( SkillName.Wrestling, 45, 67.5 );
            SetSkill( SkillName.ArmsLore, 42.5, 65 );

            Item item = null;
            if ( !Female )
            {
                item = AddRandomHair();
                item.Hue = Utility.RandomHairHue();
                item = AddRandomFacialHair( item.Hue );
                switch ( Utility.Random( 5 ) )
                {
                    case 0: item = new PlateChest(); break;
                    case 1: item = new ChainChest(); break;
                    case 2: item = new StuddedChest(); break;
                    case 3: item = new RingmailChest(); break;
                    case 4: default: item = new LeatherChest(); break;
                }
                AddItem( item );
                switch ( Utility.Random( 5 ) )
                {
                    case 0: item = new PlateLegs(); break;
                    case 1: item = new ChainLegs(); break;
                    case 2: item = new StuddedLegs(); break;
                    case 3: item = new RingmailLegs(); break;
                    case 4: default: item = new LeatherLegs(); break;
                }
                AddItem( item );
                switch ( Utility.Random( 4 ) )
                {
                    case 0: item = new PlateArms(); break;
                    case 1: item = new RingmailArms(); break;
                    case 2: item = new StuddedArms(); break;
                    case 3: default: item = new LeatherArms(); break;
                }
                AddItem( item );
                switch ( Utility.Random( 3 ) )
                {
                    case 0: item = new PlateGloves(); break;
                    case 1: item = new StuddedGloves(); break;
                    case 2: default: item = new LeatherGloves(); break;
                }
                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 );
                switch ( Utility.Random( 7 ) )
                {
                    case 0: item = new BronzeShield(); break;
                    case 1: item = new Buckler(); break;
                    case 2: item = new HeaterShield(); break;
                    case 3: item = new MetalKiteShield(); break;
                    case 4: item = new MetalShield(); break;
                    case 5: item = new WoodenKiteShield(); break;
                    case 6: default: item = new WoodenShield(); break;
                }
                AddItem( item );
                switch ( Utility.Random( 4 ) )
                {
                    case 0: item = new PlateGorget(); break;
                    case 1: item = new StuddedGorget(); break;
                    default: case 2: item = new LeatherGorget(); break;
                }
                AddItem( item );
                item = Loot.RandomWeapon();
                AddItem( item );
                PackGold( 15, 100 );
            } else {
                item = AddRandomHair();
                item.Hue = Utility.RandomHairHue();
                switch ( Utility.Random( 5 ) )
                {
                    case 0: item = new PlateChest(); break;
                    case 1: item = new ChainChest(); break;
                    case 2: item = new StuddedChest(); break;
                    case 3: item = new RingmailChest(); break;
                    case 4: default: item = new LeatherChest(); break;
                }
                AddItem( item );
                switch ( Utility.Random( 5 ) )
                {
                    case 0: item = new PlateLegs(); break;
                    case 1: item = new ChainLegs(); break;
                    case 2: item = new StuddedLegs(); break;
                    case 3: item = new RingmailLegs(); break;
                    case 4: default: item = new LeatherLegs(); break;
                }
                AddItem( item );
                switch ( Utility.Random( 3 ) )
                {
                    case 0: item = new PlateGloves(); break;
                    case 1: item = new StuddedGloves(); break;
                    case 2: default: item = new LeatherGloves(); break;
                }
                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 );
                switch ( Utility.Random( 7 ) )
                {
                    case 0: item = new BronzeShield(); break;
                    case 1: item = new Buckler(); break;
                    case 2: item = new HeaterShield(); break;
                    case 3: item = new MetalKiteShield(); break;
                    case 4: item = new MetalShield(); break;
                    case 5: item = new WoodenKiteShield(); break;
                    case 6: default: item = new WoodenShield(); break;
                }
                AddItem( item );
                switch ( Utility.Random( 4 ) )
                {
                    case 0: item = new PlateGorget(); break;
                    case 1: item = new StuddedGorget(); break;
                    default: case 2: item = new LeatherGorget(); break;
                }
                AddItem( item );
                item = Loot.RandomWeapon();
                AddItem( item );
                PackGold( 15, 100 );
            }
        }
示例#27
0
		public DreadLord() : base( AIType.AI_SphereMelee, FightMode.Closest, 10, 1, 0.1, 0.1 )
		{
			SpeechHue = 0;

			Hue = Utility.RandomSkinHue();
			Body = 0x190;
			Name = "Dread Lord";

			SetStr( 200, 250 );
			SetDex( 100, 150 );
			SetInt( 71, 85 );
			SetHits( 200, 250 );
			SetDex( 100, 150 );
			SetInt( 71, 85 );
			SetDamage( 10, 20 );

			SetSkill( SkillName.Parry, 75.0, 98.0 );
			SetSkill( SkillName.Poisoning, 90.0, 100.0 );
			SetSkill( SkillName.MagicResist, 65.0, 88.0 );
			SetSkill( SkillName.Swords, 80.0, 95.0 );
			SetSkill( SkillName.Tactics, 80.0, 98.0 );
			SetSkill( SkillName.Wrestling, 67.0, 90.0 );
			SetSkill( SkillName.DetectHidden, 90.0, 100.0 );

			Fame = 6000;
			Karma = -10000;
			VirtualArmor = 30;

			Item temp;
			temp = new PlateGloves();
			temp.Movable = false;
			AddItem( temp );
			temp = new PlateHelm();
			temp.Movable = false;
			AddItem( temp );
			temp = new PlateArms();
			temp.Movable = false;
			AddItem( temp );
			temp = new PlateGorget();
			temp.Movable = false;
			AddItem( temp );
			temp = new PlateLegs();
			temp.Movable = false;
			AddItem( temp );
			temp = new PlateChest();
			temp.Movable = false;
			AddItem( temp );
			temp = new VikingSword();
			temp.Movable = false;
			AddItem( temp );
			temp = new Cloak();
			temp.Hue = 0x0020;
			temp.Movable = true;
			AddItem( temp );
			temp = new BodySash();
			temp.Hue = 0x0020;
			temp.Movable = true;
			AddItem( temp );
			temp = new HalfApron();
			temp.Hue = 0x0020;
			temp.Movable = false;
			AddItem( temp );

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

            Spellbook book = new Spellbook();
            book.Content = ulong.MaxValue;
            book.LootType = LootType.Regular;
            AddItem(book);
		}
		public EvilPaladin(): base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
		{
			Body = 400;
			Name = "Hinton";
			Title = "The Evil Paladin";
			Hue = 0;

			SetStr( 200, 250 );
			SetDex( 100, 125 );
			SetInt( 180, 200 );

			SetHits( 1900, 2000 );

			SetDamage( 25, 28 );

			SetDamageType( ResistanceType.Physical, 100 );

			SetResistance( ResistanceType.Physical, 75 );
			SetResistance( ResistanceType.Fire, 60 );
			SetResistance( ResistanceType.Cold, 60 );
			SetResistance( ResistanceType.Poison, 60 );
			SetResistance( ResistanceType.Energy, 60 );

			SetSkill( SkillName.Wrestling, 100.0 );
			SetSkill( SkillName.Swords, 120 );
			SetSkill( SkillName.Anatomy, 120 );
			SetSkill( SkillName.MagicResist, 90.1, 100.0 );
			SetSkill( SkillName.Tactics, 90.1, 100.0 );

			Fame = 10000;
			Karma = -10000;         

			VirtualArmor = 45;          
         
			Broadsword weapon = new Broadsword();
			weapon.Hue = 2306;
			weapon.Movable = false;
			AddItem( weapon );

            PlateGorget gorget = new PlateGorget();
            gorget.Hue = 2306;
            gorget.Movable = false;
            AddItem( gorget );

			MetalShield shield = new MetalShield();
			shield.Hue = 2306;
			shield.Movable = false;
			AddItem( shield );

			PlateHelm helm = new PlateHelm();
			helm.Hue = 2306;
            helm.Movable = false;
			AddItem( helm );

			PlateArms arms = new PlateArms();
			arms.Hue = 2306;
            arms.Movable = false;
			AddItem( arms );

			PlateGloves gloves = new PlateGloves();
			gloves.Hue = 2306;
            gloves.Movable = false;
			AddItem( gloves );

			PlateChest tunic = new PlateChest();
			tunic.Hue = 2306;
            tunic.Movable = false;
			AddItem( tunic );

			PlateLegs legs = new PlateLegs();
			legs.Hue = 2306;
            legs.Movable = false;
			AddItem( legs );

			AddItem( new Boots() );
            Hue = 2306;
            //PackGold( 3500,4000 );
            PackItem(new LionsCourageMedallion());
        }
		public override void OnResponse( NetState sender, RelayInfo info )
		{

		Mobile from = sender.Mobile;
		Container pack = from.Backpack;
		int temp;

			switch ( info.ButtonID )
			{
				case 101:
				{ // gold
				  temp = Utility.Random( 25000,50000 );
				  from.AddToBackpack( new BankCheck( temp ) );
				  from.SendMessage( 0x22, String.Format("You won {0} gold!",temp) );
				  from.SendGump( new SlotMachineGump(from,m_From,0) );
				  break;
				}
				case 102:
				{ // reagents,armor
				temp = Utility.Random( 6 );
				if (temp==0)
				{
		                  BaseArmor chest;
		                  chest = new PlateChest();
		                  chest.Resource = CraftResource.Iron;
		                  chest.Hue = 0x483;
		                  pack.AddItem( chest );
		                  from.SendMessage( 0x22,"You won Platemail Chest!");
				}
				else if (temp==1)
				{
		                  BaseArmor gloves;
		                  gloves = new PlateGloves();
		                  gloves.Resource = CraftResource.Iron;
		                  gloves.Hue = 0x483;
		                  pack.AddItem( gloves );
		                  from.SendMessage( 0x22,"You won Platemail Gloves!");
				}
				else if (temp==2)
				{
		                  BaseArmor arms;
		                  arms = new PlateArms();
		                  arms.Resource = CraftResource.Iron;
		                  arms.Hue = 0x483;
		                  pack.AddItem( arms );
		                  from.SendMessage( 0x22,"You won Platemail Arms!");
				}
				else if (temp==3)
				{
		                  BaseArmor helm;
        		          helm = new PlateHelm();
	        	          helm.Resource = CraftResource.Iron;
	        	          helm.Hue = 0x483;
	        	          pack.AddItem( helm );
		                  from.SendMessage( 0x22,"You won Platemail Helmet!");
				}
				else if (temp==4)
				{
		                  BaseArmor gorget;
		                  gorget = new PlateGorget();
		                  gorget.Resource = CraftResource.Iron;
		                  gorget.Hue = 0x483;
		                  pack.AddItem( gorget );
		                  from.SendMessage( 0x22,"You won Platemail Gorget!");
				}
				else if (temp==5)
				{
		                  BaseArmor legs;
		                  legs = new PlateLegs();
		                  legs.Resource = CraftResource.Iron;
		                  legs.Hue = 0x483;
		                  pack.AddItem( legs );
		                  from.SendMessage( 0x22,"You won Platemail Legs!");
				}
				else
				{
		                  from.AddToBackpack( new BagOfReagents( 300 ) );
		                  from.SendMessage( 0x22, String.Format("You won a Bag of Reagents!") );
				}
				from.SendGump( new SlotMachineGump(from,m_From,0) );
				  break;
				}
				case 103:
				{ //
				  temp = Utility.Random( 500,5000 );
				  from.AddToBackpack( new Gold( temp ) );
	  			  from.SendMessage( 0x22, String.Format("You won {0} gold!",temp) );
	  			  from.SendGump( new SlotMachineGump(from,m_From,0) );
				  break;
				}
			} //switch
		}
示例#30
0
		public override void OnGaveMeleeAttack(Mobile defender)
		{
			int kpgainmin, kpgainmax;

			switch (Stage)
			{
				case 1:
					{
						if (defender is BaseCreature)
						{
							var bc = (BaseCreature)defender;

							if (bc.Controlled != true)
							{
								kpgainmin = 5 + (bc.HitsMax) / 10;
								kpgainmax = 5 + (bc.HitsMax) / 5;

								KP += Utility.RandomList(kpgainmin, kpgainmax);
							}
						}

						if (KP >= 85000)
						{
							if (S1)
							{
								S1 = false;

								int hits = HitsMax + 500;
								int va = VirtualArmor + 10;
								int mindamage = DamageMin + 1;
								int maxdamage = DamageMax + 1;

								Warmode = false;

								Say("*" + Name + " achieves a new level of combat*");
								SetDamage(mindamage, maxdamage);
								SetHits(hits);

								VirtualArmor = va;
								Stage = 2;
								Title = "the Shadow Knight";

								RawStr += 200;
								RawInt += 30;
								RawDex += 20;

								Item del = FindItemOnLayer(Layer.OuterTorso); // The Robe

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

								del = FindItemOnLayer(Layer.InnerTorso);

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

								BaseArmor chest = new LeatherChest();
								chest.Hue = 1175;
								chest.Movable = false;
								AddItem(chest);

								del = FindItemOnLayer(Layer.Pants);

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

								BaseArmor legs = new LeatherLegs();
								legs.Hue = 1175;
								legs.Movable = false;
								AddItem(legs);

								del = FindItemOnLayer(Layer.Neck);

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

								BaseArmor gorget = new LeatherGorget();
								gorget.Hue = 1175;
								gorget.Movable = false;
								AddItem(gorget);

								del = FindItemOnLayer(Layer.Gloves);

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

								BaseArmor gloves = new LeatherGloves();
								gloves.Hue = 1175;
								gloves.Movable = false;
								AddItem(gloves);

								del = FindItemOnLayer(Layer.Helm);

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

								BaseArmor helm = new LeatherCap();
								helm.Hue = 1175;
								helm.Movable = false;
								AddItem(helm);

								del = FindItemOnLayer(Layer.Arms);

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

								BaseArmor arms = new LeatherArms();
								arms.Hue = 1175;
								arms.Movable = false;
								AddItem(arms);

								del = FindItemOnLayer(Layer.Shoes);

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

								Item sandals = new Sandals();
								sandals.Hue = 1153;
								sandals.Movable = false;
								AddItem(sandals);
							}
						}
					}
					break;
				case 2:
					{
						if (defender is BaseCreature)
						{
							var bc = (BaseCreature)defender;

							if (bc.Controlled != true)
							{
								kpgainmin = 5 + bc.HitsMax / 20;
								kpgainmax = 5 + bc.HitsMax / 10;

								KP += Utility.RandomList(kpgainmin, kpgainmax);
							}
						}

						if (KP >= 100000)
						{
							if (S2)
							{
								S2 = false;

								int hits = HitsMax + 100;
								int va = VirtualArmor + 10;
								int mindamage = DamageMin + 1;
								int maxdamage = DamageMax + 1;

								Warmode = false;

								Say("*" + Name + " achieves a new level of combat*");
								SetDamage(mindamage, maxdamage);
								SetHits(hits);

								VirtualArmor = va;
								Stage = 3;
								Title = "the Golden Knight";

								RawStr += 100;
								RawInt += 20;
								RawDex += 10;

								Item del = FindItemOnLayer(Layer.InnerTorso);

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

								BaseArmor chest = new StuddedChest();
								chest.Hue = 1161;
								chest.Movable = false;
								AddItem(chest);

								del = FindItemOnLayer(Layer.Pants);

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

								BaseArmor legs = new StuddedLegs();
								legs.Hue = 1161;
								legs.Movable = false;
								AddItem(legs);

								del = FindItemOnLayer(Layer.Neck);

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

								BaseArmor gorget = new StuddedGorget();
								gorget.Hue = 1161;
								gorget.Movable = false;
								AddItem(gorget);

								del = FindItemOnLayer(Layer.Gloves);

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

								BaseArmor gloves = new StuddedGloves();
								gloves.Hue = 1161;
								gloves.Movable = false;
								AddItem(gloves);

								del = FindItemOnLayer(Layer.Helm);

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

								BaseArmor helm = new LeatherCap();
								helm.Hue = 1161;
								helm.Movable = false;
								AddItem(helm);

								del = FindItemOnLayer(Layer.Arms);

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

								BaseArmor arms = new StuddedArms();
								arms.Hue = 1161;
								arms.Movable = false;
								AddItem(arms);
							}
						}
					}
					break;
				case 3:
					{
						if (defender is BaseCreature)
						{
							var bc = (BaseCreature)defender;

							if (bc.Controlled != true)
							{
								kpgainmin = 5 + bc.HitsMax / 30;
								kpgainmax = 5 + bc.HitsMax / 20;

								KP += Utility.RandomList(kpgainmin, kpgainmax);
							}
						}

						if (KP >= 500000)
						{
							if (S3)
							{
								S3 = false;

								int hits = HitsMax + 100;
								int va = VirtualArmor + 10;
								int mindamage = DamageMin + 1;
								int maxdamage = DamageMax + 1;

								Warmode = false;

								Say("*" + Name + " achieves a new level of combat*");
								SetDamage(mindamage, maxdamage);
								SetHits(hits);

								VirtualArmor = va;
								Stage = 4;
								Title = "the Blood Knight";

								RawStr += 100;
								RawInt += 120;
								RawDex += 10;

								Item del = FindItemOnLayer(Layer.InnerTorso);

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

								BaseArmor chest = new PlateChest();
								chest.Hue = 1157;
								chest.Movable = false;
								AddItem(chest);

								del = FindItemOnLayer(Layer.Pants);

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

								BaseArmor legs = new PlateLegs();
								legs.Hue = 1157;
								legs.Movable = false;
								AddItem(legs);

								del = FindItemOnLayer(Layer.Neck);

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

								BaseArmor gorget = new PlateGorget();
								gorget.Hue = 1157;
								gorget.Movable = false;
								AddItem(gorget);

								del = FindItemOnLayer(Layer.Gloves);

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

								BaseArmor gloves = new PlateGloves();
								gloves.Hue = 1157;
								gloves.Movable = false;
								AddItem(gloves);

								del = FindItemOnLayer(Layer.Helm);

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

								BaseArmor helm = new PlateHelm();
								helm.Hue = 1157;
								helm.Movable = false;
								AddItem(helm);

								del = FindItemOnLayer(Layer.Arms);

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

								BaseArmor arms = new PlateArms();
								arms.Hue = 1157;
								arms.Movable = false;
								AddItem(arms);

								del = FindItemOnLayer(Layer.Shoes);

								if (del != null)
								{
									del.Delete();
								}
							}
						}
					}
					break;
				case 4:
					{
						if (defender is BaseCreature)
						{
							var bc = (BaseCreature)defender;

							if (bc.Controlled != true)
							{
								kpgainmin = 5 + bc.HitsMax / 50;
								kpgainmax = 5 + bc.HitsMax / 40;

								KP += Utility.RandomList(kpgainmin, kpgainmax);
							}
						}

						if (KP >= 1000000)
						{
							if (S4)
							{
								S4 = false;

								int hits = HitsMax + 100;
								int va = VirtualArmor + 10;
								int mindamage = DamageMin + 5;
								int maxdamage = DamageMax + 5;

								Warmode = false;

								Say("*" + Name + " achieves a new level of combat*");
								SetDamage(mindamage, maxdamage);
								SetHits(hits);

								VirtualArmor = va;
								Stage = 5;
								Title = "the Knight of Destiny";

								RawStr += 100;
								RawInt += 120;
								RawDex += 20;

								Item del = FindItemOnLayer(Layer.InnerTorso);

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

								BaseArmor chest = new BoneChest();
								chest.Hue = 1152;
								chest.Movable = false;
								AddItem(chest);

								del = FindItemOnLayer(Layer.Pants);
								if (del != null)
								{
									del.Delete();
								}

								BaseArmor legs = new BoneLegs();
								legs.Hue = 1152;
								legs.Movable = false;
								AddItem(legs);

								del = FindItemOnLayer(Layer.Neck);

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

								del = FindItemOnLayer(Layer.Gloves);

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

								BaseArmor gloves = new BoneGloves();
								gloves.Hue = 1152;
								gloves.Movable = false;
								AddItem(gloves);

								del = FindItemOnLayer(Layer.Helm);

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

								BaseArmor helm = new BoneHelm();
								helm.Hue = 1152;
								helm.Movable = false;
								AddItem(helm);

								del = FindItemOnLayer(Layer.Arms);

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

								BaseArmor arms = new BoneArms();
								arms.Hue = 1152;
								arms.Movable = false;
								AddItem(arms);

								del = FindItemOnLayer(Layer.Shoes);

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

								Item sandals = new Sandals();
								sandals.Hue = 1152;
								sandals.Movable = false;
								AddItem(sandals);
							}
						}
					}
					break;
				case 5:
					{
						if (defender is BaseCreature)
						{
							var bc = (BaseCreature)defender;

							if (bc.Controlled != true)
							{
								kpgainmin = 5 + bc.HitsMax / 160;
								kpgainmax = 5 + bc.HitsMax / 100;

								KP += Utility.RandomList(kpgainmin, kpgainmax);
							}
						}

						if (KP >= 5000000)
						{
							if (S5)
							{
								S5 = false;

								int hits = HitsMax + 100;
								int va = VirtualArmor + 100;
								int mindamage = DamageMin + 5;
								int maxdamage = DamageMax + 5;

								Warmode = false;
								
								Say("*" + Name + " is Reborn*");
								Say("Master, please lend me some armor");
								SetDamage(mindamage, maxdamage);
								SetHits(hits);
								
								VirtualArmor = va;
								Stage = 6;
								Title = "the Champion";

								RawStr += 100;
								RawInt += 120;
								RawDex += 20;

								Item del = FindItemOnLayer(Layer.InnerTorso);

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

								del = FindItemOnLayer(Layer.Pants);

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

								del = FindItemOnLayer(Layer.Neck);

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

								del = FindItemOnLayer(Layer.Gloves);

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

								del = FindItemOnLayer(Layer.Helm);

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

								del = FindItemOnLayer(Layer.Arms);

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

								del = FindItemOnLayer(Layer.Shoes);

								if (del != null)
								{
									del.Delete();
								}
							}
						}
					}
					break;
				case 6:
					{
						if (defender is BaseCreature)
						{
							var bc = (BaseCreature)defender;

							if (bc.Controlled != true)
							{
								kpgainmin = 5 + bc.HitsMax / 540;
								kpgainmax = 5 + bc.HitsMax / 480;

								KP += Utility.RandomList(kpgainmin, kpgainmax);
							}
						}

						if (KP >= 10000000)
						{
							if (S6)
							{
								S6 = false;

								int hits = HitsMax + 350;
								int va = VirtualArmor + 100;
								int mindamage = DamageMin + 15;
								int maxdamage = DamageMax + 15;

								Warmode = false;
								Say("*" + Name + " is now a Great Champion and loyal friend*");

								if (ControlMaster != null)
								{
									Title = ", Guardian of " + ControlMaster.Name + "";
								}

								SetDamage(mindamage, maxdamage);
								SetHits(hits);
								
								VirtualArmor = va;
								Stage = 7;

								RawStr += 125;
								RawInt += 125;
								RawDex += 35;
							}
						}
					}
					break;
				case 7:
					{
						if (defender is BaseCreature)
						{
							var bc = (BaseCreature)defender;

							if (bc.Controlled != true)
							{
								kpgainmin = 5 + bc.Hits / 740;
								kpgainmax = 5 + bc.Hits / 660;

								KP += Utility.RandomList(kpgainmin, kpgainmax);
							}
						}
					}
					break;
			}

			base.OnGaveMeleeAttack(defender);
		}