public void ProcessQuestUnTrigger(QuestTrigger questTrigger) { if (complete) { return; } if (questTrigger.questNode == currentObjective) { currentObjective.MarkTaskIncomplete(questTrigger.task); currentObjective.ShowCurrentTasks(); } else { questTrigger.questNode.MarkTaskIncomplete(questTrigger.task); if (questTrigger.questNode == currentObjective.previous) { currentObjective = questTrigger.questNode; currentObjective.ShowCurrentTasks(); // When you go to the previous node, make the quest giver say // the repeated dialog. dialog = currentObjective.repeatedDialog; } } }