diff --git a/.gitignore b/.gitignore index 966ae80..9063a97 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ .vscode /docs +*.bak diff --git a/CHANGELOG.md b/CHANGELOG.md index 04b624e..b4ca2ac 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,27 @@ # Changelog +## v1.1.8+ - 2024-12-10 + +### Added + +- Introduced a new Profession Equipment column! + +# Changelog + +## v1.1.8 - 2024-12-01 + +### Added + +- Added Catch-Up objectives to the Checklist (Thanks to [Belazor](https://github.com/DennisRas/WeeklyKnowledge/pull/66)) + +### Updated + +- Improved the performance of the addon when not shown on screen + +### Fixed + +- Fixed a bug related to the Darkmoon Faire (Thanks to [Belazor](https://github.com/DennisRas/WeeklyKnowledge/pull/66)) + ## v1.1.7 - 2024-10-16 ### Added diff --git a/Checklist.lua b/Checklist.lua index ce75634..84bbc5d 100644 --- a/Checklist.lua +++ b/Checklist.lua @@ -7,6 +7,8 @@ local addon = select(2, ...) local Checklist = {} addon.Checklist = Checklist +local L = LibStub("AceLocale-3.0"):GetLocale(addonName) + local Constants = addon.Constants local Utils = addon.Utils local UI = addon.UI @@ -78,7 +80,7 @@ function Checklist:Render() self.window.titlebar.title:SetPoint("LEFT", self.window.titlebar, 28, 0) self.window.titlebar.title:SetJustifyH("LEFT") self.window.titlebar.title:SetJustifyV("MIDDLE") - self.window.titlebar.title:SetText("Checklist") + self.window.titlebar.title:SetText(L["Checklist"]) self.window.textbox = self.window:CreateFontString("$parentTextbox", "ARTWORK") self.window.textbox:SetFontObject("SystemFont_Med1") @@ -97,7 +99,7 @@ function Checklist:Render() self.window.titlebar.closeButton.Icon:SetVertexColor(1, 1, 1, 1) Utils:SetBackgroundColor(self.window.titlebar.closeButton, 1, 0, 0, 0.2) GameTooltip:SetOwner(self.window.titlebar.closeButton, "ANCHOR_TOP") - GameTooltip:SetText("Close the window", 1, 1, 1, 1, true); + GameTooltip:SetText(L["CloseTheWindow"], 1, 1, 1, 1, true); GameTooltip:Show() end) self.window.titlebar.closeButton:SetScript("OnLeave", function() @@ -122,8 +124,8 @@ function Checklist:Render() Utils:SetBackgroundColor(self.window.titlebar.SettingsButton, 1, 1, 1, 0.05) ---@diagnostic disable-next-line: param-type-mismatch GameTooltip:SetOwner(self.window.titlebar.SettingsButton, "ANCHOR_TOP") - GameTooltip:SetText("Settings", 1, 1, 1, 1, true); - GameTooltip:AddLine("Let's customize things a bit", NORMAL_FONT_COLOR.r, NORMAL_FONT_COLOR.g, NORMAL_FONT_COLOR.b); + GameTooltip:SetText(L["Settings"], 1, 1, 1, 1, true); + GameTooltip:AddLine(L["SettingsDesc"], NORMAL_FONT_COLOR.r, NORMAL_FONT_COLOR.g, NORMAL_FONT_COLOR.b); GameTooltip:Show() end) self.window.titlebar.SettingsButton:SetScript("OnLeave", function() @@ -133,7 +135,7 @@ function Checklist:Render() end) self.window.titlebar.SettingsButton:SetupMenu(function(_, rootMenu) rootMenu:CreateCheckbox( - "Hide in combat", + L["HideInCombat"], function() return Data.db.global.checklist.hideInCombat end, function() Data.db.global.checklist.hideInCombat = not Data.db.global.checklist.hideInCombat @@ -141,7 +143,7 @@ function Checklist:Render() end ) rootMenu:CreateCheckbox( - "Hide in dungeons", + L["HideInDungeons"], function() return Data.db.global.checklist.hideInDungeons end, function() Data.db.global.checklist.hideInDungeons = not Data.db.global.checklist.hideInDungeons @@ -149,7 +151,7 @@ function Checklist:Render() end ) rootMenu:CreateCheckbox( - "Hide completed objectives", + L["HideCompletedObjectives"], function() return Data.db.global.checklist.hideCompletedObjectives end, function() Data.db.global.checklist.hideCompletedObjectives = not Data.db.global.checklist.hideCompletedObjectives @@ -157,7 +159,7 @@ function Checklist:Render() end ) local hideAllUniques = rootMenu:CreateCheckbox( - "Hide all Uniques", + L["HideAllUniques"], function() return Data.db.global.checklist.hideUniqueObjectives end, function() Data.db.global.checklist.hideUniqueObjectives = not Data.db.global.checklist.hideUniqueObjectives @@ -166,10 +168,10 @@ function Checklist:Render() ) hideAllUniques:SetTooltip(function(tooltip, elementDescription) GameTooltip_SetTitle(tooltip, MenuUtil.GetElementText(elementDescription)); - GameTooltip_AddNormalLine(tooltip, "Hide all objectives from the Uniques category."); + GameTooltip_AddNormalLine(tooltip, L["HideAllUniquesDesc"]); end) local hideVendorUniques = rootMenu:CreateCheckbox( - "Hide vendor Uniques", + L["HideVendorUniques"], function() return Data.db.global.checklist.hideUniqueVendorObjectives end, function() Data.db.global.checklist.hideUniqueVendorObjectives = not Data.db.global.checklist.hideUniqueVendorObjectives @@ -178,10 +180,22 @@ function Checklist:Render() ) hideVendorUniques:SetTooltip(function(tooltip, elementDescription) GameTooltip_SetTitle(tooltip, MenuUtil.GetElementText(elementDescription)); - GameTooltip_AddNormalLine(tooltip, "Hide Uniques that are purchased from a vendor."); + GameTooltip_AddNormalLine(tooltip, L["HideVendorUniquesDesc"]); end) - rootMenu:CreateTitle("Window") - local windowScale = rootMenu:CreateButton("Scaling") + local hideCatchUp = rootMenu:CreateCheckbox( + L["HideCatch-UpObjectives"], + function() return Data.db.global.checklist.hideCatchUpObjectives end, + function() + Data.db.global.checklist.hideCatchUpObjectives = not Data.db.global.checklist.hideCatchUpObjectives + self:Render() + end + ) + hideCatchUp:SetTooltip(function(tooltip, elementDescription) + GameTooltip_SetTitle(tooltip, MenuUtil.GetElementText(elementDescription)); + GameTooltip_AddNormalLine(tooltip, L["HideCatch-UpObjectivesDesc"]); + end) + rootMenu:CreateTitle(L["Window"]) + local windowScale = rootMenu:CreateButton(L["Scaling"]) for i = 80, 200, 10 do windowScale:CreateRadio( i .. "%", @@ -227,7 +241,7 @@ function Checklist:Render() hasOpacity = 1, } rootMenu:CreateColorSwatch( - "Background color", + L["BackgroundColor"], function() ColorPickerFrame:SetupColorPickerAndShow(colorInfo) end, @@ -235,7 +249,7 @@ function Checklist:Render() ) rootMenu:CreateCheckbox( - "Show the border", + L["ShowTheBorder"], function() return Data.db.global.checklist.windowBorder end, function() Data.db.global.checklist.windowBorder = not Data.db.global.checklist.windowBorder @@ -268,8 +282,8 @@ function Checklist:Render() Utils:SetBackgroundColor(self.window.titlebar.ColumnsButton, 1, 1, 1, 0.05) ---@diagnostic disable-next-line: param-type-mismatch GameTooltip:SetOwner(self.window.titlebar.ColumnsButton, "ANCHOR_TOP") - GameTooltip:SetText("Columns", 1, 1, 1, 1, true); - GameTooltip:AddLine("Enable/Disable table columns.", NORMAL_FONT_COLOR.r, NORMAL_FONT_COLOR.g, NORMAL_FONT_COLOR.b); + GameTooltip:SetText(L["Columns"], 1, 1, 1, 1, true); + GameTooltip:AddLine(L["ColumnsDesc"], NORMAL_FONT_COLOR.r, NORMAL_FONT_COLOR.g, NORMAL_FONT_COLOR.b); GameTooltip:Show() end) self.window.titlebar.ColumnsButton:SetScript("OnLeave", function() @@ -312,8 +326,8 @@ function Checklist:Render() self.window.titlebar.toggleButton.Icon:SetVertexColor(0.9, 0.9, 0.9, 1) Utils:SetBackgroundColor(self.window.titlebar.toggleButton, 1, 1, 1, 0.05) GameTooltip:SetOwner(self.window.titlebar.toggleButton, "ANCHOR_TOP") - GameTooltip:SetText("Toggle objectives", 1, 1, 1, 1, true) - GameTooltip:AddLine("Expand/Collapse the list.", NORMAL_FONT_COLOR.r, NORMAL_FONT_COLOR.g, NORMAL_FONT_COLOR.b); + GameTooltip:SetText(L["ToggleObjectives"], 1, 1, 1, 1, true) + GameTooltip:AddLine(L["ToggleObjectivesDesc"], NORMAL_FONT_COLOR.r, NORMAL_FONT_COLOR.g, NORMAL_FONT_COLOR.b); GameTooltip:Show() end) self.window.titlebar.toggleButton:SetScript("OnLeave", function() @@ -355,6 +369,12 @@ function Checklist:Render() return end + -- Quick hotfix to avoid excessive rendering + if (not self.window:IsVisible() and not Data.db.global.checklist.open) or (Data.cache.inCombat and Data.db.global.checklist.hideInCombat) then + self.window:Hide() + return + end + do -- Table Column config Utils:TableForEach(dataColumns, function(dataColumn) ---@type WK_TableDataColumn @@ -413,6 +433,13 @@ function Checklist:Render() end end + -- Hide Catch-Up if enabled + if objective.typeID == Enum.WK_Objectives.CatchUp then + if Data.db.global.checklist.hideCatchUpObjectives then + return + end + end + local item = { id = objective.itemID, name = "", @@ -510,7 +537,7 @@ function Checklist:Render() windowHeight = math.min(windowHeight, maxWindowHeight) windowWidth = math.max(windowWidth, minWindowWidth) - self.window.textbox:SetText(profCount == 0 and "It does not look like you have any TWW professions." or "Good job! You are done :-)\nMake sure to take a look at your Patron Orders!") + self.window.textbox:SetText(profCount == 0 and L["ZeroProfCount"] or L["LookPatronOrders"]) self.window:SetShown(Data.db.global.checklist.open) self.window.border:SetShown(Data.db.global.checklist.windowBorder) self.window.titlebar:SetShown(Data.db.global.checklist.windowTitlebar) @@ -529,7 +556,7 @@ function Checklist:GetColumns(unfiltered) local hidden = Data.db.global.checklist.hiddenColumns local columns = { { - name = "Objective", + name = L["Objective"], width = 260, cell = function(data) local text = "" @@ -542,7 +569,7 @@ function Checklist:GetColumns(unfiltered) text = "|T" .. data.item.texture .. ":0|t " .. data.item.link end else - text = "Quest" + text = L["Quest"] local questTooltipData = C_TooltipInfo.GetHyperlink("quest:" .. data.objective.quests[1] .. ":-1") if questTooltipData and questTooltipData.lines and questTooltipData.lines[1] and questTooltipData.lines[1].leftText then -- link = format("|cffffff00|Hquest:%d:70|h[%s]|h|r", data.objective.quests[1], questTooltipData.lines[1].leftText) -- Isn't working @@ -558,7 +585,7 @@ function Checklist:GetColumns(unfiltered) GameTooltip:SetHyperlink(link) if canShare then GameTooltip:AddLine(" ") - GameTooltip:AddLine("", GREEN_FONT_COLOR.r, GREEN_FONT_COLOR.g, GREEN_FONT_COLOR.b) + GameTooltip:AddLine(L["ShiftClickToLinkToChat"], GREEN_FONT_COLOR.r, GREEN_FONT_COLOR.g, GREEN_FONT_COLOR.b) end end GameTooltip:Show() @@ -579,7 +606,7 @@ function Checklist:GetColumns(unfiltered) end, }, { - name = "Profession", + name = L["Profession"], width = 100, toggleHidden = true, cell = function(data) @@ -589,7 +616,7 @@ function Checklist:GetColumns(unfiltered) end, }, { - name = "Category", + name = L["Category"], width = 80, toggleHidden = true, cell = function(data) @@ -614,7 +641,7 @@ function Checklist:GetColumns(unfiltered) end, }, { - name = "Location", + name = L["Location"], width = 100, toggleHidden = true, cell = function(data) @@ -650,7 +677,7 @@ function Checklist:GetColumns(unfiltered) -- end, -- }, { - name = "Progress", + name = L["Progress"], width = 70, align = "CENTER", toggleHidden = true, @@ -668,7 +695,7 @@ function Checklist:GetColumns(unfiltered) end, }, { - name = "Points", + name = L["Points"], width = 70, align = "CENTER", toggleHidden = true, @@ -707,23 +734,23 @@ function Checklist:GetColumns(unfiltered) onEnter = function(columnFrame) local showTooltip = function() GameTooltip:SetOwner(columnFrame, "ANCHOR_RIGHT") - GameTooltip:SetText("Do you know de wey?", 1, 1, 1) + GameTooltip:SetText(L["DoYouKnowTheWay"], 1, 1, 1) if loc and loc.hint then GameTooltip:AddLine(loc.hint, nil, nil, nil, true) end if mapInfo then GameTooltip:AddLine(" ") - GameTooltip:AddDoubleLine("Location:", mapInfo.name, nil, nil, nil, 1, 1, 1) + GameTooltip:AddDoubleLine(L["LocationAt"], mapInfo.name, nil, nil, nil, 1, 1, 1) end if loc and loc.x then if not mapInfo then GameTooltip:AddLine(" ") end - GameTooltip:AddDoubleLine("Coordinates:", format("%.1f / %.1f", loc.x, loc.y), nil, nil, nil, 1, 1, 1) + GameTooltip:AddDoubleLine(L["CoordinatesAt"], format("%.1f / %.1f", loc.x, loc.y), nil, nil, nil, 1, 1, 1) end if requires and Utils:TableCount(requires) > 0 then GameTooltip:AddLine(" ") - GameTooltip:AddLine("Requirements:") + GameTooltip:AddLine(L["RequirementsA"]) Utils:TableForEach(requires, function(req) local leftText = " " local rightText = format("x%d", req.amount) @@ -750,6 +777,32 @@ function Checklist:GetColumns(unfiltered) end end end + if req.type == "quest" then + leftText = req.name + + if not req.match or req.match == "all" then + local numCompleted = 0 + + completed = true + for _, questID in ipairs(req.quests) do + if not C_QuestLog.IsQuestFlaggedCompleted(questID) then + completed = false + else + numCompleted = numCompleted + 1 + end + end + + rightText = format("%d / %d", numCompleted, #req.quests) + else + for _, questID in ipairs(req.quests) do + if C_QuestLog.IsQuestFlaggedCompleted(questID) then + completed = true + end + end + + rightText = format("%d / %d", completed and 1 or 0, 1) + end + end if req.type == "renown" then local renownInfo = C_MajorFactions.GetMajorFactionData(req.id) local renownLevel = C_MajorFactions.GetCurrentRenownLevel(req.id) or 0 @@ -769,11 +822,11 @@ function Checklist:GetColumns(unfiltered) GameTooltip:AddLine(" ") end if C_Map.CanSetUserWaypointOnMap(loc.m) then - GameTooltip:AddLine("", GREEN_FONT_COLOR.r, GREEN_FONT_COLOR.g, GREEN_FONT_COLOR.b) - GameTooltip:AddLine("", GREEN_FONT_COLOR.r, GREEN_FONT_COLOR.g, GREEN_FONT_COLOR.b) + GameTooltip:AddLine(L["ClickToPlaceAPinOnTheMap"], GREEN_FONT_COLOR.r, GREEN_FONT_COLOR.g, GREEN_FONT_COLOR.b) + GameTooltip:AddLine(L["ShiftClickToShareAPinInChat"], GREEN_FONT_COLOR.r, GREEN_FONT_COLOR.g, GREEN_FONT_COLOR.b) end if TomTom then - GameTooltip:AddLine("", GREEN_FONT_COLOR.r, GREEN_FONT_COLOR.g, GREEN_FONT_COLOR.b) + GameTooltip:AddLine(L["AltClickToPlaceAWaypoint"], GREEN_FONT_COLOR.r, GREEN_FONT_COLOR.g, GREEN_FONT_COLOR.b) end end GameTooltip:Show() @@ -796,14 +849,14 @@ function Checklist:GetColumns(unfiltered) onClick = function() if point then if IsAltKeyDown() and TomTom then - local text = "Objective" + local text = L["Objective"] if data.item.id and data.item.id > 0 and data.item.link then text = data.item.link if data.item.texture then text = "|T" .. data.item.texture .. ":0|t " .. data.item.link end else - text = "Quest" + text = L["Quest"] local questTooltipData = C_TooltipInfo.GetHyperlink("quest:" .. data.objective.quests[1] .. ":-1") if questTooltipData and questTooltipData.lines and questTooltipData.lines[1] and questTooltipData.lines[1].leftText then text = WrapTextInColorCode(format("%s [%s]", CreateAtlasMarkup("questlog-questtypeicon-Recurring", 14, 14), questTooltipData.lines[1].leftText), "ffffff00") diff --git a/Core.lua b/Core.lua index 4981c37..2fe02a4 100644 --- a/Core.lua +++ b/Core.lua @@ -11,6 +11,7 @@ local LibDBIcon = LibStub("LibDBIcon-1.0") local Core = LibStub("AceAddon-3.0"):NewAddon(addonName, "AceConsole-3.0", "AceTimer-3.0", "AceEvent-3.0", "AceBucket-3.0") addon.Core = Core +local L = LibStub("AceLocale-3.0"):GetLocale(addonName) _G.WeeklyKnowledge = addon @@ -20,14 +21,14 @@ function Core:Render() end function Core:OnInitialize() - _G["BINDING_NAME_WEEKLYKNOWLEDGE"] = "Show/Hide the window" + _G["BINDING_NAME_WEEKLYKNOWLEDGE"] = L["ShowHideTheWindow"] self:RegisterChatCommand("wk", function() Main:ToggleWindow() end) self:RegisterChatCommand("weeklyknowledge", function() Main:ToggleWindow() end) Data:InitDB() Data:MigrateDB() if Data:TaskWeeklyReset() then - self:Print("Weekly Reset: Good job! Progress of your characters have been reset for a new week.") + self:Print(L["WeeklyReset"]) end local WKLDB = LibDataBroker:NewDataObject(addonName, { @@ -44,11 +45,11 @@ function Core:OnInitialize() end, OnTooltipShow = function(tooltip) tooltip:SetText(addonName, 1, 1, 1) - tooltip:AddLine("|cff00ff00Left click|r to open WeeklyKnowledge.", NORMAL_FONT_COLOR.r, NORMAL_FONT_COLOR.g, NORMAL_FONT_COLOR.b) - tooltip:AddLine("|cff00ff00Right click|r to open the Checklist.", NORMAL_FONT_COLOR.r, NORMAL_FONT_COLOR.g, NORMAL_FONT_COLOR.b) - local dragText = "|cff00ff00Drag|r to move this icon" + tooltip:AddLine(L["TooltipLine1"], NORMAL_FONT_COLOR.r, NORMAL_FONT_COLOR.g, NORMAL_FONT_COLOR.b) + tooltip:AddLine(L["TooltipLine2"], NORMAL_FONT_COLOR.r, NORMAL_FONT_COLOR.g, NORMAL_FONT_COLOR.b) + local dragText = L["TooltipLine3"] if Data.db.global.minimap.lock then - dragText = dragText .. " |cffff0000(locked)|r" + dragText = dragText .. L["TooltipLocked"] end tooltip:AddLine(dragText .. ".", NORMAL_FONT_COLOR.r, NORMAL_FONT_COLOR.g, NORMAL_FONT_COLOR.b) end diff --git a/Data.lua b/Data.lua index daf89e0..00bbb1d 100644 --- a/Data.lua +++ b/Data.lua @@ -7,6 +7,8 @@ local addon = select(2, ...) local Data = {} addon.Data = Data +local L = LibStub("AceLocale-3.0"):GetLocale(addonName) + local Utils = addon.Utils local AceDB = LibStub("AceDB-3.0") @@ -19,7 +21,7 @@ Data.cache = { weeklyProgress = {}, } -Data.DBVersion = 8 +Data.DBVersion = 8+1 Data.defaultDB = { ---@type WK_DefaultGlobal global = { @@ -50,6 +52,7 @@ Data.defaultDB = { hideTableHeader = false, hideUniqueObjectives = false, hideUniqueVendorObjectives = false, + hideCatchUpObjectives = false, }, } } @@ -72,269 +75,288 @@ Data.defaultCharacter = { className = "", professions = {}, completed = {}, + equipment = {}, -- mfm } ---@type WK_ObjectiveType[] Data.ObjectiveTypes = { { id = Enum.WK_Objectives.Unique, - name = "Uniques", - description = "These are one-time knowledge point items found in treasures around the world and sold by Artisan/Renown/Kej vendors.\n\nRepeatable: " .. WHITE_FONT_COLOR:WrapTextInColorCode("No"), + name = L["Uniques"], + description = L["Uniques_Desc"] .. WHITE_FONT_COLOR:WrapTextInColorCode("No"), type = "item", - repeatable = "No", + repeatable = L["NonRepeatable"], }, { id = Enum.WK_Objectives.Treatise, - name = "Treatise", - description = "These can be crafted by scribers. Send a Crafting Order if you don't have the inscription profession.\n\nRepeatable: " .. WHITE_FONT_COLOR:WrapTextInColorCode("Weekly"), + name = L["Treatise"], + description = L["Treatise_Desc"] .. WHITE_FONT_COLOR:WrapTextInColorCode(L["Weekly"]), type = "item", - repeatable = "Weekly", + repeatable = L["Weekly"], }, { id = Enum.WK_Objectives.ArtisanQuest, - name = "Artisan", - description = "Quest: Kala Clayhoof from Artisan's Consortium wants you to fulfill Crafting Orders.\n\nRepeatable: " .. WHITE_FONT_COLOR:WrapTextInColorCode("Weekly"), + name = L["Artisan"], + description = L["ArtisanQuest_Desc"] .. WHITE_FONT_COLOR:WrapTextInColorCode(L["Weekly"]), type = "quest", - repeatable = "Weekly", + repeatable = L["Weekly"], }, { id = Enum.WK_Objectives.Treasure, - name = "Treasure", - description = "These are randomly looted from treasures and dirt around the world.\n\nRepeatable: " .. WHITE_FONT_COLOR:WrapTextInColorCode("Weekly"), + name = L["Treasure"], + description = L["Treasure_Desc"] .. WHITE_FONT_COLOR:WrapTextInColorCode(L["Weekly"]), type = "item", - repeatable = "Weekly", + repeatable = L["Weekly"], }, { id = Enum.WK_Objectives.Gathering, - name = "Gathering", - description = "These are randomly looted from gathering nodes around the world. You may (not confirmed) randomly find additional items beyond the weekly limit.\n\nThese are also looted from Disenchanting.\n\nRepeatable: " .. WHITE_FONT_COLOR:WrapTextInColorCode("Weekly"), + name = L["Gathering"], + description = L["Gathering_Desc"] .. WHITE_FONT_COLOR:WrapTextInColorCode(L["Weekly"]), type = "item", - repeatable = "Weekly", + repeatable = L["Weekly"], }, { id = Enum.WK_Objectives.TrainerQuest, - name = "Trainer", - description = "Quest: Complete a quest at your profession trainer.\n\nRepeatable: " .. WHITE_FONT_COLOR:WrapTextInColorCode("Weekly"), + name = L["Trainer"], + description = L["TrainerQuest_Desc"] .. WHITE_FONT_COLOR:WrapTextInColorCode(L["Weekly"]), type = "quest", - repeatable = "Weekly", + repeatable = L["Weekly"], }, { id = Enum.WK_Objectives.DarkmoonQuest, - name = "Darkmoon", - description = "Quest: Complete a quest at the Darkmoon Faire.\n\nRepeatable: " .. WHITE_FONT_COLOR:WrapTextInColorCode("Monthly"), + name = L["Darkmoon"], + description = L["DarkmoonQuest_Desc"] .. WHITE_FONT_COLOR:WrapTextInColorCode(L["Monthly"]), type = "quest", - repeatable = "Monthly", + repeatable = L["Monthly"], + }, + { + id = Enum.WK_Objectives.CatchUp, + name = L["Catch-Up"], + description = L["Catchup_Desc"] .. WHITE_FONT_COLOR:WrapTextInColorCode("No"), + type = "item", + repeatable = "No", }, } ---@type WK_Objective[] Data.Objectives = { - {professionID = 171, typeID = Enum.WK_Objectives.Unique, quests = {81146}, itemID = 227409, points = 10, loc = {m = 2339, x = 59.6, y = 56.2, hint = "This item can be purchased from the vendor Lyrendal in Dornogal."}, requires = {{type = "item", id = 210814, amount = 200}}}, - {professionID = 171, typeID = Enum.WK_Objectives.Unique, quests = {81147}, itemID = 227420, points = 10, loc = {m = 2339, x = 59.6, y = 56.2, hint = "This item can be purchased from the vendor Lyrendal in Dornogal."}, requires = {{type = "item", id = 210814, amount = 300}}}, - {professionID = 171, typeID = Enum.WK_Objectives.Unique, quests = {81148}, itemID = 227431, points = 10, loc = {m = 2339, x = 59.6, y = 56.2, hint = "This item can be purchased from the vendor Lyrendal in Dornogal."}, requires = {{type = "item", id = 210814, amount = 400}}}, - {professionID = 171, typeID = Enum.WK_Objectives.Unique, quests = {82633}, itemID = 224024, points = 10, loc = {m = 2213, x = 45.6, y = 13.2, hint = "This item can be purchased from the vendor Siesbarg in City of Threads."}, requires = {{type = "currency", id = 3056, amount = 565}}}, - {professionID = 171, typeID = Enum.WK_Objectives.Unique, quests = {83058}, itemID = 224645, points = 10, loc = {m = 2339, x = 39.2, y = 24.2, hint = "This item can be purchased from the vendor Auditor Balwurz in Dornogal."}, requires = {{type = "renown", id = 2590, amount = 12}, {type = "item", id = 210814, amount = 50}}}, -- Jewel-Etched Alchemy Notes - {professionID = 171, typeID = Enum.WK_Objectives.Unique, quests = {83840}, itemID = 226265, points = 3, loc = {m = 2339, x = 32.5, y = 60.5, hint = "This item is a keg behind the pillars next to the gate."}}, -- Earthen Iron Powder - {professionID = 171, typeID = Enum.WK_Objectives.Unique, quests = {83841}, itemID = 226266, points = 3, loc = {m = 2248, x = 57.7, y = 61.8, hint = "This item is a metal frame found on top of a big chest."}}, -- Metal Dornogal Frame - {professionID = 171, typeID = Enum.WK_Objectives.Unique, quests = {83842}, itemID = 226267, points = 3, loc = {m = 2214, x = 42.2, y = 24.1, hint = "This item is a bottle found on the table inside the building on the bottom floor."}}, -- Reinforced Beaker - {professionID = 171, typeID = Enum.WK_Objectives.Unique, quests = {83843}, itemID = 226268, points = 3, loc = {m = 2214, x = 64.9, y = 61.8, hint = "This item is a rod found next to the forge inside the building on the bottom floor."}}, -- Engraved Stirring Rod - {professionID = 171, typeID = Enum.WK_Objectives.Unique, quests = {83844}, itemID = 226269, points = 3, loc = {m = 2215, x = 42.6, y = 55.1, hint = "This item is a bottle found on the table near the fountain."}}, -- Chemist's Purified Water - {professionID = 171, typeID = Enum.WK_Objectives.Unique, quests = {83845}, itemID = 226270, points = 3, loc = {m = 2215, x = 41.7, y = 55.8, hint = "This item is a mortar found on the table inside the orphanage building."}}, -- Sanctified Mortar and Pestle - {professionID = 171, typeID = Enum.WK_Objectives.Unique, quests = {83846}, itemID = 226271, points = 3, loc = {m = 2213, x = 45.5, y = 13.3, hint = "This item is a bottle found on the desk inside the building."}}, -- Nerubian Mixing Salts - {professionID = 171, typeID = Enum.WK_Objectives.Unique, quests = {83847}, itemID = 226272, points = 3, loc = {m = 2255, x = 42.9, y = 57.3, hint = "This item is a vial found on the broken table in the building."}}, -- Dark Apothecary's Vial - {professionID = 171, typeID = Enum.WK_Objectives.Treatise, quests = {83725}, itemID = 222546, points = 1, loc = {m = 2339, x = 58.0, y = 56.4, hint = "Place a crafting order if you can't craft this yourself with Inscription."}}, - {professionID = 171, typeID = Enum.WK_Objectives.ArtisanQuest, quests = {84133}, itemID = 228773, points = 2, loc = {m = 2339, x = 59.2, y = 55.6, hint = "Complete a quest from Kala Clayhoof in the Artisan's Consortium."}}, - {professionID = 171, typeID = Enum.WK_Objectives.Treasure, quests = {83253}, itemID = 225234, points = 2, loc = {hint = "These are randomly looted from treasures and dirt around the world."}}, - {professionID = 171, typeID = Enum.WK_Objectives.Treasure, quests = {83255}, itemID = 225235, points = 2, loc = {hint = "These are randomly looted from treasures and dirt around the world."}}, - {professionID = 171, typeID = Enum.WK_Objectives.DarkmoonQuest, quests = {29506}, itemID = 0, points = 3, loc = {m = 407, x = 50.2, y = 69.6, hint = "Talk to |cff00ff00Sylannia|r at the Darkmoon Faire and complete the quest |cffffff00A Fizzy Fusion|r."}, requires = {{type = "item", id = 1645, amount = 5}}}, - {professionID = 164, typeID = Enum.WK_Objectives.Unique, quests = {82631}, itemID = 224038, points = 10, loc = {m = 2213, x = 46.6, y = 21.6, hint = "This item can be purchased from the vendor Rakka in City of Threads."}, requires = {{type = "currency", id = 3056, amount = 565}}}, - {professionID = 164, typeID = Enum.WK_Objectives.Unique, quests = {83059}, itemID = 224647, points = 10, loc = {m = 2339, x = 39.2, y = 24.2, hint = "This item can be purchased from the vendor Auditor Balwurz in Dornogal."}, requires = {{type = "renown", id = 2590, amount = 12}, {type = "item", id = 210814, amount = 50}}}, -- Jewel-Etched Blacksmithing Notes - {professionID = 164, typeID = Enum.WK_Objectives.Unique, quests = {83848}, itemID = 226276, points = 3, loc = {m = 2248, x = 59.8, y = 61.9, hint = "This item is an anvil found inside the building."}}, -- Ancient Earthen Anvil - {professionID = 164, typeID = Enum.WK_Objectives.Unique, quests = {83849}, itemID = 226277, points = 3, loc = {m = 2339, x = 47.7, y = 26.5, hint = "This item is a hammer found on a cube."}}, -- Dornogal Hammer - {professionID = 164, typeID = Enum.WK_Objectives.Unique, quests = {83850}, itemID = 226278, points = 3, loc = {m = 2214, x = 47.7, y = 33.2, hint = "This item is a hammer vise found next to the forge."}}, -- Ringing Hammer Vise - {professionID = 164, typeID = Enum.WK_Objectives.Unique, quests = {83851}, itemID = 226279, points = 3, loc = {m = 2214, x = 60.5, y = 53.7, hint = "This item is a chisel found on the ground next to the forge."}}, -- Earthen Chisels - {professionID = 164, typeID = Enum.WK_Objectives.Unique, quests = {83852}, itemID = 226280, points = 3, loc = {m = 2215, x = 47.6, y = 61.1, hint = "This item is an anvil found on the table."}}, -- Holy Flame Forge - {professionID = 164, typeID = Enum.WK_Objectives.Unique, quests = {83853}, itemID = 226281, points = 3, loc = {m = 2215, x = 44.0, y = 55.6, hint = "This item is a pair of tongs found on the table."}}, -- Radiant Tongs - {professionID = 164, typeID = Enum.WK_Objectives.Unique, quests = {83854}, itemID = 226282, points = 3, loc = {m = 2213, x = 46.6, y = 22.7, hint = "This item is a crate found on the floor."}}, -- Nerubian Smith's Kit - {professionID = 164, typeID = Enum.WK_Objectives.Unique, quests = {83855}, itemID = 226283, points = 3, loc = {m = 2255, x = 53.0, y = 51.3, hint = "This item is a brush found on the table inside the building."}}, -- Spiderling's Wire Brush - {professionID = 164, typeID = Enum.WK_Objectives.Unique, quests = {84226}, itemID = 227407, points = 10, loc = {m = 2339, x = 59.6, y = 56.2, hint = "This item can be purchased from the vendor Lyrendal in Dornogal."}, requires = {{type = "item", id = 210814, amount = 200}}}, - {professionID = 164, typeID = Enum.WK_Objectives.Unique, quests = {84227}, itemID = 227418, points = 10, loc = {m = 2339, x = 59.6, y = 56.2, hint = "This item can be purchased from the vendor Lyrendal in Dornogal."}, requires = {{type = "item", id = 210814, amount = 300}}}, - {professionID = 164, typeID = Enum.WK_Objectives.Unique, quests = {84228}, itemID = 227429, points = 10, loc = {m = 2339, x = 59.6, y = 56.2, hint = "This item can be purchased from the vendor Lyrendal in Dornogal."}, requires = {{type = "item", id = 210814, amount = 400}}}, - {professionID = 164, typeID = Enum.WK_Objectives.Treatise, quests = {83726}, itemID = 222554, points = 1, loc = {m = 2339, x = 58.0, y = 56.4, hint = "Place a crafting order if you can't craft this yourself with Inscription."}}, - {professionID = 164, typeID = Enum.WK_Objectives.ArtisanQuest, quests = {84127}, itemID = 228774, points = 2, loc = {m = 2339, x = 59.2, y = 55.6, hint = "Complete a quest from Kala Clayhoof in the Artisan's Consortium."}}, - {professionID = 164, typeID = Enum.WK_Objectives.Treasure, quests = {83256}, itemID = 225233, points = 1, loc = {hint = "These are randomly looted from treasures and dirt around the world."}}, - {professionID = 164, typeID = Enum.WK_Objectives.Treasure, quests = {83257}, itemID = 225232, points = 1, loc = {hint = "These are randomly looted from treasures and dirt around the world."}}, - {professionID = 164, typeID = Enum.WK_Objectives.DarkmoonQuest, quests = {29508}, itemID = 0, points = 3, loc = {m = 407, x = 51.0, y = 81.8, hint = "Talk to |cff00ff00Yebb Neblegear|r at the Darkmoon Faire and complete the quest |cffffff00Baby Needs Two Pair of Shoes|r.\n\nHint: There is an anvil behind the heirloom tent."}}, - {professionID = 333, typeID = Enum.WK_Objectives.Unique, quests = {81076}, itemID = 227411, points = 10, loc = {m = 2339, x = 59.6, y = 56.2, hint = "This item can be purchased from the vendor Lyrendal in Dornogal."}, requires = {{type = "item", id = 210814, amount = 200}}}, - {professionID = 333, typeID = Enum.WK_Objectives.Unique, quests = {81077}, itemID = 227422, points = 10, loc = {m = 2339, x = 59.6, y = 56.2, hint = "This item can be purchased from the vendor Lyrendal in Dornogal."}, requires = {{type = "item", id = 210814, amount = 300}}}, - {professionID = 333, typeID = Enum.WK_Objectives.Unique, quests = {81078}, itemID = 227433, points = 10, loc = {m = 2339, x = 59.6, y = 56.2, hint = "This item can be purchased from the vendor Lyrendal in Dornogal."}, requires = {{type = "item", id = 210814, amount = 400}}}, - {professionID = 333, typeID = Enum.WK_Objectives.Unique, quests = {82635}, itemID = 224050, points = 10, loc = {m = 2213, x = 45.6, y = 33.6, hint = "This item can be purchased from the vendor Iliani in City of Threads."}, requires = {{type = "currency", id = 3056, amount = 565}}}, - {professionID = 333, typeID = Enum.WK_Objectives.Unique, quests = {83060}, itemID = 224652, points = 10, loc = {m = 2339, x = 39.2, y = 24.2, hint = "This item can be purchased from the vendor Auditor Balwurz in Dornogal."}, requires = {{type = "renown", id = 2590, amount = 12}, {type = "item", id = 210814, amount = 50}}}, -- Jewel-Etched Enchanting Notes - {professionID = 333, typeID = Enum.WK_Objectives.Unique, quests = {83856}, itemID = 226284, points = 3, loc = {m = 2248, x = 57.6, y = 61.6, hint = "This item is a bottle found on a table."}}, -- Grinded Earthen Gem - {professionID = 333, typeID = Enum.WK_Objectives.Unique, quests = {83859}, itemID = 226285, points = 3, loc = {m = 2339, x = 57.9, y = 56.9, hint = "This item is leaning against a wooden pillar next to Clerk Gretal."}}, -- Silver Dornogal Rod - {professionID = 333, typeID = Enum.WK_Objectives.Unique, quests = {83860}, itemID = 226286, points = 3, loc = {m = 2214, x = 44.6, y = 22.2, hint = "This item is an orb found on the ground."}}, -- Soot-Coated Orb - {professionID = 333, typeID = Enum.WK_Objectives.Unique, quests = {83861}, itemID = 226287, points = 3, loc = {m = 2214, x = 67.1, y = 65.9, hint = "This item is a bottle found on a table inside the building."}}, -- Animated Enchanting Dust - {professionID = 333, typeID = Enum.WK_Objectives.Unique, quests = {83862}, itemID = 226288, points = 3, loc = {m = 2215, x = 40.1, y = 70.5, hint = "This item is a candle found on a crate inside the building."}}, -- Essence of Holy Fire - {professionID = 333, typeID = Enum.WK_Objectives.Unique, quests = {83863}, itemID = 226289, points = 3, loc = {m = 2215, x = 48.6, y = 64.5, hint = "This item is a scroll found on a table inside the building."}}, -- Enchanted Arathi Scroll - {professionID = 333, typeID = Enum.WK_Objectives.Unique, quests = {83864}, itemID = 226290, points = 3, loc = {m = 2213, x = 61.6, y = 21.9, hint = "This item is a book found on a table."}}, -- Book of Dark Magic - {professionID = 333, typeID = Enum.WK_Objectives.Unique, quests = {83865}, itemID = 226291, points = 3, loc = {m = 2255, x = 57.3, y = 44.1, hint = "This item is a purple shard found on the left table."}}, -- Void Shard - {professionID = 333, typeID = Enum.WK_Objectives.Treatise, quests = {83727}, itemID = 222550, points = 1, loc = {m = 2339, x = 58.0, y = 56.4, hint = "Place a crafting order if you can't craft this yourself with Inscription."}}, - {professionID = 333, typeID = Enum.WK_Objectives.Treasure, quests = {83258}, itemID = 225231, points = 1, loc = {hint = "These are randomly looted from treasures and dirt around the world."}}, - {professionID = 333, typeID = Enum.WK_Objectives.Treasure, quests = {83259}, itemID = 225230, points = 1, loc = {hint = "These are randomly looted from treasures and dirt around the world."}}, - {professionID = 333, typeID = Enum.WK_Objectives.Gathering, quests = {84290, 84291, 84292, 84293, 84294}, itemID = 227659, points = 1, loc = {hint = "These are randomly looted from disenchanting items."}}, - {professionID = 333, typeID = Enum.WK_Objectives.Gathering, quests = {84295}, itemID = 227661, points = 4, loc = {hint = "These are randomly looted from disenchanting items."}}, - {professionID = 333, typeID = Enum.WK_Objectives.TrainerQuest, quests = {84084, 84085, 84086}, itemID = 227667, points = 3, limit = 1, loc = {m = 2339, x = 52.8, y = 71.2, hint = "Talk to your enchanting trainer |cff00ff00Nagad|r and complete the quest."}}, - {professionID = 333, typeID = Enum.WK_Objectives.DarkmoonQuest, quests = {29510}, itemID = 0, points = 3, loc = {m = 407, x = 53.2, y = 76.6, hint = "Talk to |cff00ff00Sayge|r at the Darkmoon Faire and complete the quest |cffffff00Putting Trash to Good Use|r."}}, - {professionID = 202, typeID = Enum.WK_Objectives.Unique, quests = {82632}, itemID = 224052, points = 10, loc = {m = 2213, x = 58.2, y = 31.6, hint = "This item can be purchased from the vendor Rukku in City of Threads."}, requires = {{type = "currency", id = 3056, amount = 565}}}, - {professionID = 202, typeID = Enum.WK_Objectives.Unique, quests = {83063}, itemID = 224653, points = 10, loc = {m = 2214, x = 47.2, y = 32.8, hint = "This item can be purchased from the vendor Waxmonger Squick in The Ringing Deeps."}, requires = {{type = "renown", id = 2594, amount = 12}, {type = "item", id = 210814, amount = 50}}}, - {professionID = 202, typeID = Enum.WK_Objectives.Unique, quests = {83866}, itemID = 226292, points = 3, loc = {m = 2248, x = 61.3, y = 69.6, hint = "This item is a wrench found on the table in the building."}}, -- Rock Engineer's Wrench - {professionID = 202, typeID = Enum.WK_Objectives.Unique, quests = {83867}, itemID = 226293, points = 3, loc = {m = 2339, x = 64.7, y = 52.7, hint = "This item can be found on the table behind Madam Goya."}}, -- Dornogal Spectacles - {professionID = 202, typeID = Enum.WK_Objectives.Unique, quests = {83868}, itemID = 226294, points = 3, loc = {m = 2214, x = 42.6, y = 27.3, hint = "This item is a bomb on a crate next to the rails."}}, -- Inert Mining Bomb - {professionID = 202, typeID = Enum.WK_Objectives.Unique, quests = {83869}, itemID = 226295, points = 3, loc = {m = 2214, x = 64.5, y = 58.8, hint = "This item is a scroll found on the floor behind the table inside the building."}}, -- Earthen Construct Blueprints - {professionID = 202, typeID = Enum.WK_Objectives.Unique, quests = {83870}, itemID = 226296, points = 3, loc = {m = 2215, x = 46.4, y = 61.5, hint = "This item is a bag found at the top of the stairs."}}, -- Holy Firework Dud - {professionID = 202, typeID = Enum.WK_Objectives.Unique, quests = {83871}, itemID = 226297, points = 3, loc = {m = 2215, x = 41.6, y = 48.9, hint = "This item is a box found on the airship behind the dungeon entrance."}}, -- Arathi Safety Gloves - {professionID = 202, typeID = Enum.WK_Objectives.Unique, quests = {83872}, itemID = 226298, points = 3, loc = {m = 2255, x = 56.8, y = 38.7, hint = "This item is a mechanical spider found on the table at the back of the inn."}}, -- Puppeted Mechanical Spider - {professionID = 202, typeID = Enum.WK_Objectives.Unique, quests = {83873}, itemID = 226299, points = 3, loc = {m = 2213, x = 63.1, y = 11.5, hint = "This item is a canister found on the floor next to the harpoon."}}, -- Emptied Venom Canister - {professionID = 202, typeID = Enum.WK_Objectives.Unique, quests = {84229}, itemID = 227412, points = 10, loc = {m = 2339, x = 59.6, y = 56.2, hint = "This item can be purchased from the vendor Lyrendal in Dornogal."}, requires = {{type = "item", id = 210814, amount = 200}}}, - {professionID = 202, typeID = Enum.WK_Objectives.Unique, quests = {84230}, itemID = 227423, points = 10, loc = {m = 2339, x = 59.6, y = 56.2, hint = "This item can be purchased from the vendor Lyrendal in Dornogal."}, requires = {{type = "item", id = 210814, amount = 300}}}, - {professionID = 202, typeID = Enum.WK_Objectives.Unique, quests = {84231}, itemID = 227434, points = 10, loc = {m = 2339, x = 59.6, y = 56.2, hint = "This item can be purchased from the vendor Lyrendal in Dornogal."}, requires = {{type = "item", id = 210814, amount = 400}}}, - {professionID = 202, typeID = Enum.WK_Objectives.Treatise, quests = {83728}, itemID = 222621, points = 1, loc = {m = 2339, x = 58.0, y = 56.4, hint = "Place a crafting order if you can't craft this yourself with Inscription."}}, - {professionID = 202, typeID = Enum.WK_Objectives.ArtisanQuest, quests = {84128}, itemID = 228775, points = 1, loc = {m = 2339, x = 59.2, y = 55.6, hint = "Complete a quest from Kala Clayhoof in the Artisan's Consortium."}}, - {professionID = 202, typeID = Enum.WK_Objectives.Treasure, quests = {83260}, itemID = 225228, points = 1, loc = {hint = "These are randomly looted from treasures and dirt around the world."}}, - {professionID = 202, typeID = Enum.WK_Objectives.Treasure, quests = {83261}, itemID = 225229, points = 1, loc = {hint = "These are randomly looted from treasures and dirt around the world."}}, - {professionID = 202, typeID = Enum.WK_Objectives.DarkmoonQuest, quests = {29511}, itemID = 0, points = 3, loc = {m = 407, x = 49.6, y = 60.8, hint = "Talk to |cff00ff00Rinling|r at the Darkmoon Faire and complete the quest |cffffff00Talkin' Tonks|r."}}, - {professionID = 182, typeID = Enum.WK_Objectives.Unique, quests = {81422}, itemID = 227415, points = 15, loc = {m = 2339, x = 59.6, y = 56.2, hint = "This item can be purchased from the vendor Lyrendal in Dornogal."}, requires = {{type = "item", id = 210814, amount = 200}}}, - {professionID = 182, typeID = Enum.WK_Objectives.Unique, quests = {81423}, itemID = 227426, points = 15, loc = {m = 2339, x = 59.6, y = 56.2, hint = "This item can be purchased from the vendor Lyrendal in Dornogal."}, requires = {{type = "item", id = 210814, amount = 300}}}, - {professionID = 182, typeID = Enum.WK_Objectives.Unique, quests = {81424}, itemID = 227437, points = 15, loc = {m = 2339, x = 59.6, y = 56.2, hint = "This item can be purchased from the vendor Lyrendal in Dornogal."}, requires = {{type = "item", id = 210814, amount = 400}}}, - {professionID = 182, typeID = Enum.WK_Objectives.Unique, quests = {82630}, itemID = 224023, points = 10, loc = {m = 2213, x = 47.0, y = 16.2, hint = "This item can be purchased from the vendor Llyot in City of Threads."}, requires = {{type = "currency", id = 3056, amount = 565}}}, - {professionID = 182, typeID = Enum.WK_Objectives.Unique, quests = {83066}, itemID = 224656, points = 10, loc = {m = 2215, x = 42.4, y = 55.0, hint = "This item can be purchased from the vendor Auralia Steelstrike in Hallowfall."}, requires = {{type = "renown", id = 2570, amount = 14}, {type = "item", id = 210814, amount = 50}}}, - {professionID = 182, typeID = Enum.WK_Objectives.Unique, quests = {83874}, itemID = 226300, points = 3, loc = {m = 2248, x = 57.6, y = 61.5, hint = "This item is a flower found in a bed of flowers."}}, -- Ancient Flower - {professionID = 182, typeID = Enum.WK_Objectives.Unique, quests = {83875}, itemID = 226301, points = 3, loc = {m = 2339, x = 59.2, y = 23.7, hint = "This item is a scythe found at the bottom of the tree."}}, -- Dornogal Gardening Scythe - {professionID = 182, typeID = Enum.WK_Objectives.Unique, quests = {83876}, itemID = 226302, points = 3, loc = {m = 2214, x = 48.3, y = 35.0, hint = "This item is a fork found on the table inside the building."}}, -- Earthen Digging Fork - {professionID = 182, typeID = Enum.WK_Objectives.Unique, quests = {83877}, itemID = 226303, points = 3, loc = {m = 2214, x = 52.9, y = 65.8, hint = "This item is a knife found on the ground."}}, -- Fungarian Slicer's Knife - {professionID = 182, typeID = Enum.WK_Objectives.Unique, quests = {83878}, itemID = 226304, points = 3, loc = {m = 2215, x = 47.8, y = 63.3, hint = "This item is a trowel found on the ground."}}, -- Arathi Garden Trowel - {professionID = 182, typeID = Enum.WK_Objectives.Unique, quests = {83879}, itemID = 226305, points = 3, loc = {m = 2215, x = 35.9, y = 55.0, hint = "This item is a pair of tongs found next to the stairs."}}, -- Arathi Herb Pruner - {professionID = 182, typeID = Enum.WK_Objectives.Unique, quests = {83880}, itemID = 226306, points = 3, loc = {m = 2213, x = 54.7, y = 20.8, hint = "This item is a flower found on the ground under the statue."}}, -- Web-Entangled Lotus - {professionID = 182, typeID = Enum.WK_Objectives.Unique, quests = {83881}, itemID = 226307, points = 3, loc = {m = 2213, x = 46.7, y = 16.0, hint = "This item is a shovel found on the desk."}}, -- Tunneler's Shovel - {professionID = 182, typeID = Enum.WK_Objectives.Treatise, quests = {83729}, itemID = 222552, points = 1, loc = {m = 2339, x = 58.0, y = 56.4, hint = "Place a crafting order if you can't craft this yourself with Inscription."}}, - {professionID = 182, typeID = Enum.WK_Objectives.Gathering, quests = {81416, 81417, 81418, 81419, 81420}, itemID = 224264, points = 1, loc = {hint = "These are randomly looted from herbs around the world."}}, - {professionID = 182, typeID = Enum.WK_Objectives.Gathering, quests = {81421}, itemID = 224265, points = 4, loc = {hint = "These are randomly looted from herbs around the world."}}, - {professionID = 182, typeID = Enum.WK_Objectives.TrainerQuest, quests = {82970, 82958, 82965, 82916, 82962}, itemID = 224817, points = 3, limit = 1, loc = {m = 2339, x = 44.8, y = 69.4, hint = "Talk to your herbalism trainer |cff00ff00Akdan|r and complete the quest."}}, - {professionID = 182, typeID = Enum.WK_Objectives.DarkmoonQuest, quests = {29514}, itemID = 0, points = 3, loc = {m = 407, x = 55.0, y = 70.6, hint = "Talk to |cff00ff00Chronos|r at the Darkmoon Faire and complete the quest |cffffff00Herbs for Healing|r."}}, - {professionID = 773, typeID = Enum.WK_Objectives.Unique, quests = {80749}, itemID = 227408, points = 10, loc = {m = 2339, x = 59.6, y = 56.2, hint = "This item can be purchased from the vendor Lyrendal in Dornogal."}, requires = {{type = "item", id = 210814, amount = 200}}}, - {professionID = 773, typeID = Enum.WK_Objectives.Unique, quests = {80750}, itemID = 227419, points = 10, loc = {m = 2339, x = 59.6, y = 56.2, hint = "This item can be purchased from the vendor Lyrendal in Dornogal."}, requires = {{type = "item", id = 210814, amount = 300}}}, - {professionID = 773, typeID = Enum.WK_Objectives.Unique, quests = {80751}, itemID = 227430, points = 10, loc = {m = 2339, x = 59.6, y = 56.2, hint = "This item can be purchased from the vendor Lyrendal in Dornogal."}, requires = {{type = "item", id = 210814, amount = 400}}}, - {professionID = 773, typeID = Enum.WK_Objectives.Unique, quests = {82636}, itemID = 224053, points = 10, loc = {m = 2213, x = 42.2, y = 26.8, hint = "This item can be purchased from the vendor Nuel Prill in City of Threads."}, requires = {{type = "currency", id = 3056, amount = 565}}}, - {professionID = 773, typeID = Enum.WK_Objectives.Unique, quests = {83064}, itemID = 224654, points = 10, loc = {m = 2214, x = 47.2, y = 32.8, hint = "This item can be purchased from the vendor Waxmonger Squick in The Ringing Deeps."}, requires = {{type = "renown", id = 2594, amount = 12}, {type = "item", id = 210814, amount = 50}}}, - {professionID = 773, typeID = Enum.WK_Objectives.Unique, quests = {83882}, itemID = 226308, points = 3, loc = {m = 2339, x = 57.2, y = 47.1, hint = "This item is a quill found on the shelf in the back of the auction house."}}, -- Dornogal Scribe's Quill - {professionID = 773, typeID = Enum.WK_Objectives.Unique, quests = {83883}, itemID = 226309, points = 3, loc = {m = 2248, x = 56.0, y = 60.1, hint = "This item is a pen found on the shelf in the building."}}, -- Historian's Dip Pen - {professionID = 773, typeID = Enum.WK_Objectives.Unique, quests = {83884}, itemID = 226310, points = 3, loc = {m = 2214, x = 48.5, y = 34.2, hint = "This item is a scroll found on the table inside the building."}}, -- Runic Scroll - {professionID = 773, typeID = Enum.WK_Objectives.Unique, quests = {83885}, itemID = 226311, points = 3, loc = {m = 2214, x = 62.5, y = 58.1, hint = "This item is a pot found on the table inside the building."}}, -- Blue Earthen Pigment - {professionID = 773, typeID = Enum.WK_Objectives.Unique, quests = {83886}, itemID = 226312, points = 3, loc = {m = 2215, x = 43.2, y = 58.9, hint = "This item is a pen found on the table at the top of the stairs."}}, -- Informant's Fountain Pen - {professionID = 773, typeID = Enum.WK_Objectives.Unique, quests = {83887}, itemID = 226313, points = 3, loc = {m = 2215, x = 42.8, y = 49.1, hint = "This item is a chisel found on the table on the top floor inside the building."}}, -- Calligrapher's Chiseled Marker - {professionID = 773, typeID = Enum.WK_Objectives.Unique, quests = {83888}, itemID = 226314, points = 3, loc = {m = 2255, x = 55.9, y = 43.9, hint = "This item is a scroll found on the floor of the center main platform."}}, -- Nerubian Texts - {professionID = 773, typeID = Enum.WK_Objectives.Unique, quests = {83889}, itemID = 226315, points = 3, loc = {m = 2213, x = 50.1, y = 31.0, hint = "This item is an ink well found on the desk inside the building."}}, -- Venomancer's Ink Well - {professionID = 773, typeID = Enum.WK_Objectives.Treatise, quests = {83730}, itemID = 222548, points = 1, loc = {m = 2339, x = 58.0, y = 56.4, hint = "Place a crafting order if you can't craft this yourself with Inscription."}}, - {professionID = 773, typeID = Enum.WK_Objectives.ArtisanQuest, quests = {84129}, itemID = 228776, points = 2, loc = {m = 2339, x = 59.2, y = 55.6, hint = "Complete a quest from Kala Clayhoof in the Artisan's Consortium."}}, - {professionID = 773, typeID = Enum.WK_Objectives.Treasure, quests = {83262}, itemID = 225227, points = 2, loc = {hint = "These are randomly looted from treasures and dirt around the world."}}, - {professionID = 773, typeID = Enum.WK_Objectives.Treasure, quests = {83264}, itemID = 225226, points = 2, loc = {hint = "These are randomly looted from treasures and dirt around the world."}}, - {professionID = 773, typeID = Enum.WK_Objectives.DarkmoonQuest, quests = {29515}, itemID = 0, points = 3, loc = {m = 407, x = 53.2, y = 76.6, hint = "Talk to |cff00ff00Sayge|r at the Darkmoon Faire and complete the quest |cffffff00Writing the Future|r"}, requires = {{type = "item", id = 39354, amount = 5}}}, - {professionID = 755, typeID = Enum.WK_Objectives.Unique, quests = {81259}, itemID = 227413, points = 10, loc = {m = 2339, x = 59.6, y = 56.2, hint = "This item can be purchased from the vendor Lyrendal in Dornogal."}, requires = {{type = "item", id = 210814, amount = 200}}}, - {professionID = 755, typeID = Enum.WK_Objectives.Unique, quests = {81260}, itemID = 227424, points = 10, loc = {m = 2339, x = 59.6, y = 56.2, hint = "This item can be purchased from the vendor Lyrendal in Dornogal."}, requires = {{type = "item", id = 210814, amount = 300}}}, - {professionID = 755, typeID = Enum.WK_Objectives.Unique, quests = {81261}, itemID = 227435, points = 10, loc = {m = 2339, x = 59.6, y = 56.2, hint = "This item can be purchased from the vendor Lyrendal in Dornogal."}, requires = {{type = "item", id = 210814, amount = 400}}}, - {professionID = 755, typeID = Enum.WK_Objectives.Unique, quests = {82637}, itemID = 224054, points = 10, loc = {m = 2213, x = 47.6, y = 18.6, hint = "This item can be purchased from the vendor Alvus Valavulu in City of Threads."}, requires = {{type = "currency", id = 3056, amount = 565}}}, -- Emergent Crystals of the Surface-Dwellers - {professionID = 755, typeID = Enum.WK_Objectives.Unique, quests = {83065}, itemID = 224655, points = 10, loc = {m = 2215, x = 42.4, y = 55.0, hint = "This item can be purchased from the vendor Auralia Steelstrike in Hallowfall."}, requires = {{type = "renown", id = 2570, amount = 14}, {type = "item", id = 210814, amount = 50}}}, - {professionID = 755, typeID = Enum.WK_Objectives.Unique, quests = {83890}, itemID = 226316, points = 3, loc = {m = 2248, x = 63.5, y = 66.8, hint = "This item can be found in an object on the location below."}}, - {professionID = 755, typeID = Enum.WK_Objectives.Unique, quests = {83891}, itemID = 226317, points = 3, loc = {m = 2339, x = 34.9, y = 52.3, hint = "This item can be found in an object on the location below."}}, - {professionID = 755, typeID = Enum.WK_Objectives.Unique, quests = {83892}, itemID = 226318, points = 3, loc = {m = 2214, x = 48.5, y = 35.2, hint = "This item can be found in an object on the location below."}}, - {professionID = 755, typeID = Enum.WK_Objectives.Unique, quests = {83893}, itemID = 226319, points = 3, loc = {m = 2214, x = 57.0, y = 54.6, hint = "This item can be found in an object on the location below."}}, - {professionID = 755, typeID = Enum.WK_Objectives.Unique, quests = {83894}, itemID = 226320, points = 3, loc = {m = 2215, x = 47.5, y = 60.7, hint = "This item can be found in an object on the location below."}}, - {professionID = 755, typeID = Enum.WK_Objectives.Unique, quests = {83895}, itemID = 226321, points = 3, loc = {m = 2215, x = 44.7, y = 50.9, hint = "This item can be found in an object on the location below."}}, - {professionID = 755, typeID = Enum.WK_Objectives.Unique, quests = {83896}, itemID = 226322, points = 3, loc = {m = 2213, x = 47.7, y = 19.5, hint = "This item can be found in an object on the location below."}}, - {professionID = 755, typeID = Enum.WK_Objectives.Unique, quests = {83897}, itemID = 226323, points = 3, loc = {m = 2255, x = 56.1, y = 58.7, hint = "This item can be found in an object on the location below."}}, - {professionID = 755, typeID = Enum.WK_Objectives.Treatise, quests = {83731}, itemID = 222551, points = 1, loc = {m = 2339, x = 58.0, y = 56.4, hint = "Place a crafting order if you can't craft this yourself with Inscription."}}, - {professionID = 755, typeID = Enum.WK_Objectives.ArtisanQuest, quests = {84130}, itemID = 228777, points = 2, loc = {m = 2339, x = 59.2, y = 55.6, hint = "Complete a quest from Kala Clayhoof in the Artisan's Consortium."}}, - {professionID = 755, typeID = Enum.WK_Objectives.Treasure, quests = {83265}, itemID = 225224, points = 2, loc = {hint = "These are randomly looted from treasures and dirt around the world."}}, - {professionID = 755, typeID = Enum.WK_Objectives.Treasure, quests = {83266}, itemID = 225225, points = 2, loc = {hint = "These are randomly looted from treasures and dirt around the world."}}, -- Deepstone Fragment - {professionID = 755, typeID = Enum.WK_Objectives.DarkmoonQuest, quests = {29516}, itemID = 0, points = 3, loc = {m = 407, x = 55.0, y = 70.6, hint = "Talk to |cff00ff00Chronos|r at the Darkmoon Faire and complete the quest |cffffff00Keeping the Faire Sparkling|r."}}, - {professionID = 165, typeID = Enum.WK_Objectives.Unique, quests = {80978}, itemID = 227414, points = 10, loc = {m = 2339, x = 59.6, y = 56.2, hint = "This item can be purchased from the vendor Lyrendal in Dornogal."}, requires = {{type = "item", id = 210814, amount = 200}}}, - {professionID = 165, typeID = Enum.WK_Objectives.Unique, quests = {80979}, itemID = 227425, points = 10, loc = {m = 2339, x = 59.6, y = 56.2, hint = "This item can be purchased from the vendor Lyrendal in Dornogal."}, requires = {{type = "item", id = 210814, amount = 300}}}, - {professionID = 165, typeID = Enum.WK_Objectives.Unique, quests = {80980}, itemID = 227436, points = 10, loc = {m = 2339, x = 59.6, y = 56.2, hint = "This item can be purchased from the vendor Lyrendal in Dornogal."}, requires = {{type = "item", id = 210814, amount = 400}}}, - {professionID = 165, typeID = Enum.WK_Objectives.Unique, quests = {82626}, itemID = 224056, points = 10, loc = {m = 2213, x = 43.5, y = 19.7, hint = "This item can be purchased from the vendor Kama in City of Threads."}, requires = {{type = "currency", id = 3056, amount = 565}}}, - {professionID = 165, typeID = Enum.WK_Objectives.Unique, quests = {83068}, itemID = 224658, points = 10, loc = {m = 2215, x = 42.4, y = 55.0, hint = "This item can be purchased from the vendor Auralia Steelstrike in Hallowfall."}, requires = {{type = "renown", id = 2570, amount = 14}, {type = "item", id = 210814, amount = 50}}}, - {professionID = 165, typeID = Enum.WK_Objectives.Unique, quests = {83898}, itemID = 226324, points = 3, loc = {m = 2339, x = 68.1, y = 23.3, hint = "This item is a tool found on the rack inside the building."}}, -- Earthen Lacing Tools - {professionID = 165, typeID = Enum.WK_Objectives.Unique, quests = {83899}, itemID = 226325, points = 3, loc = {m = 2248, x = 58.7, y = 30.7, hint = "This item is a knife found on a hay bale inside the building."}}, -- Dornogal Craftman's Flat Knife - {professionID = 165, typeID = Enum.WK_Objectives.Unique, quests = {83900}, itemID = 226326, points = 3, loc = {m = 2214, x = 47.1, y = 34.8, hint = "This item is a bottle found on the shelf inside the building."}}, -- Underground Stropping Compound - {professionID = 165, typeID = Enum.WK_Objectives.Unique, quests = {83901}, itemID = 226327, points = 3, loc = {m = 2214, x = 64.3, y = 65.2, hint = "This item is a tool found on the table inside the building."}}, -- Earthen Awl - {professionID = 165, typeID = Enum.WK_Objectives.Unique, quests = {83902}, itemID = 226328, points = 3, loc = {m = 2215, x = 47.5, y = 65.1, hint = "This item is a pair of tongs found on the table inside the building."}}, -- Arathi Beveler Set - {professionID = 165, typeID = Enum.WK_Objectives.Unique, quests = {83903}, itemID = 226329, points = 3, loc = {m = 2215, x = 41.5, y = 57.8, hint = "This item is a tool found on a barrel."}}, -- Arathi Leather Burnisher - {professionID = 165, typeID = Enum.WK_Objectives.Unique, quests = {83904}, itemID = 226330, points = 3, loc = {m = 2213, x = 55.2, y = 26.8, hint = "This item is a mallet found on the table inside the building."}}, -- Nerubian Tanning Mallet - {professionID = 165, typeID = Enum.WK_Objectives.Unique, quests = {83905}, itemID = 226331, points = 3, loc = {m = 2255, x = 60.0, y = 53.9, hint = "This item is a knife found on the desk."}}, -- Curved Nerubian Skinning Knife - {professionID = 165, typeID = Enum.WK_Objectives.Treatise, quests = {83732}, itemID = 222549, points = 1, loc = {m = 2339, x = 58.0, y = 56.4, hint = "Place a crafting order if you can't craft this yourself with Inscription."}}, - {professionID = 165, typeID = Enum.WK_Objectives.ArtisanQuest, quests = {84131}, itemID = 228778, points = 2, loc = {m = 2339, x = 59.2, y = 55.6, hint = "Complete a quest from Kala Clayhoof in the Artisan's Consortium."}}, - {professionID = 165, typeID = Enum.WK_Objectives.Treasure, quests = {83267}, itemID = 225223, points = 1, loc = {hint = "These are randomly looted from treasures and dirt around the world."}}, - {professionID = 165, typeID = Enum.WK_Objectives.Treasure, quests = {83268}, itemID = 225222, points = 1, loc = {hint = "These are randomly looted from treasures and dirt around the world."}}, - {professionID = 165, typeID = Enum.WK_Objectives.DarkmoonQuest, quests = {29517}, itemID = 0, points = 3, loc = {m = 407, x = 49.6, y = 60.8, hint = "Talk to |cff00ff00Rinling|r at the Darkmoon Faire and complete the quest |cffffff00Eyes on the Prizes|r."}, requires = {{type = "item", id = 6529, amount = 10}, {type = "item", id = 2320, amount = 5}, {type = "item", id = 6260, amount = 5}}}, - {professionID = 186, typeID = Enum.WK_Objectives.Unique, quests = {81390}, itemID = 227416, points = 15, loc = {m = 2339, x = 59.6, y = 56.2, hint = "This item can be purchased from the vendor Lyrendal in Dornogal."}, requires = {{type = "item", id = 210814, amount = 200}}}, - {professionID = 186, typeID = Enum.WK_Objectives.Unique, quests = {81391}, itemID = 227427, points = 15, loc = {m = 2339, x = 59.6, y = 56.2, hint = "This item can be purchased from the vendor Lyrendal in Dornogal."}, requires = {{type = "item", id = 210814, amount = 300}}}, - {professionID = 186, typeID = Enum.WK_Objectives.Unique, quests = {81392}, itemID = 227438, points = 15, loc = {m = 2339, x = 59.6, y = 56.2, hint = "This item can be purchased from the vendor Lyrendal in Dornogal."}, requires = {{type = "item", id = 210814, amount = 400}}}, - {professionID = 186, typeID = Enum.WK_Objectives.Unique, quests = {82614}, itemID = 224055, points = 10, loc = {m = 2213, x = 46.6, y = 21.6, hint = "This item can be purchased from the vendor Rakka in City of Threads."}, requires = {{type = "currency", id = 3056, amount = 565}}}, - {professionID = 186, typeID = Enum.WK_Objectives.Unique, quests = {83062}, itemID = 224651, points = 10, loc = {m = 2214, x = 47.2, y = 32.8, hint = "This item can be purchased from the vendor Waxmonger Squick in The Ringing Deeps."}, requires = {{type = "renown", id = 2594, amount = 12}, {type = "item", id = 210814, amount = 50}}}, - {professionID = 186, typeID = Enum.WK_Objectives.Unique, quests = {83906}, itemID = 226332, points = 3, loc = {m = 2248, x = 58.2, y = 62.0, hint = "This item is a gavel found on the table."}}, -- Earthen Miner's Gavel - {professionID = 186, typeID = Enum.WK_Objectives.Unique, quests = {83907}, itemID = 226333, points = 3, loc = {m = 2339, x = 36.6, y = 79.3, hint = "This item is a chisel found on the crystal statue."}}, -- Dornogal Chisel - {professionID = 186, typeID = Enum.WK_Objectives.Unique, quests = {83908}, itemID = 226334, points = 3, loc = {m = 2214, x = 49.5, y = 27.5, hint = "This item is a shovel found on the ground."}}, -- Earthen Excavator's Shovel - {professionID = 186, typeID = Enum.WK_Objectives.Unique, quests = {83909}, itemID = 226335, points = 3, loc = {m = 2214, x = 66.3, y = 66.2, hint = "This item is ore found on the ground."}}, -- Regenerating Ore - {professionID = 186, typeID = Enum.WK_Objectives.Unique, quests = {83910}, itemID = 226336, points = 3, loc = {m = 2215, x = 46.1, y = 64.5, hint = "This item is a drill found on the table under the building."}}, -- Arathi Precision Drill - {professionID = 186, typeID = Enum.WK_Objectives.Unique, quests = {83911}, itemID = 226337, points = 3, loc = {m = 2215, x = 43.1, y = 56.8, hint = "This item is a tool found on the table behind the mining trainer."}}, -- Devout Archaeologist's Excavator - {professionID = 186, typeID = Enum.WK_Objectives.Unique, quests = {83912}, itemID = 226338, points = 3, loc = {m = 2213, x = 46.8, y = 21.4, hint = "This item is a crusher found on the desk near the forge."}}, -- Heavy Spider Crusher - {professionID = 186, typeID = Enum.WK_Objectives.Unique, quests = {83913}, itemID = 226339, points = 3, loc = {m = 2213, x = 48.1, y = 40.7, hint = "This item is a cart found on the ground between the flowers and roots."}}, -- Nerubian Mining Supplies - {professionID = 186, typeID = Enum.WK_Objectives.Treatise, quests = {83733}, itemID = 222553, points = 1, loc = {m = 2339, x = 58.0, y = 56.4, hint = "Place a crafting order if you can't craft this yourself with Inscription."}}, - {professionID = 186, typeID = Enum.WK_Objectives.Gathering, quests = {83050, 83051, 83052, 83053, 83054}, itemID = 224583, points = 1, loc = {hint = "These are randomly looted from mining nodes around the world."}}, - {professionID = 186, typeID = Enum.WK_Objectives.Gathering, quests = {83049}, itemID = 224584, points = 3, loc = {hint = "These are randomly looted from mining nodes around the world."}}, - {professionID = 186, typeID = Enum.WK_Objectives.TrainerQuest, quests = {83104, 83105, 83103, 83106, 83102}, itemID = 224818, points = 3, limit = 1, loc = {m = 2339, x = 52.6, y = 52.6, hint = "Talk to your mining trainer |cff00ff00Tarib|r and complete the quest."}}, - {professionID = 186, typeID = Enum.WK_Objectives.DarkmoonQuest, quests = {29518}, itemID = 0, points = 3, loc = {m = 407, x = 49.6, y = 60.8, hint = "Talk to |cff00ff00Rinling|r at the Darkmoon Faire and complete the quest |cffffff00Rearm, Reuse, Recycle|r."}}, - {professionID = 393, typeID = Enum.WK_Objectives.Unique, quests = {82596}, itemID = 224007, points = 10, loc = {m = 2213, x = 43.5, y = 19.7, hint = "This item can be purchased from the vendor Kama in City of Threads."}, requires = {{type = "currency", id = 3056, amount = 565}}}, - {professionID = 393, typeID = Enum.WK_Objectives.Unique, quests = {83067}, itemID = 224657, points = 10, loc = {m = 2215, x = 42.4, y = 55.0, hint = "This item can be purchased from the vendor Auralia Steelstrike in Hallowfall."}, requires = {{type = "renown", id = 2570, amount = 14}, {type = "item", id = 210814, amount = 50}}}, - {professionID = 393, typeID = Enum.WK_Objectives.Unique, quests = {83914}, itemID = 226340, points = 3, loc = {m = 2339, x = 28.7, y = 51.8, hint = "This item can be found in an object on the location below."}}, - {professionID = 393, typeID = Enum.WK_Objectives.Unique, quests = {83915}, itemID = 226341, points = 3, loc = {m = 2248, x = 60.0, y = 28.0, hint = "This item can be found in an object on the location below."}}, - {professionID = 393, typeID = Enum.WK_Objectives.Unique, quests = {83916}, itemID = 226342, points = 3, loc = {m = 2214, x = 47.3, y = 28.4, hint = "This item can be found in an object on the location below."}}, - {professionID = 393, typeID = Enum.WK_Objectives.Unique, quests = {83917}, itemID = 226343, points = 3, loc = {m = 2214, x = 65.8, y = 61.9, hint = "This item can be found in an object on the location below."}}, - {professionID = 393, typeID = Enum.WK_Objectives.Unique, quests = {83918}, itemID = 226344, points = 3, loc = {m = 2215, x = 49.3, y = 62.1, hint = "This item can be found in an object on the location below."}}, - {professionID = 393, typeID = Enum.WK_Objectives.Unique, quests = {83919}, itemID = 226345, points = 3, loc = {m = 2215, x = 42.3, y = 53.9, hint = "This item can be found in an object on the location below."}}, - {professionID = 393, typeID = Enum.WK_Objectives.Unique, quests = {83920}, itemID = 226346, points = 3, loc = {m = 2213, x = 44.6, y = 49.3, hint = "This item can be found in an object on the location below."}}, - {professionID = 393, typeID = Enum.WK_Objectives.Unique, quests = {83921}, itemID = 226347, points = 3, loc = {m = 2255, x = 56.5, y = 55.2, hint = "This item can be found in an object on the location below."}}, - {professionID = 393, typeID = Enum.WK_Objectives.Unique, quests = {84232}, itemID = 227417, points = 15, loc = {m = 2339, x = 59.6, y = 56.2, hint = "This item can be purchased from the vendor Lyrendal in Dornogal."}, requires = {{type = "item", id = 210814, amount = 200}}}, - {professionID = 393, typeID = Enum.WK_Objectives.Unique, quests = {84233}, itemID = 227428, points = 15, loc = {m = 2339, x = 59.6, y = 56.2, hint = "This item can be purchased from the vendor Lyrendal in Dornogal."}, requires = {{type = "item", id = 210814, amount = 300}}}, - {professionID = 393, typeID = Enum.WK_Objectives.Unique, quests = {84234}, itemID = 227439, points = 15, loc = {m = 2339, x = 59.6, y = 56.2, hint = "This item can be purchased from the vendor Lyrendal in Dornogal."}, requires = {{type = "item", id = 210814, amount = 400}}}, - {professionID = 393, typeID = Enum.WK_Objectives.Treatise, quests = {83734}, itemID = 222649, points = 1, loc = {m = 2339, x = 58.0, y = 56.4, hint = "Place a crafting order if you can't craft this yourself with Inscription."}}, - {professionID = 393, typeID = Enum.WK_Objectives.Gathering, quests = {81459, 81460, 81461, 81462, 81463}, itemID = 224780, points = 1, loc = {hint = "These are randomly looted from skinning around the world."}}, - {professionID = 393, typeID = Enum.WK_Objectives.Gathering, quests = {81464}, itemID = 224781, points = 2, loc = {hint = "These are randomly looted from skinning around the world."}}, - {professionID = 393, typeID = Enum.WK_Objectives.TrainerQuest, quests = {83097, 83098, 83100, 82992, 82993}, itemID = 224807, points = 3, limit = 1, loc = {m = 2339, x = 54.4, y = 57.6, hint = "Talk to your skinning trainer |cff00ff00Ginnad|r and complete the quest."}}, - {professionID = 393, typeID = Enum.WK_Objectives.DarkmoonQuest, quests = {29519}, itemID = 0, points = 3, loc = {m = 407, x = 55.0, y = 70.6, hint = "Talk to |cff00ff00Chronos|r at the Darkmoon Faire and complete the quest |cffffff00Tan My Hide|r."}}, - {professionID = 197, typeID = Enum.WK_Objectives.Unique, quests = {80871}, itemID = 227410, points = 10, loc = {m = 2339, x = 59.6, y = 56.2, hint = "This item can be purchased from the vendor Lyrendal in Dornogal."}, requires = {{type = "item", id = 210814, amount = 200}}}, - {professionID = 197, typeID = Enum.WK_Objectives.Unique, quests = {80872}, itemID = 227421, points = 10, loc = {m = 2339, x = 59.6, y = 56.2, hint = "This item can be purchased from the vendor Lyrendal in Dornogal."}, requires = {{type = "item", id = 210814, amount = 300}}}, - {professionID = 197, typeID = Enum.WK_Objectives.Unique, quests = {80873}, itemID = 227432, points = 10, loc = {m = 2339, x = 59.6, y = 56.2, hint = "This item can be purchased from the vendor Lyrendal in Dornogal."}, requires = {{type = "item", id = 210814, amount = 400}}}, - {professionID = 197, typeID = Enum.WK_Objectives.Unique, quests = {82634}, itemID = 224036, points = 10, loc = {m = 2213, x = 50.2, y = 16.8, hint = "This item can be purchased from the vendor Saaria in City of Threads."}, requires = {{type = "currency", id = 3056, amount = 565}}}, - {professionID = 197, typeID = Enum.WK_Objectives.Unique, quests = {83061}, itemID = 224648, points = 10, loc = {m = 2339, x = 39.2, y = 24.2, hint = "This item can be purchased from the vendor Auditor Balwurz in Dornogal."}, requires = {{type = "renown", id = 2590, amount = 12}, {type = "item", id = 210814, amount = 50}}}, -- Jewel-Etched Tailoring Notes - {professionID = 197, typeID = Enum.WK_Objectives.Unique, quests = {83922}, itemID = 226348, points = 3, loc = {m = 2339, x = 61.5, y = 18.7, hint = "This item is a knife found on the table in the back of the building."}}, -- Dornogal Seam Ripper - {professionID = 197, typeID = Enum.WK_Objectives.Unique, quests = {83923}, itemID = 226349, points = 3, loc = {m = 2248, x = 56.2, y = 61.0, hint = "This item is a tape measure found on the table."}}, -- Earthen Tape Measure - {professionID = 197, typeID = Enum.WK_Objectives.Unique, quests = {83924}, itemID = 226350, points = 3, loc = {m = 2214, x = 48.9, y = 32.8, hint = "This item is a pin found on the shelf in the back right room of the inn."}}, -- Runed Earthen Pins - {professionID = 197, typeID = Enum.WK_Objectives.Unique, quests = {83925}, itemID = 226351, points = 3, loc = {m = 2214, x = 64.2, y = 60.3, hint = "This item is a pair of scisssors found on the table."}}, -- Earthen Sticher's Snips - {professionID = 197, typeID = Enum.WK_Objectives.Unique, quests = {83926}, itemID = 226352, points = 3, loc = {m = 2215, x = 49.3, y = 62.3, hint = "This item is a cutter found on the table."}}, -- Arathi Rotary Cutter - {professionID = 197, typeID = Enum.WK_Objectives.Unique, quests = {83927}, itemID = 226353, points = 3, loc = {m = 2215, x = 40.1, y = 68.1, hint = "This item is a protractor found on a crate inside the building."}}, -- Royal Outfitter's Protractor - {professionID = 197, typeID = Enum.WK_Objectives.Unique, quests = {83928}, itemID = 226354, points = 3, loc = {m = 2255, x = 53.3, y = 53.0, hint = "This item is a quilt found inside the building to the left."}}, -- Nerubian Quilt - {professionID = 197, typeID = Enum.WK_Objectives.Unique, quests = {83929}, itemID = 226355, points = 3, loc = {m = 2213, x = 50.5, y = 16.7, hint = "This item is a pincushian found on the desk."}}, -- Nerubian's Pincushion - {professionID = 197, typeID = Enum.WK_Objectives.Treatise, quests = {83735}, itemID = 222547, points = 1, loc = {m = 2339, x = 58.0, y = 56.4, hint = "Place a crafting order if you can't craft this yourself with Inscription."}}, - {professionID = 197, typeID = Enum.WK_Objectives.ArtisanQuest, quests = {84132}, itemID = 228779, points = 2, loc = {m = 2339, x = 59.2, y = 55.6, hint = "Complete a quest from Kala Clayhoof in the Artisan's Consortium."}}, - {professionID = 197, typeID = Enum.WK_Objectives.Treasure, quests = {83269}, itemID = 225221, points = 1, loc = {hint = "These are randomly looted from treasures and dirt around the world."}}, - {professionID = 197, typeID = Enum.WK_Objectives.Treasure, quests = {83270}, itemID = 225220, points = 1, loc = {hint = "These are randomly looted from treasures and dirt around the world."}}, - {professionID = 197, typeID = Enum.WK_Objectives.DarkmoonQuest, quests = {29520}, itemID = 0, points = 3, loc = {m = 407, x = 55.6, y = 55.8, hint = "Talk to |cff00ff00Selina Dourman|r at the Darkmoon Faire and complete the quest |cffffff00Banners, Banners Everywhere!|r"}, requires = {{type = "item", id = 2320, amount = 1}, {type = "item", id = 2604, amount = 1}, {type = "item", id = 6260, amount = 1}}}, + {professionID = 171, typeID = Enum.WK_Objectives.Unique, quests = {81146}, itemID = 227409, points = 10, loc = {m = 2339, x = 59.6, y = 56.2, hint = L["Vendor_Lyrendal_Hint"]}, requires = {{type = "item", id = 210814, amount = 200}}}, + {professionID = 171, typeID = Enum.WK_Objectives.Unique, quests = {81147}, itemID = 227420, points = 10, loc = {m = 2339, x = 59.6, y = 56.2, hint = L["Vendor_Lyrendal_Hint"]}, requires = {{type = "item", id = 210814, amount = 300}}}, + {professionID = 171, typeID = Enum.WK_Objectives.Unique, quests = {81148}, itemID = 227431, points = 10, loc = {m = 2339, x = 59.6, y = 56.2, hint = L["Vendor_Lyrendal_Hint"]}, requires = {{type = "item", id = 210814, amount = 400}}}, + {professionID = 171, typeID = Enum.WK_Objectives.Unique, quests = {82633}, itemID = 224024, points = 10, loc = {m = 2213, x = 45.6, y = 13.2, hint = L["Vendor_Siesbarg_Hint"]}, requires = {{type = "currency", id = 3056, amount = 565}}}, + {professionID = 171, typeID = Enum.WK_Objectives.Unique, quests = {83058}, itemID = 224645, points = 10, loc = {m = 2339, x = 39.2, y = 24.2, hint = L["Vendor_Auditor_Balwurz_Hint"]}, requires = {{type = "renown", id = 2590, amount = 12}, {type = "item", id = 210814, amount = 50}}}, -- Jewel-Etched Alchemy Notes + {professionID = 171, typeID = Enum.WK_Objectives.Unique, quests = {83840}, itemID = 226265, points = 3, loc = {m = 2339, x = 32.5, y = 60.5, hint = L["Item_226265_Hint"]}}, -- Earthen Iron Powder + {professionID = 171, typeID = Enum.WK_Objectives.Unique, quests = {83841}, itemID = 226266, points = 3, loc = {m = 2248, x = 57.7, y = 61.8, hint = L["Item_226266_Hint"]}}, -- Metal Dornogal Frame + {professionID = 171, typeID = Enum.WK_Objectives.Unique, quests = {83842}, itemID = 226267, points = 3, loc = {m = 2214, x = 42.2, y = 24.1, hint = L["Item_226267_Hint"]}}, -- Reinforced Beaker + {professionID = 171, typeID = Enum.WK_Objectives.Unique, quests = {83843}, itemID = 226268, points = 3, loc = {m = 2214, x = 64.9, y = 61.8, hint = L["Item_226268_Hint"]}}, -- Engraved Stirring Rod + {professionID = 171, typeID = Enum.WK_Objectives.Unique, quests = {83844}, itemID = 226269, points = 3, loc = {m = 2215, x = 42.6, y = 55.1, hint = L["Item_226269_Hint"]}}, -- Chemist's Purified Water + {professionID = 171, typeID = Enum.WK_Objectives.Unique, quests = {83845}, itemID = 226270, points = 3, loc = {m = 2215, x = 41.7, y = 55.8, hint = L["Item_226270_Hint"]}}, -- Sanctified Mortar and Pestle + {professionID = 171, typeID = Enum.WK_Objectives.Unique, quests = {83846}, itemID = 226271, points = 3, loc = {m = 2213, x = 45.5, y = 13.3, hint = L["Item_226271_Hint"]}}, -- Nerubian Mixing Salts + {professionID = 171, typeID = Enum.WK_Objectives.Unique, quests = {83847}, itemID = 226272, points = 3, loc = {m = 2255, x = 42.9, y = 57.3, hint = L["Item_226272_Hint"]}}, -- Dark Apothecary's Vial + {professionID = 171, typeID = Enum.WK_Objectives.Treatise, quests = {83725}, itemID = 222546, points = 1, loc = {m = 2339, x = 58.0, y = 56.4, hint = L["Crafting_Order_Inscription_Hint"]}}, + {professionID = 171, typeID = Enum.WK_Objectives.ArtisanQuest, quests = {84133}, itemID = 228773, points = 2, loc = {m = 2339, x = 59.2, y = 55.6, hint = L["Quest_Kala_Clayhoof_Hint"]}}, + {professionID = 171, typeID = Enum.WK_Objectives.Treasure, quests = {83253}, itemID = 225234, points = 2, loc = {hint = L["Treasures_And_Dirt_Hint"]}}, + {professionID = 171, typeID = Enum.WK_Objectives.Treasure, quests = {83255}, itemID = 225235, points = 2, loc = {hint = L["Treasures_And_Dirt_Hint"]}}, + {professionID = 171, typeID = Enum.WK_Objectives.DarkmoonQuest, quests = {29506}, itemID = 0, points = 3, loc = {m = 407, x = 50.2, y = 69.6, hint = L["Talk_Sylannia_Darkmoon_Quest_29506_Hint"]}, requires = {{type = "item", id = 1645, amount = 5}}}, + {professionID = 171, typeID = Enum.WK_Objectives.CatchUp, quests = {}, itemID = 228724, points = 0, loc = {hint = L["Item_228724_Hint"]}}, + {professionID = 164, typeID = Enum.WK_Objectives.Unique, quests = {82631}, itemID = 224038, points = 10, loc = {m = 2213, x = 46.6, y = 21.6, hint = L["Vendor_Rakka_Hint"]}, requires = {{type = "currency", id = 3056, amount = 565}}}, + {professionID = 164, typeID = Enum.WK_Objectives.Unique, quests = {83059}, itemID = 224647, points = 10, loc = {m = 2339, x = 39.2, y = 24.2, hint = L["Vendor_Auditor_Balwurz_Hint"]}, requires = {{type = "renown", id = 2590, amount = 12}, {type = "item", id = 210814, amount = 50}}}, -- Jewel-Etched Blacksmithing Notes + {professionID = 164, typeID = Enum.WK_Objectives.Unique, quests = {83848}, itemID = 226276, points = 3, loc = {m = 2248, x = 59.8, y = 61.9, hint = L["Item_226276_Hint"]}}, -- Ancient Earthen Anvil + {professionID = 164, typeID = Enum.WK_Objectives.Unique, quests = {83849}, itemID = 226277, points = 3, loc = {m = 2339, x = 47.7, y = 26.5, hint = L["Item_226277_Hint"]}}, -- Dornogal Hammer + {professionID = 164, typeID = Enum.WK_Objectives.Unique, quests = {83850}, itemID = 226278, points = 3, loc = {m = 2214, x = 47.7, y = 33.2, hint = L["Item_226278_Hint"]}}, -- Ringing Hammer Vise + {professionID = 164, typeID = Enum.WK_Objectives.Unique, quests = {83851}, itemID = 226279, points = 3, loc = {m = 2214, x = 60.5, y = 53.7, hint = L["Item_226279_Hint"]}}, -- Earthen Chisels + {professionID = 164, typeID = Enum.WK_Objectives.Unique, quests = {83852}, itemID = 226280, points = 3, loc = {m = 2215, x = 47.6, y = 61.1, hint = L["Item_226280_Hint"]}}, -- Holy Flame Forge + {professionID = 164, typeID = Enum.WK_Objectives.Unique, quests = {83853}, itemID = 226281, points = 3, loc = {m = 2215, x = 44.0, y = 55.6, hint = L["Item_226281_Hint"]}}, -- Radiant Tongs + {professionID = 164, typeID = Enum.WK_Objectives.Unique, quests = {83854}, itemID = 226282, points = 3, loc = {m = 2213, x = 46.6, y = 22.7, hint = L["Item_226282_Hint"]}}, -- Nerubian Smith's Kit + {professionID = 164, typeID = Enum.WK_Objectives.Unique, quests = {83855}, itemID = 226283, points = 3, loc = {m = 2255, x = 53.0, y = 51.3, hint = L["Item_226283_Hint"]}}, -- Spiderling's Wire Brush + {professionID = 164, typeID = Enum.WK_Objectives.Unique, quests = {84226}, itemID = 227407, points = 10, loc = {m = 2339, x = 59.6, y = 56.2, hint = L["Vendor_Lyrendal_Hint"]}, requires = {{type = "item", id = 210814, amount = 200}}}, + {professionID = 164, typeID = Enum.WK_Objectives.Unique, quests = {84227}, itemID = 227418, points = 10, loc = {m = 2339, x = 59.6, y = 56.2, hint = L["Vendor_Lyrendal_Hint"]}, requires = {{type = "item", id = 210814, amount = 300}}}, + {professionID = 164, typeID = Enum.WK_Objectives.Unique, quests = {84228}, itemID = 227429, points = 10, loc = {m = 2339, x = 59.6, y = 56.2, hint = L["Vendor_Lyrendal_Hint"]}, requires = {{type = "item", id = 210814, amount = 400}}}, + {professionID = 164, typeID = Enum.WK_Objectives.Treatise, quests = {83726}, itemID = 222554, points = 1, loc = {m = 2339, x = 58.0, y = 56.4, hint = L["Crafting_Order_Inscription_Hint"]}}, + {professionID = 164, typeID = Enum.WK_Objectives.ArtisanQuest, quests = {84127}, itemID = 228774, points = 2, loc = {m = 2339, x = 59.2, y = 55.6, hint = L["Quest_Kala_Clayhoof_Hint"]}}, + {professionID = 164, typeID = Enum.WK_Objectives.Treasure, quests = {83256}, itemID = 225233, points = 1, loc = {hint = L["Treasures_And_Dirt_Hint"]}}, + {professionID = 164, typeID = Enum.WK_Objectives.Treasure, quests = {83257}, itemID = 225232, points = 1, loc = {hint = L["Treasures_And_Dirt_Hint"]}}, + {professionID = 164, typeID = Enum.WK_Objectives.DarkmoonQuest, quests = {29508}, itemID = 0, points = 3, loc = {m = 407, x = 51.0, y = 81.8, hint = L["Talk_Yebb_Neblegear_Darkmoon_Quest_29508_Hint"]}}, + {professionID = 164, typeID = Enum.WK_Objectives.CatchUp, quests = {}, itemID = 228726, points = 0, loc = {hint = L["Item_228726_Hint"]}}, + {professionID = 333, typeID = Enum.WK_Objectives.Unique, quests = {81076}, itemID = 227411, points = 10, loc = {m = 2339, x = 59.6, y = 56.2, hint = L["Vendor_Lyrendal_Hint"]}, requires = {{type = "item", id = 210814, amount = 200}}}, + {professionID = 333, typeID = Enum.WK_Objectives.Unique, quests = {81077}, itemID = 227422, points = 10, loc = {m = 2339, x = 59.6, y = 56.2, hint = L["Vendor_Lyrendal_Hint"]}, requires = {{type = "item", id = 210814, amount = 300}}}, + {professionID = 333, typeID = Enum.WK_Objectives.Unique, quests = {81078}, itemID = 227433, points = 10, loc = {m = 2339, x = 59.6, y = 56.2, hint = L["Vendor_Lyrendal_Hint"]}, requires = {{type = "item", id = 210814, amount = 400}}}, + {professionID = 333, typeID = Enum.WK_Objectives.Unique, quests = {82635}, itemID = 224050, points = 10, loc = {m = 2213, x = 45.6, y = 33.6, hint = L["Vendor_Iliani_Hint"]}, requires = {{type = "currency", id = 3056, amount = 565}}}, + {professionID = 333, typeID = Enum.WK_Objectives.Unique, quests = {83060}, itemID = 224652, points = 10, loc = {m = 2339, x = 39.2, y = 24.2, hint = L["Vendor_Auditor_Balwurz_Hint"]}, requires = {{type = "renown", id = 2590, amount = 12}, {type = "item", id = 210814, amount = 50}}}, -- Jewel-Etched Enchanting Notes + {professionID = 333, typeID = Enum.WK_Objectives.Unique, quests = {83856}, itemID = 226284, points = 3, loc = {m = 2248, x = 57.6, y = 61.6, hint = L["Item_226284_Hint"]}}, -- Grinded Earthen Gem + {professionID = 333, typeID = Enum.WK_Objectives.Unique, quests = {83859}, itemID = 226285, points = 3, loc = {m = 2339, x = 57.9, y = 56.9, hint = L["Item_226285_Hint"]}}, -- Silver Dornogal Rod + {professionID = 333, typeID = Enum.WK_Objectives.Unique, quests = {83860}, itemID = 226286, points = 3, loc = {m = 2214, x = 44.6, y = 22.2, hint = L["Item_226286_Hint"]}}, -- Soot-Coated Orb + {professionID = 333, typeID = Enum.WK_Objectives.Unique, quests = {83861}, itemID = 226287, points = 3, loc = {m = 2214, x = 67.1, y = 65.9, hint = L["Item_226287_Hint"]}}, -- Animated Enchanting Dust + {professionID = 333, typeID = Enum.WK_Objectives.Unique, quests = {83862}, itemID = 226288, points = 3, loc = {m = 2215, x = 40.1, y = 70.5, hint = L["Item_226288_Hint"]}}, -- Essence of Holy Fire + {professionID = 333, typeID = Enum.WK_Objectives.Unique, quests = {83863}, itemID = 226289, points = 3, loc = {m = 2215, x = 48.6, y = 64.5, hint = L["Item_226289_Hint"]}}, -- Enchanted Arathi Scroll + {professionID = 333, typeID = Enum.WK_Objectives.Unique, quests = {83864}, itemID = 226290, points = 3, loc = {m = 2213, x = 61.6, y = 21.9, hint = L["Item_226290_Hint"]}}, -- Book of Dark Magic + {professionID = 333, typeID = Enum.WK_Objectives.Unique, quests = {83865}, itemID = 226291, points = 3, loc = {m = 2255, x = 57.3, y = 44.1, hint = L["Item_226291_Hint"]}}, -- Void Shard + {professionID = 333, typeID = Enum.WK_Objectives.Treatise, quests = {83727}, itemID = 222550, points = 1, loc = {m = 2339, x = 58.0, y = 56.4, hint = L["Crafting_Order_Inscription_Hint"]}}, + {professionID = 333, typeID = Enum.WK_Objectives.Treasure, quests = {83258}, itemID = 225231, points = 1, loc = {hint = L["Treasures_And_Dirt_Hint"]}}, + {professionID = 333, typeID = Enum.WK_Objectives.Treasure, quests = {83259}, itemID = 225230, points = 1, loc = {hint = L["Treasures_And_Dirt_Hint"]}}, + {professionID = 333, typeID = Enum.WK_Objectives.Gathering, quests = {84290, 84291, 84292, 84293, 84294}, itemID = 227659, points = 1, loc = {hint = L["Randomly_Looted_Disenchanting_Hint"]}}, + {professionID = 333, typeID = Enum.WK_Objectives.Gathering, quests = {84295}, itemID = 227661, points = 4, loc = {hint = L["Randomly_Looted_Disenchanting_Hint"]}}, + {professionID = 333, typeID = Enum.WK_Objectives.TrainerQuest, quests = {84084, 84085, 84086}, itemID = 227667, points = 3, limit = 1, loc = {m = 2339, x = 52.8, y = 71.2, hint = L["Talk_Enchanting_Trainer_Hint"]}}, + {professionID = 333, typeID = Enum.WK_Objectives.DarkmoonQuest, quests = {29510}, itemID = 0, points = 3, loc = {m = 407, x = 53.2, y = 76.6, hint = L["Talk_Sayge_Darkmoon_Quest_29510_Hint"]}}, + {professionID = 333, typeID = Enum.WK_Objectives.CatchUp, quests = {}, itemID = 227662, points = 0, loc = {hint = L["Item_227662_Hint"]}, requires = {{type = "quest", name = "Treasure", quests = {83258, 83259}, match = "all"}, {type = "quest", name = "Disenchanting", quests = {84290, 84291, 84292, 84293, 84294, 84295}, match = "all"}, {type = "quest", name = "Trainer Quest", quests = {84084, 84085, 84086}, match = "any"}}}, + {professionID = 202, typeID = Enum.WK_Objectives.Unique, quests = {82632}, itemID = 224052, points = 10, loc = {m = 2213, x = 58.2, y = 31.6, hint = L["Vendor_Rukku_Hint"]}, requires = {{type = "currency", id = 3056, amount = 565}}}, + {professionID = 202, typeID = Enum.WK_Objectives.Unique, quests = {83063}, itemID = 224653, points = 10, loc = {m = 2214, x = 47.2, y = 32.8, hint = L["Vendor_Waxmonger_Squick_Hint"]}, requires = {{type = "renown", id = 2594, amount = 12}, {type = "item", id = 210814, amount = 50}}}, + {professionID = 202, typeID = Enum.WK_Objectives.Unique, quests = {83866}, itemID = 226292, points = 3, loc = {m = 2248, x = 61.3, y = 69.6, hint = L["Item_226292_Hint"]}}, -- Rock Engineer's Wrench + {professionID = 202, typeID = Enum.WK_Objectives.Unique, quests = {83867}, itemID = 226293, points = 3, loc = {m = 2339, x = 64.7, y = 52.7, hint = L["Item_226293_Hint"]}}, -- Dornogal Spectacles + {professionID = 202, typeID = Enum.WK_Objectives.Unique, quests = {83868}, itemID = 226294, points = 3, loc = {m = 2214, x = 42.6, y = 27.3, hint = L["Item_226294_Hint"]}}, -- Inert Mining Bomb + {professionID = 202, typeID = Enum.WK_Objectives.Unique, quests = {83869}, itemID = 226295, points = 3, loc = {m = 2214, x = 64.5, y = 58.8, hint = L["Item_226295_Hint"]}}, -- Earthen Construct Blueprints + {professionID = 202, typeID = Enum.WK_Objectives.Unique, quests = {83870}, itemID = 226296, points = 3, loc = {m = 2215, x = 46.4, y = 61.5, hint = L["Item_226296_Hint"]}}, -- Holy Firework Dud + {professionID = 202, typeID = Enum.WK_Objectives.Unique, quests = {83871}, itemID = 226297, points = 3, loc = {m = 2215, x = 41.6, y = 48.9, hint = L["Item_226297_Hint"]}}, -- Arathi Safety Gloves + {professionID = 202, typeID = Enum.WK_Objectives.Unique, quests = {83872}, itemID = 226298, points = 3, loc = {m = 2255, x = 56.8, y = 38.7, hint = L["Item_226298_Hint"]}}, -- Puppeted Mechanical Spider + {professionID = 202, typeID = Enum.WK_Objectives.Unique, quests = {83873}, itemID = 226299, points = 3, loc = {m = 2213, x = 63.1, y = 11.5, hint = L["Item_226299_Hint"]}}, -- Emptied Venom Canister + {professionID = 202, typeID = Enum.WK_Objectives.Unique, quests = {84229}, itemID = 227412, points = 10, loc = {m = 2339, x = 59.6, y = 56.2, hint = L["Vendor_Lyrendal_Hint"]}, requires = {{type = "item", id = 210814, amount = 200}}}, + {professionID = 202, typeID = Enum.WK_Objectives.Unique, quests = {84230}, itemID = 227423, points = 10, loc = {m = 2339, x = 59.6, y = 56.2, hint = L["Vendor_Lyrendal_Hint"]}, requires = {{type = "item", id = 210814, amount = 300}}}, + {professionID = 202, typeID = Enum.WK_Objectives.Unique, quests = {84231}, itemID = 227434, points = 10, loc = {m = 2339, x = 59.6, y = 56.2, hint = L["Vendor_Lyrendal_Hint"]}, requires = {{type = "item", id = 210814, amount = 400}}}, + {professionID = 202, typeID = Enum.WK_Objectives.Treatise, quests = {83728}, itemID = 222621, points = 1, loc = {m = 2339, x = 58.0, y = 56.4, hint = L["Crafting_Order_Inscription_Hint"]}}, + {professionID = 202, typeID = Enum.WK_Objectives.ArtisanQuest, quests = {84128}, itemID = 228775, points = 1, loc = {m = 2339, x = 59.2, y = 55.6, hint = L["Quest_Kala_Clayhoof_Hint"]}}, + {professionID = 202, typeID = Enum.WK_Objectives.Treasure, quests = {83260}, itemID = 225228, points = 1, loc = {hint = L["Treasures_And_Dirt_Hint"]}}, + {professionID = 202, typeID = Enum.WK_Objectives.Treasure, quests = {83261}, itemID = 225229, points = 1, loc = {hint = L["Treasures_And_Dirt_Hint"]}}, + {professionID = 202, typeID = Enum.WK_Objectives.DarkmoonQuest, quests = {29511}, itemID = 0, points = 3, loc = {m = 407, x = 49.6, y = 60.8, hint = L["Talk_Rinling_Darkmoon_Quest_29511_Hint"]}}, + {professionID = 202, typeID = Enum.WK_Objectives.CatchUp, quests = {}, itemID = 228730, points = 0, loc = {hint = L["Item_228730_Hint"]}}, + {professionID = 182, typeID = Enum.WK_Objectives.Unique, quests = {81422}, itemID = 227415, points = 15, loc = {m = 2339, x = 59.6, y = 56.2, hint = L["Vendor_Lyrendal_Hint"]}, requires = {{type = "item", id = 210814, amount = 200}}}, + {professionID = 182, typeID = Enum.WK_Objectives.Unique, quests = {81423}, itemID = 227426, points = 15, loc = {m = 2339, x = 59.6, y = 56.2, hint = L["Vendor_Lyrendal_Hint"]}, requires = {{type = "item", id = 210814, amount = 300}}}, + {professionID = 182, typeID = Enum.WK_Objectives.Unique, quests = {81424}, itemID = 227437, points = 15, loc = {m = 2339, x = 59.6, y = 56.2, hint = L["Vendor_Lyrendal_Hint"]}, requires = {{type = "item", id = 210814, amount = 400}}}, + {professionID = 182, typeID = Enum.WK_Objectives.Unique, quests = {82630}, itemID = 224023, points = 10, loc = {m = 2213, x = 47.0, y = 16.2, hint = L["Vendor_Llyot_hint"]}, requires = {{type = "currency", id = 3056, amount = 565}}}, + {professionID = 182, typeID = Enum.WK_Objectives.Unique, quests = {83066}, itemID = 224656, points = 10, loc = {m = 2215, x = 42.4, y = 55.0, hint = L["Vendor_Auralia_Steelstrike_Hint"]}, requires = {{type = "renown", id = 2570, amount = 14}, {type = "item", id = 210814, amount = 50}}}, + {professionID = 182, typeID = Enum.WK_Objectives.Unique, quests = {83874}, itemID = 226300, points = 3, loc = {m = 2248, x = 57.6, y = 61.5, hint = L["Item_226300_Hint"]}}, -- Ancient Flower + {professionID = 182, typeID = Enum.WK_Objectives.Unique, quests = {83875}, itemID = 226301, points = 3, loc = {m = 2339, x = 59.2, y = 23.7, hint = L["Item_226301_Hint"]}}, -- Dornogal Gardening Scythe + {professionID = 182, typeID = Enum.WK_Objectives.Unique, quests = {83876}, itemID = 226302, points = 3, loc = {m = 2214, x = 48.3, y = 35.0, hint = L["Item_226302_Hint"]}}, -- Earthen Digging Fork + {professionID = 182, typeID = Enum.WK_Objectives.Unique, quests = {83877}, itemID = 226303, points = 3, loc = {m = 2214, x = 52.9, y = 65.8, hint = L["Item_226303_Hint"]}}, -- Fungarian Slicer's Knife + {professionID = 182, typeID = Enum.WK_Objectives.Unique, quests = {83878}, itemID = 226304, points = 3, loc = {m = 2215, x = 47.8, y = 63.3, hint = L["Item_226304_Hint"]}}, -- Arathi Garden Trowel + {professionID = 182, typeID = Enum.WK_Objectives.Unique, quests = {83879}, itemID = 226305, points = 3, loc = {m = 2215, x = 35.9, y = 55.0, hint = L["Item_226305_Hint"]}}, -- Arathi Herb Pruner + {professionID = 182, typeID = Enum.WK_Objectives.Unique, quests = {83880}, itemID = 226306, points = 3, loc = {m = 2213, x = 54.7, y = 20.8, hint = L["Item_226306_Hint"]}}, -- Web-Entangled Lotus + {professionID = 182, typeID = Enum.WK_Objectives.Unique, quests = {83881}, itemID = 226307, points = 3, loc = {m = 2213, x = 46.7, y = 16.0, hint = L["Item_226307_Hint"]}}, -- Tunneler's Shovel + {professionID = 182, typeID = Enum.WK_Objectives.Treatise, quests = {83729}, itemID = 222552, points = 1, loc = {m = 2339, x = 58.0, y = 56.4, hint = L["Crafting_Order_Inscription_Hint"]}}, + {professionID = 182, typeID = Enum.WK_Objectives.Gathering, quests = {81416, 81417, 81418, 81419, 81420}, itemID = 224264, points = 1, loc = {hint = L["Randomly_Looted_Herbs_Hint"]}}, + {professionID = 182, typeID = Enum.WK_Objectives.Gathering, quests = {81421}, itemID = 224265, points = 4, loc = {hint = L["Randomly_Looted_Herbs_Hint"]}}, + {professionID = 182, typeID = Enum.WK_Objectives.TrainerQuest, quests = {82970, 82958, 82965, 82916, 82962}, itemID = 224817, points = 3, limit = 1, loc = {m = 2339, x = 44.8, y = 69.4, hint = L["Talk_Herbalism_Trainer_Hint"]}}, + {professionID = 182, typeID = Enum.WK_Objectives.DarkmoonQuest, quests = {29514}, itemID = 0, points = 3, loc = {m = 407, x = 55.0, y = 70.6, hint = L["Talk_Chronos_Darkmoon_Quest_29514_Hint"]}}, + {professionID = 182, typeID = Enum.WK_Objectives.CatchUp, quests = {}, itemID = 224835, points = 0, loc = {hint = L["Item_224835_Hint"]}, requires = {{type = "quest", name = "Trainer Quest", quests = {82970, 82958, 82965, 82916, 82962}, match = "any"}, {type = "quest", name = "Gathering", quests = {81416, 81417, 81418, 81419, 81420, 81421}, match = "all"}}}, + {professionID = 773, typeID = Enum.WK_Objectives.Unique, quests = {80749}, itemID = 227408, points = 10, loc = {m = 2339, x = 59.6, y = 56.2, hint = L["Vendor_Lyrendal_Hint"]}, requires = {{type = "item", id = 210814, amount = 200}}}, + {professionID = 773, typeID = Enum.WK_Objectives.Unique, quests = {80750}, itemID = 227419, points = 10, loc = {m = 2339, x = 59.6, y = 56.2, hint = L["Vendor_Lyrendal_Hint"]}, requires = {{type = "item", id = 210814, amount = 300}}}, + {professionID = 773, typeID = Enum.WK_Objectives.Unique, quests = {80751}, itemID = 227430, points = 10, loc = {m = 2339, x = 59.6, y = 56.2, hint = L["Vendor_Lyrendal_Hint"]}, requires = {{type = "item", id = 210814, amount = 400}}}, + {professionID = 773, typeID = Enum.WK_Objectives.Unique, quests = {82636}, itemID = 224053, points = 10, loc = {m = 2213, x = 42.2, y = 26.8, hint = L["Vendor_Nuel_Prill_Hint"]}, requires = {{type = "currency", id = 3056, amount = 565}}}, + {professionID = 773, typeID = Enum.WK_Objectives.Unique, quests = {83064}, itemID = 224654, points = 10, loc = {m = 2214, x = 47.2, y = 32.8, hint = L["Vendor_Waxmonger_Squick_Hint"]}, requires = {{type = "renown", id = 2594, amount = 12}, {type = "item", id = 210814, amount = 50}}}, + {professionID = 773, typeID = Enum.WK_Objectives.Unique, quests = {83882}, itemID = 226308, points = 3, loc = {m = 2339, x = 57.2, y = 47.1, hint = L["Item_226308_Hint"]}}, -- Dornogal Scribe's Quill + {professionID = 773, typeID = Enum.WK_Objectives.Unique, quests = {83883}, itemID = 226309, points = 3, loc = {m = 2248, x = 56.0, y = 60.1, hint = L["Item_226309_Hint"]}}, -- Historian's Dip Pen + {professionID = 773, typeID = Enum.WK_Objectives.Unique, quests = {83884}, itemID = 226310, points = 3, loc = {m = 2214, x = 48.5, y = 34.2, hint = L["Item_226310_Hint"]}}, -- Runic Scroll + {professionID = 773, typeID = Enum.WK_Objectives.Unique, quests = {83885}, itemID = 226311, points = 3, loc = {m = 2214, x = 62.5, y = 58.1, hint = L["Item_226311_Hint"]}}, -- Blue Earthen Pigment + {professionID = 773, typeID = Enum.WK_Objectives.Unique, quests = {83886}, itemID = 226312, points = 3, loc = {m = 2215, x = 43.2, y = 58.9, hint = L["Item_226312_Hint"]}}, -- Informant's Fountain Pen + {professionID = 773, typeID = Enum.WK_Objectives.Unique, quests = {83887}, itemID = 226313, points = 3, loc = {m = 2215, x = 42.8, y = 49.1, hint = L["Item_226313_Hint"]}}, -- Calligrapher's Chiseled Marker + {professionID = 773, typeID = Enum.WK_Objectives.Unique, quests = {83888}, itemID = 226314, points = 3, loc = {m = 2255, x = 55.9, y = 43.9, hint = L["Item_226314_Hint"]}}, -- Nerubian Texts + {professionID = 773, typeID = Enum.WK_Objectives.Unique, quests = {83889}, itemID = 226315, points = 3, loc = {m = 2213, x = 50.1, y = 31.0, hint = L["Item_226315_Hint"]}}, -- Venomancer's Ink Well + {professionID = 773, typeID = Enum.WK_Objectives.Treatise, quests = {83730}, itemID = 222548, points = 1, loc = {m = 2339, x = 58.0, y = 56.4, hint = L["Crafting_Order_Inscription_Hint"]}}, + {professionID = 773, typeID = Enum.WK_Objectives.ArtisanQuest, quests = {84129}, itemID = 228776, points = 2, loc = {m = 2339, x = 59.2, y = 55.6, hint = L["Quest_Kala_Clayhoof_Hint"]}}, + {professionID = 773, typeID = Enum.WK_Objectives.Treasure, quests = {83262}, itemID = 225227, points = 2, loc = {hint = L["Treasures_And_Dirt_Hint"]}}, + {professionID = 773, typeID = Enum.WK_Objectives.Treasure, quests = {83264}, itemID = 225226, points = 2, loc = {hint = L["Treasures_And_Dirt_Hint"]}}, + {professionID = 773, typeID = Enum.WK_Objectives.DarkmoonQuest, quests = {29515}, itemID = 0, points = 3, loc = {m = 407, x = 53.2, y = 76.6, hint = L["Talk_Sayge_Darkmoon_Quest_29515_Hint"]}, requires = {{type = "item", id = 39354, amount = 5}}}, + {professionID = 773, typeID = Enum.WK_Objectives.CatchUp, quests = {}, itemID = 228732, points = 0, loc = {hint = L["Item_228732_Hint"]}}, + {professionID = 755, typeID = Enum.WK_Objectives.Unique, quests = {81259}, itemID = 227413, points = 10, loc = {m = 2339, x = 59.6, y = 56.2, hint = L["Vendor_Lyrendal_Hint"]}, requires = {{type = "item", id = 210814, amount = 200}}}, + {professionID = 755, typeID = Enum.WK_Objectives.Unique, quests = {81260}, itemID = 227424, points = 10, loc = {m = 2339, x = 59.6, y = 56.2, hint = L["Vendor_Lyrendal_Hint"]}, requires = {{type = "item", id = 210814, amount = 300}}}, + {professionID = 755, typeID = Enum.WK_Objectives.Unique, quests = {81261}, itemID = 227435, points = 10, loc = {m = 2339, x = 59.6, y = 56.2, hint = L["Vendor_Lyrendal_Hint"]}, requires = {{type = "item", id = 210814, amount = 400}}}, + {professionID = 755, typeID = Enum.WK_Objectives.Unique, quests = {82637}, itemID = 224054, points = 10, loc = {m = 2213, x = 47.6, y = 18.6, hint = L["Vendor_Alvus_Valavulu_Hint"]}, requires = {{type = "currency", id = 3056, amount = 565}}}, -- Emergent Crystals of the Surface-Dwellers + {professionID = 755, typeID = Enum.WK_Objectives.Unique, quests = {83065}, itemID = 224655, points = 10, loc = {m = 2215, x = 42.4, y = 55.0, hint = L["Vendor_Auralia_Steelstrike_Hint"]}, requires = {{type = "renown", id = 2570, amount = 14}, {type = "item", id = 210814, amount = 50}}}, + {professionID = 755, typeID = Enum.WK_Objectives.Unique, quests = {83890}, itemID = 226316, points = 3, loc = {m = 2248, x = 63.5, y = 66.8, hint = L["Object_Location_Hint"]}}, + {professionID = 755, typeID = Enum.WK_Objectives.Unique, quests = {83891}, itemID = 226317, points = 3, loc = {m = 2339, x = 34.9, y = 52.3, hint = L["Object_Location_Hint"]}}, + {professionID = 755, typeID = Enum.WK_Objectives.Unique, quests = {83892}, itemID = 226318, points = 3, loc = {m = 2214, x = 48.5, y = 35.2, hint = L["Object_Location_Hint"]}}, + {professionID = 755, typeID = Enum.WK_Objectives.Unique, quests = {83893}, itemID = 226319, points = 3, loc = {m = 2214, x = 57.0, y = 54.6, hint = L["Object_Location_Hint"]}}, + {professionID = 755, typeID = Enum.WK_Objectives.Unique, quests = {83894}, itemID = 226320, points = 3, loc = {m = 2215, x = 47.5, y = 60.7, hint = L["Object_Location_Hint"]}}, + {professionID = 755, typeID = Enum.WK_Objectives.Unique, quests = {83895}, itemID = 226321, points = 3, loc = {m = 2215, x = 44.7, y = 50.9, hint = L["Object_Location_Hint"]}}, + {professionID = 755, typeID = Enum.WK_Objectives.Unique, quests = {83896}, itemID = 226322, points = 3, loc = {m = 2213, x = 47.7, y = 19.5, hint = L["Object_Location_Hint"]}}, + {professionID = 755, typeID = Enum.WK_Objectives.Unique, quests = {83897}, itemID = 226323, points = 3, loc = {m = 2255, x = 56.1, y = 58.7, hint = L["Object_Location_Hint"]}}, + {professionID = 755, typeID = Enum.WK_Objectives.Treatise, quests = {83731}, itemID = 222551, points = 1, loc = {m = 2339, x = 58.0, y = 56.4, hint = L["Crafting_Order_Inscription_Hint"]}}, + {professionID = 755, typeID = Enum.WK_Objectives.ArtisanQuest, quests = {84130}, itemID = 228777, points = 2, loc = {m = 2339, x = 59.2, y = 55.6, hint = L["Quest_Kala_Clayhoof_Hint"]}}, + {professionID = 755, typeID = Enum.WK_Objectives.Treasure, quests = {83265}, itemID = 225224, points = 2, loc = {hint = L["Treasures_And_Dirt_Hint"]}}, + {professionID = 755, typeID = Enum.WK_Objectives.Treasure, quests = {83266}, itemID = 225225, points = 2, loc = {hint = L["Treasures_And_Dirt_Hint"]}}, -- Deepstone Fragment + {professionID = 755, typeID = Enum.WK_Objectives.DarkmoonQuest, quests = {29516}, itemID = 0, points = 3, loc = {m = 407, x = 55.0, y = 70.6, hint = L["Talk_Chronos_Darkmoon_Quest_29516_Hint"]}}, + {professionID = 755, typeID = Enum.WK_Objectives.CatchUp, quests = {}, itemID = 228734, points = 0, loc = {hint = L["Item_228734_Hint"]}}, + {professionID = 165, typeID = Enum.WK_Objectives.Unique, quests = {80978}, itemID = 227414, points = 10, loc = {m = 2339, x = 59.6, y = 56.2, hint = L["Vendor_Lyrendal_Hint"]}, requires = {{type = "item", id = 210814, amount = 200}}}, + {professionID = 165, typeID = Enum.WK_Objectives.Unique, quests = {80979}, itemID = 227425, points = 10, loc = {m = 2339, x = 59.6, y = 56.2, hint = L["Vendor_Lyrendal_Hint"]}, requires = {{type = "item", id = 210814, amount = 300}}}, + {professionID = 165, typeID = Enum.WK_Objectives.Unique, quests = {80980}, itemID = 227436, points = 10, loc = {m = 2339, x = 59.6, y = 56.2, hint = L["Vendor_Lyrendal_Hint"]}, requires = {{type = "item", id = 210814, amount = 400}}}, + {professionID = 165, typeID = Enum.WK_Objectives.Unique, quests = {82626}, itemID = 224056, points = 10, loc = {m = 2213, x = 43.5, y = 19.7, hint = L["Vendor_Kama_Hint"]}, requires = {{type = "currency", id = 3056, amount = 565}}}, + {professionID = 165, typeID = Enum.WK_Objectives.Unique, quests = {83068}, itemID = 224658, points = 10, loc = {m = 2215, x = 42.4, y = 55.0, hint = L["Vendor_Auralia_Steelstrike_Hint"]}, requires = {{type = "renown", id = 2570, amount = 14}, {type = "item", id = 210814, amount = 50}}}, + {professionID = 165, typeID = Enum.WK_Objectives.Unique, quests = {83898}, itemID = 226324, points = 3, loc = {m = 2339, x = 68.1, y = 23.3, hint = L["Item_226324_Hint"]}}, -- Earthen Lacing Tools + {professionID = 165, typeID = Enum.WK_Objectives.Unique, quests = {83899}, itemID = 226325, points = 3, loc = {m = 2248, x = 58.7, y = 30.7, hint = L["Item_226325_Hint"]}}, -- Dornogal Craftman's Flat Knife + {professionID = 165, typeID = Enum.WK_Objectives.Unique, quests = {83900}, itemID = 226326, points = 3, loc = {m = 2214, x = 47.1, y = 34.8, hint = L["Item_226326_Hint"]}}, -- Underground Stropping Compound + {professionID = 165, typeID = Enum.WK_Objectives.Unique, quests = {83901}, itemID = 226327, points = 3, loc = {m = 2214, x = 64.3, y = 65.2, hint = L["Item_226327_Hint"]}}, -- Earthen Awl + {professionID = 165, typeID = Enum.WK_Objectives.Unique, quests = {83902}, itemID = 226328, points = 3, loc = {m = 2215, x = 47.5, y = 65.1, hint = L["Item_226328_Hint"]}}, -- Arathi Beveler Set + {professionID = 165, typeID = Enum.WK_Objectives.Unique, quests = {83903}, itemID = 226329, points = 3, loc = {m = 2215, x = 41.5, y = 57.8, hint = L["Item_226329_Hint"]}}, -- Arathi Leather Burnisher + {professionID = 165, typeID = Enum.WK_Objectives.Unique, quests = {83904}, itemID = 226330, points = 3, loc = {m = 2213, x = 55.2, y = 26.8, hint = L["Item_226330_Hint"]}}, -- Nerubian Tanning Mallet + {professionID = 165, typeID = Enum.WK_Objectives.Unique, quests = {83905}, itemID = 226331, points = 3, loc = {m = 2255, x = 60.0, y = 53.9, hint = L["Item_226331_Hint"]}}, -- Curved Nerubian Skinning Knife + {professionID = 165, typeID = Enum.WK_Objectives.Treatise, quests = {83732}, itemID = 222549, points = 1, loc = {m = 2339, x = 58.0, y = 56.4, hint = L["Crafting_Order_Inscription_Hint"]}}, + {professionID = 165, typeID = Enum.WK_Objectives.ArtisanQuest, quests = {84131}, itemID = 228778, points = 2, loc = {m = 2339, x = 59.2, y = 55.6, hint = L["Quest_Kala_Clayhoof_Hint"]}}, + {professionID = 165, typeID = Enum.WK_Objectives.Treasure, quests = {83267}, itemID = 225223, points = 1, loc = {hint = L["Treasures_And_Dirt_Hint"]}}, + {professionID = 165, typeID = Enum.WK_Objectives.Treasure, quests = {83268}, itemID = 225222, points = 1, loc = {hint = L["Treasures_And_Dirt_Hint"]}}, + {professionID = 165, typeID = Enum.WK_Objectives.DarkmoonQuest, quests = {29517}, itemID = 0, points = 3, loc = {m = 407, x = 49.6, y = 60.8, hint = L["Talk_Rinling_Darkmoon_Quest_29517_Hint"]}, requires = {{type = "item", id = 6529, amount = 10}, {type = "item", id = 2320, amount = 5}, {type = "item", id = 6260, amount = 5}}}, + {professionID = 165, typeID = Enum.WK_Objectives.CatchUp, quests = {}, itemID = 228736, points = 0, loc = {hint = L["Item_228736_Hint"]}}, + {professionID = 186, typeID = Enum.WK_Objectives.Unique, quests = {81390}, itemID = 227416, points = 15, loc = {m = 2339, x = 59.6, y = 56.2, hint = L["Vendor_Lyrendal_Hint"]}, requires = {{type = "item", id = 210814, amount = 200}}}, + {professionID = 186, typeID = Enum.WK_Objectives.Unique, quests = {81391}, itemID = 227427, points = 15, loc = {m = 2339, x = 59.6, y = 56.2, hint = L["Vendor_Lyrendal_Hint"]}, requires = {{type = "item", id = 210814, amount = 300}}}, + {professionID = 186, typeID = Enum.WK_Objectives.Unique, quests = {81392}, itemID = 227438, points = 15, loc = {m = 2339, x = 59.6, y = 56.2, hint = L["Vendor_Lyrendal_Hint"]}, requires = {{type = "item", id = 210814, amount = 400}}}, + {professionID = 186, typeID = Enum.WK_Objectives.Unique, quests = {82614}, itemID = 224055, points = 10, loc = {m = 2213, x = 46.6, y = 21.6, hint = L["Vendor_Rakka_Hint"]}, requires = {{type = "currency", id = 3056, amount = 565}}}, + {professionID = 186, typeID = Enum.WK_Objectives.Unique, quests = {83062}, itemID = 224651, points = 10, loc = {m = 2214, x = 47.2, y = 32.8, hint = L["Vendor_Waxmonger_Squick_Hint"]}, requires = {{type = "renown", id = 2594, amount = 12}, {type = "item", id = 210814, amount = 50}}}, + {professionID = 186, typeID = Enum.WK_Objectives.Unique, quests = {83906}, itemID = 226332, points = 3, loc = {m = 2248, x = 58.2, y = 62.0, hint = L["Item_226332_Hint"]}}, -- Earthen Miner's Gavel + {professionID = 186, typeID = Enum.WK_Objectives.Unique, quests = {83907}, itemID = 226333, points = 3, loc = {m = 2339, x = 36.6, y = 79.3, hint = L["Item_226333_Hint"]}}, -- Dornogal Chisel + {professionID = 186, typeID = Enum.WK_Objectives.Unique, quests = {83908}, itemID = 226334, points = 3, loc = {m = 2214, x = 49.5, y = 27.5, hint = L["Item_226334_Hint"]}}, -- Earthen Excavator's Shovel + {professionID = 186, typeID = Enum.WK_Objectives.Unique, quests = {83909}, itemID = 226335, points = 3, loc = {m = 2214, x = 66.3, y = 66.2, hint = L["Item_226335_Hint"]}}, -- Regenerating Ore + {professionID = 186, typeID = Enum.WK_Objectives.Unique, quests = {83910}, itemID = 226336, points = 3, loc = {m = 2215, x = 46.1, y = 64.5, hint = L["Item_226336_Hint"]}}, -- Arathi Precision Drill + {professionID = 186, typeID = Enum.WK_Objectives.Unique, quests = {83911}, itemID = 226337, points = 3, loc = {m = 2215, x = 43.1, y = 56.8, hint = L["Item_226337_Hint"]}}, -- Devout Archaeologist's Excavator + {professionID = 186, typeID = Enum.WK_Objectives.Unique, quests = {83912}, itemID = 226338, points = 3, loc = {m = 2213, x = 46.8, y = 21.4, hint = L["Item_226338_Hint"]}}, -- Heavy Spider Crusher + {professionID = 186, typeID = Enum.WK_Objectives.Unique, quests = {83913}, itemID = 226339, points = 3, loc = {m = 2213, x = 48.1, y = 40.7, hint = L["Item_226339_Hint"]}}, -- Nerubian Mining Supplies + {professionID = 186, typeID = Enum.WK_Objectives.Treatise, quests = {83733}, itemID = 222553, points = 1, loc = {m = 2339, x = 58.0, y = 56.4, hint = L["Crafting_Order_Inscription_Hint"]}}, + {professionID = 186, typeID = Enum.WK_Objectives.Gathering, quests = {83050, 83051, 83052, 83053, 83054}, itemID = 224583, points = 1, loc = {hint = L["Randomly_Looted_Mining_Hint"]}}, + {professionID = 186, typeID = Enum.WK_Objectives.Gathering, quests = {83049}, itemID = 224584, points = 3, loc = {hint = L["Randomly_Looted_Mining_Hint"]}}, + {professionID = 186, typeID = Enum.WK_Objectives.TrainerQuest, quests = {83104, 83105, 83103, 83106, 83102}, itemID = 224818, points = 3, limit = 1, loc = {m = 2339, x = 52.6, y = 52.6, hint = L["Talk_Mining_Trainer_Hint"]}}, + {professionID = 186, typeID = Enum.WK_Objectives.DarkmoonQuest, quests = {29518}, itemID = 0, points = 3, loc = {m = 407, x = 49.6, y = 60.8, hint = L["Talk_Rinling_Darkmoon_Quest_29518_Hint"]}}, + {professionID = 186, typeID = Enum.WK_Objectives.CatchUp, quests = {}, itemID = 224838, points = 0, loc = {hint = L["Item_224838_Hint"]}, requires = {{type = "quest", name = "Trainer Quest", quests = {83104, 83105, 83103, 83106, 83102}, match = "any"}, {type = "quest", name = "Gathering", quests = {83050, 83051, 83052, 83053, 83054, 83049}, match = "all"}}}, + {professionID = 393, typeID = Enum.WK_Objectives.Unique, quests = {82596}, itemID = 224007, points = 10, loc = {m = 2213, x = 43.5, y = 19.7, hint = L["Vendor_Kama_Hint"]}, requires = {{type = "currency", id = 3056, amount = 565}}}, + {professionID = 393, typeID = Enum.WK_Objectives.Unique, quests = {83067}, itemID = 224657, points = 10, loc = {m = 2215, x = 42.4, y = 55.0, hint = L["Vendor_Auralia_Steelstrike_Hint"]}, requires = {{type = "renown", id = 2570, amount = 14}, {type = "item", id = 210814, amount = 50}}}, + {professionID = 393, typeID = Enum.WK_Objectives.Unique, quests = {83914}, itemID = 226340, points = 3, loc = {m = 2339, x = 28.7, y = 51.8, hint = L["Object_Location_Hint"]}}, + {professionID = 393, typeID = Enum.WK_Objectives.Unique, quests = {83915}, itemID = 226341, points = 3, loc = {m = 2248, x = 60.0, y = 28.0, hint = L["Object_Location_Hint"]}}, + {professionID = 393, typeID = Enum.WK_Objectives.Unique, quests = {83916}, itemID = 226342, points = 3, loc = {m = 2214, x = 47.3, y = 28.4, hint = L["Object_Location_Hint"]}}, + {professionID = 393, typeID = Enum.WK_Objectives.Unique, quests = {83917}, itemID = 226343, points = 3, loc = {m = 2214, x = 65.8, y = 61.9, hint = L["Object_Location_Hint"]}}, + {professionID = 393, typeID = Enum.WK_Objectives.Unique, quests = {83918}, itemID = 226344, points = 3, loc = {m = 2215, x = 49.3, y = 62.1, hint = L["Object_Location_Hint"]}}, + {professionID = 393, typeID = Enum.WK_Objectives.Unique, quests = {83919}, itemID = 226345, points = 3, loc = {m = 2215, x = 42.3, y = 53.9, hint = L["Object_Location_Hint"]}}, + {professionID = 393, typeID = Enum.WK_Objectives.Unique, quests = {83920}, itemID = 226346, points = 3, loc = {m = 2213, x = 44.6, y = 49.3, hint = L["Object_Location_Hint"]}}, + {professionID = 393, typeID = Enum.WK_Objectives.Unique, quests = {83921}, itemID = 226347, points = 3, loc = {m = 2255, x = 56.5, y = 55.2, hint = L["Object_Location_Hint"]}}, + {professionID = 393, typeID = Enum.WK_Objectives.Unique, quests = {84232}, itemID = 227417, points = 15, loc = {m = 2339, x = 59.6, y = 56.2, hint = L["Vendor_Lyrendal_Hint"]}, requires = {{type = "item", id = 210814, amount = 200}}}, + {professionID = 393, typeID = Enum.WK_Objectives.Unique, quests = {84233}, itemID = 227428, points = 15, loc = {m = 2339, x = 59.6, y = 56.2, hint = L["Vendor_Lyrendal_Hint"]}, requires = {{type = "item", id = 210814, amount = 300}}}, + {professionID = 393, typeID = Enum.WK_Objectives.Unique, quests = {84234}, itemID = 227439, points = 15, loc = {m = 2339, x = 59.6, y = 56.2, hint = L["Vendor_Lyrendal_Hint"]}, requires = {{type = "item", id = 210814, amount = 400}}}, + {professionID = 393, typeID = Enum.WK_Objectives.Treatise, quests = {83734}, itemID = 222649, points = 1, loc = {m = 2339, x = 58.0, y = 56.4, hint = L["Crafting_Order_Inscription_Hint"]}}, + {professionID = 393, typeID = Enum.WK_Objectives.Gathering, quests = {81459, 81460, 81461, 81462, 81463}, itemID = 224780, points = 1, loc = {hint = L["Randomly_Looted_Skinning_Hint"]}}, + {professionID = 393, typeID = Enum.WK_Objectives.Gathering, quests = {81464}, itemID = 224781, points = 2, loc = {hint = L["Randomly_Looted_Skinning_Hint"]}}, + {professionID = 393, typeID = Enum.WK_Objectives.TrainerQuest, quests = {83097, 83098, 83100, 82992, 82993}, itemID = 224807, points = 3, limit = 1, loc = {m = 2339, x = 54.4, y = 57.6, hint = L["Talk_Skinning_Trainer_Hint"]}}, + {professionID = 393, typeID = Enum.WK_Objectives.DarkmoonQuest, quests = {29519}, itemID = 0, points = 3, loc = {m = 407, x = 55.0, y = 70.6, hint = L["Talk_Chronos_Darkmoon_Quest_29519_Hint"]}}, + {professionID = 393, typeID = Enum.WK_Objectives.CatchUp, quests = {}, itemID = 224782, points = 0, loc = {hint = L["Item_224782_Hint"]}, requires = {{type = "quest", name = "Trainer Quest", quests = {83097, 83098, 83100, 82992, 82993}, match = "any"}, {type = "quest", name = "Gathering", quests = {81459, 81460, 81461, 81462, 81463, 81464}, match = "all"}}}, + {professionID = 197, typeID = Enum.WK_Objectives.Unique, quests = {80871}, itemID = 227410, points = 10, loc = {m = 2339, x = 59.6, y = 56.2, hint = L["Vendor_Lyrendal_Hint"]}, requires = {{type = "item", id = 210814, amount = 200}}}, + {professionID = 197, typeID = Enum.WK_Objectives.Unique, quests = {80872}, itemID = 227421, points = 10, loc = {m = 2339, x = 59.6, y = 56.2, hint = L["Vendor_Lyrendal_Hint"]}, requires = {{type = "item", id = 210814, amount = 300}}}, + {professionID = 197, typeID = Enum.WK_Objectives.Unique, quests = {80873}, itemID = 227432, points = 10, loc = {m = 2339, x = 59.6, y = 56.2, hint = L["Vendor_Lyrendal_Hint"]}, requires = {{type = "item", id = 210814, amount = 400}}}, + {professionID = 197, typeID = Enum.WK_Objectives.Unique, quests = {82634}, itemID = 224036, points = 10, loc = {m = 2213, x = 50.2, y = 16.8, hint = L["Vendor_Saaria_Hint"]}, requires = {{type = "currency", id = 3056, amount = 565}}}, + {professionID = 197, typeID = Enum.WK_Objectives.Unique, quests = {83061}, itemID = 224648, points = 10, loc = {m = 2339, x = 39.2, y = 24.2, hint = L["Vendor_Auditor_Balwurz_Hint"]}, requires = {{type = "renown", id = 2590, amount = 12}, {type = "item", id = 210814, amount = 50}}}, -- Jewel-Etched Tailoring Notes + {professionID = 197, typeID = Enum.WK_Objectives.Unique, quests = {83922}, itemID = 226348, points = 3, loc = {m = 2339, x = 61.5, y = 18.7, hint = L["Item_226348_Hint"]}}, -- Dornogal Seam Ripper + {professionID = 197, typeID = Enum.WK_Objectives.Unique, quests = {83923}, itemID = 226349, points = 3, loc = {m = 2248, x = 56.2, y = 61.0, hint = L["Item_226349_Hint"]}}, -- Earthen Tape Measure + {professionID = 197, typeID = Enum.WK_Objectives.Unique, quests = {83924}, itemID = 226350, points = 3, loc = {m = 2214, x = 48.9, y = 32.8, hint = L["Item_226350_Hint"]}}, -- Runed Earthen Pins + {professionID = 197, typeID = Enum.WK_Objectives.Unique, quests = {83925}, itemID = 226351, points = 3, loc = {m = 2214, x = 64.2, y = 60.3, hint = L["Item_226351_Hint"]}}, -- Earthen Sticher's Snips + {professionID = 197, typeID = Enum.WK_Objectives.Unique, quests = {83926}, itemID = 226352, points = 3, loc = {m = 2215, x = 49.3, y = 62.3, hint = L["Item_226352_Hint"]}}, -- Arathi Rotary Cutter + {professionID = 197, typeID = Enum.WK_Objectives.Unique, quests = {83927}, itemID = 226353, points = 3, loc = {m = 2215, x = 40.1, y = 68.1, hint = L["Item_226353_Hint"]}}, -- Royal Outfitter's Protractor + {professionID = 197, typeID = Enum.WK_Objectives.Unique, quests = {83928}, itemID = 226354, points = 3, loc = {m = 2255, x = 53.3, y = 53.0, hint = L["Item_226354_Hint"]}}, -- Nerubian Quilt + {professionID = 197, typeID = Enum.WK_Objectives.Unique, quests = {83929}, itemID = 226355, points = 3, loc = {m = 2213, x = 50.5, y = 16.7, hint = L["Item_226355_Hint"]}}, -- Nerubian's Pincushion + {professionID = 197, typeID = Enum.WK_Objectives.Treatise, quests = {83735}, itemID = 222547, points = 1, loc = {m = 2339, x = 58.0, y = 56.4, hint = L["Crafting_Order_Inscription_Hint"]}}, + {professionID = 197, typeID = Enum.WK_Objectives.ArtisanQuest, quests = {84132}, itemID = 228779, points = 2, loc = {m = 2339, x = 59.2, y = 55.6, hint = L["Quest_Kala_Clayhoof_Hint"]}}, + {professionID = 197, typeID = Enum.WK_Objectives.Treasure, quests = {83269}, itemID = 225221, points = 1, loc = {hint = L["Treasures_And_Dirt_Hint"]}}, + {professionID = 197, typeID = Enum.WK_Objectives.Treasure, quests = {83270}, itemID = 225220, points = 1, loc = {hint = L["Treasures_And_Dirt_Hint"]}}, + {professionID = 197, typeID = Enum.WK_Objectives.DarkmoonQuest, quests = {29520}, itemID = 0, points = 3, loc = {m = 407, x = 55.6, y = 55.8, hint = L["Talk_Selina_Dourman_Darkmoon_Quest_29520_Hint"]}, requires = {{type = "item", id = 2320, amount = 1}, {type = "item", id = 2604, amount = 1}, {type = "item", id = 6260, amount = 1}}}, + {professionID = 197, typeID = Enum.WK_Objectives.CatchUp, quests = {}, itemID = 228738, points = 0, loc = {hint = L["Item_228738_Hint"]}}, } ---@type WK_Profession[] Data.Professions = { { - name = "Alchemy", + name = L["Alchemy"], skillLineID = 171, skillLineVariantID = 2871, spellID = 423321, @@ -343,7 +365,7 @@ Data.Professions = { catchUpItemID = 228724, }, { - name = "Blacksmithing", + name = L["Blacksmithing"], skillLineID = 164, skillLineVariantID = 2872, spellID = 423332, @@ -352,7 +374,7 @@ Data.Professions = { catchUpItemID = 228726, }, { - name = "Enchanting", + name = L["Enchanting"], skillLineID = 333, skillLineVariantID = 2874, spellID = 423334, @@ -361,7 +383,7 @@ Data.Professions = { catchUpItemID = 227662, }, { - name = "Engineering", + name = L["Engineering"], skillLineID = 202, skillLineVariantID = 2875, spellID = 423335, @@ -370,7 +392,7 @@ Data.Professions = { catchUpItemID = 228730, }, { - name = "Herbalism", + name = L["Herbalism"], skillLineID = 182, skillLineVariantID = 2877, spellID = 441327, @@ -379,7 +401,7 @@ Data.Professions = { catchUpItemID = 224835, }, { - name = "Inscription", + name = L["Inscription"], skillLineID = 773, skillLineVariantID = 2878, spellID = 423338, @@ -388,7 +410,7 @@ Data.Professions = { catchUpItemID = 228732, }, { - name = "Jewelcrafting", + name = L["Jewelcrafting"], skillLineID = 755, skillLineVariantID = 2879, spellID = 423339, @@ -397,7 +419,7 @@ Data.Professions = { catchUpItemID = 228734, }, { - name = "Leatherworking", + name = L["Leatherworking"], skillLineID = 165, skillLineVariantID = 2880, spellID = 423340, @@ -406,7 +428,7 @@ Data.Professions = { catchUpItemID = 228736, }, { - name = "Mining", + name = L["Mining"], skillLineID = 186, skillLineVariantID = 2881, spellID = 423341, @@ -415,7 +437,7 @@ Data.Professions = { catchUpItemID = 224838, }, { - name = "Skinning", + name = L["Skinning"], skillLineID = 393, skillLineVariantID = 2882, spellID = 423342, @@ -424,7 +446,7 @@ Data.Professions = { catchUpItemID = 224782, }, { - name = "Tailoring", + name = L["Tailoring"], skillLineID = 197, skillLineVariantID = 2883, spellID = 423343, @@ -529,6 +551,12 @@ function Data:MigrateDB() end end end + -- profession equipment -- mfm + if self.db.global.DBVersion == 9 then + for characterGUID, character in pairs(self.db.global.characters) do + character.equipment = {} + end + end self.db.global.DBVersion = self.db.global.DBVersion + 1 self:MigrateDB() end @@ -828,12 +856,27 @@ function Data:GetWeeklyProgress() end end) - if objective.objectiveID == Enum.WK_Objectives.DarkmoonQuest then + if objective.typeID == Enum.WK_Objectives.DarkmoonQuest then if not self.cache.isDarkmoonOpen then progress.questsTotal = 0 end end + if objective.typeID == Enum.WK_Objectives.CatchUp and profession.catchUpCurrencyID then + local catchUpCurrent = characterProfession.catchUpCurrencyInfo.quantity + local catchUpTotal = characterProfession.catchUpCurrencyInfo.maxQuantity + + progress.pointsEarned = catchUpCurrent + progress.pointsTotal = catchUpTotal + + if catchUpCurrent < catchUpTotal then + progress.questsTotal = catchUpTotal - catchUpCurrent + else + progress.questsTotal = catchUpTotal + progress.questsCompleted = catchUpTotal + end + end + table.insert(self.cache.weeklyProgress, progress) end) end) diff --git a/Libs/AceLocale-3.0/AceLocale-3.0.lua b/Libs/AceLocale-3.0/AceLocale-3.0.lua new file mode 100644 index 0000000..d69aa73 --- /dev/null +++ b/Libs/AceLocale-3.0/AceLocale-3.0.lua @@ -0,0 +1,133 @@ +--- **AceLocale-3.0** manages localization in addons, allowing for multiple locale to be registered with fallback to the base locale for untranslated strings. +-- @class file +-- @name AceLocale-3.0 +-- @release $Id: AceLocale-3.0.lua 1284 2022-09-25 09:15:30Z nevcairiel $ +local MAJOR,MINOR = "AceLocale-3.0", 6 + +local AceLocale, oldminor = LibStub:NewLibrary(MAJOR, MINOR) + +if not AceLocale then return end -- no upgrade needed + +-- Lua APIs +local assert, tostring, error = assert, tostring, error +local getmetatable, setmetatable, rawset, rawget = getmetatable, setmetatable, rawset, rawget + +local gameLocale = GetLocale() +if gameLocale == "enGB" then + gameLocale = "enUS" +end + +AceLocale.apps = AceLocale.apps or {} -- array of ["AppName"]=localetableref +AceLocale.appnames = AceLocale.appnames or {} -- array of [localetableref]="AppName" + +-- This metatable is used on all tables returned from GetLocale +local readmeta = { + __index = function(self, key) -- requesting totally unknown entries: fire off a nonbreaking error and return key + rawset(self, key, key) -- only need to see the warning once, really + geterrorhandler()(MAJOR..": "..tostring(AceLocale.appnames[self])..": Missing entry for '"..tostring(key).."'") + return key + end +} + +-- This metatable is used on all tables returned from GetLocale if the silent flag is true, it does not issue a warning on unknown keys +local readmetasilent = { + __index = function(self, key) -- requesting totally unknown entries: return key + rawset(self, key, key) -- only need to invoke this function once + return key + end +} + +-- Remember the locale table being registered right now (it gets set by :NewLocale()) +-- NOTE: Do never try to register 2 locale tables at once and mix their definition. +local registering + +-- local assert false function +local assertfalse = function() assert(false) end + +-- This metatable proxy is used when registering nondefault locales +local writeproxy = setmetatable({}, { + __newindex = function(self, key, value) + rawset(registering, key, value == true and key or value) -- assigning values: replace 'true' with key string + end, + __index = assertfalse +}) + +-- This metatable proxy is used when registering the default locale. +-- It refuses to overwrite existing values +-- Reason 1: Allows loading locales in any order +-- Reason 2: If 2 modules have the same string, but only the first one to be +-- loaded has a translation for the current locale, the translation +-- doesn't get overwritten. +-- +local writedefaultproxy = setmetatable({}, { + __newindex = function(self, key, value) + if not rawget(registering, key) then + rawset(registering, key, value == true and key or value) + end + end, + __index = assertfalse +}) + +--- Register a new locale (or extend an existing one) for the specified application. +-- :NewLocale will return a table you can fill your locale into, or nil if the locale isn't needed for the players +-- game locale. +-- @paramsig application, locale[, isDefault[, silent]] +-- @param application Unique name of addon / module +-- @param locale Name of the locale to register, e.g. "enUS", "deDE", etc. +-- @param isDefault If this is the default locale being registered (your addon is written in this language, generally enUS) +-- @param silent If true, the locale will not issue warnings for missing keys. Must be set on the first locale registered. If set to "raw", nils will be returned for unknown keys (no metatable used). +-- @usage +-- -- enUS.lua +-- local L = LibStub("AceLocale-3.0"):NewLocale("TestLocale", "enUS", true) +-- L["string1"] = true +-- +-- -- deDE.lua +-- local L = LibStub("AceLocale-3.0"):NewLocale("TestLocale", "deDE") +-- if not L then return end +-- L["string1"] = "Zeichenkette1" +-- @return Locale Table to add localizations to, or nil if the current locale is not required. +function AceLocale:NewLocale(application, locale, isDefault, silent) + + -- GAME_LOCALE allows translators to test translations of addons without having that wow client installed + local activeGameLocale = GAME_LOCALE or gameLocale + + local app = AceLocale.apps[application] + + if silent and app and getmetatable(app) ~= readmetasilent then + geterrorhandler()("Usage: NewLocale(application, locale[, isDefault[, silent]]): 'silent' must be specified for the first locale registered") + end + + if not app then + if silent=="raw" then + app = {} + else + app = setmetatable({}, silent and readmetasilent or readmeta) + end + AceLocale.apps[application] = app + AceLocale.appnames[app] = application + end + + if locale ~= activeGameLocale and not isDefault then + return -- nop, we don't need these translations + end + + registering = app -- remember globally for writeproxy and writedefaultproxy + + if isDefault then + return writedefaultproxy + end + + return writeproxy +end + +--- Returns localizations for the current locale (or default locale if translations are missing). +-- Errors if nothing is registered (spank developer, not just a missing translation) +-- @param application Unique name of addon / module +-- @param silent If true, the locale is optional, silently return nil if it's not found (defaults to false, optional) +-- @return The locale table for the current language. +function AceLocale:GetLocale(application, silent) + if not silent and not AceLocale.apps[application] then + error("Usage: GetLocale(application[, silent]): 'application' - No locales registered for '"..tostring(application).."'", 2) + end + return AceLocale.apps[application] +end diff --git a/Libs/AceLocale-3.0/AceLocale-3.0.xml b/Libs/AceLocale-3.0/AceLocale-3.0.xml new file mode 100644 index 0000000..e017af0 --- /dev/null +++ b/Libs/AceLocale-3.0/AceLocale-3.0.xml @@ -0,0 +1,4 @@ + +