private void OnPlayerClearedDungeon(Creature creature, Dungeon dungeon)
{
if (creature == null || dungeon == null)
return;
var quests = creature.Quests.GetAllIncomplete(this.Id);
foreach (var quest in quests)
{
if (!this.CanMakeProgress(creature, quest))
continue;
var progress = quest.CurrentObjectiveOrLast;
if (progress == null) return;
var objective = this.Objectives[progress.Ident];
if (objective == null || objective.Type != ObjectiveType.ClearDungeon) return;
var clearDungeonObjective = (objective as QuestObjectiveClearDungeon);
if (!progress.Done && dungeon.Name.ToLower() == clearDungeonObjective.DungeonName.ToLower())
{
quest.SetDone(progress.Ident);
UpdateQuest(creature, quest);
}
}
}