Example #1
0
        public void Start()
        {
            if (started || ended)
            {
                return;
            }

            foreach (PQuestStage sStage in Stages)
            {
                if (sStage.Number == 0)
                {
                    Stage = sStage;
                    Stage.Reset();
                    foreach (Player Plr in Players)
                    {
                        SendCurrentStage(Plr);
                    }
                    break;
                }
            }

            //Log.Success("PQuest", "Starting Quest " + Info.Name);
            Log.Success("PQuest", "Starting PublicQuest " + Info.Name);

            started = true;
        }
Example #2
0
        public void NextStage()
        {
            Stage.Cleanup();
            int nextStageId = Stage.Number + 1;

            EvtInterface.RemoveEvent(Failed);

            foreach (PQuestStage sStage in Stages)
            {
                if (sStage.Number == nextStageId)
                {
                    Stage = sStage;
                    Stage.Reset();
                    foreach (Player Plr in Players)
                    {
                        SendCurrentStage(Plr);
                    }
                    EvtInterface.AddEvent(Failed, TIME_EACH_STAGE * 1000, 1);
                    return;
                }
            }

            End();
        }