Skip to content

Commit

Permalink
Add option "showTagRepeatableWQ"
Browse files Browse the repository at this point in the history
  • Loading branch information
erglo committed Sep 20, 2024
1 parent a335b4a commit 7b5f210
Show file tree
Hide file tree
Showing 5 changed files with 43 additions and 12 deletions.
7 changes: 6 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,18 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),

⚠️ **Note:** _This is a pre-release version and still in development._ ⚠️

### Added

* Settings: added option to toggle the repeatable tag line for world quest.
* Settings: added option to toggle quest titles in the Loremaster tooltip.

### Changed

* Quest Type Tags: loosened filter to allow the repeatable tag line for world quests.
* Tooltip: refined zone story, questline and campaign identification and indication.
* Tooltip: updated storyline quest counter to support Warband vs. individual progress.
* Tooltip: updated counter and visual indication of in-progress and ready-for-turn-in storyline quests.
* Tooltip: updated color theme for storyline quests (`green` - Warband completed quest, `dark green` - quest completed by current char + Warband, `yellow` - current available quest, `lighter yellow` - ongoing/in-progress quest, `white` - available not yet completed quest, `orange` - story/lore quest.
* Tooltip: quest titles in the Loremaster tooltip can now optionally be hidden.
* Tooltip: adjusted quest tooltip width - tooltips with shorter content will now be stretched to fit the game's default tooltip.

### Fixed
Expand Down
19 changes: 18 additions & 1 deletion Core.lua
Original file line number Diff line number Diff line change
Expand Up @@ -2697,7 +2697,7 @@ L.OBJECTIVE_FORMAT = CONTENT_TRACKING_OBJECTIVE_FORMAT -- "- %s"
-- end


-- function TestAdd(questID)
-- function TestEventAdd(questID)
-- local questInfo = LocalQuestInfo:GetQuestInfoForQuestEvents(questID)
-- print("Quest accepted:", questID, questInfo.questName)
-- print("> isWeekly-isDaily:", questInfo.isWeekly, questInfo.isDaily)
Expand All @@ -2707,5 +2707,22 @@ L.OBJECTIVE_FORMAT = CONTENT_TRACKING_OBJECTIVE_FORMAT -- "- %s"
-- end
-- -- TestAdd(79336)

-- function TestQL(questID, mapID)
-- local questLineInfo = LocalQuestLineUtils:GetCachedQuestLineInfo(questID, mapID)
-- local filteredQuestInfos = LocalQuestLineUtils:FilterQuestLineQuests(questLineInfo)

-- for i, questInfo in ipairs(filteredQuestInfos.quests) do
-- print(i, questInfo.questID, questInfo.questName)
-- end
-- print("- - - - -")
-- for i, questID in ipairs(filteredQuestInfos.unfilteredQuests) do
-- local isFactionGroupMatch = tContains({LocalFactionInfo.QuestFactionGroupID.Player, LocalFactionInfo.QuestFactionGroupID.Neutral}, LocalQuestInfo:GetQuestFactionGroup(questID))
-- local questInfo = LocalQuestInfo:GetCustomQuestInfo(questID)
-- print(i, questID, LocalQuestUtils:GetQuestName(questID), "-", LocalQuestFilter:PlayerMatchesQuestRequirements(questInfo))
-- print("-->", LocalQuestFilter:IsObsolete(questID), LocalQuestFilter:ShouldShowRaceQuest(questID), LocalQuestFilter:ShouldShowClassQuest(questID), isFactionGroupMatch)
-- end
-- end
-- -- TestQL(76587, 2023)

--------------------------------------------------------------------------------
--@end-do-not-package@
23 changes: 16 additions & 7 deletions Options.lua
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ ns.pluginInfo.defaultOptions = {
["continentIconScale"] = 1.5,
["continentIconAlpha"] = 0.75,
["hideZoneStoryInCompletedZones"] = false,
["showTagQuestline"] = false,
-- ["showTagQuestline"] = false,
},
}
ns.pluginInfo.needWorldMapRefresh = {
Expand Down Expand Up @@ -205,23 +205,23 @@ ns.pluginInfo.InitializeOptions = function(self, LoremasterPlugin)
name = "Track World Quests",
desc = "Show additional details for World Quests in a separate tooltip below the quest tooltip.",
arg = "trackWorldQuests",
width = 1.2,
width = 1.15,
order = 30,
},
track_threatquests = {
type = "toggle",
name = "Track Threat Objectives",
desc = "Show additional details for Threat Objectives in a separate tooltip below the quest tooltip.",
arg = "trackThreatObjectives",
width = 1.2,
width = 1.15,
order = 31,
},
track_bonusquests = {
type = "toggle",
name = "Track Bonus Objectives",
desc = "Show additional details for Bonus Objectives in a separate tooltip below the quest tooltip.",
arg = "trackBonusObjectives",
width = 1.2,
width = 1.15,
order = 32,
},
--> TODO - Track active quests / ready-for-turnin quests
Expand All @@ -231,17 +231,26 @@ ns.pluginInfo.InitializeOptions = function(self, LoremasterPlugin)
name = "Quest Tag Transparency",
desc = "Display quest tag lines of lower level quests semi-transparent.",
arg = "showTagTransparency",
width = 1.2,
width = 1.15,
order = 35,
},
quest_tag_questline = {
type = "toggle",
name = "Show Storyline Tag",
desc = "Display a quest tag line for quests with a storyline.",
desc = "Show or hide a quest tag line for quests with a storyline.",
arg = "showTagQuestline",
width = 1.2,
width = 1.15,
order = 36,
},
quest_tag_repeatableWQ = {
type = "toggle",
name = "Show Repeatable WQ Tag"..LocalOptionUtils.newFeatureIconString,
desc = "Show or hide the repeatable quest tag line for World Quests (only).",
arg = "showTagRepeatableWQ",
-- width = 1.2,
width = "double",
order = 37,
},
},
}, --> general_details
zs_group = {
Expand Down
2 changes: 1 addition & 1 deletion data/questinfo.lua
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@ function LocalQuestInfo:GetQuestInfoForPin(pin)
questInfo.isLegendary = pin.isLegendary or (classificationID and classificationID == Enum.QuestClassification.Legendary) or C_QuestLog.IsLegendaryQuest(questInfo.questID);
questInfo.isOnQuest = pin.inProgress or C_QuestLog.IsOnQuest(questInfo.questID);
questInfo.isReadyForTurnIn = self:ReadyForTurnIn(questInfo.questID);
questInfo.isRepeatable = C_QuestLog.IsRepeatableQuest(questInfo.questID) or C_QuestLog.IsQuestRepeatableType(questInfo.questID);
questInfo.isRepeatable = (pin.IsRepeatableQuest and pin:IsRepeatableQuest()) or C_QuestLog.IsRepeatableQuest(questInfo.questID) or C_QuestLog.IsQuestRepeatableType(questInfo.questID);
questInfo.isStory = questInfo.isStory or LocalQuestFilter:IsStory(questInfo.questID, questInfo);
questInfo.isThreat = (classificationID and classificationID == Enum.QuestClassification.Threat) or (tagInfo and tagInfo.tagID == Enum.QuestTagType.Threat);
questInfo.isTrivial = pin.isHidden or questInfo.isHidden or C_QuestLog.IsQuestTrivial(questInfo.questID);
Expand Down
4 changes: 2 additions & 2 deletions data/questtypetags.lua
Original file line number Diff line number Diff line change
Expand Up @@ -215,8 +215,8 @@ function LocalQuestTagUtil:GetQuestTagInfoList(questID, baseQuestInfo)
["ranking"] = 3,
});
end
-- if (questInfo.isRepeatable and not isRecurring and not (questInfo.isDaily or questInfo.isWeekly) and not questInfo.isWorldQuest) then
if (questInfo.isRepeatable and not isRecurring and not questInfo.isWorldQuest) then
if (questInfo.isRepeatable and not isRecurring and not questInfo.isWorldQuest) or
(questInfo.isRepeatable and questInfo.isWorldQuest and ns.settings.showTagRepeatableWQ) then
local atlas = questInfo.isReadyForTurnIn and "RecurringActiveQuestIcon" or "RecurringAvailableQuestIcon"
tinsert(tagInfoList, { -- "quest-recurring-turnin" or "quest-recurring-available"
["atlasMarkup"] = CreateAtlasMarkup(atlas, width, height),
Expand Down

0 comments on commit 7b5f210

Please sign in to comment.