/**********************************************************
RunUO AoV C# script file
Official Age of Valor Script :: www.uovalor.com
Last modified by Red Squirrel on Jan-01-2012 10:09:14pm
Filepath: scripts\events and scenarios\Halloween2011\Quests\Quest Givers\Helga.cs
Lines of code: 82

Description: 

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


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

namespace Server.Engines.Quests
{	
	public class RibbitRibbitQuest : BaseQuest
	{				
	
		public override bool DoneOnce{ get{ return true; } }
	
		public override object Title{ get{ return "Ribbit! Ribbit!"; } }
		
		public override object Description{ get{ return "Oh drat! I leave this pen open for a single minute and some of my frogs escaped. Those crafty amphibians are probably miles away by now but if I don't get them back I'm going to be even more furious than I am right now!<br><br>You look like you're an avid frog catcher, you should definitely do me a favor. Grab a shrinking staff off that table and set out to find my frogs.<br><br>The frogs that I am missing are green, black, orange, blue and red. You'll have to get pretty close to them to be able to use the staff to shrink them up. They are likely scattered all over the place by now, hiding out of view so there's likely one in each area.<br><br>Are you ready to accept my quest?"; } }
		
		public override object Refuse{ get{ return "Alright sprout. Come back when you think you're ready to accept my quest"; } }
		
		public override object Uncomplete{ get{ return "Back already? Remember that my frogs are probably all over the place"; } }
		
		public override object Complete{ get{ return "Goodness me, you've actually found all my frogs. Thank you so much! Here, take this reward as thanks for helping me out."; } }
	
		public RibbitRibbitQuest() : base()
		{			
			AddObjective( new ObtainObjective( typeof( ShrunkGreenFrog ), "Green Frog", 1, 8496, 0, 1155 ) );
			AddObjective( new ObtainObjective( typeof( ShrunkBlackFrog ), "Black Frog", 1, 8496, 0, 1175) );
			AddObjective( new ObtainObjective( typeof( ShrunkOrangeFrog ), "Orange Frog", 1, 8496, 0, 1161) );
			AddObjective( new ObtainObjective( typeof( ShrunkBlueFrog ), "Blue Frog", 1, 8496, 0, 1156) );
			AddObjective( new ObtainObjective( typeof( ShrunkRedFrog ), "Red Frog", 1, 8496, 0, 1157) );
			
			AddReward( new BaseReward( typeof( CostumeFrog ), "Frog Costume" ) );
		}
		
		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 Helga : MondainQuester
	{
		public override Type[] Quests
		{ 
			get{ return new Type[] 
			{ 
				typeof( RibbitRibbitQuest )
			};} 
		}
		
		[Constructable]
		public Helga() : base( "Helga", "the frog keeper" )
		{			
			SetSkill( SkillName.Meditation, 60.0, 83.0 );
			SetSkill( SkillName.Focus, 60.0, 83.0 );
		}
		
		public Helga( 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();
		}
	}
}