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


using System;
using System.Collections;
using Server.Misc;
using Server.Items;

namespace Server.Mobiles
{
	[CorpseName( "a death blade corpse" )]
	public class deathblade : BaseCreature
	{
		//public override bool DeleteCorpseOnDeath { get { return Core.AOS; } }

		public override WeaponAbility GetWeaponAbility()
		{
			switch(Utility.Random(5))
			{
	        case 0:return WeaponAbility.WhirlwindAttack;
			case 1:return WeaponAbility.ArmorIgnore;
			}
		return WeaponAbility.WhirlwindAttack;
		}

		[Constructable]
		public deathblade()	: base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.04, 0.04 )
		{
			//Body = (( this.Female = Utility.RandomBool() ) ? Body = 0x191 : Body = 0x190);
			Name = "a death blade";
			BodyValue = 574;
			Hue = 20;
			RangePerception = 80;
			RangeHome = 50;
			

			SetStr( 1000 );
			SetDex( 1000 );
			SetInt( 1000 );

			SetHits( 1000 );
			SetStam( 1000 );
			SetMana( 1000 );

			SetDamage( 1000, 10000 );

			SetDamageType( ResistanceType.Physical, 100 );

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

			//caps
			SkillsCap = 50000;
			Skills[SkillName.Wrestling].Cap=250;
			Skills[SkillName.Tactics].Cap=250;
			Skills[SkillName.Anatomy].Cap=250;
			
			SetSkill( SkillName.MagicResist, 100 );
			SetSkill( SkillName.Tactics, 200,250 );
			SetSkill( SkillName.Anatomy, 200,250 );
			SetSkill( SkillName.Swords, 200,250 );
			SetSkill( SkillName.Wrestling, 200,250 );			

			Fame = 500000;
			Karma = -1000000;

			VirtualArmor = 40;
			ControlSlots = 5;
			
			vaporizer wep = new vaporizer();
			wep.Movable=false;
            AddItem( wep );
			if(0.5>Utility.RandomDouble())	PackItem(new RandomTalisman());
		}
		
		
		public override void GenerateLoot()
		{
			AddLoot( LootPack.SuperBoss, 9 );
			AddLoot( LootPack.FilthyRich,10);
		}
		

		public override bool BleedImmune{ get{ return true; } }
		public override Poison PoisonImmune { get { return Poison.Lethal; } }

		public override int GetAngerSound()
		{
			return 0x23A;
		}

		public override int GetAttackSound()
		{
			return 0x3B8;
		}

		public override int GetHurtSound()
		{
			return 0x23A;
		}



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

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

			writer.Write( (int) 0 ); // version
		}

		public override void Deserialize( GenericReader reader )
		{
			base.Deserialize( reader );

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