mirror of
https://github.com/ckaczor/TillerTracker.git
synced 2026-01-20 09:45:36 -05:00
Compare commits
11 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 3007df9958 | |||
| 29e33f73a5 | |||
| cce4f893aa | |||
| 4c9f9eb9ec | |||
| 296c95b3a2 | |||
| 8ce33b2a2d | |||
| 330de41b3e | |||
| 4fe4f65882 | |||
| 0dee31d633 | |||
| 5ae9aaa8c7 | |||
| 6da8b8bff1 |
7
.pkgmeta
7
.pkgmeta
@@ -8,8 +8,7 @@ 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: https://github.com/tekkub/libdatabroker-1-1
|
url: https://github.com/tekkub/libdatabroker-1-1
|
||||||
tag: latest
|
tag: latest
|
||||||
@@ -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
|
||||||
|
|||||||
@@ -326,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
|
||||||
|
|
||||||
@@ -362,7 +364,7 @@ function TillerTracker:ReputationDone(reputationId)
|
|||||||
local friendRep = C_GossipInfo.GetFriendshipReputation(reputationId).standing
|
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()
|
||||||
@@ -375,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 = {}
|
||||||
@@ -388,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
|
||||||
@@ -403,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
|
||||||
@@ -434,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
|
||||||
@@ -571,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
|
||||||
@@ -586,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
|
||||||
@@ -686,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()
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
## Interface: 100000
|
## Interface: 110205
|
||||||
## Title: Tiller Tracker
|
## Title: Tiller Tracker
|
||||||
## Version: 10.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
|
||||||
31
TillerTracker_Mists.toc
Normal file
31
TillerTracker_Mists.toc
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
## Interface: 50502
|
||||||
|
## 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
|
||||||
Reference in New Issue
Block a user