예제 #1
0
        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;
                }
            }
        }
예제 #2
0
        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;
                }
            }
        }