1b06808655
Players who run fully zoomed-out minimaps need a larger visibility radius since quest objective spawns can be far apart. Raise the slider max from 200 to 1000 (yards). Default (100) and minimum (25) unchanged.
1386 lines
72 KiB
Lua
1386 lines
72 KiB
Lua
---@type QuestieOptions
|
|
local QuestieOptions = QuestieLoader:ImportModule("QuestieOptions");
|
|
---@type QuestieOptionsDefaults
|
|
local QuestieOptionsDefaults = QuestieLoader:ImportModule("QuestieOptionsDefaults");
|
|
---@type QuestieOptionsUtils
|
|
local QuestieOptionsUtils = QuestieLoader:ImportModule("QuestieOptionsUtils");
|
|
---@type QuestieFramePool
|
|
local QuestieFramePool = QuestieLoader:ImportModule("QuestieFramePool");
|
|
---@type QuestieMap
|
|
local QuestieMap = QuestieLoader:ImportModule("QuestieMap");
|
|
---@type l10n
|
|
local l10n = QuestieLoader:ImportModule("l10n")
|
|
---@type QuestieQuest
|
|
local QuestieQuest = QuestieLoader:ImportModule("QuestieQuest");
|
|
---@type QuestiePlayer
|
|
local QuestiePlayer = QuestieLoader:ImportModule("QuestiePlayer");
|
|
---@type QuestieTooltips
|
|
local QuestieTooltips = QuestieLoader:ImportModule("QuestieTooltips");
|
|
---@type QuestieMenu
|
|
local QuestieMenu = QuestieLoader:ImportModule("QuestieMenu");
|
|
|
|
QuestieOptions.tabs.icons = {...}
|
|
local optionsDefaults = QuestieOptionsDefaults:Load()
|
|
|
|
local _GetIconTypes
|
|
local _GetIconTypesSort
|
|
local _GetIconThemes
|
|
local _GetIconThemesSort
|
|
|
|
function QuestieOptions.tabs.icons:Initialize()
|
|
return {
|
|
name = function() return l10n('Icons'); end,
|
|
type = "group",
|
|
order = 2,
|
|
args = {
|
|
icon_options = {
|
|
type = "header",
|
|
order = 1,
|
|
width = "normal",
|
|
name = function() return l10n('Icon Options'); end,
|
|
},
|
|
iconsSpacer = {
|
|
type = "description",
|
|
order = 1.01,
|
|
name = "",
|
|
desc = "",
|
|
image = "",
|
|
imageWidth = 0.06,
|
|
width = 0.06,
|
|
func = function() end,
|
|
},
|
|
show_icons = {
|
|
type = "toggle",
|
|
order = 1.1,
|
|
name = function() return l10n('Enable Icons'); end,
|
|
desc = function() return l10n('Shows or hides the icons that Questie draws on the world map and minimap.'); end,
|
|
descStyle = "inline",
|
|
width = 1.595,
|
|
get = function() return Questie.db.profile.enabled; end,
|
|
set = function(info, value)
|
|
Questie.db.profile.enabled = value
|
|
QuestieQuest:ToggleNotes(value);
|
|
end,
|
|
},
|
|
themeSpacer = {
|
|
type = "description",
|
|
order = 1.11,
|
|
name = "",
|
|
desc = "",
|
|
image = "",
|
|
imageWidth = 0.3,
|
|
width = 0.3,
|
|
func = function() end,
|
|
},
|
|
iconThemePicker = {
|
|
type = "select",
|
|
order = 1.2,
|
|
values = _GetIconThemes(),
|
|
sorting = _GetIconThemesSort(),
|
|
style = 'dropdown',
|
|
width = 1,
|
|
disabled = function() return (not Questie.db.profile.enabled); end,
|
|
name = function() return l10n('Objective Icon Theme') end,
|
|
desc = function() return l10n('Change between themes for objective icons.'); end,
|
|
get = function() return Questie.db.profile.iconTheme; end,
|
|
set = function(info, value) QuestieOptionsUtils.ExecuteTheme(info, value) end,
|
|
},
|
|
themeSpacerPost = {
|
|
type = "description",
|
|
order = 1.21,
|
|
name = "",
|
|
desc = "",
|
|
image = "",
|
|
imageWidth = 0.35,
|
|
width = 0.35,
|
|
func = function() end,
|
|
},
|
|
untrackedSpacer = {
|
|
type = "description",
|
|
order = 1.22,
|
|
name = "",
|
|
desc = "",
|
|
image = "",
|
|
imageWidth = 0.06,
|
|
width = 0.06,
|
|
func = function() end,
|
|
},
|
|
hideMapIconsForUntrackedToggle = {
|
|
type = "toggle",
|
|
order = 1.3,
|
|
name = function() return l10n('Hide icons of untracked quests'); end,
|
|
desc = function() return l10n('Hide icons for quests that are not tracked.'); end,
|
|
width = 1.6,
|
|
disabled = function() return (not Questie.db.profile.enabled); end,
|
|
get = function() return Questie.db.profile.hideUntrackedQuestsMapIcons; end,
|
|
set = function(info, value)
|
|
Questie.db.profile.hideUntrackedQuestsMapIcons = value
|
|
QuestieQuest:ToggleNotes(not value)
|
|
|
|
-- Hides tooltips for untracked quests
|
|
if value == true then
|
|
for questId, quest in pairs(QuestiePlayer.currentQuestlog) do
|
|
if not QuestieQuest:ShouldShowQuestNotes(quest.Id) then
|
|
QuestieTooltips:RemoveQuest(quest.Id)
|
|
end
|
|
end
|
|
end
|
|
|
|
-- Readds tooltips from all missing quests
|
|
if value == false then
|
|
for questId, quest in pairs(QuestiePlayer.currentQuestlog) do
|
|
QuestieQuest:PopulateObjectiveNotes(quest)
|
|
end
|
|
end
|
|
end,
|
|
},
|
|
icon_toggles_group = {
|
|
type = "group",
|
|
order = 2,
|
|
inline = true,
|
|
width = 0.5,
|
|
name = function() return l10n('Show icons for...'); end,
|
|
disabled = function() return not Questie.db.profile.enabled end,
|
|
args = {
|
|
quest_options = {
|
|
type = "header",
|
|
order = 2,
|
|
width = "normal",
|
|
name = function() return l10n('Quests'); end,
|
|
},
|
|
showNormalQuests = {
|
|
type = "toggle",
|
|
order = 2.01,
|
|
name = function() return l10n('Available Normal Quests'); end,
|
|
desc = function() return l10n('When this is enabled, the locations of available quests will be shown on the map/minimap.'); end,
|
|
width = 1.595,
|
|
disabled = function() return (not Questie.db.profile.enabled); end,
|
|
get = function() return Questie.db.profile.enableAvailable; end,
|
|
set = function(info, value)
|
|
Questie.db.profile.enableAvailable = value
|
|
QuestieQuest:ToggleNotes(value)
|
|
end,
|
|
},
|
|
showEventQuests = {
|
|
type = "toggle",
|
|
order = 2.02,
|
|
name = function() return l10n('Available Event Quests'); end,
|
|
desc = function() return l10n('When this is enabled, the locations of active event quests will be shown on the map/minimap.'); end,
|
|
width = 1.595,
|
|
disabled = function() return (not Questie.db.profile.enabled); end,
|
|
get = function(info) return Questie.db.profile.showEventQuests end,
|
|
set = function(info, value)
|
|
Questie.db.profile.showEventQuests = value
|
|
QuestieQuest:ToggleNotes(value)
|
|
end,
|
|
},
|
|
showRepeatableQuests = {
|
|
type = "toggle",
|
|
order = 2.03,
|
|
name = function() return l10n('Available Repeatable Quests'); end,
|
|
desc = function() return l10n('When this is enabled, the locations of repeatable quests will be shown on the map/minimap.'); end,
|
|
width = 1.595,
|
|
disabled = function() return (not Questie.db.profile.enabled); end,
|
|
get = function(info) return Questie.db.profile.showRepeatableQuests end,
|
|
set = function(info, value)
|
|
Questie.db.profile.showRepeatableQuests = value
|
|
QuestieQuest:ToggleNotes(value)
|
|
end,
|
|
},
|
|
hideRepeatableBelowMaxLevel = {
|
|
type = "toggle",
|
|
order = 2.035,
|
|
name = function() return l10n('Hide repeatable quests below level 60'); end,
|
|
desc = function() return l10n('Hides repeatable available quests (such as the Ascension Callboard) from the map and minimap until the character reaches level 60, where they become relevant.'); end,
|
|
width = 1.595,
|
|
disabled = function() return (not Questie.db.profile.enabled) or (not Questie.db.profile.showRepeatableQuests); end,
|
|
get = function(info) return Questie.db.profile.hideRepeatableBelowMaxLevel end,
|
|
set = function(info, value)
|
|
Questie.db.profile.hideRepeatableBelowMaxLevel = value
|
|
QuestieQuest:ToggleNotes(true)
|
|
local AvailableQuests = QuestieLoader:ImportModule("AvailableQuests")
|
|
if AvailableQuests and AvailableQuests.CalculateAndDrawAll then
|
|
AvailableQuests.CalculateAndDrawAll()
|
|
end
|
|
end,
|
|
},
|
|
showPvPQuests = {
|
|
type = "toggle",
|
|
order = 2.04,
|
|
name = function() return l10n('Available PvP Quests'); end,
|
|
desc = function() return l10n('When this is enabled, the locations of PvP quests will be shown on the map/minimap.'); end,
|
|
width = 1.595,
|
|
disabled = function() return (not Questie.db.profile.enabled); end,
|
|
get = function(info) return Questie.db.profile.showPvPQuests end,
|
|
set = function(info, value)
|
|
Questie.db.profile.showPvPQuests = value
|
|
QuestieQuest:ToggleNotes(value)
|
|
end,
|
|
},
|
|
showDungeonQuests = {
|
|
type = "toggle",
|
|
order = 2.05,
|
|
name = function() return l10n('Available Dungeon Quests'); end,
|
|
desc = function() return l10n('When this is enabled, the locations of dungeon quests will be shown on the map/minimap.'); end,
|
|
width = 1.595,
|
|
disabled = function() return (not Questie.db.profile.enabled); end,
|
|
get = function(info) return Questie.db.profile.showDungeonQuests end,
|
|
set = function(info, value)
|
|
Questie.db.profile.showDungeonQuests = value
|
|
QuestieQuest:ToggleNotes(value)
|
|
end,
|
|
},
|
|
showRaidQuests = {
|
|
type = "toggle",
|
|
order = 2.06,
|
|
name = function() return l10n('Available Raid Quests'); end,
|
|
desc = function() return l10n('When this is enabled, the locations of raid quests will be shown on the map/minimap.'); end,
|
|
width = 1.595,
|
|
disabled = function() return (not Questie.db.profile.enabled); end,
|
|
get = function(info) return Questie.db.profile.showRaidQuests end,
|
|
set = function(info, value)
|
|
Questie.db.profile.showRaidQuests = value
|
|
QuestieQuest:ToggleNotes(value)
|
|
end,
|
|
},
|
|
showCompleteQuests = {
|
|
type = "toggle",
|
|
order = 2.07,
|
|
name = function() return l10n('Completed Quests'); end,
|
|
desc = function() return l10n('When this is enabled, the quest turn-in locations will be shown on the map/minimap.'); end,
|
|
width = 1.595,
|
|
disabled = function() return (not Questie.db.profile.enabled); end,
|
|
get = function() return Questie.db.profile.enableTurnins; end,
|
|
set = function(info, value)
|
|
Questie.db.profile.enableTurnins = value
|
|
QuestieQuest:ToggleNotes(value)
|
|
end,
|
|
},
|
|
showObjectivesToggle = {
|
|
type = "toggle",
|
|
order = 2.08,
|
|
name = function() return l10n('Objectives'); end,
|
|
desc = function() return l10n('When this is enabled, quest objective icons will be shown on the map/minimap.'); end,
|
|
width = 1.595,
|
|
disabled = function() return (not Questie.db.profile.enabled); end,
|
|
get = function() return Questie.db.profile.enableObjectives; end,
|
|
set = function(info, value)
|
|
Questie.db.profile.enableObjectives = value
|
|
QuestieQuest:ToggleNotes(value)
|
|
QuestieOptionsUtils.DetermineTheme()
|
|
end,
|
|
},
|
|
showAQWarEffortQuests = {
|
|
type = "toggle",
|
|
order = 2.09,
|
|
hidden = (not Questie.IsClassic),
|
|
name = function() return l10n('Available AQ War Effort Quests'); end,
|
|
desc = function() return l10n('When this is enabled, the locations of the AQ War Effort quests will be shown on the map/minimap.'); end,
|
|
width = 1.595,
|
|
disabled = function() return (not Questie.db.profile.enabled); end,
|
|
get = function(info) return Questie.db.profile.showAQWarEffortQuests end,
|
|
set = function(info, value)
|
|
Questie.db.profile.showAQWarEffortQuests = value
|
|
QuestieQuest:ToggleNotes(value)
|
|
QuestieQuest:SmoothReset()
|
|
end,
|
|
},
|
|
sod_rune_options = {
|
|
type = "header",
|
|
order = 2.091,
|
|
width = "normal",
|
|
hidden = (not Questie.IsSoD),
|
|
name = function() return l10n('Season of Discovery Runes'); end,
|
|
},
|
|
showSoDRunes = {
|
|
type = "toggle",
|
|
order = 2.092,
|
|
hidden = (not Questie.IsSoD),
|
|
name = function() return l10n('Show Runes'); end,
|
|
desc = function() return l10n('When this is enabled, the locations of Season of Discovery Runes and Rune quests will be shown on the map/minimap.'); end,
|
|
width = "full",
|
|
disabled = function()
|
|
return (not Questie.db.profile.enabled);
|
|
end,
|
|
get = function(info) return Questie.db.profile.showSoDRunes end,
|
|
set = function(info, value)
|
|
Questie.db.profile.showSoDRunes = value
|
|
QuestieQuest:ToggleNotes(value)
|
|
QuestieQuest:SmoothReset()
|
|
end,
|
|
},
|
|
sodRuneSelection = {
|
|
type = "group",
|
|
order = 2.093,
|
|
name = "",
|
|
hidden = (not Questie.IsSoD),
|
|
disabled = function() return not Questie.db.profile.showSoDRunes end,
|
|
args = {
|
|
phase1 = {
|
|
type = "toggle",
|
|
name = l10n("Phase 1"),
|
|
get = function() return Questie.db.profile.showRunesOfPhase.phase1; end,
|
|
set = function(info, value)
|
|
Questie.db.profile.showRunesOfPhase.phase1 = value
|
|
QuestieQuest:SmoothReset()
|
|
end,
|
|
},
|
|
phase2 = {
|
|
type = "toggle",
|
|
name = l10n("Phase 2"),
|
|
get = function() return Questie.db.profile.showRunesOfPhase.phase2; end,
|
|
set = function(info, value)
|
|
Questie.db.profile.showRunesOfPhase.phase2 = value
|
|
QuestieQuest:SmoothReset()
|
|
end,
|
|
},
|
|
},
|
|
},
|
|
townsfolk_options = {
|
|
type = "header",
|
|
order = 2.10,
|
|
width = "normal",
|
|
name = function() return l10n('Other Icons'); end,
|
|
},
|
|
townsfolkSpacer1 = {
|
|
type = "description",
|
|
order = 2.11,
|
|
name = "",
|
|
desc = "",
|
|
image = "",
|
|
imageWidth = 0.32,
|
|
width = 0.32,
|
|
func = function() end,
|
|
},
|
|
townsfolkOptions = {
|
|
type = "execute",
|
|
order = 2.12,
|
|
name = function() return l10n('Townsfolk'); end,
|
|
desc = function() return l10n('Allows to select which tracking icons (like Mailbox, Repair-NPCs) to show on the map and minimap.'); end,
|
|
width = 0.8,
|
|
disabled = false,
|
|
func = function(info, value)
|
|
QuestieMenu:ShowTownsfolk(1)
|
|
end
|
|
},
|
|
professionOptions = {
|
|
type = "execute",
|
|
order = 2.13,
|
|
name = function() return l10n('Profession Trainers'); end,
|
|
desc = function() return l10n('Allows to select which profession trainers to show on the map and minimap.'); end,
|
|
width = 0.95,
|
|
disabled = false,
|
|
func = function(info, value)
|
|
QuestieMenu:ShowProfessions(1)
|
|
end
|
|
},
|
|
vendorOptions = {
|
|
type = "execute",
|
|
order = 2.14,
|
|
name = function() return l10n('Vendors'); end,
|
|
desc = function() return l10n('Allows to select which vendors to show on the map and minimap.'); end,
|
|
width = 0.8,
|
|
disabled = false,
|
|
func = function(info, value)
|
|
QuestieMenu:ShowVendors(1)
|
|
end
|
|
},
|
|
},
|
|
},
|
|
map_settings_group = {
|
|
type = "group",
|
|
order = 3,
|
|
inline = true,
|
|
width = 0.5,
|
|
name = function() return l10n('Map Options'); end,
|
|
args = {
|
|
enableMapToggle = {
|
|
type = "toggle",
|
|
order = 3.1,
|
|
name = function() return l10n('Enable Map Icons'); end,
|
|
desc = function() return l10n('Show/hide all icons from the main map.'); end,
|
|
descStyle = "inline",
|
|
width = 3.1,
|
|
disabled = function() return (not Questie.db.profile.enabled); end,
|
|
get = function() return Questie.db.profile.enableMapIcons; end,
|
|
set = function(info, value)
|
|
Questie.db.profile.enableMapIcons = value
|
|
QuestieQuest:ToggleNotes(value)
|
|
end,
|
|
},
|
|
alwaysGlowMap = {
|
|
type = "toggle",
|
|
order = 3.2,
|
|
name = function() return l10n('Map Icons Glow'); end,
|
|
desc = function() return l10n('Draw a glow texture behind map icons, colored unique to each quest.'); end,
|
|
width = 1.595,
|
|
disabled = function() return ((not Questie.db.profile.enabled) or (not Questie.db.profile.enableMapIcons)); end,
|
|
get = function(info) return QuestieOptions:GetProfileValue(info); end,
|
|
set = function (info, value)
|
|
QuestieOptions:SetProfileValue(info, value)
|
|
QuestieOptionsUtils.DetermineTheme()
|
|
QuestieFramePool:UpdateGlowConfig(false, value)
|
|
end,
|
|
},
|
|
questObjectiveColors = {
|
|
type = "toggle",
|
|
order = 3.3,
|
|
name = function() return l10n('Unique Map Icon Colors'); end,
|
|
desc = function() return l10n('Show map icons with colors that are randomly generated based on quest ID.'); end,
|
|
width = 1.595,
|
|
disabled = function() return ((not Questie.db.profile.enabled) or (not Questie.db.profile.enableMapIcons)); end,
|
|
get = function(info) return QuestieOptions:GetProfileValue(info); end,
|
|
set = function (info, value)
|
|
QuestieOptions:SetProfileValue(info, value)
|
|
QuestieOptionsUtils.DetermineTheme()
|
|
QuestieFramePool:UpdateColorConfig(false, value)
|
|
end,
|
|
},
|
|
hideUnexploredMapIconsToggle = {
|
|
type = "toggle",
|
|
order = 3.4,
|
|
name = function() return l10n('Hide Icons in Unexplored Areas'); end,
|
|
desc = function() return l10n('Hide icons in unexplored map regions.'); end,
|
|
width = 1.595,
|
|
disabled = function() return ((not Questie.db.profile.enabled) or (not Questie.db.profile.enableMapIcons)); end,
|
|
get = function() return Questie.db.profile.hideUnexploredMapIcons; end,
|
|
set = function(info, value)
|
|
Questie.db.profile.hideUnexploredMapIcons = value
|
|
QuestieQuest:ToggleNotes(not value)
|
|
end,
|
|
},
|
|
hideIconsOnContinents = {
|
|
type = "toggle",
|
|
order = 3.5,
|
|
name = function() return l10n('Hide Icons on Continent Map'); end,
|
|
desc = function() return l10n('Hide icons on the continent map, when not viewing a specific zone.'); end,
|
|
width = 1.595,
|
|
disabled = function() return ((not Questie.db.profile.enabled) or (not Questie.db.profile.enableMapIcons)); end,
|
|
get = function() return Questie.db.profile.hideIconsOnContinents; end,
|
|
set = function(info, value)
|
|
Questie.db.profile.hideIconsOnContinents = value
|
|
QuestieQuest:SmoothReset()
|
|
end,
|
|
},
|
|
},
|
|
},
|
|
minimap_settings_group = {
|
|
type = "group",
|
|
order = 4,
|
|
inline = true,
|
|
width = 0.5,
|
|
name = function() return l10n('Minimap Options'); end,
|
|
disabled = function() return not Questie.db.profile.enabled end,
|
|
args = {
|
|
enableMiniMapToggle = {
|
|
type = "toggle",
|
|
order = 4.1,
|
|
name = function() return l10n('Enable Minimap Icons'); end,
|
|
desc = function() return l10n('Show/hide all icons from the minimap.'); end,
|
|
descStyle = "inline",
|
|
width = 3.1,
|
|
disabled = function() return (not Questie.db.profile.enabled); end,
|
|
get = function() return Questie.db.profile.enableMiniMapIcons; end,
|
|
set = function(info, value)
|
|
Questie.db.profile.enableMiniMapIcons = value
|
|
QuestieQuest:ToggleNotes(value)
|
|
end,
|
|
},
|
|
hideMiniMapQuestIcons = {
|
|
type = "toggle",
|
|
order = 4.15,
|
|
name = function() return l10n('Hide Questie minimap quest icons'); end,
|
|
desc = function() return l10n('Hides available and completed quest icons on the minimap only. Objective icons are unaffected.'); end,
|
|
width = 3.1,
|
|
disabled = function() return ((not Questie.db.profile.enabled) or (not Questie.db.profile.enableMiniMapIcons)); end,
|
|
get = function() return Questie.db.profile.hideMiniMapQuestIcons; end,
|
|
set = function(info, value)
|
|
Questie.db.profile.hideMiniMapQuestIcons = value
|
|
QuestieQuest:SmoothReset()
|
|
end,
|
|
},
|
|
alwaysGlowMinimap = {
|
|
type = "toggle",
|
|
order = 4.2,
|
|
name = function() return l10n('Minimap Icons Glow'); end,
|
|
desc = function() return l10n('Draw a glow texture behind minimap icons, colored unique to each quest.'); end,
|
|
width = 1.595,
|
|
disabled = function() return ((not Questie.db.profile.enabled) or (not Questie.db.profile.enableMiniMapIcons)); end,
|
|
get = function(info) return QuestieOptions:GetProfileValue(info); end,
|
|
set = function (info, value)
|
|
QuestieOptions:SetProfileValue(info, value)
|
|
QuestieOptionsUtils.DetermineTheme()
|
|
QuestieFramePool:UpdateGlowConfig(true, value)
|
|
end,
|
|
},
|
|
questMinimapObjectiveColors = {
|
|
type = "toggle",
|
|
order = 4.3,
|
|
name = function() return l10n('Unique Minimap Icon Colors'); end,
|
|
desc = function() return l10n('Draw a glow texture behind minimap icons, colored unique to each quest.'); end,
|
|
width = 1.595,
|
|
disabled = function() return ((not Questie.db.profile.enabled) or (not Questie.db.profile.enableMiniMapIcons)); end,
|
|
get = function(info) return QuestieOptions:GetProfileValue(info); end,
|
|
set = function (info, value)
|
|
QuestieOptions:SetProfileValue(info, value)
|
|
QuestieOptionsUtils.DetermineTheme()
|
|
QuestieFramePool:UpdateColorConfig(true, value)
|
|
end,
|
|
},
|
|
minimapIconRangeCutoff = {
|
|
type = "range",
|
|
order = 4.35,
|
|
name = function() return l10n('Minimap Icon Range Cutoff'); end,
|
|
desc = function() return l10n('How far away minimap icons can remain visible.\n(Default: %s)', optionsDefaults.profile.minimapIconRangeCutoff); end,
|
|
width = 3.1,
|
|
min = 25,
|
|
max = 1000,
|
|
step = 5,
|
|
disabled = function() return ((not Questie.db.profile.enabled) or (not Questie.db.profile.enableMiniMapIcons)); end,
|
|
get = function(info) return QuestieOptions:GetProfileValue(info); end,
|
|
set = function (info, value)
|
|
QuestieOptions:SetProfileValue(info, value)
|
|
end,
|
|
},
|
|
fadeLevel = {
|
|
type = "range",
|
|
order = 4.4,
|
|
name = function() return l10n('Minimap Icon Fade Distance'); end,
|
|
desc = function() return l10n('How much objective icons should fade depending on distance.\n(Default: %s)', optionsDefaults.profile.fadeLevel); end,
|
|
width = 3.1,
|
|
min = 10,
|
|
max = 100,
|
|
step = 1,
|
|
disabled = function() return ((not Questie.db.profile.enabled) or (not Questie.db.profile.enableMiniMapIcons)); end,
|
|
get = function(info) return QuestieOptions:GetProfileValue(info); end,
|
|
set = function (info, value)
|
|
QuestieOptions:SetProfileValue(info, value)
|
|
end,
|
|
},
|
|
fadeOverPlayer = {
|
|
type = "toggle",
|
|
order = 4.5,
|
|
name = function() return l10n('Fade Icons over Player'); end,
|
|
desc = function() return l10n('Fades icons on the minimap when your player walks near them.'); end,
|
|
width = "full",
|
|
disabled = function() return ((not Questie.db.profile.enabled) or (not Questie.db.profile.enableMiniMapIcons)); end,
|
|
get = function(info) return QuestieOptions:GetProfileValue(info); end,
|
|
set = function (info, value)
|
|
QuestieOptions:SetProfileValue(info, value)
|
|
end,
|
|
},
|
|
fadeOverPlayerDistance = {
|
|
type = "range",
|
|
order = 4.6,
|
|
name = function() return l10n('Fade over Player Distance'); end,
|
|
desc = function() return l10n('How far from player should icons start to fade.\n(Default: %s)', optionsDefaults.profile.fadeOverPlayerDistance); end,
|
|
width = 1.55,
|
|
min = 0,
|
|
max = 20,
|
|
step = 0.5,
|
|
get = function(info) return QuestieOptions:GetProfileValue(info); end,
|
|
disabled = function() return ((not Questie.db.profile.enabled) or (not Questie.db.profile.enableMiniMapIcons) or (not Questie.db.profile.fadeOverPlayer)); end,
|
|
--disabled = function() return (not Questie.db.profile.fadeOverPlayer); end,
|
|
set = function (info, value)
|
|
QuestieOptions:SetProfileValue(info, value)
|
|
end,
|
|
},
|
|
fadeOverPlayerLevel = {
|
|
type = "range",
|
|
order = 4.7,
|
|
name = function() return l10n('Fade over Player Amount'); end,
|
|
desc = function() return l10n('How much should the icons around the player fade.\n(Default: %s)', optionsDefaults.profile.fadeOverPlayerLevel); end,
|
|
width = 1.55,
|
|
min = 0.1,
|
|
max = 1,
|
|
step = 0.1,
|
|
disabled = function() return ((not Questie.db.profile.enabled) or (not Questie.db.profile.enableMiniMapIcons) or (not Questie.db.profile.fadeOverPlayer)); end,
|
|
get = function(info) return QuestieOptions:GetProfileValue(info); end,
|
|
set = function (info, value)
|
|
QuestieOptions:SetProfileValue(info, value)
|
|
end,
|
|
},
|
|
},
|
|
},
|
|
icon_scales_group = {
|
|
type = "group",
|
|
order = 5,
|
|
inline = true,
|
|
width = 0.5,
|
|
name = function() return l10n('Icon Scales'); end,
|
|
disabled = function() return not Questie.db.profile.enabled end,
|
|
args = {
|
|
globalScale = {
|
|
type = "range",
|
|
order = 5.1,
|
|
name = function() return l10n('Map Icons'); end,
|
|
desc = function() return l10n('How large the map icons are.\n(Default: %s)', optionsDefaults.profile.globalScale); end,
|
|
width = 1.55,
|
|
min = 0.01,
|
|
max = 4,
|
|
step = 0.01,
|
|
get = function(info) return QuestieOptions:GetProfileValue(info); end,
|
|
set = function (info, value)
|
|
QuestieMap:RescaleIcons()
|
|
QuestieOptions:SetProfileValue(info, value)
|
|
end,
|
|
},
|
|
globalMiniMapScale = {
|
|
type = "range",
|
|
order = 5.2,
|
|
name = function() return l10n('Minimap Icons'); end,
|
|
desc = function() return l10n('How large the minimap icons are.\n(Default: %s)', optionsDefaults.profile.globalMiniMapScale); end,
|
|
width = 1.55,
|
|
min = 0.01,
|
|
max = 4,
|
|
step = 0.01,
|
|
get = function(info) return QuestieOptions:GetProfileValue(info); end,
|
|
set = function (info, value)
|
|
QuestieMap:RescaleIcons()
|
|
QuestieOptions:SetProfileValue(info, value)
|
|
end,
|
|
},
|
|
spacer_scale = QuestieOptionsUtils:Spacer(5.3),
|
|
availableScale = {
|
|
type = "range",
|
|
order = 5.4,
|
|
name = function() return l10n('Quest Icons'); end,
|
|
desc = function() return l10n('How large the available/complete icons are. Affects both map and minimap icons.\n(Default: %s)', optionsDefaults.profile.availableScale); end,
|
|
width = 3.1,
|
|
min = 0.01,
|
|
max = 4,
|
|
step = 0.01,
|
|
get = function(info) return QuestieOptions:GetProfileValue(info); end,
|
|
set = function (info, value)
|
|
QuestieMap:RescaleIcons()
|
|
QuestieOptions:SetProfileValue(info, value)
|
|
end,
|
|
},
|
|
lootScale = {
|
|
type = "range",
|
|
order = 5.5,
|
|
name = function() return l10n('Loot objectives'); end,
|
|
desc = function() return l10n('How large the loot icons are.\n(Default: %s)', optionsDefaults.profile.lootScale); end,
|
|
width = 1.55,
|
|
min = 0.01,
|
|
max = 4,
|
|
step = 0.01,
|
|
get = function(info) return QuestieOptions:GetProfileValue(info); end,
|
|
set = function (info, value)
|
|
QuestieMap:RescaleIcons()
|
|
QuestieOptions:SetProfileValue(info, value)
|
|
end,
|
|
},
|
|
monsterScale = {
|
|
type = "range",
|
|
order = 5.6,
|
|
name = function() return l10n('Slay objectives'); end,
|
|
desc = function() return l10n('How large the slay icons are.\n(Default: %s)', optionsDefaults.profile.monsterScale); end,
|
|
width = 1.55,
|
|
min = 0.01,
|
|
max = 4,
|
|
step = 0.01,
|
|
get = function(info) return QuestieOptions:GetProfileValue(info); end,
|
|
set = function (info, value)
|
|
QuestieMap:RescaleIcons()
|
|
QuestieOptions:SetProfileValue(info, value)
|
|
end,
|
|
},
|
|
eventScale = {
|
|
type = "range",
|
|
order = 5.7,
|
|
name = function() return l10n('Event objectives'); end,
|
|
desc = function() return l10n('How large the event icons are.\n(Default: %s)', optionsDefaults.profile.eventScale); end,
|
|
width = 1.55,
|
|
min = 0.01,
|
|
max = 4,
|
|
step = 0.01,
|
|
get = function(info) return QuestieOptions:GetProfileValue(info); end,
|
|
set = function (info, value)
|
|
QuestieMap:RescaleIcons()
|
|
QuestieOptions:SetProfileValue(info, value)
|
|
end,
|
|
},
|
|
objectScale = {
|
|
type = "range",
|
|
order = 5.8,
|
|
name = function() return l10n('Object objectives'); end,
|
|
desc = function() return l10n('How large the object icons are.\n(Default: %s)', optionsDefaults.profile.objectScale); end,
|
|
width = 1.55,
|
|
min = 0.01,
|
|
max = 4,
|
|
step = 0.01,
|
|
get = function(info) return QuestieOptions:GetProfileValue(info); end,
|
|
set = function (info, value)
|
|
QuestieMap:RescaleIcons()
|
|
QuestieOptions:SetProfileValue(info, value)
|
|
end,
|
|
},
|
|
},
|
|
},
|
|
iconOverrides = {
|
|
type = "group",
|
|
order = 16,
|
|
inline = true,
|
|
name = function() return l10n("Icon Overrides") end,
|
|
args = {
|
|
--usePfQuestIcons = {
|
|
-- type = "toggle",
|
|
-- order = 16.1,
|
|
-- name = function() return l10n('Toggle pfQuest/ClassicCodex icon style'); end,
|
|
-- desc = function()
|
|
-- return l10n('Toggles between Questie icon style and pfQuest/ClassicCodex icon style.\n\nToggling affects the following settings:\n\n- Objective icons\n- ')
|
|
-- .. l10n('Map Icons Glow') .. '\n- '
|
|
-- .. l10n('Unique Map Icon Colors') .. '\n- '
|
|
-- .. l10n('Minimap Icons Glow') .. '\n- '
|
|
-- .. l10n('Unique Minimap Icon Colors') .. '\n- '
|
|
-- .. l10n('Objective icon cluster amount');
|
|
-- end,
|
|
-- width = 3,
|
|
-- disabled = function() return (not Questie.db.profile.enabled); end,
|
|
-- get = function(info) return Questie.db.profile.usePfQuestIcons end,
|
|
-- set = QuestieOptionsUtils.SetPfQuestIcons,
|
|
--},
|
|
overrideObjectivesHeader = {
|
|
type = "header",
|
|
order = 16.5,
|
|
name = function() return l10n('Objectives') end,
|
|
},
|
|
objectiveSpacer1 = {
|
|
type = "description",
|
|
order = 16.9,
|
|
name = "",
|
|
desc = "",
|
|
image = "",
|
|
imageWidth = 0.2,
|
|
width = 0.2,
|
|
func = function() end,
|
|
},
|
|
iconTypeSlay = {
|
|
type = "select",
|
|
order = 17,
|
|
values = _GetIconTypes(),
|
|
sorting = _GetIconTypesSort(),
|
|
style = 'dropdown',
|
|
width = 0.796,
|
|
name = function() return l10n('Slay objectives') end,
|
|
desc = function() return l10n('The icon that is displayed for quest objectives where you need to kill an NPC'); end,
|
|
get = function() return Questie:GetIconNameFromPath(Questie.db.profile.ICON_SLAY) or "slay"; end,
|
|
disabled = function() return (not Questie.db.profile.enabled); end,
|
|
set = function(input, key)
|
|
Questie.db.profile.ICON_SLAY = Questie.icons[key]
|
|
QuestieOptionsUtils.DetermineTheme()
|
|
Questie:SetIcons()
|
|
QuestieQuest:SmoothReset()
|
|
end,
|
|
},
|
|
objectiveSpacer2 = {
|
|
type = "description",
|
|
order = 17.5,
|
|
name = "",
|
|
desc = "",
|
|
image = "",
|
|
imageWidth = 0.2,
|
|
width = 0.2,
|
|
func = function() end,
|
|
},
|
|
iconTypeLoot = {
|
|
type = "select",
|
|
order = 18,
|
|
values = _GetIconTypes(),
|
|
sorting = _GetIconTypesSort(),
|
|
style = 'dropdown',
|
|
width = 0.796,
|
|
name = function() return l10n('Loot objectives') end,
|
|
desc = function() return l10n('The icon that is displayed for quest objectives where you need to loot an item'); end,
|
|
get = function() return Questie:GetIconNameFromPath(Questie.db.profile.ICON_LOOT) or "loot"; end,
|
|
disabled = function() return (not Questie.db.profile.enabled); end,
|
|
set = function(input, key)
|
|
Questie.db.profile.ICON_LOOT = Questie.icons[key]
|
|
QuestieOptionsUtils.DetermineTheme()
|
|
Questie:SetIcons()
|
|
QuestieQuest:SmoothReset()
|
|
end,
|
|
},
|
|
objectiveSpacer3 = {
|
|
type = "description",
|
|
order = 18.5,
|
|
name = "",
|
|
desc = "",
|
|
image = "",
|
|
imageWidth = 0.2,
|
|
width = 0.2,
|
|
func = function() end,
|
|
},
|
|
iconTypeObject = {
|
|
type = "select",
|
|
order = 19,
|
|
values = _GetIconTypes(),
|
|
sorting = _GetIconTypesSort(),
|
|
style = 'dropdown',
|
|
width = 0.796,
|
|
name = function() return l10n('Object objectives') end,
|
|
desc = function() return l10n('The icon that is displayed for quest objectives where you need to interact with an object'); end,
|
|
get = function() return Questie:GetIconNameFromPath(Questie.db.profile.ICON_OBJECT) or "object"; end,
|
|
disabled = function() return (not Questie.db.profile.enabled); end,
|
|
set = function(input, key)
|
|
Questie.db.profile.ICON_OBJECT = Questie.icons[key]
|
|
QuestieOptionsUtils.DetermineTheme()
|
|
Questie:SetIcons()
|
|
QuestieQuest:SmoothReset()
|
|
end,
|
|
},
|
|
objectiveSpacer4 = {
|
|
type = "description",
|
|
order = 19.5,
|
|
name = "",
|
|
desc = "",
|
|
image = "",
|
|
imageWidth = 0.699,
|
|
width = 0.699,
|
|
func = function() end,
|
|
},
|
|
iconTypeEvent = {
|
|
type = "select",
|
|
order = 20,
|
|
values = _GetIconTypes(),
|
|
sorting = _GetIconTypesSort(),
|
|
style = 'dropdown',
|
|
width = 0.796,
|
|
name = function() return l10n('Event objectives') end,
|
|
desc = function() return l10n('The icon that is displayed for quest objectives where you need to do something in a certain area, like exploring it or casting a spell there'); end,
|
|
get = function() return Questie:GetIconNameFromPath(Questie.db.profile.ICON_EVENT) or "event"; end,
|
|
disabled = function() return (not Questie.db.profile.enabled); end,
|
|
set = function(input, key)
|
|
Questie.db.profile.ICON_EVENT = Questie.icons[key]
|
|
QuestieOptionsUtils.DetermineTheme()
|
|
Questie:SetIcons()
|
|
QuestieQuest:SmoothReset()
|
|
end,
|
|
},
|
|
objectiveSpacer5 = {
|
|
type = "description",
|
|
order = 20.5,
|
|
name = "",
|
|
desc = "",
|
|
image = "",
|
|
imageWidth = 0.2,
|
|
width = 0.2,
|
|
func = function() end,
|
|
},
|
|
iconTypeTalk = {
|
|
type = "select",
|
|
order = 21,
|
|
values = _GetIconTypes(),
|
|
sorting = _GetIconTypesSort(),
|
|
style = 'dropdown',
|
|
width = 0.796,
|
|
name = function() return l10n('Talk objectives') end,
|
|
desc = function() return l10n('The icon that is displayed for quest objectives where you need to talk to an NPC'); end,
|
|
get = function() return Questie:GetIconNameFromPath(Questie.db.profile.ICON_TALK) or "talk"; end,
|
|
disabled = function() return (not Questie.db.profile.enabled); end,
|
|
set = function(input, key)
|
|
Questie.db.profile.ICON_TALK = Questie.icons[key]
|
|
QuestieOptionsUtils.DetermineTheme()
|
|
Questie:SetIcons()
|
|
QuestieQuest:SmoothReset()
|
|
end,
|
|
},
|
|
overrideNormalQuestsHeader = {
|
|
type = "header",
|
|
order = 22,
|
|
name = function() return l10n('Quests') end,
|
|
},
|
|
questSpacer1 = {
|
|
type = "description",
|
|
order = 22.5,
|
|
name = "",
|
|
desc = "",
|
|
image = "",
|
|
imageWidth = 0.2,
|
|
width = 0.2,
|
|
func = function() end,
|
|
},
|
|
iconTypeAvailable = {
|
|
type = "select",
|
|
order = 23,
|
|
values = _GetIconTypes(),
|
|
sorting = _GetIconTypesSort(),
|
|
style = 'dropdown',
|
|
width = 0.796,
|
|
name = function() return l10n('Available quests') end,
|
|
desc = function() return l10n('The icon that is displayed for available quests'); end,
|
|
get = function() return Questie:GetIconNameFromPath(Questie.db.profile.ICON_AVAILABLE) or "available"; end,
|
|
disabled = function() return (not Questie.db.profile.enabled); end,
|
|
set = function(input, key)
|
|
Questie.db.profile.ICON_AVAILABLE = Questie.icons[key]
|
|
Questie:SetIcons()
|
|
QuestieQuest:SmoothReset()
|
|
end,
|
|
},
|
|
questSpacer2 = {
|
|
type = "description",
|
|
order = 23.5,
|
|
name = "",
|
|
desc = "",
|
|
image = "",
|
|
imageWidth = 0.2,
|
|
width = 0.2,
|
|
func = function() end,
|
|
},
|
|
iconTypeComplete = {
|
|
type = "select",
|
|
order = 25,
|
|
values = _GetIconTypes(),
|
|
sorting = _GetIconTypesSort(),
|
|
style = 'dropdown',
|
|
width = 0.796,
|
|
name = function() return l10n('Complete quests') end,
|
|
desc = function() return l10n('The icon that is displayed for completed quests that can be handed in'); end,
|
|
get = function() return Questie:GetIconNameFromPath(Questie.db.profile.ICON_COMPLETE) or "complete"; end,
|
|
disabled = function() return (not Questie.db.profile.enabled); end,
|
|
set = function(input, key)
|
|
Questie.db.profile.ICON_COMPLETE = Questie.icons[key]
|
|
Questie:SetIcons()
|
|
QuestieQuest:SmoothReset()
|
|
end,
|
|
},
|
|
questSpacer3 = {
|
|
type = "description",
|
|
order = 25.5,
|
|
name = "",
|
|
desc = "",
|
|
image = "",
|
|
imageWidth = 0.2,
|
|
width = 0.2,
|
|
func = function() end,
|
|
},
|
|
iconTypeAvailableGray = {
|
|
type = "select",
|
|
order = 26,
|
|
values = _GetIconTypes(),
|
|
sorting = _GetIconTypesSort(),
|
|
style = 'dropdown',
|
|
width = 0.796,
|
|
name = function() return l10n('Unavailable and trivial quests') end,
|
|
desc = function() return l10n('The icon that is displayed for quests that require additional conditions to be met before they can be accepted, or are so low level they don\'t reward experience'); end,
|
|
get = function() return Questie:GetIconNameFromPath(Questie.db.profile.ICON_AVAILABLE_GRAY) or "available_gray"; end,
|
|
disabled = function() return (not Questie.db.profile.enabled); end,
|
|
set = function(input, key)
|
|
Questie.db.profile.ICON_AVAILABLE_GRAY = Questie.icons[key]
|
|
Questie:SetIcons()
|
|
QuestieQuest:SmoothReset()
|
|
end,
|
|
},
|
|
repeatable_spacer = QuestieOptionsUtils:Spacer(27,nil,"minimal"),
|
|
repeatableSpacer1 = {
|
|
type = "description",
|
|
order = 27.5,
|
|
name = "",
|
|
desc = "",
|
|
image = "",
|
|
imageWidth = 0.2,
|
|
width = 0.2,
|
|
func = function() end,
|
|
},
|
|
iconTypeRepeatable = {
|
|
type = "select",
|
|
order = 28,
|
|
values = _GetIconTypes(),
|
|
sorting = _GetIconTypesSort(),
|
|
style = 'dropdown',
|
|
width = 1.295,
|
|
name = function() return l10n('Available repeatable quests') end,
|
|
desc = function() return l10n('The icon that is displayed for available repeatable quests like dailies'); end,
|
|
get = function() return Questie:GetIconNameFromPath(Questie.db.profile.ICON_REPEATABLE) or "repeatable"; end,
|
|
disabled = function() return (not Questie.db.profile.enabled); end,
|
|
set = function(input, key)
|
|
Questie.db.profile.ICON_REPEATABLE = Questie.icons[key]
|
|
Questie:SetIcons()
|
|
QuestieQuest:SmoothReset()
|
|
end,
|
|
},
|
|
repeatableSpacer2 = {
|
|
type = "description",
|
|
order = 28.5,
|
|
name = "",
|
|
desc = "",
|
|
image = "",
|
|
imageWidth = 0.2,
|
|
width = 0.2,
|
|
func = function() end,
|
|
},
|
|
iconTypeRepeatableComplete = {
|
|
type = "select",
|
|
order = 29,
|
|
values = _GetIconTypes(),
|
|
sorting = _GetIconTypesSort(),
|
|
style = 'dropdown',
|
|
width = 1.295,
|
|
name = function() return l10n('Complete repeatable quests') end,
|
|
desc = function() return l10n('The icon that is displayed for repeatable quests that can be handed in'); end,
|
|
get = function() return Questie:GetIconNameFromPath(Questie.db.profile.ICON_REPEATABLE_COMPLETE) or "complete"; end,
|
|
disabled = function() return (not Questie.db.profile.enabled); end,
|
|
set = function(input, key)
|
|
Questie.db.profile.ICON_REPEATABLE_COMPLETE = Questie.icons[key]
|
|
Questie:SetIcons()
|
|
QuestieQuest:SmoothReset()
|
|
end,
|
|
},
|
|
event_spacer = QuestieOptionsUtils:Spacer(30,nil,"minimal"),
|
|
eventSpacer1 = {
|
|
type = "description",
|
|
order = 30.5,
|
|
name = "",
|
|
desc = "",
|
|
image = "",
|
|
imageWidth = 0.2,
|
|
width = 0.2,
|
|
func = function() end,
|
|
},
|
|
iconTypeEventQuest = {
|
|
type = "select",
|
|
order = 31,
|
|
values = _GetIconTypes(),
|
|
sorting = _GetIconTypesSort(),
|
|
style = 'dropdown',
|
|
width = 1.295,
|
|
name = function() return l10n('Available event quests') end,
|
|
desc = function() return l10n('The icon that is displayed for available event quests during holidays'); end,
|
|
get = function() return Questie:GetIconNameFromPath(Questie.db.profile.ICON_EVENTQUEST) or "eventquest"; end,
|
|
disabled = function() return (not Questie.db.profile.enabled); end,
|
|
set = function(input, key)
|
|
Questie.db.profile.ICON_EVENTQUEST = Questie.icons[key]
|
|
Questie:SetIcons()
|
|
QuestieQuest:SmoothReset()
|
|
end,
|
|
},
|
|
eventSpacer2 = {
|
|
type = "description",
|
|
order = 31.5,
|
|
name = "",
|
|
desc = "",
|
|
image = "",
|
|
imageWidth = 0.2,
|
|
width = 0.2,
|
|
func = function() end,
|
|
},
|
|
iconTypeEventQuestComplete = {
|
|
type = "select",
|
|
order = 32,
|
|
values = _GetIconTypes(),
|
|
sorting = _GetIconTypesSort(),
|
|
style = 'dropdown',
|
|
width = 1.295,
|
|
name = function() return l10n('Complete event quests') end,
|
|
desc = function() return l10n('The icon that is displayed for event quests that can be handed in'); end,
|
|
get = function() return Questie:GetIconNameFromPath(Questie.db.profile.ICON_EVENTQUEST_COMPLETE) or "complete"; end,
|
|
disabled = function() return (not Questie.db.profile.enabled); end,
|
|
set = function(input, key)
|
|
Questie.db.profile.ICON_EVENTQUEST_COMPLETE = Questie.icons[key]
|
|
Questie:SetIcons()
|
|
QuestieQuest:SmoothReset()
|
|
end,
|
|
},
|
|
pvp_spacer = QuestieOptionsUtils:Spacer(33,nil,"minimal"),
|
|
pvpSpacer1 = {
|
|
type = "description",
|
|
order = 33.5,
|
|
name = "",
|
|
desc = "",
|
|
image = "",
|
|
imageWidth = 0.2,
|
|
width = 0.2,
|
|
func = function() end,
|
|
},
|
|
iconTypePVPQuest = {
|
|
type = "select",
|
|
order = 34,
|
|
values = _GetIconTypes(),
|
|
sorting = _GetIconTypesSort(),
|
|
style = 'dropdown',
|
|
width = 1.295,
|
|
name = function() return l10n('Available PvP quests') end,
|
|
desc = function() return l10n('The icon that is displayed for available PvP quests'); end,
|
|
get = function() return Questie:GetIconNameFromPath(Questie.db.profile.ICON_PVPQUEST) or "pvpquest"; end,
|
|
disabled = function() return (not Questie.db.profile.enabled); end,
|
|
set = function(input, key)
|
|
Questie.db.profile.ICON_PVPQUEST = Questie.icons[key]
|
|
Questie:SetIcons()
|
|
QuestieQuest:SmoothReset()
|
|
end,
|
|
},
|
|
pvpSpacer2 = {
|
|
type = "description",
|
|
order = 34.5,
|
|
name = "",
|
|
desc = "",
|
|
image = "",
|
|
imageWidth = 0.2,
|
|
width = 0.2,
|
|
func = function() end,
|
|
},
|
|
iconTypePVPQuestComplete = {
|
|
type = "select",
|
|
order = 35,
|
|
values = _GetIconTypes(),
|
|
sorting = _GetIconTypesSort(),
|
|
style = 'dropdown',
|
|
width = 1.295,
|
|
name = function() return l10n('Complete PvP quests') end,
|
|
desc = function() return l10n('The icon that is displayed for PvP quests that can be handed in'); end,
|
|
get = function() return Questie:GetIconNameFromPath(Questie.db.profile.ICON_PVPQUEST_COMPLETE) or "complete"; end,
|
|
disabled = function() return (not Questie.db.profile.enabled); end,
|
|
set = function(input, key)
|
|
Questie.db.profile.ICON_PVPQUEST_COMPLETE = Questie.icons[key]
|
|
Questie:SetIcons()
|
|
QuestieQuest:SmoothReset()
|
|
end,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
}
|
|
end
|
|
|
|
|
|
_GetIconTypes = function()
|
|
return {
|
|
["slay"] = "|T" .. Questie.icons["slay"] .. ":0|t Slay",
|
|
["loot"] = "|T" .. Questie.icons["loot"] .. ":0|t Loot",
|
|
["node"] = "|T" .. Questie.icons["node"] .. ":0|t pfQuest/Codex node",
|
|
["player"] = "|T" .. Questie.icons["player"] .. ":0|t Party marker",
|
|
["event"] = "|T" .. Questie.icons["event"] .. ":0|t Event",
|
|
["object"] = "|T" .. Questie.icons["object"] .. ":0|t Object",
|
|
["talk"] = "|T" .. Questie.icons["talk"] .. ":0|t Talk",
|
|
["available"] = "|T" .. Questie.icons["available"] .. ":0|t Available",
|
|
["available_gray"] = "|T" .. Questie.icons["available_gray"] .. ":0|t Available gray",
|
|
["complete"] = "|T" .. Questie.icons["complete"] .. ":0|t Complete",
|
|
["incomplete"] = "|T" .. Questie.icons["incomplete"] .. ":0|t Incomplete",
|
|
["repeatable"] = "|T" .. Questie.icons["repeatable"] .. ":0|t Repeatable",
|
|
["repeatable_complete"] = "|T" .. Questie.icons["repeatable_complete"] .. ":0|t Repeatable Complete",
|
|
["eventquest"] = "|T" .. Questie.icons["eventquest"] .. ":0|t Event Quest",
|
|
["eventquest_complete"] = "|T" .. Questie.icons["eventquest_complete"] .. ":0|t Event Quest Complete",
|
|
["pvpquest"] = "|T" .. Questie.icons["pvpquest"] .. ":0|t PvP Quest",
|
|
["pvpquest_complete"] = "|T" .. Questie.icons["pvpquest_complete"] .. ":0|t PvP Quest Complete",
|
|
["fav"] = "|T" .. Questie.icons["fav"] .. ":0|t Favourite",
|
|
["faction_alliance"] = "|T" .. Questie.icons["faction_alliance"] .. ":0|t Alliance",
|
|
["faction_horde"] = "|T" .. Questie.icons["faction_horde"] .. ":0|t Horde",
|
|
["loot_mono"] = "|T" .. Questie.icons["loot_mono"] .. ":0|t Loot mono",
|
|
["node_cut"] = "|T" .. Questie.icons["node_cut"] .. ":0|t pfQuest/Codex node cut center",
|
|
["object_mono"] = "|T" .. Questie.icons["object_mono"] .. ":0|t Object mono",
|
|
["slay_mono"] = "|T" .. Questie.icons["slay_mono"] .. ":0|t Slay mono",
|
|
["startend"] = "|T" .. Questie.icons["startend"] .. ":0|t Start and end",
|
|
["startendstart"] = "|T" .. Questie.icons["startendstart"] .. ":0|t Start and unfinished",
|
|
["tracker_clean"] = "|T" .. Questie.icons["tracker_clean"] .. ":0|t Clean",
|
|
["tracker_close"] = "|T" .. Questie.icons["tracker_close"] .. ":0|t Close",
|
|
["tracker_database"] = "|T" .. Questie.icons["tracker_database"] .. ":0|t Pin",
|
|
["tracker_giver"] = "|T" .. Questie.icons["tracker_giver"] .. ":0|t Available white",
|
|
["tracker_quests"] = "|T" .. Questie.icons["tracker_quests"] .. ":0|t Book",
|
|
["tracker_search"] = "|T" .. Questie.icons["tracker_search"] .. ":0|t Search",
|
|
["tracker_settings"] = "|T" .. Questie.icons["tracker_settings"] .. ":0|t Settings",
|
|
}
|
|
end
|
|
|
|
_GetIconTypesSort = function()
|
|
return {
|
|
"slay",
|
|
"slay_mono",
|
|
"loot",
|
|
"loot_mono",
|
|
"object",
|
|
"object_mono",
|
|
"event",
|
|
"talk",
|
|
"available",
|
|
"available_gray",
|
|
"incomplete",
|
|
"complete",
|
|
"repeatable",
|
|
"repeatable_complete",
|
|
"eventquest",
|
|
"eventquest_complete",
|
|
"pvpquest",
|
|
"pvpquest_complete",
|
|
"startend",
|
|
"startendstart",
|
|
"node",
|
|
"node_cut",
|
|
"player",
|
|
"fav",
|
|
"faction_alliance",
|
|
"faction_horde",
|
|
"tracker_clean",
|
|
"tracker_close",
|
|
"tracker_database",
|
|
"tracker_giver",
|
|
"tracker_quests",
|
|
"tracker_search",
|
|
"tracker_settings",
|
|
}
|
|
end
|
|
|
|
function QuestieOptionsUtils.SetPfQuestIcons(info, value)
|
|
Questie.db.profile.usePfQuestIcons = value
|
|
if value then
|
|
Questie.db.profile.ICON_SLAY = Questie.icons["node"]
|
|
Questie.db.profile.ICON_LOOT = Questie.icons["node"]
|
|
Questie.db.profile.ICON_EVENT = Questie.icons["node"]
|
|
Questie.db.profile.ICON_OBJECT = Questie.icons["node"]
|
|
Questie.db.profile.ICON_TALK = Questie.icons["node"]
|
|
-- TODO remove these setting changes once we have a style selection window/frame
|
|
Questie.db.profile.questObjectiveColors = true
|
|
Questie.db.profile.alwaysGlowMap = false
|
|
Questie.db.profile.questMinimapObjectiveColors = true
|
|
Questie.db.profile.alwaysGlowMinimap = false
|
|
Questie.db.profile.clusterLevelHotzone = 1
|
|
else
|
|
Questie.db.profile.ICON_SLAY = Questie.icons["slay"]
|
|
Questie.db.profile.ICON_LOOT = Questie.icons["loot"]
|
|
Questie.db.profile.ICON_EVENT = Questie.icons["event"]
|
|
Questie.db.profile.ICON_OBJECT = Questie.icons["object"]
|
|
Questie.db.profile.ICON_TALK = Questie.icons["talk"]
|
|
-- TODO remove these setting changes once we have a style selection window/frame
|
|
Questie.db.profile.questObjectiveColors = false
|
|
Questie.db.profile.alwaysGlowMap = true
|
|
Questie.db.profile.questMinimapObjectiveColors = false
|
|
Questie.db.profile.alwaysGlowMinimap = false
|
|
Questie.db.profile.clusterLevelHotzone = 50
|
|
end
|
|
Questie:SetIcons()
|
|
QuestieQuest:SmoothReset()
|
|
end
|
|
|
|
_GetIconThemes = function()
|
|
if Questie.IsWotlk or QuestieCompat.Is335 then
|
|
return {
|
|
['questie'] = "|T" .. Questie.icons["slay"] .. ":14|t Questie",
|
|
['blizzard'] = "|TInterface/buttons/adventureguidemicrobuttonalert.blp:20:20:0:0:32:32:2:28:2:28|t Blizzard",
|
|
['pfquest'] = "|T" .. Questie.icons["node"] .. ":14|t pfQuest",
|
|
['custom'] = "|T" .. Questie.icons["object"] .. ":16|t " .. l10n("Custom"),
|
|
}
|
|
else
|
|
return {
|
|
['questie'] = "|T" .. Questie.icons["complete"] .. ":14|t Questie",
|
|
['pfquest'] = "|T" .. Questie.icons["node"] .. ":14|t pfQuest",
|
|
['custom'] = "|T" .. Questie.icons["object"] .. ":16|t " .. l10n("Custom"),
|
|
}
|
|
end
|
|
end
|
|
|
|
_GetIconThemesSort = function()
|
|
if Questie.IsWotlk or QuestieCompat.Is335 then
|
|
return {
|
|
"questie",
|
|
"blizzard",
|
|
"pfquest",
|
|
"custom",
|
|
}
|
|
else
|
|
return {
|
|
"questie",
|
|
"pfquest",
|
|
"custom",
|
|
}
|
|
end
|
|
end
|
|
|
|
function QuestieOptionsUtils.DetermineTheme()
|
|
if (GetCVar("questPOI") == "1" and Questie.db.profile.enableObjectives == false) then
|
|
Questie.db.profile.iconTheme = 'blizzard'
|
|
else
|
|
if (Questie.db.profile.enableObjectives == true and
|
|
Questie.db.profile.ICON_SLAY == Questie.icons["node"] and
|
|
Questie.db.profile.ICON_LOOT == Questie.icons["node"] and
|
|
Questie.db.profile.ICON_EVENT == Questie.icons["node"] and
|
|
Questie.db.profile.ICON_OBJECT == Questie.icons["node"] and
|
|
Questie.db.profile.ICON_TALK == Questie.icons["node"] and
|
|
Questie.db.profile.questObjectiveColors == true and
|
|
Questie.db.profile.alwaysGlowMap == false and
|
|
Questie.db.profile.questMinimapObjectiveColors == true and
|
|
Questie.db.profile.alwaysGlowMinimap == false and
|
|
Questie.db.profile.clusterLevelHotzone == 1)
|
|
then
|
|
Questie.db.profile.iconTheme = 'pfquest'
|
|
elseif (Questie.db.profile.enableObjectives == true and
|
|
Questie.db.profile.ICON_SLAY == Questie.icons["slay"] and
|
|
Questie.db.profile.ICON_LOOT == Questie.icons["loot"] and
|
|
Questie.db.profile.ICON_EVENT == Questie.icons["event"] and
|
|
Questie.db.profile.ICON_OBJECT == Questie.icons["object"] and
|
|
Questie.db.profile.ICON_TALK == Questie.icons["talk"] and
|
|
Questie.db.profile.questObjectiveColors == optionsDefaults.profile.questObjectiveColors and
|
|
Questie.db.profile.alwaysGlowMap == optionsDefaults.profile.alwaysGlowMap and
|
|
Questie.db.profile.questMinimapObjectiveColors == optionsDefaults.profile.questMinimapObjectiveColors and
|
|
Questie.db.profile.alwaysGlowMinimap == optionsDefaults.profile.alwaysGlowMinimap and
|
|
Questie.db.profile.clusterLevelHotzone == optionsDefaults.profile.clusterLevelHotzone)
|
|
then
|
|
Questie.db.profile.iconTheme = 'questie'
|
|
else
|
|
Questie.db.profile.iconTheme = 'custom'
|
|
end
|
|
end
|
|
end
|
|
|
|
function QuestieOptionsUtils.ExecuteTheme(info, value)
|
|
Questie.db.profile.iconTheme = value
|
|
if value == 'questie' then
|
|
if GetCVar("questPOI") then -- if wotlk objectives available
|
|
SetCVar("questPOI", "0") -- disable them
|
|
end
|
|
if WorldMapQuestShowObjectives then -- if wotlk blizzard objectives button exists
|
|
WorldMapQuestShowObjectives:SetChecked(false) -- uncheck it
|
|
end
|
|
Questie.db.profile.enableObjectives = true
|
|
Questie.db.profile.ICON_SLAY = Questie.icons["slay"]
|
|
Questie.db.profile.ICON_LOOT = Questie.icons["loot"]
|
|
Questie.db.profile.ICON_EVENT = Questie.icons["event"]
|
|
Questie.db.profile.ICON_OBJECT = Questie.icons["object"]
|
|
Questie.db.profile.ICON_TALK = Questie.icons["talk"]
|
|
Questie.db.profile.questObjectiveColors = optionsDefaults.profile.questObjectiveColors
|
|
Questie.db.profile.alwaysGlowMap = optionsDefaults.profile.alwaysGlowMap
|
|
Questie.db.profile.questMinimapObjectiveColors = optionsDefaults.profile.questMinimapObjectiveColors
|
|
Questie.db.profile.alwaysGlowMinimap = optionsDefaults.profile.alwaysGlowMinimap
|
|
Questie.db.profile.clusterLevelHotzone = optionsDefaults.profile.clusterLevelHotzone
|
|
elseif value == 'pfquest' then
|
|
if GetCVar("questPOI") then -- if wotlk objectives available
|
|
SetCVar("questPOI", "0") -- disable them
|
|
end
|
|
if WorldMapQuestShowObjectives then -- if wotlk blizzard objectives button exists
|
|
WorldMapQuestShowObjectives:SetChecked(false) -- uncheck it
|
|
end
|
|
Questie.db.profile.enableObjectives = true
|
|
Questie.db.profile.ICON_SLAY = Questie.icons["node"]
|
|
Questie.db.profile.ICON_LOOT = Questie.icons["node"]
|
|
Questie.db.profile.ICON_EVENT = Questie.icons["node"]
|
|
Questie.db.profile.ICON_OBJECT = Questie.icons["node"]
|
|
Questie.db.profile.ICON_TALK = Questie.icons["node"]
|
|
Questie.db.profile.questObjectiveColors = true
|
|
Questie.db.profile.alwaysGlowMap = false
|
|
Questie.db.profile.questMinimapObjectiveColors = true
|
|
Questie.db.profile.alwaysGlowMinimap = false
|
|
Questie.db.profile.clusterLevelHotzone = 1
|
|
elseif value == 'blizzard' then
|
|
if GetCVar("questPOI") then -- if wotlk objectives available
|
|
SetCVar("questPOI", "1") -- enable them
|
|
end
|
|
if WorldMapQuestShowObjectives then -- if wotlk blizzard objectives button exists
|
|
WorldMapQuestShowObjectives:SetChecked(false) -- check it
|
|
end
|
|
Questie.db.profile.enableObjectives = false
|
|
Questie.db.profile.ICON_SLAY = Questie.icons["slay"]
|
|
Questie.db.profile.ICON_LOOT = Questie.icons["loot"]
|
|
Questie.db.profile.ICON_EVENT = Questie.icons["event"]
|
|
Questie.db.profile.ICON_OBJECT = Questie.icons["object"]
|
|
Questie.db.profile.ICON_TALK = Questie.icons["talk"]
|
|
Questie.db.profile.questObjectiveColors = optionsDefaults.profile.questObjectiveColors
|
|
Questie.db.profile.alwaysGlowMap = optionsDefaults.profile.alwaysGlowMap
|
|
Questie.db.profile.questMinimapObjectiveColors = optionsDefaults.profile.questMinimapObjectiveColors
|
|
Questie.db.profile.alwaysGlowMinimap = optionsDefaults.profile.alwaysGlowMinimap
|
|
Questie.db.profile.clusterLevelHotzone = optionsDefaults.profile.clusterLevelHotzone
|
|
elseif value == 'custom' then
|
|
return
|
|
end
|
|
Questie:SetIcons()
|
|
QuestieQuest:SmoothReset()
|
|
end
|