public bool Finish(int questId, string objective)
{
var quest = this.GetFirstIncomplete(questId);
if (quest == null) return false;
var progress = quest.GetProgress(objective);
if (progress == null)
throw new Exception("Quest.Finish: No progress found for objective '" + objective + "'.");
quest.SetDone(objective);
Send.QuestUpdate(_creature, quest);
return true;
}