All pastes #963382 Raw Edit

Untitled

public text v1 · immutable
#963382 ·published 2008-03-30 14:27 UTC
rendered paste body
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
				}
			}
		}
	}