/**********************************************************
RunUO AoV C# script file
Official Age of Valor Script :: www.uovalor.com
Last modified by Red Squirrel on Jan-01-2012 10:09:12pm
Filepath: scripts\events and scenarios\Christmas\quests\EvilElvesQuest\EvilElvesQuest.cs
Lines of code: 96

Description: 

***********************************************************/


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

namespace Server.Engines.Quests
{
	public class EvilElvesQuest : BaseQuest
	{				
		public override object Title{ get{ return "Chaos in Santa's Village"; } }
		
	
		public override object Description{ get{ return "Oh, I am so glad you came, I've been hoping someone manages to get in here to help us.  Look, this is not how things are normally ran here.  I hate to cut into your fun, but see, the village is being run down by evil elves and we need your help to eradicate them!  No tour, sorry. <br><br>We have been building a whole new wing to accomodate more machines and making the work place better but durring the early construction process, it seems some ninjas have snuck in and are trying to take over.  They are actually evil elves who want to ruin Christmas.<br><br>Please go out and slay some of them and help us restore this place.  The incinerator is also acting funny and throwing out magic smoke, so just leave the bodies there and we'll figure something out!"; } }
		
		/* I will patiently await your reconsideration. */
		public override object Refuse{ get{ return 1073921; } }
		
		public override object Uncomplete{ get{ return "Slay some evil elves, we are counting on you!"; } }
		

		public override object Complete{ get{ return "Thank you!  In the spirit of Christmas, here is some decoration for your house"; } }
	
		public EvilElvesQuest() : base()
		{
			switch(Utility.Random(3))
			{			
				case 0: AddObjective( new SlayObjective( typeof( DarkAssassinElfArcher ), "Dark Assassin Elf Archer", 10)); break;
				case 1: AddObjective( new SlayObjective( typeof( DarkAssassinElfFencer ), "Dark Assassin Elf Fencer", 10)); break;
				case 2: AddObjective( new SlayObjective( typeof( DarkElfTrooper ), "Dark Elf Trooper", 10)); break;
			}
			
			
			AddReward( new BaseReward( "Christmas Decoration" ) );
		}
		
		
		public override void GiveRewards()
		{
			Owner.GiveItem(new ChristmasDecorationBag(15));
			
			base.GiveRewards();	
		}
		
		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();
		}
	}
	
	
	
	

	public class EvilElvesQuester : MondainQuester
	{	
		public override Type[] Quests
		{ 
			get{ return new Type[] 
			{ 
				typeof( EvilElvesQuest )
			
			};} 
		}
		
		[Constructable]
		public EvilElvesQuester() : base( "Beleg", "Keeper of Santa's Village" )
		{	
		}
		
		public EvilElvesQuester( Serial serial ) : base( serial )
		{
		}		
		
		public override void InitBody()
		{
			InitStats( 100, 100, 25 );
			
			Race = Race.Elf;
			
			Hue = 0x83E6;
			HairItemID = 0x2FC2;
			HairHue = 0x8E;
			
			JesterHat hat = new JesterHat();
			hat.Hue=62;
			AddItem(hat);
			
			JinBaori overtunic = new JinBaori();
			overtunic.Hue=32;
			AddItem(overtunic);
			
			FancyShirt tunic = new FancyShirt();
			tunic.Hue=62;
			AddItem(tunic);
			
			LongPants pants = new LongPants();
			pants.Hue=32;
			AddItem(pants);
			
			Sandals shoes = new Sandals();
			shoes.Hue=62;
			AddItem(shoes);				
			
			Quiver quiver = new Quiver();
			quiver.Hue=62;
			AddItem(quiver);

			Bow bow = new Bow();
			bow.Hue=62;
			AddItem(bow);
		}
		
		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();
		}
	}
}