method BestQuest() { variable int i variable int BestWeight variable int Weight ActiveQuest:Set[0] QuestCount:Set[0] BestWeight:Set[-1000] for (i:Set[1]; ${i}<=${WoWScript[GetNumQuestLogEntries(),1]}; i:Inc) { CurrentQuest:Set[${LavishSettings[Quests].FindSet[${Quest.QuestString[${i}]}]}] CurrentQuestLog:Set[${LavishSettings[QuestLog].FindSet[${Quest.QuestString[${i}]}]}] Weight:Set[0] if ${Quest.IsQuest[${i}]} { if ${Quest.IsComplete[${i}]} { Weight:Inc[100] if (${Me.Level} - ${Quest.QuestLevel[${i}]}) > (${WoWScript[GetQuestGreenRange()]}/2) { Weight:Inc[30] } if ${CurrentQuest.FindSetting[EndX](exists)} && ${Math.Distance[${Me.X},${Me.Y},${Me.Z},${CurrentQuest.FindSetting[EndX]},${CurrentQuest.FindSetting[EndY]},${CurrentQuest.FindSetting[EndZ]}]} < 1000 { Weight:Inc[${Math.Calc[(1000 - ${Math.Distance[${Me.X},${Me.Y},${Me.Z},${CurrentQuest.FindSetting[EndX]},${CurrentQuest.FindSetting[EndY]},${CurrentQuest.FindSetting[EndZ]}]})/50]}] } } else { Weight:Inc[10] } if ${CurrentQuestLog.FindSetting[Blacklisted]} == TRUE { Weight:Dec[300] } if ${LavishSettings[Location].FindSet[Hunting].FindSet[${Quest.QuestString[${i}]}].FindSet[Attributes].FindSetting[HotspotsCount]} == 0 { for (k:Set[1]; ${k}<=${WoWScript[GetNumQuestLeaderBoards(${i})]}; k:Inc) { if !${LavishSettings[Quests].FindSet[${Quest.QuestString[${i}]}].FindSet[Objective ${k}].FindSetting[Objective ${k} X](exists)} { Weight:Set[0] k:Set[1000] } } } if ${Quest.QuestString[${i}].Equal[${Grind.LocationSetName}]} { Weight:Inc[2] } Weight:Inc[(${Me.Level}+2) - ${Quest.QuestLevel[${i}]}] if ${Weight} >= 0 { if ${Weight} > ${BestWeight} { ActiveQuest:Set[${i}] BestWeight:Set[${Weight}] } QuestCount:Inc } } } }