23 Commits

Author SHA1 Message Date
3007df9958 Fix split TOC files 2025-11-25 11:52:44 -05:00
29e33f73a5 Add support for built-in waypoints if TomTom not installed 2025-11-25 11:40:49 -05:00
cce4f893aa Set TomTom to right zone and fix config command 2025-11-25 11:01:01 -05:00
4c9f9eb9ec Add TOC file for MoP 2025-11-25 10:22:07 -05:00
296c95b3a2 Try to work with MoP classic 2025-11-25 09:55:08 -05:00
8ce33b2a2d Fix version 2025-11-25 09:19:11 -05:00
330de41b3e Fix repuation and completed quest detection 2025-11-25 09:08:14 -05:00
4fe4f65882 Update package version 2025-11-24 13:58:15 -05:00
0dee31d633 Update interface version 2024-02-02 18:55:30 -05:00
5ae9aaa8c7 Update version 2023-01-25 16:57:05 -05:00
6da8b8bff1 Fix LibQTip external and update interface version 2023-01-02 08:21:55 -05:00
b14c4a358a Rework how item names are retrieved to avoid concatenation errors 2022-11-04 12:22:32 -04:00
a80d3ded01 Bump version 2022-10-31 15:24:01 -04:00
5b441d1dee Update LibDataBroker external 2022-10-31 15:19:54 -04:00
6afc62a355 Update for Dragonflight 2022-10-31 14:56:24 -04:00
3fd9daf009 Defer updates until fully loaded 2020-12-16 15:31:30 -05:00
c30f0fe3ae Fix localization issue 2020-11-27 09:58:20 -05:00
7ed4da43cd Update for 9.0.2 2020-11-17 12:55:28 -05:00
b6d78b1caf Update version 2020-11-16 17:59:58 -05:00
be513420c2 Fix API call 2020-11-16 17:59:48 -05:00
ecc6f258a2 Adjust level checks
Not sure if 10 is right but can adjust later
2020-11-16 17:59:29 -05:00
d99c214111 Update pkgmeta 2020-11-16 16:06:37 -05:00
294bb6dede Add change from l4r0e - thanks! 2020-11-16 15:55:32 -05:00
6 changed files with 178 additions and 98 deletions

View File

@@ -2,41 +2,42 @@
externals: externals:
Libs/LibStub: Libs/LibStub:
url: svn://svn.wowace.com/wow/libstub/mainline/trunk url: https://repos.wowace.com/wow/libstub/trunk
tag: latest tag: latest
Libs/CallbackHandler-1.0: Libs/CallbackHandler-1.0:
url: svn://svn.wowace.com/wow/callbackhandler/mainline/trunk/CallbackHandler-1.0 url: https://repos.wowace.com/wow/ace3/trunk/CallbackHandler-1.0
tag: latest tag: latest
Libs/LibQTip-1.0: Libs/LibQTip-1.0:
url: svn://svn.wowace.com/wow/libqtip-1-0/mainline/trunk url: https://repos.curseforge.com/wow/libqtip-1-0
tag: latest
Libs/LibDataBroker-1.1: Libs/LibDataBroker-1.1:
url: git://github.com/tekkub/libdatabroker-1-1.git url: https://github.com/tekkub/libdatabroker-1-1
tag: latest tag: latest
Libs/AceLocale-3.0: Libs/AceLocale-3.0:
url: svn://svn.wowace.com/wow/ace3/mainline/trunk/AceLocale-3.0 url: https://repos.wowace.com/wow/ace3/trunk/AceLocale-3.0
tag: latest tag: latest
Libs/AceConsole-3.0: Libs/AceConsole-3.0:
url: svn://svn.wowace.com/wow/ace3/mainline/trunk/AceConsole-3.0 url: https://repos.wowace.com/wow/ace3/trunk/AceConsole-3.0
tag: latest tag: latest
Libs/AceAddon-3.0: Libs/AceAddon-3.0:
url: svn://svn.wowace.com/wow/ace3/mainline/trunk/AceAddon-3.0 url: https://repos.wowace.com/wow/ace3/trunk/AceAddon-3.0
tag: latest tag: latest
Libs/AceEvent-3.0: Libs/AceEvent-3.0:
url: svn://svn.wowace.com/wow/ace3/mainline/trunk/AceEvent-3.0 url: https://repos.wowace.com/wow/ace3/trunk/AceEvent-3.0
tag: latest tag: latest
Libs/AceTimer-3.0: Libs/AceTimer-3.0:
url: svn://svn.wowace.com/wow/ace3/mainline/trunk/AceTimer-3.0 url: https://repos.wowace.com/wow/ace3/trunk/AceTimer-3.0
tag: latest tag: latest
Libs/AceConfig-3.0: Libs/AceConfig-3.0:
url: svn://svn.wowace.com/wow/ace3/mainline/trunk/AceConfig-3.0 url: https://repos.wowace.com/wow/ace3/trunk/AceConfig-3.0
tag: latest tag: latest
Libs/AceDB-3.0: Libs/AceDB-3.0:
url: svn://svn.wowace.com/wow/ace3/mainline/trunk/AceDB-3.0 url: https://repos.wowace.com/wow/ace3/trunk/AceDB-3.0
tag: latest tag: latest
Libs/AceGUI-3.0: Libs/AceGUI-3.0:
url: svn://svn.wowace.com/wow/ace3/mainline/trunk/AceGUI-3.0 url: https://repos.wowace.com/wow/ace3/trunk/AceGUI-3.0
tag: latest tag: latest
Libs/LibDBIcon-1.0: Libs/LibDBIcon-1.0:
url: svn://svn.wowace.com/wow/libdbicon-1-0/mainline/trunk/LibDBIcon-1.0 url: https://repos.wowace.com/wow/libdbicon-1-0/trunk/LibDBIcon-1.0
tag: latest tag: latest
enable-nolib-creation: no

View File

@@ -9,7 +9,8 @@ private.QUESTS = {
LOCATION = { 34.4, 46.8 }, LOCATION = { 34.4, 46.8 },
MATS = { { COUNT = 1, ITEM_ID = 74864 }, { COUNT = 1, ITEM_ID = 74839 } }, MATS = { { COUNT = 1, ITEM_ID = 74864 }, { COUNT = 1, ITEM_ID = 74839 } },
REP_ID = 1277, REP_ID = 1277,
RECIPE_ID = 104302 RECIPE_ID = 104302,
COMPLETED = false
}, },
[30386] = { [30386] = {
NAME = L["A Dish for Ella"], NAME = L["A Dish for Ella"],
@@ -17,7 +18,8 @@ private.QUESTS = {
LOCATION = { 31.6, 58.0 }, LOCATION = { 31.6, 58.0 },
MATS = { { COUNT = 1, ITEM_ID = 74857 } }, MATS = { { COUNT = 1, ITEM_ID = 74857 } },
REP_ID = 1275, REP_ID = 1275,
RECIPE_ID = 104307 RECIPE_ID = 104307,
COMPLETED = false
}, },
[30421] = { [30421] = {
NAME = L["A Dish for Farmer Fung"], NAME = L["A Dish for Farmer Fung"],
@@ -25,7 +27,8 @@ private.QUESTS = {
LOCATION = { 48.2, 33.8 }, LOCATION = { 48.2, 33.8 },
MATS = { { COUNT = 1, ITEM_ID = 74839 } }, MATS = { { COUNT = 1, ITEM_ID = 74839 } },
REP_ID = 1283, REP_ID = 1283,
RECIPE_ID = 104310 RECIPE_ID = 104310,
COMPLETED = false
}, },
[30427] = { [30427] = {
NAME = L["A Dish for Fish"], NAME = L["A Dish for Fish"],
@@ -33,7 +36,8 @@ private.QUESTS = {
LOCATION = { 41.6, 30.0 }, LOCATION = { 41.6, 30.0 },
MATS = { { COUNT = 2, ITEM_ID = 74865 } }, MATS = { { COUNT = 2, ITEM_ID = 74865 } },
REP_ID = 1282, REP_ID = 1282,
RECIPE_ID = 104311 RECIPE_ID = 104311,
COMPLETED = false
}, },
[30390] = { [30390] = {
NAME = L["A Dish for Gina"], NAME = L["A Dish for Gina"],
@@ -41,7 +45,8 @@ private.QUESTS = {
LOCATION = { 53.2, 51.6 }, LOCATION = { 53.2, 51.6 },
MATS = { { COUNT = 1, ITEM_ID = 74856 } }, MATS = { { COUNT = 1, ITEM_ID = 74856 } },
REP_ID = 1281, REP_ID = 1281,
RECIPE_ID = 104304 RECIPE_ID = 104304,
COMPLETED = false
}, },
[30414] = { [30414] = {
NAME = L["A Dish for Haohan"], NAME = L["A Dish for Haohan"],
@@ -49,7 +54,8 @@ private.QUESTS = {
LOCATION = { 44.6, 34.0 }, LOCATION = { 44.6, 34.0 },
MATS = { { COUNT = 1, ITEM_ID = 74833 } }, MATS = { { COUNT = 1, ITEM_ID = 74833 } },
REP_ID = 1279, REP_ID = 1279,
RECIPE_ID = 104298 RECIPE_ID = 104298,
COMPLETED = false
}, },
[30439] = { [30439] = {
NAME = L["A Dish for Jogu"], NAME = L["A Dish for Jogu"],
@@ -57,7 +63,8 @@ private.QUESTS = {
LOCATION = { 53.6, 52.4 }, LOCATION = { 53.6, 52.4 },
MATS = { { COUNT = 2, ITEM_ID = 74841 } }, MATS = { { COUNT = 2, ITEM_ID = 74841 } },
REP_ID = 1273, REP_ID = 1273,
RECIPE_ID = 104301 RECIPE_ID = 104301,
COMPLETED = false
}, },
[30396] = { [30396] = {
NAME = L["A Dish for Old Hillpaw"], NAME = L["A Dish for Old Hillpaw"],
@@ -65,7 +72,8 @@ private.QUESTS = {
LOCATION = { 31.0, 53.0 }, LOCATION = { 31.0, 53.0 },
MATS = { { COUNT = 1, ITEM_ID = 74837 }, { COUNT = 5, ITEM_ID = 74841 } }, MATS = { { COUNT = 1, ITEM_ID = 74837 }, { COUNT = 5, ITEM_ID = 74841 } },
REP_ID = 1276, REP_ID = 1276,
RECIPE_ID = 104305 RECIPE_ID = 104305,
COMPLETED = false
}, },
[30408] = { [30408] = {
NAME = L["A Dish for Sho"], NAME = L["A Dish for Sho"],
@@ -73,7 +81,8 @@ private.QUESTS = {
LOCATION = { 29.6, 30.6 }, LOCATION = { 29.6, 30.6 },
MATS = { { COUNT = 1, ITEM_ID = 74856 }, { COUNT = 5, ITEM_ID = 74848 } }, MATS = { { COUNT = 1, ITEM_ID = 74856 }, { COUNT = 5, ITEM_ID = 74848 } },
REP_ID = 1278, REP_ID = 1278,
RECIPE_ID = 104299 RECIPE_ID = 104299,
COMPLETED = false
}, },
[30433] = { [30433] = {
NAME = L["A Dish for Tina"], NAME = L["A Dish for Tina"],
@@ -81,6 +90,7 @@ private.QUESTS = {
LOCATION = { 45.0, 33.8 }, LOCATION = { 45.0, 33.8 },
MATS = { { COUNT = 1, ITEM_ID = 74859 }, { COUNT = 5, ITEM_ID = 74843 } }, MATS = { { COUNT = 1, ITEM_ID = 74859 }, { COUNT = 5, ITEM_ID = 74843 } },
REP_ID = 1280, REP_ID = 1280,
RECIPE_ID = 104308 RECIPE_ID = 104308,
COMPLETED = false
} }
} }

View File

@@ -20,7 +20,7 @@ L["A Dish for Tina"] = true
L["|cFF00FF00Complete|r"] = true L["|cFF00FF00Complete|r"] = true
L["|cFFFF0000Not Complete|r"] = true L["|cFFFF0000Not Complete|r"] = true
L["|cFFFFFF00Click|r a quest in the tooltip to set a TomTom waypoint at the farmer's home"] = true L["|cFFFFFF00Click|r a quest in the tooltip to set a waypoint at the farmer's home"] = true
L["|cFFFFFF00Click|r the main button to toggle whether the tooltip stays open"] = true L["|cFFFFFF00Click|r the main button to toggle whether the tooltip stays open"] = true
L["|cFFFFFF00Right Click|r the main button to cycle through which ingredient to track"] = true L["|cFFFFFF00Right Click|r the main button to cycle through which ingredient to track"] = true
L["|cFFFFFF00Ctrl-Click|r the main button to queue craftable foods in Skillet"] = true L["|cFFFFFF00Ctrl-Click|r the main button to queue craftable foods in Skillet"] = true
@@ -34,7 +34,7 @@ L["Need"] = true
L["Gather:"] = true L["Gather:"] = true
L["Done"] = true L["Done"] = true
L["Disabled until level 90"] = true L["Disabled until level 10"] = true
L["Best Friends with everyone"] = true L["Best Friends with everyone"] = true

View File

@@ -197,8 +197,7 @@ function TillerTracker:OnInitialize()
private.pinned = false private.pinned = false
private.need_index = 1 private.need_index = 1
private.loaded = false private.loaded = false
private.item_wait_table = {} private.item_name_table = {}
private.item_wait_count = 0
-- Get rid of settings from before AceDB -- Get rid of settings from before AceDB
if TillerTrackerDB then if TillerTrackerDB then
@@ -223,9 +222,9 @@ function TillerTracker:OnInitialize()
end end
function TillerTracker:OnEnable() function TillerTracker:OnEnable()
-- Disable if the player is less than 90 -- Disable if the player is less than 10
if (UnitLevel("player") < 90) then if (UnitLevel("player") < 10) then
LDB.text = L["Disabled until level 90"] LDB.text = L["Disabled until level 10"]
-- Register to get player level events -- Register to get player level events
self:RegisterEvent("PLAYER_LEVEL_UP") self:RegisterEvent("PLAYER_LEVEL_UP")
@@ -244,7 +243,7 @@ function TillerTracker:OnEnable()
end end
function TillerTracker:PLAYER_LEVEL_UP(event, newLevel) function TillerTracker:PLAYER_LEVEL_UP(event, newLevel)
if (tonumber(newLevel) >= 90) then if (tonumber(newLevel) >= 10) then
-- Do the real enable -- Do the real enable
TillerTracker:OnEnableCore() TillerTracker:OnEnableCore()
@@ -258,33 +257,26 @@ function TillerTracker:OnEnableCore()
TillerTracker:Print(L["Loading..."]) TillerTracker:Print(L["Loading..."])
LDB.text = L["Loading..."] LDB.text = L["Loading..."]
-- Register to get item info events for now -- Load item info from cache
self:RegisterEvent("GET_ITEM_INFO_RECEIVED")
-- Attempt to load the cache
TillerTracker:LoadCache() TillerTracker:LoadCache()
-- If everything is cached we're good to go
if (private.item_wait_count == 0) then
TillerTracker:OnLoaded(self)
end
end end
function TillerTracker:LoadCache() function TillerTracker:LoadCache()
local item_count = 0
local item_loaded_count = 0
local item_table = {}
private.item_name_table = {}
-- Loop over each quest in the data -- Loop over each quest in the data
for _, quest_info in pairs(private.QUESTS) do for _, quest_info in pairs(private.QUESTS) do
-- Get the item ID of the food -- Get the item ID of the food
local food_id = quest_info["FOOD_ID"] local food_id = quest_info["FOOD_ID"]
-- Try to get the info for the food -- Add the food to the list of items
local food_name = GetItemInfo(food_id) item_table[food_id] = Item:CreateFromItemID(food_id)
item_count = item_count + 1
-- If the information wasn't available add it to the list of waiting items
if (food_name == nil) then
private.item_wait_table[food_id] = true
private.item_wait_count = private.item_wait_count + 1
end
-- Loop over the mats required to cook the food for the quest -- Loop over the mats required to cook the food for the quest
for _, mat_data in pairs(quest_info["MATS"]) do for _, mat_data in pairs(quest_info["MATS"]) do
@@ -292,32 +284,29 @@ function TillerTracker:LoadCache()
-- Get the item ID of the mat -- Get the item ID of the mat
local mat_id = mat_data["ITEM_ID"] local mat_id = mat_data["ITEM_ID"]
-- Try to get the info for the mat -- Add the mat to the list of items
local mat_name = GetItemInfo(mat_id) if (item_table[mat_id] == nil) then
item_table[mat_id] = Item:CreateFromItemID(mat_id)
-- If the information wasn't available add it to the list of waiting items item_count = item_count + 1
if (mat_name == nil) then
if (private.item_wait_table[mat_id] == nil) then
private.item_wait_table[mat_id] = true
private.item_wait_count = private.item_wait_count + 1
end
end end
end end
end end
end
function TillerTracker:GET_ITEM_INFO_RECEIVED() -- Loop over all items we need to cache
for id, _ in pairs(private.item_wait_table) do for _, item in pairs(item_table) do
if GetItemInfo(id) then
private.item_wait_table[id] = nil
private.item_wait_count = private.item_wait_count - 1 -- Wait for the item to load
end item:ContinueOnItemLoad(function()
end
-- If everything is cached we're good to go -- Save the name
if (private.item_wait_count == 0) then private.item_name_table[item:GetItemID()] = item:GetItemName()
TillerTracker:OnLoaded(self) item_loaded_count = item_loaded_count + 1
-- If everything is cached we're good to go
if (item_count == item_loaded_count) then
TillerTracker:OnLoaded(self)
end
end)
end end
end end
@@ -326,9 +315,6 @@ function TillerTracker:OnLoaded(self)
TillerTracker:Print(L["Loaded"]) TillerTracker:Print(L["Loaded"])
LDB.text = L["Loaded"] LDB.text = L["Loaded"]
-- Done with item info events
self:UnregisterEvent("GET_ITEM_INFO_RECEIVED")
self:RegisterEvent("QUEST_LOG_UPDATE") self:RegisterEvent("QUEST_LOG_UPDATE")
self:RegisterEvent("BAG_UPDATE") self:RegisterEvent("BAG_UPDATE")
@@ -340,13 +326,16 @@ end
local function Entry_OnMouseUp(frame, info, button) local function Entry_OnMouseUp(frame, info, button)
if button == "LeftButton" then if button == "LeftButton" then
if not _G.TomTom then
return
end
local location = info["LOCATION"] local location = info["LOCATION"]
_G.TomTom:AddMFWaypoint(807, nil, location[1] / 100, location[2] / 100, { title = info["NAME"] }) if _G.TomTom then
_G.TomTom:AddWaypoint(376, location[1] / 100, location[2] / 100, { title = info["NAME"] })
elseif C_Map.CanSetUserWaypointOnMap then
if C_Map.CanSetUserWaypointOnMap(376) then
local mapPoint = UiMapPoint.CreateFromCoordinates(376, location[1] / 100, location[2] / 100)
C_Map.SetUserWaypoint(mapPoint)
end
end
end end
end end
@@ -362,16 +351,20 @@ local function SetSort(cell, sort)
private.db.global.sort_dir = "ASC" private.db.global.sort_dir = "ASC"
end end
if not private.loaded then
return
end
TillerTracker:UpdateData() TillerTracker:UpdateData()
TillerTracker:UpdateTooltip() TillerTracker:UpdateTooltip()
end end
function TillerTracker:ReputationDone(reputationId) function TillerTracker:ReputationDone(reputationId)
-- Get the reputation information -- Get the reputation information
local _, friendRep = GetFriendshipReputation(reputationId) local friendRep = C_GossipInfo.GetFriendshipReputation(reputationId).standing
-- Done if over exalted -- Done if over exalted
return (friendRep > 42000) return (friendRep >= 42000)
end end
function TillerTracker:AllReputationsDone() function TillerTracker:AllReputationsDone()
@@ -384,9 +377,25 @@ function TillerTracker:AllReputationsDone()
return true return true
end end
function TillerTracker:GetAllCompletedQuestIDs()
if C_QuestLog.GetAllCompletedQuestIDs then
return C_QuestLog.GetAllCompletedQuestIDs()
elseif GetQuestsCompleted then
local completedQuestIds = {}
local questsCompleted = GetQuestsCompleted()
for quest_id in pairs(questsCompleted) do
table.insert(completedQuestIds, quest_id)
end
return completedQuestIds
end
end
function TillerTracker:UpdateData() function TillerTracker:UpdateData()
-- Get information on all quests completed -- Get information on all quests completed
local questsCompleted = GetQuestsCompleted() local questsCompleted = TillerTracker:GetAllCompletedQuestIDs()
-- Create a table to store our current inventory of required mats -- Create a table to store our current inventory of required mats
local inv_table = {} local inv_table = {}
@@ -398,6 +407,9 @@ function TillerTracker:UpdateData()
-- Loop over each quest in the data -- Loop over each quest in the data
for _, quest_info in pairs(private.QUESTS) do for _, quest_info in pairs(private.QUESTS) do
-- Reset completed to false
quest_info["COMPLETED"] = false
-- Loop over the mats required to cook the food for the quest -- Loop over the mats required to cook the food for the quest
for _, mat_data in pairs(quest_info["MATS"]) do for _, mat_data in pairs(quest_info["MATS"]) do
@@ -412,6 +424,15 @@ function TillerTracker:UpdateData()
end end
end end
-- Loop over each quest completed
for _, quest_id in pairs(questsCompleted) do
-- Set completed to true if it is one we're tracking
if (private.QUESTS[quest_id]) then
private.QUESTS[quest_id]["COMPLETED"] = true
end
end
-- Create a table to hold the information to display for each quest -- Create a table to hold the information to display for each quest
private.quest_table = {} private.quest_table = {}
private.quest_count = 0 private.quest_count = 0
@@ -426,7 +447,7 @@ function TillerTracker:UpdateData()
local food_id = quest_info["FOOD_ID"] local food_id = quest_info["FOOD_ID"]
-- Get the name of the food for display -- Get the name of the food for display
local food_name = GetItemInfo(food_id) local food_name = private.item_name_table[food_id]
-- Get how many of the food we have in our bags -- Get how many of the food we have in our bags
local food_count = GetItemCount(food_id, true, false) local food_count = GetItemCount(food_id, true, false)
@@ -443,7 +464,7 @@ function TillerTracker:UpdateData()
local quest_status = "" local quest_status = ""
local can_craft = 0 local can_craft = 0
if (questsCompleted[quest_id]) then if (quest_info["COMPLETED"]) then
-- Quest has already been completed today -- Quest has already been completed today
quest_status = L["|cFF00FF00Complete|r"] quest_status = L["|cFF00FF00Complete|r"]
else else
@@ -487,7 +508,7 @@ function TillerTracker:UpdateData()
if (mat_count > 0) then if (mat_count > 0) then
-- Get the name of the mat -- Get the name of the mat
local mat_name = GetItemInfo(mat_id) local mat_name = private.item_name_table[mat_id]
-- Set the mat need string to the count needed and the name -- Set the mat need string to the count needed and the name
local mat_need = mat_count .. " " .. mat_name local mat_need = mat_count .. " " .. mat_name
@@ -580,8 +601,8 @@ function TillerTracker:UpdateTooltip()
-- Add the line with info about the current quest -- Add the line with info about the current quest
line = private.tooltip:AddLine(quest["NAME_DISPLAY"], quest["FOOD_DISPLAY"], quest["AMOUNT_DISPLAY"], quest["STATUS"], quest["NEED"]) line = private.tooltip:AddLine(quest["NAME_DISPLAY"], quest["FOOD_DISPLAY"], quest["AMOUNT_DISPLAY"], quest["STATUS"], quest["NEED"])
-- If TomTom is installed then set the line script -- Set the line script if TomTom is installed or the game supports waypoints
if _G.TomTom then if C_Map.CanSetUserWaypointOnMap or _G.TomTom then
private.tooltip:SetLineScript(line, "OnMouseUp", Entry_OnMouseUp, { NAME = quest["NAME"], LOCATION = quest["LOCATION"] }) private.tooltip:SetLineScript(line, "OnMouseUp", Entry_OnMouseUp, { NAME = quest["NAME"], LOCATION = quest["LOCATION"] })
end end
end end
@@ -595,10 +616,10 @@ function TillerTracker:UpdateTooltip()
line = private.tooltip:AddLine() line = private.tooltip:AddLine()
private.tooltip:SetCell(line, 1, L["|cFFFFFF00Right Click|r the main button to cycle through which ingredient to track"], "LEFT", private.tooltip:GetColumnCount()) private.tooltip:SetCell(line, 1, L["|cFFFFFF00Right Click|r the main button to cycle through which ingredient to track"], "LEFT", private.tooltip:GetColumnCount())
-- If TomTom is installed then add a hint to the end -- Add a hint to the end if TomTom is installed or the game supports waypoints
if _G.TomTom then if C_Map.CanSetUserWaypointOnMap or _G.TomTom then
line = private.tooltip:AddLine() line = private.tooltip:AddLine()
private.tooltip:SetCell(line, 1, L["|cFFFFFF00Click|r a quest in the tooltip to set a TomTom waypoint at the farmer's home"], "LEFT", private.tooltip:GetColumnCount()) private.tooltip:SetCell(line, 1, L["|cFFFFFF00Click|r a quest in the tooltip to set a waypoint at the farmer's home"], "LEFT", private.tooltip:GetColumnCount())
end end
-- Add the Skillet hint if installed -- Add the Skillet hint if installed
@@ -626,7 +647,7 @@ function TillerTracker:UpdateText()
-- Loop over the need table -- Loop over the need table
for need_id, need_count in pairs(private.need_table) do for need_id, need_count in pairs(private.need_table) do
if need_index == private.need_index then if need_index == private.need_index then
LDB.text = L["Gather:"] .. " " .. need_count .. " " .. GetItemInfo(need_id) LDB.text = L["Gather:"] .. " " .. need_count .. " " .. private.item_name_table[need_id]
return return
end end
@@ -647,6 +668,10 @@ function LDB.OnEnter(self)
end end
function TillerTracker:QUEST_LOG_UPDATE() function TillerTracker:QUEST_LOG_UPDATE()
if not private.loaded then
return
end
TillerTracker:UpdateData() TillerTracker:UpdateData()
TillerTracker:UpdateText() TillerTracker:UpdateText()
@@ -658,6 +683,10 @@ function TillerTracker:QUEST_LOG_UPDATE()
end end
function TillerTracker:BAG_UPDATE() function TillerTracker:BAG_UPDATE()
if not private.loaded then
return
end
TillerTracker:UpdateData() TillerTracker:UpdateData()
TillerTracker:UpdateText() TillerTracker:UpdateText()
@@ -687,7 +716,12 @@ function TillerTracker:ChatCommand(input)
command = command:lower() command = command:lower()
if command == L["config"]:lower() then if command == L["config"]:lower() then
InterfaceOptionsFrame_OpenToCategory(private.optionsFrame) if Settings then
Settings.OpenToCategory("Tiller Tracker")
elseif InterfaceOptionsFrame_OpenToCategory then
InterfaceOptionsFrame_OpenToCategory("Tiller Tracker")
InterfaceOptionsFrame_OpenToCategory("Tiller Tracker")
end
elseif command == L["minimap"]:lower() then elseif command == L["minimap"]:lower() then
private.db.global.minimap_icon.hide = not private.db.global.minimap_icon.hide private.db.global.minimap_icon.hide = not private.db.global.minimap_icon.hide
TillerTracker:UpdateMinimapConfig() TillerTracker:UpdateMinimapConfig()
@@ -717,6 +751,10 @@ end
function TillerTracker:SetPlanAhead(value) function TillerTracker:SetPlanAhead(value)
private.db.global.plan_ahead = value private.db.global.plan_ahead = value
if not private.loaded then
return
end
TillerTracker:UpdateData() TillerTracker:UpdateData()
TillerTracker:UpdateText() TillerTracker:UpdateText()

View File

@@ -0,0 +1,31 @@
## Interface: 110205
## Title: Tiller Tracker
## Version: 11.0.7
## Notes: Helps with the daily Tiller food quests ("A Dish for...") by keeping track of what quests have been completed that day, how many dishes need to be cooked, and what materials are required.
## Author: Amanoa
## SavedVariables: TillerTrackerDB
## OptionalDeps: Ace3, AceEvent-3.0, LibQTip-1.0, LibStub, AceTimer-3.0, AceConsole-3.0
#@no-lib-strip@
Libs\LibStub\LibStub.lua
Libs\CallbackHandler-1.0\CallbackHandler-1.0.xml
Libs\AceAddon-3.0\AceAddon-3.0.xml
Libs\AceConsole-3.0\AceConsole-3.0.xml
Libs\AceEvent-3.0\AceEvent-3.0.xml
Libs\AceLocale-3.0\AceLocale-3.0.xml
Libs\AceTimer-3.0\AceTimer-3.0.xml
Libs\AceDB-3.0\AceDB-3.0.xml
Libs\AceGUI-3.0\AceGUI-3.0.xml
Libs\AceConfig-3.0\AceConfig-3.0.xml
Libs\LibQTip-1.0\lib.xml
Libs\LibDataBroker-1.1\LibDataBroker-1.1.lua
Libs\LibDBIcon-1.0\LibDBIcon-1.0.lua
#@end-no-lib-strip@
Locale\enUS.lua
Locale\frFR.lua
Locale\deDE.lua
Data.lua
Sort.lua
TillerTracker.lua

View File

@@ -1,6 +1,6 @@
## Interface: 90001 ## Interface: 50502
## Title: Tiller Tracker ## Title: Tiller Tracker
## Version: 9.0.0 ## Version: 11.0.7
## Notes: Helps with the daily Tiller food quests ("A Dish for...") by keeping track of what quests have been completed that day, how many dishes need to be cooked, and what materials are required. ## Notes: Helps with the daily Tiller food quests ("A Dish for...") by keeping track of what quests have been completed that day, how many dishes need to be cooked, and what materials are required.
## Author: Amanoa ## Author: Amanoa
## SavedVariables: TillerTrackerDB ## SavedVariables: TillerTrackerDB