We're porting Retail add-ons to Beta, Come Get 'Em

You should be able to paste the following into the website addon.bool.no to create/download a peon addon (it’s what I use so may not be as good or comprehensive as your current but might help fill the void. Not beta so no guarantee, delete if it doesn’t work)

local objectiveComplete = "Sound/Creature/Peon/PeonWhat4.ogg"
local questComplete = "sound/creature/peon/peonbuildingcomplete1.ogg"
local function QuestComplete(index)
	local count = 0
	for i = 1, GetNumQuestLeaderBoards(index) do
		local _, _, finished = GetQuestLogLeaderBoard(i, index)
		if finished then
			count = count + 1
		end
	end
	return count
end

local function QuestGet(self, index)
	self.questIndex = index
	if index > 0 then
		local _, _, _, _, _, _, _, id = GetQuestLogTitle(index)
		self.questId = id
		if id and id > 0 then
			self.completeCount = QuestComplete(index)
		end
	end
end

local function QuestCheck(self, unit)
	if not unit == "player" then return end
	if self.questIndex > 0 then
		local index = self.questIndex
		self.questIndex = 0
		local title, level, _, _, _, complete, daily, id = GetQuestLogTitle(index)
		if id == self.questId then
			if id and id > 0 then
				local objectivesComplete = QuestComplete(index)
				if complete then
					PlaySoundFile(questComplete)
				elseif objectivesComplete > self.completeCount then
					PlaySoundFile(objectiveComplete)
				end
			end
		end
	end
end
local f = CreateFrame("Frame")
f.questIndex = 0
f:SetScript("OnEvent", function(self, event, ...)
	if event == "UNIT_QUEST_LOG_CHANGED" then
		QuestCheck(self, ...)
	elseif event == "QUEST_WATCH_UPDATE" then
		QuestGet(self, ...)
	end
end)

f:RegisterEvent("QUEST_WATCH_UPDATE")
f:RegisterEvent("UNIT_QUEST_LOG_CHANGED")
3 Likes