v9.7.2: Ebonhold Database integration and core logic refinements
This commit is contained in:
@@ -0,0 +1,352 @@
|
||||
---@type QuestieOptions
|
||||
local QuestieOptions = QuestieLoader:ImportModule("QuestieOptions");
|
||||
---@type QuestieOptionsUtils
|
||||
local QuestieOptionsUtils = QuestieLoader:ImportModule("QuestieOptionsUtils");
|
||||
---@type QuestieTracker
|
||||
local QuestieTracker = QuestieLoader:ImportModule("QuestieTracker");
|
||||
---@type l10n
|
||||
local l10n = QuestieLoader:ImportModule("l10n")
|
||||
|
||||
QuestieOptions.tabs.auto = {...}
|
||||
|
||||
local _GetShortcuts
|
||||
|
||||
function QuestieOptions.tabs.auto:Initialize()
|
||||
return {
|
||||
name = function() return l10n('Auto'); end,
|
||||
type = "group",
|
||||
order = 4,
|
||||
childGroups = "tab",
|
||||
args = {
|
||||
autoModifier = {
|
||||
type = "select",
|
||||
order = 0,
|
||||
values = _GetShortcuts(),
|
||||
style = 'dropdown',
|
||||
name = function() return l10n('Auto Modifier') end,
|
||||
desc = function() return l10n('The modifier to NOT auto-accept/-complete quests when either option is enabled and you interact with a quest NPC.'); end,
|
||||
width = 0.65,
|
||||
--disabled = function() return (not Questie.db.profile.autocomplete) and (not Questie.db.profile.autoaccept) end,
|
||||
get = function() return Questie.db.profile.autoModifier; end,
|
||||
set = function(input, key)
|
||||
Questie.db.profile.autoModifier = key
|
||||
end,
|
||||
},
|
||||
autocomplete_options = {
|
||||
type = "header",
|
||||
order = 1,
|
||||
name = function() return l10n('Auto Complete'); end,
|
||||
},
|
||||
autocomplete = {
|
||||
type = "toggle",
|
||||
order = 1.1,
|
||||
name = function() return l10n('Auto Complete Quests'); end,
|
||||
desc = function() return l10n('When enabled, Questie will automatically hand in finished quests when talking to NPCs.'); end,
|
||||
get = function () return Questie.db.profile.autocomplete; end,
|
||||
set = function (info, value)
|
||||
Questie.db.profile.autocomplete = value
|
||||
Questie:Debug(Questie.DEBUG_DEVELOP, "Auto Complete toggled to:", value)
|
||||
end,
|
||||
},
|
||||
autocomplete_spacer = QuestieOptionsUtils:Spacer(1.2),
|
||||
autoaccept_options = {
|
||||
type = "header",
|
||||
order = 2,
|
||||
name = function() return l10n('Auto Accept'); end,
|
||||
},
|
||||
autoaccept = {
|
||||
type = "toggle",
|
||||
order = 2.1,
|
||||
name = function() return l10n('Auto Accept Quests'); end,
|
||||
desc = function() return l10n('When enabled, Questie will automatically accept quest dialogs when they appear, depending on the rules below.'); end,
|
||||
get = function () return Questie.db.profile.autoaccept; end,
|
||||
set = function (info, value)
|
||||
Questie.db.profile.autoaccept = value
|
||||
Questie:Debug(Questie.DEBUG_DEVELOP, "Auto Accept toggled to:", value)
|
||||
end,
|
||||
},
|
||||
npcrules_group = {
|
||||
type = "group",
|
||||
order = 2.2,
|
||||
inline = true,
|
||||
width = 0.5,
|
||||
name = function() return l10n('Rules for NPCs'); end,
|
||||
disabled = function() return not Questie.db.profile.autoaccept end,
|
||||
args = {
|
||||
npc_normalquests = {
|
||||
type = "toggle",
|
||||
order = 1,
|
||||
name = function() return l10n('Normal Quests'); end,
|
||||
desc = function() return l10n('Automatically accept normal quests from NPCs.'); end,
|
||||
width = 1,
|
||||
-- AUTO 1.0
|
||||
disabled = true,
|
||||
get = function () return true; end,
|
||||
-- -- AUTO 2.0
|
||||
-- get = function () return Questie.db.profile.autoaccept_npc_normal; end,
|
||||
-- END
|
||||
set = function (info, value)
|
||||
Questie.db.profile.autoaccept_npc_normal = value
|
||||
Questie:Debug(Questie.DEBUG_DEVELOP, "Auto Accept NPC Normal toggled to:", value)
|
||||
end,
|
||||
},
|
||||
npc_repeatablequests = {
|
||||
type = "toggle",
|
||||
order = 2,
|
||||
name = function() return l10n('Repeatable Quests'); end,
|
||||
desc = function() return l10n('Automatically accept repeatable quests (including dailies) from NPCs.'); end,
|
||||
width = 1,
|
||||
-- AUTO 1.0
|
||||
disabled = true,
|
||||
get = function () return true; end,
|
||||
-- -- AUTO 2.0
|
||||
-- get = function () return Questie.db.profile.autoaccept_npc_repeatable; end,
|
||||
set = function (info, value)
|
||||
Questie.db.profile.autoaccept_npc_repeatable = value
|
||||
Questie:Debug(Questie.DEBUG_DEVELOP, "Auto Accept NPC Repeatable toggled to:", value)
|
||||
end,
|
||||
},
|
||||
npc_dungeonquests = {
|
||||
type = "toggle",
|
||||
order = 3,
|
||||
name = function() return l10n('Dungeon/Raid Quests'); end,
|
||||
desc = function() return l10n('Automatically accept dungeon and raid quests from NPCs.'); end,
|
||||
width = 1,
|
||||
-- AUTO 1.0
|
||||
disabled = true,
|
||||
get = function () return true; end,
|
||||
-- -- AUTO 2.0
|
||||
-- get = function () return Questie.db.profile.autoaccept_npc_dungeon; end,
|
||||
set = function (info, value)
|
||||
Questie.db.profile.autoaccept_npc_dungeon = value
|
||||
Questie:Debug(Questie.DEBUG_DEVELOP, "Auto Accept NPC Dungeon toggled to:", value)
|
||||
end,
|
||||
},
|
||||
npc_pvpquests = {
|
||||
type = "toggle",
|
||||
order = 4,
|
||||
name = function() return l10n('PvP Quests'); end,
|
||||
desc = function() return l10n('Automatically accept PvP quests from NPCs.'); end,
|
||||
width = 1,
|
||||
-- AUTO 1.0
|
||||
disabled = true,
|
||||
get = function () return true; end,
|
||||
-- -- AUTO 2.0
|
||||
-- get = function () return Questie.db.profile.autoaccept_npc_pvp; end,
|
||||
set = function (info, value)
|
||||
Questie.db.profile.autoaccept_npc_pvp = value
|
||||
Questie:Debug(Questie.DEBUG_DEVELOP, "Auto Accept NPC PvP toggled to:", value)
|
||||
end,
|
||||
},
|
||||
npc_eventquests = {
|
||||
type = "toggle",
|
||||
order = 5,
|
||||
name = function() return l10n('Event Quests'); end,
|
||||
desc = function() return l10n('Automatically accept event quests (including event dailies) from NPCs.'); end,
|
||||
width = 1,
|
||||
-- AUTO 1.0
|
||||
disabled = true,
|
||||
get = function () return true; end,
|
||||
-- -- AUTO 2.0
|
||||
-- get = function () return Questie.db.profile.autoaccept_npc_event; end,
|
||||
set = function (info, value)
|
||||
Questie.db.profile.autoaccept_npc_event = value
|
||||
Questie:Debug(Questie.DEBUG_DEVELOP, "Auto Accept NPC Event toggled to:", value)
|
||||
end,
|
||||
},
|
||||
npc_trivialquests = {
|
||||
type = "toggle",
|
||||
order = 6,
|
||||
name = function() return l10n('Trivial Quests'); end,
|
||||
desc = function() return l10n('Automatically accept trivial (low-level) quests from NPCs.'); end,
|
||||
width = 1,
|
||||
-- AUTO 1.0
|
||||
get = function() return Questie.db.profile.acceptTrivial; end,
|
||||
set = function(_, value)
|
||||
Questie.db.profile.acceptTrivial = value
|
||||
end,
|
||||
-- AUTO 2.0
|
||||
-- get = function () return Questie.db.profile.autoaccept_npc_trivial; end,
|
||||
-- set = function (info, value)
|
||||
-- Questie.db.profile.autoaccept_npc_trivial = value
|
||||
-- Questie:Debug(Questie.DEBUG_DEVELOP, "Auto Accept NPC Trivial toggled to:", value)
|
||||
-- end,
|
||||
},
|
||||
},
|
||||
},
|
||||
playerrules_group = {
|
||||
type = "group",
|
||||
order = 2.3,
|
||||
inline = true,
|
||||
width = 0.5,
|
||||
disabled = function() return not Questie.db.profile.autoaccept end,
|
||||
name = function() return l10n('Rules for players'); end,
|
||||
args = {
|
||||
player_normalquests = {
|
||||
type = "toggle",
|
||||
order = 1,
|
||||
name = function() return l10n('Normal Quests'); end,
|
||||
desc = function() return l10n('Automatically accept normal quests from players.'); end,
|
||||
width = 1,
|
||||
-- AUTO 1.0
|
||||
disabled = true,
|
||||
get = function () return true; end,
|
||||
-- -- AUTO 2.0
|
||||
-- get = function () return Questie.db.profile.autoaccept_player_normal; end,
|
||||
set = function (info, value)
|
||||
Questie.db.profile.autoaccept_player_normal = value
|
||||
Questie:Debug(Questie.DEBUG_DEVELOP, "Auto Accept Player Normal toggled to:", value)
|
||||
end,
|
||||
},
|
||||
player_repeatablequests = {
|
||||
type = "toggle",
|
||||
order = 2,
|
||||
name = function() return l10n('Repeatable Quests'); end,
|
||||
desc = function() return l10n('Automatically accept repeatable quests (including dailies) from players.'); end,
|
||||
width = 1,
|
||||
-- AUTO 1.0
|
||||
disabled = true,
|
||||
get = function () return true; end,
|
||||
-- -- AUTO 2.0
|
||||
-- get = function () return Questie.db.profile.autoaccept_player_repeatable; end,
|
||||
set = function (info, value)
|
||||
Questie.db.profile.autoaccept_player_repeatable = value
|
||||
Questie:Debug(Questie.DEBUG_DEVELOP, "Auto Accept Player Repeatable toggled to:", value)
|
||||
end,
|
||||
},
|
||||
player_dungeonquests = {
|
||||
type = "toggle",
|
||||
order = 3,
|
||||
name = function() return l10n('Dungeon/Raid Quests'); end,
|
||||
desc = function() return l10n('Automatically accept dungeon and raid quests from players.'); end,
|
||||
width = 1,
|
||||
-- AUTO 1.0
|
||||
disabled = true,
|
||||
get = function () return true; end,
|
||||
-- -- AUTO 2.0
|
||||
-- get = function () return Questie.db.profile.autoaccept_player_dungeon; end,
|
||||
set = function (info, value)
|
||||
Questie.db.profile.autoaccept_player_dungeon = value
|
||||
Questie:Debug(Questie.DEBUG_DEVELOP, "Auto Accept Player Dungeon toggled to:", value)
|
||||
end,
|
||||
},
|
||||
player_pvpquests = {
|
||||
type = "toggle",
|
||||
order = 4,
|
||||
name = function() return l10n('PvP Quests'); end,
|
||||
desc = function() return l10n('Automatically accept PvP quests from players.'); end,
|
||||
width = 1,
|
||||
-- AUTO 1.0
|
||||
disabled = true,
|
||||
get = function () return true; end,
|
||||
-- -- AUTO 2.0
|
||||
-- get = function () return Questie.db.profile.autoaccept_player_pvp; end,
|
||||
set = function (info, value)
|
||||
Questie.db.profile.autoaccept_player_pvp = value
|
||||
Questie:Debug(Questie.DEBUG_DEVELOP, "Auto Accept Player PvP toggled to:", value)
|
||||
end,
|
||||
},
|
||||
player_eventquests = {
|
||||
type = "toggle",
|
||||
order = 5,
|
||||
name = function() return l10n('Event Quests'); end,
|
||||
desc = function() return l10n('Automatically accept event quests (including event dailies) from players.'); end,
|
||||
width = 1,
|
||||
-- AUTO 1.0
|
||||
disabled = true,
|
||||
get = function () return true; end,
|
||||
-- -- AUTO 2.0
|
||||
-- get = function () return Questie.db.profile.autoaccept_player_event; end,
|
||||
set = function (info, value)
|
||||
Questie.db.profile.autoaccept_player_event = value
|
||||
Questie:Debug(Questie.DEBUG_DEVELOP, "Auto Accept Player Event toggled to:", value)
|
||||
end,
|
||||
},
|
||||
player_trivialquests = {
|
||||
type = "toggle",
|
||||
order = 6,
|
||||
name = function() return l10n('Trivial Quests'); end,
|
||||
desc = function() return l10n('Automatically accept trivial (low-level) quests from players.'); end,
|
||||
width = 1,
|
||||
-- AUTO 1.0
|
||||
disabled = true,
|
||||
get = function () return true; end,
|
||||
-- -- AUTO 2.0
|
||||
-- get = function () return Questie.db.profile.autoaccept_player_trivial; end,
|
||||
set = function (info, value)
|
||||
Questie.db.profile.autoaccept_player_trivial = value
|
||||
Questie:Debug(Questie.DEBUG_DEVELOP, "Auto Accept Player Trivial toggled to:", value)
|
||||
end,
|
||||
},
|
||||
},
|
||||
},
|
||||
autoaccept_spacer = QuestieOptionsUtils:Spacer(2.4),
|
||||
--Spacer_H = QuestieOptionsUtils:HorizontalSpacer(7, 1),
|
||||
--acceptTrivial = {
|
||||
-- type = "toggle",
|
||||
-- order = 8,
|
||||
-- name = function() return l10n('Accept trivial (low level) quests'); end,
|
||||
-- desc = function() return l10n('When this is enabled trivial (gray) quests will be auto accepted as well.'); end,
|
||||
-- disabled = function() return (not Questie.db.profile.autoaccept) end,
|
||||
-- width = 1.5,
|
||||
-- get = function () return Questie.db.profile.acceptTrivial; end,
|
||||
-- set = function (info, value)
|
||||
-- Questie.db.profile.acceptTrivial = value
|
||||
-- end,
|
||||
--},
|
||||
autoreject_options = {
|
||||
type = "header",
|
||||
order = 3,
|
||||
name = function() return l10n('Auto Reject'); end,
|
||||
},
|
||||
autoreject_battlegrounds = {
|
||||
type = "toggle",
|
||||
order = 3.1,
|
||||
name = function() return l10n('Reject quests shared in battlegrounds'); end,
|
||||
desc = function() return l10n('Automatically reject quests shared by players while in a battleground instance. This feature overrides autoaccept behavior.'); end,
|
||||
width = 1.6,
|
||||
-- AUTO 1.0
|
||||
disabled = true,
|
||||
get = function () return false; end,
|
||||
-- -- AUTO 2.0
|
||||
-- get = function () return Questie.db.profile.autoreject_battleground; end,
|
||||
set = function (info, value)
|
||||
Questie.db.profile.autoreject_battleground = value
|
||||
Questie:Debug(Questie.DEBUG_DEVELOP, "Auto Reject Battleground toggled to:", value)
|
||||
end,
|
||||
},
|
||||
autoreject_randoms = {
|
||||
type = "toggle",
|
||||
order = 3.2,
|
||||
name = function() return l10n('Reject quests shared by non-friends'); end,
|
||||
desc = function() return l10n('Automatically reject quests shared by players that aren\'t on your friends list. This feature overrides autoaccept behavior.'); end,
|
||||
width = 1.6,
|
||||
-- AUTO 1.0
|
||||
disabled = true,
|
||||
get = function () return false; end,
|
||||
-- -- AUTO 2.0
|
||||
-- get = function () return Questie.db.profile.autoreject_nonfriend; end,
|
||||
set = function (info, value)
|
||||
Questie.db.profile.autoreject_nonfriend = value
|
||||
Questie:Debug(Questie.DEBUG_DEVELOP, "Auto Reject Nonfriend toggled to:", value)
|
||||
end,
|
||||
},
|
||||
wip_spacer = QuestieOptionsUtils:Spacer(4),
|
||||
wip_text = {
|
||||
type = "description",
|
||||
order = 5,
|
||||
name = function() return l10n('Further Auto customization is coming in a future Questie update.'); end,
|
||||
fontSize = "medium",
|
||||
},
|
||||
}
|
||||
}
|
||||
end
|
||||
|
||||
_GetShortcuts = function()
|
||||
return {
|
||||
['shift'] = l10n('Shift'),
|
||||
['ctrl'] = l10n('Control'),
|
||||
['alt'] = l10n('Alt'),
|
||||
['disabled'] = l10n('Disabled'),
|
||||
}
|
||||
end
|
||||
Reference in New Issue
Block a user