/**********************************************************
RunUO 2.0 AoV C# script file
Official Age of Valor Script :: www.uovalor.com
Last modified by Death on Oct-30-2011 08:24:13pm
Filepath: scripts\_custom\events and scenarios\Halloween2011\Quests\Quest Givers\Selena.cs
Lines of code: 77
***********************************************************/


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

namespace Server.Engines.Quests
{	
	public class EvilUnleashedQuest : BaseQuest
	{				
		public override object Title{ get{ return "Evil Unleashed"; } }
		
		public override object Description{ get{ return "I'm going to be in so much trouble! I was practicing my hexes in the cemetery when I accidently hit a pumpkin growing there. The pumpking grew into an evil kind of 'king' pumpkin. I tried my best to dispel the hex but it kept growing, summoning more evil pumpkins my way. I was forced to lock it in the haunted house by the cemetery.<br><br>The cemetery is now overrun by these evil pumpkins. I need to get rid of them before any of the other witches notice. If you help me out and prove you're strong enough, I'll give you the key to the haunted house so that you can hopefully destroy the pumpkin king."; } }
		
		public override object Refuse{ get{ return "Shoot, you're refusing? That's just great, now I'll have to find another person to help me get rid of the evil pumpkins."; } }
		
		public override object Uncomplete{ get{ return "Just keep at it until you kill all those evil pumpkins. I'm counting on you."; } }
		
		public override object Complete{ get{ return "You got rid of the evil pumpkins? Great! Here's the key to the haunted house. Best of luck getting rid of the evil pumpkin king."; } }
	
		public EvilUnleashedQuest() : base()
		{			
			AddObjective( new SlayObjective( typeof( EvilPumpkin ), "Evil Pumpkin", 50 ) );
			
			AddReward( new BaseReward( typeof( PumpkinKingKey ), "A haunted house key (Pumpkin King)" ) );
		}
		
		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 Selena : MondainQuester
	{
		public override Type[] Quests
		{ 
			get{ return new Type[] 
			{ 
				typeof( EvilUnleashedQuest )
			};} 
		}
		
		[Constructable]
		public Selena() : base( "Selena", "the witch's apprentice" )
		{			
			SetSkill( SkillName.Meditation, 60.0, 83.0 );
			SetSkill( SkillName.Focus, 60.0, 83.0 );
		}
		
		public Selena( Serial serial ) : base( serial )
		{
		}		
		
		public override void InitBody()
		{
			InitStats( 100, 100, 25 );

			Hue = 0x83EA;

			Female = true;
			Body = 0x191;
		}
		
		public override void InitOutfit()
		{
			AddItem( new Robe( 0x1 ) );
			AddItem( new Sandals() );
			AddItem( new WizardsHat( 0x1 ) );
			AddItem( new GoldBracelet() );

			HairItemID = 0x203C;

			Item staff = new GnarledStaff();
			staff.Movable = false;
			AddItem( staff );
		}
		
		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();
		}
	}
}