/**********************************************************
RunUO 2.0 AoV C# script file
Official Age of Valor Script :: www.uovalor.com
Last modified by Death on Apr-18-2011 09:34:36pm
Filepath: scripts\_custom\Revised Class Quests\Ambitious Red Solen Queen\NewRedSolenQueenQuest.cs
Lines of code: 59
***********************************************************/


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

namespace Server.Engines.Quests
{
	public class NewRedSolenQueenQuestPart1 : BaseQuest
	{		
		public override QuestChain ChainID{ get{ return QuestChain.NewRedSolenQueenQuest; } }
		public override Type NextQuest{ get{ return typeof( NewRedSolenQueenQuestPart2 ); } }
		
		/* The Ambitious Solen Queen (Part 1) */
		public override object Title{ get{ return "Ambitious Red Solen Queen (Part 1)"; } }
		
		/* <I>The Solen queen considers you eagerly for a moment then says,</I><BR><BR>
		* 
		* Yes. Yes, I think you could be of use. Normally, of course, I would handle
		* these things on my own, but these are busy times. Much to do, much to do.
		* And besides, if I am to one day become the Matriarch, then it will be good to
		* have experience trusting others to carry out various tasks for me. Yes.<BR><BR>
		* 
		* That is my plan, you see - I will become the next Matriarch. Our current
		* Matriarch is fine and all, but she won't be around forever. And when she steps
		* down, I intend to be the next in line. Ruling others is my destiny, you see.<BR><BR>
		* 
		* What I ask of you is quite simple. First, I need you to remove some of the
		* - well - competition, I suppose. Though I dare say most are hardly competent to
		* live up to such a title. I'm referring to the other queens of this colony,
		* of course. My dear sisters, so to speak. If you could remove 5 of them, I would
		* be most pleased. *sighs* By remove, I mean kill them. Don't make that face
		* at me - this is how things work in a proper society, and ours has been more proper
		* than most since the dawn of time. It's them or me, and whenever I give it
		* any thought, I'm quite sure I'd prefer it to be them.<BR><BR>
		* 
		* I also need you to gather some zoogi fungus for me - 50 should do the trick.<BR><BR>
		* 
		* Will you accept my offer?
		*/	
		public override object Description{ get{ return 1054060; } }
		
		public override object Refuse{ get{ return "You refuse the quest"; } }
		
		/* <I>The Solen queen looks up as you approach.</I><BR><BR>
		* 
		* You're back, but you have not yet eliminated 5 queens from my colony.
		* Return when you have completed this task.<BR><BR>
		* 
		* Remember, by the way, that queens from the other solen colony and
		* infiltrator queens do not count toward your task.<BR><BR>
		* 
		* Very well. Carry on. I'll be waiting for your return.
		*/
		public override object Uncomplete{ get{ return 1054066; } }
		
		public override object Complete{ get{ return "The Solen queen looks up as you approach."; } }
		
		public NewRedSolenQueenQuestPart1() : base()
		{							
			AddObjective( new SlayObjective( typeof( RedSolenQueen ), "Red Solen Queen", 5 ) );					
			AddReward( new BaseReward( "Quest Continuation (Part 2)" ) );
		}
		
		/*public override bool CanOffer()
		{
			return MondainsLegacy.Bedlam;
		}*/
		
		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 NewRedSolenQueenQuestPart2 : BaseQuest
	{		
		public override QuestChain ChainID{ get{ return QuestChain.NewRedSolenQueenQuest; } }
		public override Type NextQuest{ get{ return typeof( TheGoldenHornQuest ); } } //Needs this but never uses it. It's a blank placeholder essentially
		
		/* The Ambitious Solen Queen (Part 2) */
		public override object Title{ get{ return "Ambitious Red Solen Queen (Part 2)"; } }
		
		/* <I>The Solen queen looks pleased to see you.</I><BR><BR>
		* 
		* Splendid! You've done quite well in reducing my competition to become
		* the next Matriarch. Now I must ask that you gather some zoogi fungus for me.
		* I must practice processing it into powder of translocation.<BR><BR>
		* 
		* I believe the amount we agreed upon earlier was 50. Please return when
		* you have that amount and then give them to me.<BR><BR>
		*
		* Farewell for now.
		*/
		public override object Description{ get{ return 1054068; } }
		
		public override object Refuse{ get{ return "You refuse the quest"; } }
		
		/* <I>The Solen queen looks up as you approach.</I><BR><BR>
		* 
		* Do you have the zoogi fungus?<BR><BR>
		* 
		* If so, give them to me. Otherwise, go gather some and then return to me.
		*/
		public override object Uncomplete{ get{ return 1054070; } }
		
		/* <I>The Solen queen smiles as she takes the zoogi fungus from you.</I><BR><BR>
		* 
		* Wonderful! I greatly appreciate your help with these tasks. My plans are beginning
		* to take shape ensuring that I will be the next Matriarch. But there is still
		* much to be done until then.<BR><BR>
		* 
		* You've done what I've asked of you and for that I thank you. Please accept this
		* bag of sending and some powder of translocation as a reward. Oh, and I suppose
		* I should give you some gold as well. Yes, yes. Of course.
		*/
		public override object Complete{ get{ return 1054073; } }
		
		public NewRedSolenQueenQuestPart2() : base()
		{													
			AddObjective( new ObtainObjective( typeof( ZoogiFungus ), "Zoogi Fungus", 50, 0x26B7 ) );
										
			AddReward( new BaseReward( typeof( BagOfSending ), 1054104 ) );
			AddReward( new BaseReward( typeof( PowderOfTranslocation ), Utility.RandomMinMax( 10, 12 ),  1029912 ) ); 
			AddReward( new BaseReward( typeof( Gold ), Utility.RandomMinMax( 250, 350 ), 1062577 ) ); 
		}
		
		/*public override bool CanOffer()
		{
			return MondainsLegacy.Bedlam;
		}*/
		
		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();
		}
	}
}