You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
410 lines
18 KiB
410 lines
18 KiB
--- Kaliel's Tracker
|
|
--- Copyright (c) 2012-2022, Marouan Sabbagh <mar.sabbagh@gmail.com>
|
|
--- All Rights Reserved.
|
|
---
|
|
--- This file is part of addon Kaliel's Tracker.
|
|
|
|
local addonName, KT = ...
|
|
local M = KT:NewModule(addonName.."_Help")
|
|
KT.Help = M
|
|
|
|
local T = LibStub("MSA-Tutorials-1.0")
|
|
local _DBG = function(...) if _DBG then _DBG("KT", ...) end end
|
|
|
|
local db, dbChar
|
|
local mediaPath = "Interface\\AddOns\\"..addonName.."\\Media\\"
|
|
local helpPath = mediaPath.."Help\\"
|
|
local helpName = "help"
|
|
local helpNumPages = 12
|
|
local supportersName = "supporters"
|
|
local supportersNumPages = 1
|
|
local cTitle = "|cffffd200"
|
|
local cBold = "|cff00ffe3"
|
|
local cWarning = "|cffff7f00"
|
|
local cWarning2 = "|cffff4200"
|
|
local cDots = "|cff808080"
|
|
local offs = "\n|T:1:9|t"
|
|
local offs2 = "\n|T:1:18|t"
|
|
local beta = "|cffff7fff[Beta]|r"
|
|
local new = "|cffff7fff[NEW]|r"
|
|
|
|
local KTF = KT.frame
|
|
|
|
--------------
|
|
-- Internal --
|
|
--------------
|
|
|
|
local function AddonInfo(name)
|
|
local info = "\nAddon "..name
|
|
if IsAddOnLoaded(name) then
|
|
info = info.." |cff00ff00is installed|r. Support you can enable/disable in Options."
|
|
else
|
|
info = info.." |cffff0000is not installed|r."
|
|
end
|
|
return info
|
|
end
|
|
|
|
local function SetFormatedPatronName(tier, name, realm, note)
|
|
if realm then
|
|
realm = " @"..realm
|
|
else
|
|
realm = ""
|
|
end
|
|
if note then
|
|
note = " ... "..note
|
|
else
|
|
note = ""
|
|
end
|
|
return format("- |cff%s%s|r|cff7f7f7f%s%s|r\n", KT.QUALITY_COLORS[tier], name, realm, note)
|
|
end
|
|
|
|
local function SetFormatedPlayerName(name, realm, note)
|
|
if realm then
|
|
realm = " @"..realm
|
|
else
|
|
realm = ""
|
|
end
|
|
if note then
|
|
note = " ... "..note
|
|
else
|
|
note = ""
|
|
end
|
|
return format("- %s|cff7f7f7f%s%s|r\n", name, realm, note)
|
|
end
|
|
|
|
local function SetupTutorials()
|
|
T.RegisterTutorial(helpName, {
|
|
savedvariable = KT.db.global,
|
|
key = "helpTutorial",
|
|
title = KT.title.." |cffffffff"..KT.version.."|r",
|
|
icon = helpPath.."KT_logo",
|
|
font = "Fonts\\FRIZQT__.TTF",
|
|
width = 552,
|
|
imageHeight = 256,
|
|
{ -- 1
|
|
image = helpPath.."help_kaliels-tracker",
|
|
text = cTitle..KT.title.."|r is improved default Blizzard Objective Tracker.\n\n"..
|
|
"Some features:\n"..
|
|
"- Change tracker position\n"..
|
|
"- Expand / Collapse tracker relative to selected position (direction)\n"..
|
|
"- Auto set trackers height by content with max. height limit\n"..
|
|
"- Scrolling when content is greater than max. height\n"..
|
|
"- Remember collapsed tracker after logout/exit game\n\n"..
|
|
"... and many other enhancements (see next pages).",
|
|
shine = KTF,
|
|
shineTop = 5,
|
|
shineBottom = -5,
|
|
shineLeft = -6,
|
|
shineRight = 6,
|
|
},
|
|
{ -- 2
|
|
image = helpPath.."help_header-buttons",
|
|
imageHeight = 128,
|
|
text = cTitle.."Header buttons|r\n\n"..
|
|
"Minimize button: Other buttons:\n"..
|
|
"|T"..mediaPath.."UI-KT-HeaderButtons:14:14:-1:2:32:64:0:14:0:14:209:170:0|t "..cDots.."...|r Expand Tracker "..
|
|
"|T"..mediaPath.."UI-KT-HeaderButtons:14:14:4:2:32:64:16:30:0:14:209:170:0|t "..cDots.."...|r Open Quest Log\n"..
|
|
"|T"..mediaPath.."UI-KT-HeaderButtons:14:14:-1:2:32:64:0:14:16:30:209:170:0|t "..cDots.."...|r Collapse Tracker "..
|
|
"|T"..mediaPath.."UI-KT-HeaderButtons:14:14:4:2:32:64:16:30:16:30:209:170:0|t "..cDots.."...|r Open Achievements\n"..
|
|
"|T"..mediaPath.."UI-KT-HeaderButtons:14:14:-1:2:32:64:0:14:32:46:209:170:0|t "..cDots.."...|r when is tracker empty "..
|
|
"|T"..mediaPath.."UI-KT-HeaderButtons:14:14:4:2:32:64:16:30:32:46:209:170:0|t "..cDots.."...|r Open Filters menu\n\n"..
|
|
"Buttons |T"..mediaPath.."UI-KT-HeaderButtons:14:14:0:2:32:64:16:30:0:14:209:170:0|t and "..
|
|
"|T"..mediaPath.."UI-KT-HeaderButtons:14:14:0:2:32:64:16:30:16:30:209:170:0|t you can disable in Options.\n\n"..
|
|
"You can set "..cBold.."[key bind]|r for Minimize button.\n"..
|
|
cBold.."Alt+Click|r on Minimize button opens "..KT.title.." Options.",
|
|
textY = 16,
|
|
shine = KTF.MinimizeButton,
|
|
shineTop = 13,
|
|
shineBottom = -14,
|
|
shineRight = 16,
|
|
},
|
|
{ -- 3
|
|
image = helpPath.."help_quest-title-tags",
|
|
imageHeight = 128,
|
|
text = cTitle.."Quest title tags|r\n\n"..
|
|
"At the start of quest titles you see tags like this |cffff8000[100|r|cff00b3ffhc!|r|cffff8000]|r.\n"..
|
|
"Tags are also in quest titles inside Quest Log.\n\n"..
|
|
"|cff00b3ff!|r|T:14:3|t "..cDots..".......|r Daily quest|T:14:121|t|cff00b3ffr|r "..cDots..".......|r Raid quest\n"..
|
|
"|cff00b3ff!!|r "..cDots.."......|r Weekly quest|T:14:108|t|cff00b3ffr10|r "..cDots.."...|r 10-man raid quest\n"..
|
|
"|cff00b3ffg3|r "..cDots..".....|r Group quest w/ group size|T:14:25|t|cff00b3ffr25|r "..cDots.."...|r 25-man raid quest\n"..
|
|
"|cff00b3ffpvp|r "..cDots.."...|r PvP quest|T:14:133|t|cff00b3ffs|r "..cDots..".......|r Scenario quest\n"..
|
|
"|cff00b3ffd|r "..cDots..".......|r Dungeon quest|T:14:97|t|cff00b3ffa|r "..cDots..".......|r Account quest\n"..
|
|
"|cff00b3ffhc|r "..cDots..".....|r Heroic quest|T:14:113|t|cff00b3ffleg|r "..cDots.."....|r Legendary quest",
|
|
shineTop = 10,
|
|
shineBottom = -9,
|
|
shineLeft = -12,
|
|
shineRight = 10,
|
|
},
|
|
{ -- 4
|
|
image = helpPath.."help_tracker-filters",
|
|
text = cTitle.."Tracker Filters|r\n\n"..
|
|
"For open Filters menu "..cBold.."Click|r on the button |T"..mediaPath.."UI-KT-HeaderButtons:14:14:-1:2:32:64:16:30:32:46:209:170:0|t.\n\n"..
|
|
"There are two types of filters:\n"..
|
|
cTitle.."Static filter|r - adds quests/achievements to tracker by criterion (e.g. \"Daily\") and then you can add/remove items by hand.\n"..
|
|
cTitle.."Dynamic filter|r - automatically adding quests/achievements to tracker by criterion (e.g. \"|cff00ff00Auto|r Zone\") "..
|
|
"and continuously changing them. This type doesn't allow add/remove items by hand."..
|
|
"When is some Dynamic filter active, header button is green |T"..mediaPath.."UI-KT-HeaderButtons:14:14:-1:2:32:64:16:30:32:46:0:255:0|t.\n\n"..
|
|
"|cff009bffFavorites|r - Quests or Achievements now you can mark as favorites and then filter according to them.\n\n"..
|
|
"For Achievements can change searched categories, it will affect the outcome of the filter.\n\n"..
|
|
"This menu displays other options affecting the content of the tracker (e.g. options for addon PetTracker).",
|
|
textY = 16,
|
|
shine = KTF.FilterButton,
|
|
shineTop = 10,
|
|
shineBottom = -11,
|
|
shineLeft = -10,
|
|
shineRight = 11,
|
|
},
|
|
{ -- 5
|
|
image = helpPath.."help_quest-item-buttons",
|
|
text = cTitle.."Quest Item buttons|r\n\n"..
|
|
"Buttons are out of the tracker, because Blizzard doesn't allow to work with the action buttons in the default UI.\n\n"..
|
|
"|T"..helpPath.."help_quest-item-buttons_2:32:32:1:0:64:32:0:32:0:32|t "..cDots.."...|r This tag indicates quest item in quest. The number inside is for\n"..
|
|
" identification moved quest item button.\n\n"..
|
|
"|T"..helpPath.."help_quest-item-buttons_2:32:32:0:3:64:32:32:64:0:32|t "..cDots.."...|r Real quest item button is moved out of the tracker to the left/right\n"..
|
|
" side (by selected anchor point). The number is the same as for the tag.\n\n"..
|
|
cWarning.."Warning:|r\n"..
|
|
"In some situation during combat, actions around the quest item buttons paused and carried it up after a player is out of combat.",
|
|
shineTop = 3,
|
|
shineBottom = -2,
|
|
shineLeft = -4,
|
|
shineRight = 3,
|
|
},
|
|
{ -- 6
|
|
image = helpPath.."help_active-button",
|
|
text = cTitle.."Active Button|r\n\n"..
|
|
"Active Button is for a better use of quest items. Displays quest item button for CLOSEST quest as Extra Action Button (like Draenor zone ability).\n\n"..
|
|
"Features:\n"..
|
|
"- "..cBold.."Auto display|r of Active Button, when you approach the place of performance"..
|
|
offs.."of the quest.\n"..
|
|
"- "..cBold.."Manual display|r of Active Button, when selecting the quest using the POI"..
|
|
offs.."button on the Map or in the Tracker.\n"..
|
|
"- You can set "..cBold.."[key bind]|r to use quest item. Key set up in "..KT.title..
|
|
offs.."Options. Active Button uses the same key bind as the Extra Action Button.\n"..
|
|
"- Button is movable using own mover. See Options > section \"Quest item"..
|
|
offs.."buttons\" > button \"Unlock\".\n\n"..
|
|
cWarning.."Warning:|r\n"..
|
|
"- Active Button works only for tracked quests.\n"..
|
|
"- When tracker is collapsed, Active Button feature is paused.",
|
|
shineTop = 30,
|
|
shineBottom = -30,
|
|
shineLeft = -80,
|
|
shineRight = 80,
|
|
},
|
|
{ -- 7
|
|
image = helpPath.."help_tracker-modules",
|
|
text = cTitle.."Order of Modules|r\n\n"..
|
|
"Allows to change the order of modules inside the tracker. Supports all modules including external (e.g. PetTracker).\n\n\n"..
|
|
cTitle.."Collapsible Modules|r\n\n"..
|
|
"All modules, including external ones, can be collapsed by clicking on the module header.",
|
|
shine = KTF,
|
|
shineTop = 5,
|
|
shineBottom = -5,
|
|
shineLeft = -6,
|
|
shineRight = 6,
|
|
},
|
|
{ -- 8
|
|
image = helpPath.."help_addon-masque",
|
|
text = cTitle.."Support addon Masque|r\n\n"..
|
|
"Masque adds skinning support for Quest Item buttons. It also affects the Active Button (see prev page).\n"..
|
|
AddonInfo("Masque"),
|
|
},
|
|
{ -- 9
|
|
image = helpPath.."help_addon-pettracker",
|
|
text = cTitle.."Support addon PetTracker|r\n\n"..
|
|
"PetTracker support adjusts display of zone pet tracking inside "..KT.title..". It also fix some visual bugs.\n"..
|
|
AddonInfo("PetTracker"),
|
|
},
|
|
{ -- 10
|
|
image = helpPath.."help_addon-tomtom",
|
|
text = cTitle.."Support addon TomTom|r\n\n"..
|
|
"TomTom support combined Blizzard's POI and TomTom's Arrow.\n\n"..
|
|
"|TInterface\\WorldMap\\UI-QuestPoi-NumberIcons:32:32:-2:0:256:256:128:160:96:128|t+"..
|
|
"|T"..mediaPath.."KT-TomTomTag:32:32:-8:0|t"..cDots.."...|r Active POI button of quest with TomTom Waypoint.\n \n"..
|
|
"Features:\n"..
|
|
"- Available for Quests and World Quests, but Quest waypoints are only for"..
|
|
offs.."current zone!|r (TomTom and Blizzard limitations)\n"..
|
|
"- "..cBold.."Click|r on POI button (inside the Tracker or World Map) add waypoint for"..
|
|
offs.."the quest.\n"..
|
|
"- The newly tracked or closest quest automatically gets a waypoint.\n"..
|
|
"- Waypoint of untracked or abandoned quest will be removed.\n"..
|
|
AddonInfo("TomTom"),
|
|
shineTop = 10,
|
|
shineBottom = -10,
|
|
shineLeft = -11,
|
|
shineRight = 11,
|
|
},
|
|
{ -- 11
|
|
text = cTitle.." Hacks|r\n\n"..
|
|
cWarning.."Warning:|r Hacks may affect other addons!\n\n"..
|
|
cTitle.."LFG Hack|r\n\n"..
|
|
cBold.."Affects the small Eye buttons|r for finding groups inside the tracker. When the hack is active, "..
|
|
"the buttons work without errors. When hack is inactive, the buttons are not available.\n\n"..
|
|
cWarning2.."Negative|r impacts:\n"..
|
|
"- Inside the dialog for create Premade Group is hidden item \"Goal\".\n"..
|
|
"- Tooltips of items in the list of Premade Groups have a hidden 2nd (green) row"..
|
|
offs.."with \"Goal\".\n"..
|
|
"- Inside the dialog for create Premade Group, no automatically set the \"Title\","..
|
|
offs.."e.g. keystone level for Mythic+.\n\n"..
|
|
"LFG Hack is enabled by default, you can disable it in "..KT.title.." Options (section \"Hacks\").",
|
|
textY = -20,
|
|
},
|
|
{ -- 12
|
|
text = cTitle.." What's NEW|r\n\n"..
|
|
cTitle.."Version 6.0.1|r\n"..
|
|
"- FIXED - Error when displaying Notification messages\n"..
|
|
"- UPDATED - Quests - Active Button - Removed anchoring from Extra Action"..
|
|
offs.."Button in Default UI, Bartender, ElvUI and Tukui. Positioning is static now and"..
|
|
offs.."moving Active Button is only through addon Options.\n"..
|
|
"- UPDATED - Help - Active Button (page 6)\n"..
|
|
"- UPDATED - Help - Supporters (Patreon)\n"..
|
|
"- UPDATED - Addon support - ElvUI 13.01\n"..
|
|
"- UPDATED - Libs\n\n"..
|
|
cTitle.."Version 6.0.0|r\n"..
|
|
"Many changes have been made in this version as error prevention. "..cWarning2.."These changes may result in the cancellation of cooperation with other addons.|r\n\n"..
|
|
"All profiles have been reset, because the new version is not compatible with stored settings.\n\n"..
|
|
"- IMPROVED - Edit Mode Hack - Hack has been reduced and all negative"..
|
|
offs.."impacts have been removed. Removed hack info from Options and Help.\n"..
|
|
"- IMPROVED - Quest Log - Quest DropDown menu\n"..
|
|
"- IMPROVED - Addons version comparison\n"..
|
|
"- FIXED - Torghast - Error and Maw Buffs positioning\n"..
|
|
"- FIXED - Error when activating Party Sync, wrong Group quest data (Blizz bug)\n"..
|
|
"- FIXED - Error when show tooltip during Party Sync switching\n"..
|
|
"- UPDATED - Prevents opening Options in Edit Mode\n"..
|
|
"- UPDATED - Quests - Active Button - compatibility for Default, Bartender,"..
|
|
offs.."ElvUI, Tukui\n"..
|
|
"- UPDATED - Help - Supporters (Patreon)\n"..
|
|
"- UPDATED - Addon support - Masque 10.0.1\n"..
|
|
"- UPDATED - Addon support - PetTracker 10.0\n"..
|
|
"- UPDATED - Addon support - TomTom 3.3.4-release\n"..
|
|
"- UPDATED - Addon support - ElvUI 12.99, Tukui 20.33\n"..
|
|
"- REMOVED - Compatibility - addon Chinchilla Minimap\n"..
|
|
"- REMOVED - Compatibility - addon Dugi Questing Essential\n"..
|
|
"- REMOVED - Compatibility - addon Aurora\n"..
|
|
"- REMOVED - Compatibility - addon MoveAnything\n\n"..
|
|
|
|
cTitle.."WoW 10.0.0 - Known issues w/o solution|r\n"..
|
|
"- Clicking on tracked quests or achievements has no response during combat.\n"..
|
|
"- Header buttons Q and A don't work during combat.\n\n"..
|
|
|
|
cTitle.."Issue reporting|r\n"..
|
|
"For reporting please use "..cBold.."Tickets|r instead of Comments on CurseForge.\n\n\n\n"..
|
|
|
|
cWarning.."Before reporting of error, please deactivate all other addons and make sure the bug is not caused by a collision with another addon.|r",
|
|
textY = -20,
|
|
editbox = {
|
|
{
|
|
text = "https://www.curseforge.com/wow/addons/kaliels-tracker/issues",
|
|
width = 450,
|
|
bottom = 40,
|
|
}
|
|
},
|
|
shine = KTF,
|
|
shineTop = 5,
|
|
shineBottom = -5,
|
|
shineLeft = -6,
|
|
shineRight = 6,
|
|
},
|
|
onShow = function(self, i)
|
|
if dbChar.collapsed then
|
|
KT:MinimizeButton_OnClick(true)
|
|
end
|
|
if i == 2 then
|
|
if KTF.FilterButton then
|
|
self[i].shineLeft = db.hdrOtherButtons and -75 or -35
|
|
else
|
|
self[i].shineLeft = db.hdrOtherButtons and -55 or -15
|
|
end
|
|
elseif i == 3 then
|
|
local questID = C_QuestLog.GetQuestIDForQuestWatchIndex(1)
|
|
local block = KT_QUEST_TRACKER_MODULE:GetExistingBlock(questID)
|
|
if block then
|
|
self[i].shine = block
|
|
end
|
|
elseif i == 5 then
|
|
self[i].shine = KTF.Buttons
|
|
elseif i == 10 then
|
|
for j=1, C_QuestLog.GetNumQuestWatches() do
|
|
local questID = C_QuestLog.GetQuestIDForQuestWatchIndex(j)
|
|
local block = KT_QUEST_TRACKER_MODULE:GetExistingBlock(questID)
|
|
if block and (QuestHasPOIInfo(questID) or block.questCompleted) then
|
|
self[i].shine = QuestPOI_FindButton(KT_ObjectiveTrackerFrame.BlocksFrame, questID)
|
|
break
|
|
end
|
|
end
|
|
end
|
|
end,
|
|
onHide = function()
|
|
T.TriggerTutorial("supporters", 1)
|
|
end
|
|
})
|
|
|
|
T.RegisterTutorial("supporters", {
|
|
savedvariable = KT.db.global,
|
|
key = "supportersTutorial",
|
|
title = KT.title.." |cffffffff"..KT.version.."|r",
|
|
icon = helpPath.."KT_logo",
|
|
font = "Fonts\\FRIZQT__.TTF",
|
|
width = 552,
|
|
imageHeight = 256,
|
|
{ -- 1
|
|
text = cTitle.." Become a Patron|r\n\n"..
|
|
"If you like "..KT.title..", support me on |cfff34a54Patreon|r.\n\n"..
|
|
"Click on button |T"..helpPath.."help_patreon:20:154:1:0:256:32:0:156:0:20|t on CurseForge addon page.\n\n"..
|
|
"After 10 years of working on an addon, I started Patreon. It's created as\na compensation for the amount "..
|
|
"of time that addon development requires.\n\n"..
|
|
" Many thanks to all supporters |T"..helpPath.."help_patreon:16:16:0:0:256:32:157:173:0:16|t\n\n"..
|
|
cTitle.."Patrons|r\n"..
|
|
SetFormatedPatronName("Legendary", "Zayah", "Vek'nilash")..
|
|
SetFormatedPatronName("Epic", "Squishses", "Area 52")..
|
|
SetFormatedPatronName("Uncommon", "Flex (drantor)")..
|
|
SetFormatedPatronName("Uncommon", "Kyle Fuller")..
|
|
SetFormatedPatronName("Uncommon", "Pablo Sebastián Molina Silva")..
|
|
SetFormatedPatronName("Uncommon", "Semy", "Ravencrest")..
|
|
SetFormatedPatronName("Uncommon", "Torresman", "Drak'thul")..
|
|
SetFormatedPatronName("Uncommon", "Xeelee", "Razorfen")..
|
|
SetFormatedPatronName("Common", "Darren Divecha")..
|
|
"\n"..
|
|
cTitle.."Testers|r\n"..
|
|
SetFormatedPlayerName("Asimeria", "Drak'thul")..
|
|
SetFormatedPlayerName("Torresman", "Drak'thul"),
|
|
textY = -20,
|
|
},
|
|
})
|
|
end
|
|
|
|
--------------
|
|
-- External --
|
|
--------------
|
|
|
|
function M:OnInitialize()
|
|
_DBG("|cffffff00Init|r - "..self:GetName(), true)
|
|
db = KT.db.profile
|
|
dbChar = KT.db.char
|
|
end
|
|
|
|
function M:OnEnable()
|
|
_DBG("|cff00ff00Enable|r - "..self:GetName(), true)
|
|
SetupTutorials()
|
|
local last = false
|
|
if KT.version ~= KT.db.global.version then
|
|
local data = T.GetTutorial(helpName)
|
|
local index = data.savedvariable[data.key]
|
|
if index then
|
|
last = index < helpNumPages and index or true
|
|
T.ResetTutorial(helpName)
|
|
end
|
|
end
|
|
T.TriggerTutorial(helpName, helpNumPages, last)
|
|
end
|
|
|
|
function M:ShowHelp(index)
|
|
HideUIPanel(SettingsPanel)
|
|
T.ResetTutorial(helpName)
|
|
T.TriggerTutorial(helpName, helpNumPages, index or false)
|
|
end
|
|
|
|
function M:ShowSupporters()
|
|
HideUIPanel(SettingsPanel)
|
|
T.ResetTutorial(supportersName)
|
|
T.TriggerTutorial(supportersName, supportersNumPages)
|
|
end
|