/**********************************************************
RunUO 2.0 AoV C# script file
Official Age of Valor Script :: www.uovalor.com
Last modified by 
Filepath: scripts\_custom\items\misc\ThiefArmorSet.cs
Lines of code: 279
***********************************************************/


using Server;
using System;

namespace Server.Items
{
	public class ThiefArmorSet : ArmorSet
	{
		public override int ArmorSetAmt {get{return 6;}}	

		public override Type ArmorSet_Helm{ get { return typeof(ThiefsBandana); } }
		public override Type ArmorSet_Arms{ get { return typeof(ThiefsArms); } }
		public override Type ArmorSet_Gloves{ get { return typeof(ThiefsGloves); } }
		public override Type ArmorSet_Neck{ get { return typeof(ThiefsGorget); } }
		public override Type ArmorSet_Pants{ get { return typeof(ThiefsLegs); } }
		public override Type ArmorSet_InnerTorso{ get { return typeof(ThiefsChest); } }
	}
	
	public class ThiefsBandana : Bandana
	{
		public override int InitMinHits{ get{ return 255; } }
		public override int InitMaxHits{ get { return 255; } }
		
		public override ArmorSet armorset{get{return new ThiefArmorSet();}}

		public override int BasePhysicalResistance{ get{ return 0; } }
		public override int BaseFireResistance{ get{ return 0; } }
		public override int BaseColdResistance{ get{ return 0; } }
		public override int BasePoisonResistance{ get{ return 0; } }
		public override int BaseEnergyResistance{ get{ return 0; } }	

		[Constructable]
		public ThiefsBandana() : base()
		{
			Name = "Thief's Bandana";
		}
				
		//properties - note, for armor set these are used instead of the constructor		
		
		public override void ArmorSetAttributes()
		{
		ArmorSetOff_ResistBonuses.Physical=2;
		ArmorSetOff_ResistBonuses.Fire=2;
		ArmorSetOff_ResistBonuses.Cold=2;
		ArmorSetOff_ResistBonuses.Poison=2;
		ArmorSetOff_ResistBonuses.Energy=2;
		
		ArmorSetOn_ResistBonuses.Physical=12;
		ArmorSetOn_ResistBonuses.Fire=12;
		ArmorSetOn_ResistBonuses.Cold=0;
		ArmorSetOn_ResistBonuses.Poison=12;
		ArmorSetOn_ResistBonuses.Energy=0;		

		ArmorSetOn_ClothingAttributes.SelfRepair=3;    
		}	

		public ThiefsBandana( Serial serial ) : base( serial )
		{
		}

		public override void Serialize( GenericWriter writer )
		{
			base.Serialize( writer );

			writer.Write( (int) 0 );
		}
		
		public override void Deserialize(GenericReader reader)
		{
			base.Deserialize( reader );

			int version = reader.ReadInt();
		}
	}
	
	public class ThiefsArms : LeatherArms
	{
		public override int InitMinHits{ get{ return 255; } }
		public override int InitMaxHits{ get { return 255; } }
		
		public override ArmorSet armorset{get{return new ThiefArmorSet();}}		
		
		public override int BasePhysicalResistance{ get{ return 0; } }
		public override int BaseFireResistance{ get{ return 0; } }
		public override int BaseColdResistance{ get{ return 0; } }
		public override int BasePoisonResistance{ get{ return 0; } }
		public override int BaseEnergyResistance{ get{ return 0; } }	

		[Constructable]
		public ThiefsArms() : base()
		{
		Name = "Thief's Arms";
		}
				
		//properties - note, for armor set these are used instead of the constructor		
		
		public override void ArmorSetAttributes()
		{
		ArmorSetOff_ResistBonuses.Physical=2;
		ArmorSetOff_ResistBonuses.Fire=2;
		ArmorSetOff_ResistBonuses.Cold=2;
		ArmorSetOff_ResistBonuses.Poison=2;
		ArmorSetOff_ResistBonuses.Energy=2;

		ArmorSetOn_ResistBonuses.Physical=12;
		ArmorSetOn_ResistBonuses.Fire=12;
		ArmorSetOn_ResistBonuses.Cold=0;
		ArmorSetOn_ResistBonuses.Poison=12;
		ArmorSetOn_ResistBonuses.Energy=0;		

		ArmorSetOn_ArmorAttributes.SelfRepair=3;
		ArmorSetOn_SkillBonuses.SetValues( 0, SkillName.Stealing, 20.0 );			
		}	

		public ThiefsArms( Serial serial ) : base( serial )
		{
		}

		public override void Serialize( GenericWriter writer )
		{
			base.Serialize( writer );

			writer.Write( (int) 0 );
		}
		
		public override void Deserialize(GenericReader reader)
		{
			base.Deserialize( reader );

			int version = reader.ReadInt();
		}
	}
	
	public class ThiefsChest : LeatherChest
	{
		public override int InitMinHits{ get{ return 255; } }
		public override int InitMaxHits{ get { return 255; } }
		
		public override ArmorSet armorset{get{return new ThiefArmorSet();}}		
		
		public override int BasePhysicalResistance{ get{ return 0; } }
		public override int BaseFireResistance{ get{ return 0; } }
		public override int BaseColdResistance{ get{ return 0; } }
		public override int BasePoisonResistance{ get{ return 0; } }
		public override int BaseEnergyResistance{ get{ return 0; } }	
		

		[Constructable]
		public ThiefsChest() : base()
		{
		Name = "Thief's Chest";	
		}
				
		//properties - note, for armor set these are used instead of the constructor		
		
		public override void ArmorSetAttributes()
		{
		ArmorSetOff_ResistBonuses.Physical=2;
		ArmorSetOff_ResistBonuses.Fire=2;
		ArmorSetOff_ResistBonuses.Cold=2;
		ArmorSetOff_ResistBonuses.Poison=2;
		ArmorSetOff_ResistBonuses.Energy=2;

		ArmorSetOn_ResistBonuses.Physical=12;
		ArmorSetOn_ResistBonuses.Fire=12;
		ArmorSetOn_ResistBonuses.Cold=0;
		ArmorSetOn_ResistBonuses.Poison=12;
		ArmorSetOn_ResistBonuses.Energy=0;		

		ArmorSetOn_ArmorAttributes.SelfRepair=3;	
		ArmorSetOn_SkillBonuses.SetValues( 0, SkillName.Stealing, 20.0 );
		ArmorSetOn_SkillBonuses.SetValues( 1, SkillName.Stealth, 20.0 );
		ArmorSetOn_SkillBonuses.SetValues( 2, SkillName.Lockpicking, 20.0 );		
		}	

		public ThiefsChest( Serial serial ) : base( serial )
		{
		}

		public override void Serialize( GenericWriter writer )
		{
			base.Serialize( writer );

			writer.Write( (int) 0 );
		}
		
		public override void Deserialize(GenericReader reader)
		{
			base.Deserialize( reader );

			int version = reader.ReadInt();
		}
	}
	
	public class ThiefsGloves : LeatherGloves
	{
		public override int InitMinHits{ get{ return 255; } }
		public override int InitMaxHits{ get { return 255; } }
		
		public override ArmorSet armorset{get{return new ThiefArmorSet();}}				

		public override int BasePhysicalResistance{ get{ return 0; } }
		public override int BaseFireResistance{ get{ return 0; } }
		public override int BaseColdResistance{ get{ return 0; } }
		public override int BasePoisonResistance{ get{ return 0; } }
		public override int BaseEnergyResistance{ get{ return 0; } }		
		

		[Constructable]
		public ThiefsGloves() : base()
		{
		Name = "Thief's Gloves";	
		}
				
		//properties - note, for armor set these are used instead of the constructor		
		
		public override void ArmorSetAttributes()
		{
		ArmorSetOff_ResistBonuses.Physical=2;
		ArmorSetOff_ResistBonuses.Fire=2;
		ArmorSetOff_ResistBonuses.Cold=2;
		ArmorSetOff_ResistBonuses.Poison=2;
		ArmorSetOff_ResistBonuses.Energy=2;

		ArmorSetOn_ResistBonuses.Physical=12;
		ArmorSetOn_ResistBonuses.Fire=12;
		ArmorSetOn_ResistBonuses.Cold=0;
		ArmorSetOn_ResistBonuses.Poison=12;
		ArmorSetOn_ResistBonuses.Energy=0;		

		ArmorSetOn_ArmorAttributes.SelfRepair=3;	
		}	

		public ThiefsGloves( Serial serial ) : base( serial )
		{
		}

		public override void Serialize( GenericWriter writer )
		{
			base.Serialize( writer );

			writer.Write( (int) 0 );
		}
		
		public override void Deserialize(GenericReader reader)
		{
			base.Deserialize( reader );

			int version = reader.ReadInt();
		}
	}
	
	public class ThiefsGorget : LeatherGorget
	{
		public override int InitMinHits{ get{ return 255; } }
		public override int InitMaxHits{ get { return 255; } }
		
		public override ArmorSet armorset{get{return new ThiefArmorSet();}}		
		
		public override int BasePhysicalResistance{ get{ return 0; } }
		public override int BaseFireResistance{ get{ return 0; } }
		public override int BaseColdResistance{ get{ return 0; } }
		public override int BasePoisonResistance{ get{ return 0; } }
		public override int BaseEnergyResistance{ get{ return 0; } }	
		

		[Constructable]
		public ThiefsGorget() : base()
		{
		Name = "Thief's Gorget";	
		}
				
		//properties - note, for armor set these are used instead of the constructor		
		
		public override void ArmorSetAttributes()
		{
		ArmorSetOff_ResistBonuses.Physical=2;
		ArmorSetOff_ResistBonuses.Fire=2;
		ArmorSetOff_ResistBonuses.Cold=2;
		ArmorSetOff_ResistBonuses.Poison=2;
		ArmorSetOff_ResistBonuses.Energy=2;

		ArmorSetOn_ResistBonuses.Physical=12;
		ArmorSetOn_ResistBonuses.Fire=12;
		ArmorSetOn_ResistBonuses.Cold=0;
		ArmorSetOn_ResistBonuses.Poison=12;
		ArmorSetOn_ResistBonuses.Energy=0;		

		ArmorSetOn_ArmorAttributes.SelfRepair=3;
		ArmorSetOn_Attributes.RegenStam = 5;		 		
		}	
		
		public ThiefsGorget( Serial serial ) : base( serial )
		{
		}

		public override void Serialize( GenericWriter writer )
		{
			base.Serialize( writer );

			writer.Write( (int) 0 );
		}
		
		public override void Deserialize(GenericReader reader)
		{
			base.Deserialize( reader );

			int version = reader.ReadInt();
		}
	}
	
	public class ThiefsLegs : LeatherLegs
	{
		public override int InitMinHits{ get{ return 255; } }
		public override int InitMaxHits{ get { return 255; } }
		
		public override ArmorSet armorset{get{return new ThiefArmorSet();}}		
		
		public override int BasePhysicalResistance{ get{ return 0; } }
		public override int BaseFireResistance{ get{ return 0; } }
		public override int BaseColdResistance{ get{ return 0; } }
		public override int BasePoisonResistance{ get{ return 0; } }
		public override int BaseEnergyResistance{ get{ return 0; } }	
		

		[Constructable]
		public ThiefsLegs() : base()
		{
		Name = "Thief's Leggings";
		}
				
		//properties - note, for armor set these are used instead of the constructor		
		
		public override void ArmorSetAttributes()
		{
		ArmorSetOff_ResistBonuses.Physical=2;
		ArmorSetOff_ResistBonuses.Fire=2;
		ArmorSetOff_ResistBonuses.Cold=2;
		ArmorSetOff_ResistBonuses.Poison=2;
		ArmorSetOff_ResistBonuses.Energy=2;

		ArmorSetOn_ResistBonuses.Physical=12;
		ArmorSetOn_ResistBonuses.Fire=12;
		ArmorSetOn_ResistBonuses.Cold=0;
		ArmorSetOn_ResistBonuses.Poison=12;
		ArmorSetOn_ResistBonuses.Energy=0;		

		ArmorSetOn_ArmorAttributes.SelfRepair=3;	
		ArmorSetOn_Attributes.RegenHits = 10; 		
		}	

		public ThiefsLegs( Serial serial ) : base( serial )
		{
		}

		public override void Serialize( GenericWriter writer )
		{
			base.Serialize( writer );

			writer.Write( (int) 0 );
		}
		
		public override void Deserialize(GenericReader reader)
		{
			base.Deserialize( reader );

			int version = reader.ReadInt();
		}
	}
	
}