public void NextStep(Connection client, QuestStep step) { byte stepIndex = step.StepNumber; stepIndex++; if (stepIndex < _steps.Length) { // Valid next step, activate it client.Character.SetActiveQuestStep(_questID, stepIndex); _steps[stepIndex].Activate(client); } else { // Done with this quest! client.Character.CompleteQuest(_questID); } }
public void AddStep(QuestStep step) { _steps[step.StepNumber] = step; if( step.StepNumber > _lastStep ) _lastStep = step.StepNumber; }
public Builder(uint quest, byte step, uint owner, CompletionType type, uint completionCount, uint completionID = 0) { _step = new QuestStep(quest, step, type, completionCount, completionID, owner); _lastLine = 0; _lines = new Dictionary<int, QuestLine>(); _rewards = new List<QuestReward>(); }