Fix repuation and completed quest detection

This commit is contained in:
2025-11-25 09:08:14 -05:00
parent 4fe4f65882
commit 330de41b3e
3 changed files with 36 additions and 14 deletions

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

@@ -362,7 +362,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()
@@ -388,6 +388,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 +406,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 +446,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

View File

@@ -1,6 +1,6 @@
## Interface: 110205 ## Interface: 110205
## Title: Tiller Tracker ## Title: Tiller Tracker
## Version: 11.0.0 ## Version: 11.0.1
## 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