Show current quest XP on xp bar (#17)

This commit is contained in:
Anthony Narkevicius
2022-12-14 07:03:01 -08:00
committed by GitHub
parent a951199115
commit 824afa5d0b
4 changed files with 429 additions and 190 deletions
+88 -19
View File
@@ -24,7 +24,7 @@ E.Options.args.databars = {
type = "group",
name = L["XPBAR_LABEL"],
get = function(info) return mod.db.experience[info[#info]] end,
set = function(info, value) mod.db.experience[info[#info]] = value mod:UpdateExperienceDimensions() end,
set = function(info, value) mod.db.experience[info[#info]] = value mod:ExperienceBar_UpdateDimensions() end,
args = {
header = {
order = 1,
@@ -35,7 +35,7 @@ E.Options.args.databars = {
order = 2,
type = "toggle",
name = L["Enable"],
set = function(info, value) mod.db.experience[info[#info]] = value mod:EnableDisable_ExperienceBar() end
set = function(info, value) mod.db.experience[info[#info]] = value mod:ExperienceBar_Toggle() end
},
mouseover = {
order = 3,
@@ -46,19 +46,24 @@ E.Options.args.databars = {
order = 4,
type = "toggle",
name = L["Hide At Max Level"],
set = function(info, value) mod.db.experience[info[#info]] = value mod:UpdateExperience() end
set = function(info, value) mod.db.experience[info[#info]] = value mod:ExperienceBar_Update() end
},
hideInVehicle = {
order = 5,
type = "toggle",
name = L["Hide In Vehicle"],
set = function(info, value) mod.db.experience[info[#info]] = value mod:UpdateExperience() end
set = function(info, value) mod.db.experience[info[#info]] = value mod:ExperienceBar_Update() end
},
hideInCombat = {
order = 6,
type = "toggle",
name = L["Hide In Combat"],
set = function(info, value) mod.db.experience[info[#info]] = value mod:UpdateExperience() end
set = function(info, value) mod.db.experience[info[#info]] = value mod:ExperienceBar_Update() end
},
showBubbles = {
order = 6,
type = "toggle",
name = L["Show Bubbles"]
},
spacer = {
order = 7,
@@ -120,7 +125,66 @@ E.Options.args.databars = {
CURREM = L["Current - Remaining"],
CURPERCREM = L["Current - Percent (Remaining)"],
},
set = function(info, value) mod.db.experience[info[#info]] = value mod:UpdateExperience() end
set = function(info, value) mod.db.experience[info[#info]] = value mod:ExperienceBar_Update() end
},
questXP = {
order = 15,
type = "group",
name = L["Quest XP"],
guiInline = true,
get = function(info) return mod.db.experience.questXP[info[#info]] end,
disabled = function() return not mod.db.experience.enable or not mod.db.experience.questXP.enable end,
args = {
enable = {
order = 1,
type = "toggle",
name = L["Enable"],
set = function(info, value)
mod.db.experience.questXP.enable = value
mod:ExperienceBar_QuestXPToggle()
end,
disabled = function() return not mod.db.experience.enable end
},
color = {
order = 2,
type = "color",
name = L["Quest XP Color"],
hasAlpha = true,
get = function(info)
local t = mod.db.experience.questXP.color or {r=0,g=1,b=0,a=0.4}
return t.r, t.g, t.b, t.a, 0, 1, 0, 0.4
end,
set = function(info, r, g, b, a)
local t = mod.db.experience.questXP.color
t.r, t.g, t.b, t.a = r, g, b, a
mod:ExperienceBar_UpdateDimensions()
end
},
questCurrentZoneOnly = {
order = 3,
type = "toggle",
name = L["Quests in Current Zone Only"],
set = function(info, value)
mod.db.experience.questXP.questCurrentZoneOnly = value
mod:ExperienceBar_QuestXPUpdate()
end
},
questCompletedOnly = {
order = 4,
type = "toggle",
name = L["Completed Quests Only"],
set = function(info, value)
mod.db.experience.questXP.questCompletedOnly = value
mod:ExperienceBar_QuestXPUpdate()
end
},
tooltip = {
order = 5,
type = "toggle",
name = L["Add Quest XP to Tooltip"],
set = function(info, value) mod.db.experience.questXP.tooltip = value end
}
}
}
}
},
@@ -129,7 +193,7 @@ E.Options.args.databars = {
type = "group",
name = L["REPUTATION"],
get = function(info) return mod.db.reputation[info[#info]] end,
set = function(info, value) mod.db.reputation[info[#info]] = value mod:UpdateReputationDimensions() end,
set = function(info, value) mod.db.reputation[info[#info]] = value mod:ReputationBar_UpdateDimensions() end,
args = {
header = {
order = 1,
@@ -140,7 +204,7 @@ E.Options.args.databars = {
order = 2,
type = "toggle",
name = L["Enable"],
set = function(info, value) mod.db.reputation[info[#info]] = value mod:EnableDisable_ReputationBar() end
set = function(info, value) mod.db.reputation[info[#info]] = value mod:ReputationBar_Toggle() end
},
mouseover = {
order = 3,
@@ -151,21 +215,26 @@ E.Options.args.databars = {
order = 4,
type = "toggle",
name = L["Hide In Vehicle"],
set = function(info, value) mod.db.reputation[info[#info]] = value mod:UpdateReputation() end
set = function(info, value) mod.db.reputation[info[#info]] = value mod:ReputationBar_Update() end
},
hideInCombat = {
order = 5,
type = "toggle",
name = L["Hide In Combat"],
set = function(info, value) mod.db.reputation[info[#info]] = value mod:UpdateReputation() end
set = function(info, value) mod.db.reputation[info[#info]] = value mod:ReputationBar_Update() end
},
showBubbles = {
order = 6,
type = "toggle",
name = L["Show Bubbles"]
},
spacer = {
order = 6,
order = 7,
type = "description",
name = " "
},
orientation = {
order = 7,
order = 8,
type = "select",
name = L["Statusbar Fill Orientation"],
desc = L["Direction the bar moves on gains/losses"],
@@ -175,37 +244,37 @@ E.Options.args.databars = {
}
},
width = {
order = 8,
order = 9,
type = "range",
name = L["Width"],
min = 5, max = ceil(GetScreenWidth() or 800), step = 1
},
height = {
order = 9,
order = 10,
type = "range",
name = L["Height"],
min = 5, max = ceil(GetScreenHeight() or 800), step = 1
},
font = {
order = 10,
order = 11,
type = "select", dialogControl = "LSM30_Font",
name = L["Font"],
values = AceGUIWidgetLSMlists.font
},
textSize = {
order = 11,
order = 12,
type = "range",
name = L["FONT_SIZE"],
min = 6, max = 22, step = 1
},
fontOutline = {
order = 12,
order = 13,
type = "select",
name = L["Font Outline"],
values = C.Values.FontFlags
},
textFormat = {
order = 13,
order = 14,
type = "select",
name = L["Text Format"],
width = "double",
@@ -219,7 +288,7 @@ E.Options.args.databars = {
CURREM = L["Current - Remaining"],
CURPERCREM = L["Current - Percent (Remaining)"],
},
set = function(info, value) mod.db.reputation[info[#info]] = value mod:UpdateReputation() end
set = function(info, value) mod.db.reputation[info[#info]] = value mod:ReputationBar_Update() end
}
}
}