/**********************************************************
RunUO 2.0 AoV C# script file
Official Age of Valor Script :: www.uovalor.com
Last modified by 
Filepath: scripts\_custom\engines\ML Peerless + misc areas\shimering effusion\mobiles\CrystalHydra.cs
Lines of code: 83
***********************************************************/


using System;
using Server.Mobiles;
using Server.Items;

namespace Server.Mobiles
{
	[CorpseName( "a crystal hydra corpse" )]
	public class CrystalHydra : BaseCreature
	{

		[Constructable]
		public CrystalHydra() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.15, 0.18 )
		{
		
			Name = "a Crystal Hydra";
			Body = 265;
			Hue = Utility.RandomList(1150, 1151, 1153, 1154, 587);
			BaseSoundID = 447;
			
			SetStr( 805, 830 );  
			SetDex( 103, 113 );
			SetInt( 106, 115 );

			SetHits( 1486, 1500 );
			SetMana( 106, 115 );

			SetDamage( 11, 16 );

			SetDamageType( ResistanceType.Physical, 5 );
			SetDamageType( ResistanceType.Fire, 5 );
			SetDamageType( ResistanceType.Cold, 80 );
			SetDamageType( ResistanceType.Poison, 5 );
			SetDamageType( ResistanceType.Energy, 5 );
			
			
			//default resists
			SetResistance( ResistanceType.Physical, 68, 73);
			SetResistance( ResistanceType.Fire, 20, 28 );
			SetResistance( ResistanceType.Cold, 80, 95 );
			SetResistance( ResistanceType.Poison, 36, 44 );
			SetResistance( ResistanceType.Energy, 80, 99 );
			
			//default skills
			SetSkill( SkillName.MagicResist, 85.8, 99.8);
			SetSkill( SkillName.Tactics, 105.7, 108.4);
			SetSkill( SkillName.Anatomy, 77.0, 78.6);		
			SetSkill( SkillName.Wrestling, 103.4, 117.5);

			Fame = 19000;
			Karma = -3500;

			VirtualArmor = 18;	

			PackItem( new GreaterPoisonPotion() );
		}

		public override void GenerateLoot()
		{
			AddLoot( LootPack.FilthyRich,3 );
		}

		public override bool HasBreath{ get{ return true; } }
		public override int BreathEnergyDamage{ get{ return 20; } } 
		public override int BreathColdDamage{ get{ return 20; } }
		public override int BreathFireDamage{ get{ return 20; } }
		public override int BreathPhysicalDamage{ get{ return 20; } } 
		public override int BreathPoisonDamage{ get{ return 20; } }
		public override int BreathEffectHue{ get{ return 74; } }
		public override int breathtargets{ get{ return 5; } }
		public override double BreathDamageScalar{ get{ return 0.15; } }		
		public override bool IsMLCreature { get { return true;} }

		public CrystalHydra(Serial serial) : base(serial)
		{
		}
		
		public override void OnDeath( Container c )
		{
			if ( Utility.Random( 10 ) == 0 )
			{		
				Item item;

				switch ( Utility.Random( 1 ))
				{
					default:
					case 1: item = new shatteredcrystals(); break;
				}

				c.DropItem( item );
			}

			base.OnDeath( c );
		}

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