mirror of
https://github.com/ckaczor/TillerTracker.git
synced 2026-01-19 09:45:35 -05:00
Compare commits
18 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 3007df9958 | |||
| 29e33f73a5 | |||
| cce4f893aa | |||
| 4c9f9eb9ec | |||
| 296c95b3a2 | |||
| 8ce33b2a2d | |||
| 330de41b3e | |||
| 4fe4f65882 | |||
| 0dee31d633 | |||
| 5ae9aaa8c7 | |||
| 6da8b8bff1 | |||
| b14c4a358a | |||
| a80d3ded01 | |||
| 5b441d1dee | |||
| 6afc62a355 | |||
| 3fd9daf009 | |||
| c30f0fe3ae | |||
| 7ed4da43cd |
9
.pkgmeta
9
.pkgmeta
@@ -8,10 +8,9 @@ externals:
|
|||||||
url: https://repos.wowace.com/wow/ace3/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: https://repos.wowace.com/wow/libqtip-1-0
|
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: https://repos.wowace.com/wow/ace3/trunk/AceLocale-3.0
|
url: https://repos.wowace.com/wow/ace3/trunk/AceLocale-3.0
|
||||||
@@ -39,4 +38,6 @@ externals:
|
|||||||
tag: latest
|
tag: latest
|
||||||
Libs/LibDBIcon-1.0:
|
Libs/LibDBIcon-1.0:
|
||||||
url: https://repos.wowace.com/wow/libdbicon-1-0/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
|
||||||
32
Data.lua
32
Data.lua
@@ -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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -197,9 +197,8 @@ 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
|
||||||
TillerTrackerDB["SORT_FIELD"] = nil
|
TillerTrackerDB["SORT_FIELD"] = nil
|
||||||
@@ -258,66 +257,56 @@ 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"]
|
||||||
|
|
||||||
|
-- Add the food to the list of items
|
||||||
|
item_table[food_id] = Item:CreateFromItemID(food_id)
|
||||||
|
item_count = item_count + 1
|
||||||
|
|
||||||
-- Try to get the info for the food
|
|
||||||
local food_name = GetItemInfo(food_id)
|
|
||||||
|
|
||||||
-- 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
|
||||||
|
|
||||||
-- 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
|
-- Wait for the item to load
|
||||||
|
item:ContinueOnItemLoad(function()
|
||||||
|
|
||||||
private.item_wait_count = private.item_wait_count - 1
|
-- Save the name
|
||||||
end
|
private.item_name_table[item:GetItemID()] = item:GetItemName()
|
||||||
end
|
item_loaded_count = item_loaded_count + 1
|
||||||
|
|
||||||
-- If everything is cached we're good to go
|
-- If everything is cached we're good to go
|
||||||
if (private.item_wait_count == 0) then
|
if (item_count == item_loaded_count) then
|
||||||
TillerTracker:OnLoaded(self)
|
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,14 +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 m = TomTom:GetCurrentPlayerPosition()
|
|
||||||
local location = info["LOCATION"]
|
local location = info["LOCATION"]
|
||||||
|
|
||||||
_G.TomTom:AddWaypoint(m, 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
|
||||||
|
|
||||||
@@ -363,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()
|
||||||
@@ -385,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 = C_QuestLog.GetAllCompletedQuestIDs()
|
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 +406,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
|
||||||
@@ -413,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
|
||||||
@@ -427,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)
|
||||||
@@ -444,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
|
||||||
@@ -488,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
|
||||||
@@ -581,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
|
||||||
@@ -596,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
|
||||||
@@ -627,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
|
||||||
@@ -648,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()
|
||||||
|
|
||||||
@@ -659,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()
|
||||||
|
|
||||||
@@ -688,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()
|
||||||
@@ -718,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()
|
||||||
|
|
||||||
@@ -726,4 +763,4 @@ function TillerTracker:SetPlanAhead(value)
|
|||||||
end
|
end
|
||||||
|
|
||||||
TillerTracker:UpdateTooltip()
|
TillerTracker:UpdateTooltip()
|
||||||
end
|
end
|
||||||
|
|||||||
31
TillerTracker_Mainline.toc
Normal file
31
TillerTracker_Mainline.toc
Normal 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
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
## Interface: 90001
|
## Interface: 50502
|
||||||
## Title: Tiller Tracker
|
## Title: Tiller Tracker
|
||||||
## Version: 9.0.2
|
## 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
|
||||||
Reference in New Issue
Block a user