public override void ChildDeserialize(GenericReader reader)
        {
            int version = reader.ReadEncodedInt();

            m_Jalinde       = reader.ReadMobile() as Jalinde;
            m_WaitForSummon = reader.ReadBool();
        }
        public override void OnRead()
        {
            Jalinde jalinde = ((GhostQuest)System).Jalinde;

            if (jalinde == null)
            {
                System.From.SendMessage("Internal error: Unable to find Jalinde. Quest unable to continue.");
                System.Cancel();
            }
            else
            {
                if (GhostPast.Active == false)
                {
                    jalinde.Say("Oulm Quelst Tu Nock Bal Ne Setty!");
                    Point3D p = new Point3D(776, 1480, -28);

                    GhostPast ghost = new GhostPast();
                    ghost.Hidden = true;
                    ghost.Freeze(TimeSpan.FromSeconds(1.5));
                    ghost.MoveToWorld(p, jalinde.Map);
                    System.From.AddToBackpack(new ItemClaimer());

                    System.AddObjective(new VanquishGhostObjective(ghost));
                }
                else
                {
                    jalinde.SayTo(System.From, "The Ghost is already here! Go brave mortal, go and destroy him!");

                    ((GhostQuest)System).WaitForSummon = true;
                }
            }
        }
        public override void OnComplete()
        {
            Jalinde jalinde = ((GhostQuest)System).Jalinde;

            jalinde.Say("What is the meaning of this?  This letter is not from Tear at all!...why you....");

            System.AddConversation(new TheGatheringOfSoulCrystalsConversation());
        }
        public override void OnComplete()
        {
            Jalinde jalinde = ((GhostQuest)System).Jalinde;

            if (jalinde == null)
            {
                System.From.SendMessage("Internal error: Unable to find Jalinde. Quest unable to continue.");
                System.Cancel();
            }
            else
            {
                if (GhostPast.Active == false)
                {
                    System.AddConversation(new VanquishGhostConversation());
                }
                else
                {
                    jalinde.SayTo(System.From, "I have already summoned the Ghost, now go and destroy him!");
                    ((GhostQuest)System).WaitForSummon = true;
                }
            }
        }
		public override void ChildDeserialize( GenericReader reader )
		{
			int version = reader.ReadEncodedInt();

			m_Jalinde = reader.ReadMobile() as Jalinde;
			m_WaitForSummon = reader.ReadBool();
		}
		public GhostQuest( Jalinde jalinde, PlayerMobile from ) : base( from )
		{
			m_Jalinde = jalinde;
		}
 public GhostQuest(Jalinde jalinde, PlayerMobile from) : base(from)
 {
     m_Jalinde = jalinde;
 }