Skip to content

Commit fcb1515

Browse files
committed
Add active map info
1 parent 0882c58 commit fcb1515

File tree

1 file changed

+19
-4
lines changed

1 file changed

+19
-4
lines changed

Core.lua

+19-4
Original file line numberDiff line numberDiff line change
@@ -1443,6 +1443,10 @@ end
14431443
---@return boolean hasQuestLineInfo
14441444
--
14451445
function LocalQuestLineUtils:HasQuestLineInfo(questID, mapID)
1446+
if not mapID then
1447+
local activeMapInfo = LocalUtils:GetActiveMapInfo()
1448+
mapID = activeMapInfo.mapID
1449+
end
14461450
return (self.questLineQuestsOnMap[questID] or C_QuestLine.GetQuestLineInfo(questID, mapID)) ~= nil
14471451
end
14481452

@@ -2195,10 +2199,11 @@ end
21952199
local function PrintLoreQuestRemovedMessage(questID, questLineID, campaignID)
21962200
local isQuestCompleted = C_QuestLog.IsQuestFlaggedCompleted(questID)
21972201
local numThreshold = not isQuestCompleted and 1 or 0
2202+
local activeMapInfo = LocalUtils:GetActiveMapInfo()
21982203
if (campaignID and ns.settings.showCampaignQuestProgressMessage) then
21992204
local campaignInfo = CampaignUtils:GetCampaignInfo(campaignID)
22002205
if campaignInfo then
2201-
local questLineInfo = LocalQuestLineUtils:GetCachedQuestLineInfo(questID, ns.activeZoneMapInfo.mapID)
2206+
local questLineInfo = LocalQuestLineUtils:GetCachedQuestLineInfo(questID, activeMapInfo.mapID)
22022207
if questLineInfo then
22032208
local filteredQuestInfos = LocalQuestLineUtils:FilterQuestLineQuests(questLineInfo)
22042209
ns:cprintf("You've completed %s quests of the %s chapter from the %s campaign.",
@@ -2214,15 +2219,15 @@ local function PrintLoreQuestRemovedMessage(questID, questLineID, campaignID)
22142219
end
22152220
end
22162221
if (questLineID and ns.settings.showQuestlineQuestProgressMessage) then
2217-
local questLineInfo = LocalQuestLineUtils:GetCachedQuestLineInfo(questID, ns.activeZoneMapInfo.mapID)
2222+
local questLineInfo = LocalQuestLineUtils:GetCachedQuestLineInfo(questID, activeMapInfo.mapID)
22182223
if questLineInfo then
22192224
local filteredQuestInfos = LocalQuestLineUtils:FilterQuestLineQuests(questLineInfo)
22202225
ns:cprintf("You've completed %s quests of the %s questline.",
22212226
GENERIC_FRACTION_STRING:format(filteredQuestInfos.numCompleted + numThreshold, filteredQuestInfos.numTotal),
22222227
QUESTLINE_HEADER_COLOR:WrapTextInColorCode(questLineInfo.questLineName)
22232228
)
22242229
if (filteredQuestInfos.numCompleted + numThreshold == filteredQuestInfos.numTotal) then
2225-
ns:cprint(GREEN(L.CONGRATULATIONS), format("You have completed all %s quests in %s.", QUESTLINE_HEADER_COLOR:WrapTextInColorCode(questLineInfo.questLineName), ns.activeZoneMapInfo.name))
2230+
ns:cprint(GREEN(L.CONGRATULATIONS), format("You have completed all %s quests in %s.", QUESTLINE_HEADER_COLOR:WrapTextInColorCode(questLineInfo.questLineName), activeMapInfo.name))
22262231
end
22272232
end
22282233
end
@@ -2252,8 +2257,9 @@ local function PrintQuestAddedMessage(questInfo)
22522257
if questInfo.isCampaign then
22532258
local campaignID = C_CampaignInfo.GetCampaignID(questInfo.questID)
22542259
local campaignInfo = CampaignUtils:GetCampaignInfo(campaignID)
2260+
local activeMapInfo = LocalUtils:GetActiveMapInfo()
22552261
if campaignInfo then
2256-
local questLineInfo = LocalQuestLineUtils:GetCachedQuestLineInfo(questInfo.questID, ns.activeZoneMapInfo.mapID)
2262+
local questLineInfo = LocalQuestLineUtils:GetCachedQuestLineInfo(questInfo.questID, activeMapInfo.mapID)
22572263
if (questLineInfo and ns.settings.showCampaignQuestProgressMessage) then
22582264
local filteredQuestInfos = LocalQuestLineUtils:FilterQuestLineQuests(questLineInfo)
22592265
local numActiveQuestLines = LocalUtils:CountActiveQuestlineQuests(questLineInfo.questLineID)
@@ -2538,6 +2544,15 @@ local function NodeIterator(t, prev)
25382544
end
25392545
end
25402546

2547+
function LocalUtils:GetBestMapInfoForPlayer()
2548+
local mapID = LocalMapUtils:GetBestMapForPlayer()
2549+
return LocalMapUtils:GetMapInfo(mapID)
2550+
end
2551+
2552+
function LocalUtils:GetActiveMapInfo()
2553+
return ns.activeZoneMapInfo or LocalUtils:GetBestMapInfoForPlayer()
2554+
end
2555+
25412556
-- Required standard function for HandyNotes to get a location node.
25422557
---@param uiMapID number The zone we want data for
25432558
---@param minimap boolean Boolean argument indicating that we want to get nodes to display for the minimap

0 commit comments

Comments
 (0)