/**********************************************************
RunUO 2.0 AoV C# script file
Official Age of Valor Script :: www.uovalor.com
Last modified by 
Filepath: scripts\_custom\events and scenarios\misc\Easter\EasterBunny.cs
Lines of code: 128
***********************************************************/


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

namespace Server.Mobiles
{
	[CorpseName( "an easter bunny corpse (Shame on you!)" )]
	public class EasterBunny : BaseCreature
	{
		[Constructable]
		public EasterBunny() : base( AIType.AI_Animal, FightMode.Aggressor, 10, 1, 0.2, 0.4 )
		{
			Name = "an easter bunny";
			Hue = 1166;
			Body = 205;

			SetStr( 6, 10 );
			SetDex( 26, 38 );
			SetInt( 6, 14 );

			SetHits( 3000, 6000 );
			SetMana( 0 );

			SetDamage( 1 );

			SetDamageType( ResistanceType.Physical, 100 );

			SetResistance( ResistanceType.Physical, 5, 10 );

			SetSkill( SkillName.MagicResist, 5.0 );
			SetSkill( SkillName.Tactics, 5.0 );
			SetSkill( SkillName.Wrestling, 5.0 );

			Fame = 150;
			Karma = -10000;

			VirtualArmor = 6;

			Tamable = false;
			
			for ( int t = 0; t < Utility.RandomMinMax(1, 12); t++ )
			{
				PackItem( new EasterEgg() );
			}
			
			for ( int j = 0; j < 6; j++ )
			{
				switch ( Utility.Random( 18 ))
				{                                   
					case 0: PackItem( new LesserDetriment( Utility.Random(2,8) )); break;   
					case 1: PackItem( new GreaterDetriment( Utility.Random(2,8) )); break;
					case 2: PackItem( new VolcanicAura( Utility.Random(1,5) )); break;
					case 3: PackItem( new ContaminatingSlime( Utility.Random(1,5) )); break;    
					case 4: PackItem( new WitheringCold( Utility.Random(1,5) )); break;   
					case 5: PackItem( new IronForce( Utility.Random(1,5) )); break;  
					case 6: PackItem( new ElectricStorm( Utility.Random(1,5) )); break;
					case 7: PackItem( new ShimmeringLight()); break;    
					case 8: PackItem( new MythrilIngot());break;   
					case 9: PackItem( new SoulOfFire()); break;  
					case 10: PackItem( new EssenceOfFrost()); break;
					case 11: PackItem( new SpectreOfNox()); break;    
					case 12: PackItem( new SpiritOfRock());break;   
					case 13: PackItem( new GhostOfEnergy()); break;  
					case 14: PackItem( new LuckyClovers( Utility.Random(1,8) )); break;
					case 15: PackItem( new SurrenderingAttack( Utility.Random(1,4) )); break;  
					case 16: PackItem( new SurrenderingDefense( Utility.Random(1,4) )); break;
					case 17: PackItem( new DraughtOfAlchemy( Utility.Random(1,5) )); break;
				}		
			}
			
			for ( int k = 0; k < 3; k++ )
			{
				switch ( Utility.Random( 18 ))
				{                                   
				case 0: PackItem( new CapturedDarkSoul( Utility.Random(1,6) ));break;  
				case 1: PackItem( new CapturedMageSoul( Utility.Random(1,6) ));break; 
				case 2: PackItem( new CapturedLightSoul( Utility.Random(1,6) ));break; 
				case 3: PackItem(new ConflagrantArrow( Utility.Random(1,6) ));break;  
				case 4: PackItem( new RagingThunderstorm( Utility.Random(1,6) ));break; 
				case 5: PackItem( new BlazingInferno( Utility.Random(1,6) ));break; 
				case 6: PackItem( new PiercingFrostbite( Utility.Random(1,6) ));break; 
				case 7: PackItem( new SpeedPearls( Utility.Random(1,6) )); break;    
				case 8: PackItem( new EtherealShielding( Utility.Random(1,2) ));break; 
				case 9: PackItem( new EtherealWeaponry( Utility.Random(1,2) ));break; 
				case 10: PackItem( new ScalesOfBalance()); break;
				case 11: PackItem( new OrbOfElements()); break;
				case 12: PackItem( new ReflectiveStance( Utility.Random(1,2) )); break;
				case 13: PackItem( new HealthyPearls( Utility.Random(1,2) )); break;
				case 14: PackItem( new HerbsOfStamina( Utility.Random(1,2) )); break;
				case 15: PackItem( new PotionOfRepair( Utility.Random(1,2) )); break;
				case 16: PackItem( new EssenceOfDispelling( Utility.Random(1,6) )); break;
				case 17: PackItem( new ReagentPowder( Utility.Random(1,4))); break; 
				}		
			}
			
			for ( int l = 0; l < 2; l++ )
			{
				switch ( Utility.Random( 8 ))
				{                                   
					case 0: PackItem( new PerfectEmerald()); break;   
					case 1: PackItem( new BlueDiamond()); break;
					case 2: PackItem( new DarkSapphire()); break;
					case 3: PackItem( new EcruCitrine()); break;    
					case 4: PackItem( new BrilliantAmber()); break;   
					case 5: PackItem( new WhitePearl()); break;  
					case 6: PackItem( new FireRuby()); break;
					case 7: PackItem( new Turquoise()); break;    
				}		
			}
			
			
			
			
		}

		public override int Meat{ get{ return 1; } }
		public override int Hides{ get{ return 1; } }
		public override FoodType FavoriteFood{ get{ return FoodType.FruitsAndVegies; } }

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

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

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

		public override int GetDeathSound() 
		{ 
			return 0xCB; 
		} 

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