Commit b4c466b0 authored by Simpy's avatar Simpy 🐹
Browse files

12.16

parents 9f10e5c3 223c0d49
## Interface: 90002
## Author: Elv, Simpy
## Version: 12.15
## Version: 12.16
## Title: |cff1784d1ElvUI|r
## Notes: User Interface replacement AddOn for World of Warcraft.
## SavedVariables: ElvDB, ElvPrivateDB
......
......@@ -2085,16 +2085,6 @@ end
function B:GUILDBANKFRAME_OPENED(event)
local GuildItemSearchBox = _G.GuildItemSearchBox
--[[
local button = CreateFrame('Button', 'GuildSortButton', GuildBankFrame, 'UIPanelButtonTemplate, BackdropTemplate')
button:StripTextures()
button:SetTemplate(nil, true)
button:Size(110, 20)
button:Point('RIGHT', GuildItemSearchBox, 'LEFT', -4, 0)
button:SetText(L["Sort Tab"])
button:SetScript('OnClick', function() B:CommandDecorator(B.SortBags, 'guild')() end)
E.Skins:HandleButton(button, true)
]]
if GuildItemSearchBox then
GuildItemSearchBox:SetScript('OnEscapePressed', B.ResetAndClear)
......
......@@ -10,7 +10,6 @@ local GetRewardXP = GetRewardXP
local IsAddOnLoaded = IsAddOnLoaded
local UnitXP = UnitXP
local UnitXPMax = UnitXPMax
local hooksecurefunc = hooksecurefunc
local C_QuestLog_ShouldShowQuestRewards = C_QuestLog.ShouldShowQuestRewards
local C_QuestLog_GetSelectedQuest = C_QuestLog.GetSelectedQuest
......@@ -32,6 +31,28 @@ local function PostBNToastMove(mover)
_G.BNToastFrame:Point(anchorPoint, mover)
end
function B:QuestXPPercent()
if not E.db.general.questXPPercent then return end
local unitXP, unitXPMax = UnitXP('player'), UnitXPMax('player')
if _G.QuestInfoFrame.questLog then
local selectedQuest = C_QuestLog_GetSelectedQuest()
if C_QuestLog_ShouldShowQuestRewards(selectedQuest) then
local xp = GetQuestLogRewardXP()
if xp and xp > 0 then
local text = _G.MapQuestInfoRewardsFrame.XPFrame.Name:GetText()
if text then _G.MapQuestInfoRewardsFrame.XPFrame.Name:SetFormattedText('%s (|cff4beb2c+%.2f%%|r)', text, (((unitXP + xp) / unitXPMax) - (unitXP / unitXPMax))*100) end
end
end
else
local xp = GetRewardXP()
if xp and xp > 0 then
local text = _G.QuestInfoXPFrame.ValueText:GetText()
if text then _G.QuestInfoXPFrame.ValueText:SetFormattedText('%s (|cff4beb2c+%.2f%%|r)', text, (((unitXP + xp) / unitXPMax) - (unitXP / unitXPMax))*100) end
end
end
end
function B:Initialize()
B.Initialized = true
......@@ -75,25 +96,7 @@ function B:Initialize()
end)
--Add (+X%) to quest rewards experience text
hooksecurefunc('QuestInfo_Display', function()
local unitXP, unitXPMax = UnitXP('player'), UnitXPMax('player')
if _G.QuestInfoFrame.questLog then
local selectedQuest = C_QuestLog_GetSelectedQuest()
if C_QuestLog_ShouldShowQuestRewards(selectedQuest) then
local xp = GetQuestLogRewardXP()
if xp and xp > 0 then
local text = _G.MapQuestInfoRewardsFrame.XPFrame.Name:GetText()
if text then _G.MapQuestInfoRewardsFrame.XPFrame.Name:SetFormattedText('%s (|cff4beb2c+%.2f%%|r)', text, (((unitXP + xp) / unitXPMax) - (unitXP / unitXPMax))*100) end
end
end
else
local xp = GetRewardXP()
if xp and xp > 0 then
local text = _G.QuestInfoXPFrame.ValueText:GetText()
if text then _G.QuestInfoXPFrame.ValueText:SetFormattedText('%s (|cff4beb2c+%.2f%%|r)', text, (((unitXP + xp) / unitXPMax) - (unitXP / unitXPMax))*100) end
end
end
end)
B:SecureHook('QuestInfo_Display', 'QuestXPPercent')
-- MicroButton Talent Alert
local TalentMicroButtonAlert = _G.TalentMicroButtonAlert
......
......@@ -41,4 +41,5 @@
<Script file='System.lua'/>
<Script file='Time.lua'/>
<Script file='Versatility.lua'/>
<Script file='Volume.lua'/>
</Ui>
......@@ -14,6 +14,7 @@ local C_Garrison_HasGarrison = C_Garrison.HasGarrison
local C_Garrison_GetBuildings = C_Garrison.GetBuildings
local C_Garrison_GetInProgressMissions = C_Garrison.GetInProgressMissions
local C_Garrison_GetLandingPageShipmentInfo = C_Garrison.GetLandingPageShipmentInfo
local C_Garrison_GetLandingPageGarrisonType = C_Garrison.GetLandingPageGarrisonType
local C_Garrison_GetCompleteTalent = C_Garrison.GetCompleteTalent
local C_Garrison_GetFollowerShipments = C_Garrison.GetFollowerShipments
local C_Garrison_GetLandingPageShipmentInfoByContainerID = C_Garrison.GetLandingPageShipmentInfoByContainerID
......@@ -308,11 +309,19 @@ local function OnEnter()
DT.tooltip:Show()
end
local function OnClick(self)
local function OnClick(self, btn)
if InCombatLockdown() then _G.UIErrorsFrame:AddMessage(E.InfoColor.._G.ERR_NOT_IN_COMBAT) return end
DT:SetEasyMenuAnchor(DT.EasyMenu, self)
_G.EasyMenu(menuList, DT.EasyMenu, nil, nil, nil, 'MENU')
if btn == 'RightButton' then
DT:SetEasyMenuAnchor(DT.EasyMenu, self)
_G.EasyMenu(menuList, DT.EasyMenu, nil, nil, nil, 'MENU')
else
if _G.GarrisonLandingPage and _G.GarrisonLandingPage:IsShown() then
HideUIPanel(_G.GarrisonLandingPage)
else
LandingPage(nil, C_Garrison_GetLandingPageGarrisonType())
end
end
end
local function OnEvent(self, event, ...)
......
......@@ -7,6 +7,7 @@ local format, strjoin = format, strjoin
local sort, tinsert = sort, tinsert
local date, utf8sub = date, string.utf8sub
local ToggleFrame = ToggleFrame
local EJ_GetCurrentTier = EJ_GetCurrentTier
local EJ_GetInstanceByIndex = EJ_GetInstanceByIndex
local EJ_GetNumTiers = EJ_GetNumTiers
......@@ -41,14 +42,14 @@ local formatBattleGroundInfo = '%s: '
local lockoutColorExtended, lockoutColorNormal = { r=0.3,g=1,b=0.3 }, { r=.8,g=.8,b=.8 }
local enteredFrame = false
local Update, lastPanel
local OnUpdate, lastPanel
local function ValueColorUpdate(hex)
europeDisplayFormat = strjoin('', '%02d', hex, ':|r%02d')
ukDisplayFormat = strjoin('', '', '%d', hex, ':|r%02d', hex, ' %s|r')
if lastPanel ~= nil then
Update(lastPanel, 20000)
OnUpdate(lastPanel, 20000)
end
end
E.valueColorUpdateFuncs[ValueColorUpdate] = true
......@@ -79,9 +80,14 @@ local function CalculateTimeValues(tooltip)
end
end
local function Click()
local function OnClick(_, btn)
if InCombatLockdown() then _G.UIErrorsFrame:AddMessage(E.InfoColor.._G.ERR_NOT_IN_COMBAT) return end
_G.GameTimeFrame:Click()
if btn == 'RightButton' then
ToggleFrame(_G.TimeManagerFrame)
else
_G.GameTimeFrame:Click()
end
end
local function OnLeave()
......@@ -290,7 +296,7 @@ local function OnEvent(self, event)
end
end
function Update(self, t)
function OnUpdate(self, t)
self.timeElapsed = (self.timeElapsed or 5) - t
if self.timeElapsed > 0 then return end
self.timeElapsed = 5
......@@ -316,4 +322,4 @@ function Update(self, t)
lastPanel = self
end
DT:RegisterDatatext('Time', nil, {'UPDATE_INSTANCE_INFO'}, OnEvent, Update, Click, OnEnter, OnLeave, nil, nil, ValueColorUpdate)
DT:RegisterDatatext('Time', nil, {'UPDATE_INSTANCE_INFO'}, OnEvent, OnUpdate, OnClick, OnEnter, OnLeave, nil, nil, ValueColorUpdate)
local E, L, V, P, G = unpack(select(2, ...)) --Import: Engine, Locales, PrivateDB, ProfileDB, GlobalDB
local DT = E:GetModule('DataTexts')
local _G = _G
local tonumber = tonumber
local format = format
local ipairs = ipairs
local tinsert = tinsert
local SetCVar = SetCVar
local GetCVar = GetCVar
local GetCVarBool = GetCVarBool
local IsShiftKeyDown = IsShiftKeyDown
local ShowOptionsPanel = ShowOptionsPanel
local SOUND = SOUND
local Sound_GameSystem_GetOutputDriverNameByIndex = Sound_GameSystem_GetOutputDriverNameByIndex
local Sound_GameSystem_GetNumOutputDrivers = Sound_GameSystem_GetNumOutputDrivers
local Sound_GameSystem_RestartSoundSystem = Sound_GameSystem_RestartSoundSystem
local AudioStreams = {
{ Name = _G.MASTER, Volume = 'Sound_MasterVolume', Enabled = 'Sound_EnableAllSound' },
{ Name = _G.SOUND_VOLUME, Volume = 'Sound_SFXVolume', Enabled = 'Sound_EnableSFX' },
{ Name = _G.AMBIENCE_VOLUME, Volume = 'Sound_AmbienceVolume', Enabled = 'Sound_EnableAmbience' },
{ Name = _G.DIALOG_VOLUME, Volume = 'Sound_DialogVolume', Enabled = 'Sound_EnableDialog' },
{ Name = _G.MUSIC_VOLUME, Volume = 'Sound_MusicVolume', Enabled = 'Sound_EnableMusic' }
}
local panel, OnEvent
local activeIndex = 1
local activeStream = AudioStreams[activeIndex]
local menu = {{ text = L["Select Volume Stream"], isTitle = true, notCheckable = true }}
local toggleMenu = {{ text = L["Toggle Volume Stream"], isTitle = true, notCheckable = true }}
local deviceMenu = {{ text = L["Output Audio Device"], isTitle = true, notCheckable = true }}
local function GetStreamString(stream, tooltip)
if not stream then stream = AudioStreams[1] end
local color = GetCVarBool(AudioStreams[1].Enabled) and GetCVarBool(stream.Enabled) and '00FF00' or 'FF3333'
local level = GetCVar(stream.Volume) * 100
if tooltip then
return format('|cFF%s%.f%%|r', color, level)
else
return format('%s: |cFF%s%.f%%|r', stream.Name, color, level)
end
end
local function SelectStream(_, ...)
activeIndex = ...
activeStream = AudioStreams[activeIndex]
panel.text:SetText(GetStreamString(activeStream))
end
local function ToggleStream(_, ...)
local Stream = AudioStreams[...]
SetCVar(Stream.Enabled, GetCVarBool(Stream.Enabled) and 0 or 1, 'ELVUI_VOLUME')
panel.text:SetText(GetStreamString(activeStream))
end
for Index, Stream in ipairs(AudioStreams) do
tinsert(menu, { text = Stream.Name, checked = function() return Index == activeIndex end, func = SelectStream, arg1 = Index })
tinsert(toggleMenu, { text = Stream.Name, checked = function() return GetCVarBool(Stream.Enabled) end, func = ToggleStream, arg1 = Index})
end
local function SelectSoundOutput(_, ...)
SetCVar('Sound_OutputDriverIndex', ..., 'ELVUI_VOLUME')
Sound_GameSystem_RestartSoundSystem()
end
local numDevices = Sound_GameSystem_GetNumOutputDrivers()
for i = 0, numDevices - 1 do
tinsert(deviceMenu, { text = Sound_GameSystem_GetOutputDriverNameByIndex(i), checked = function() return i == tonumber(GetCVar('Sound_OutputDriverIndex')) end, func = SelectSoundOutput, arg1 = i })
end
local function OnEnter()
DT.tooltip:ClearLines()
DT.tooltip:AddLine(L["Active Output Audio Device"], 1, 1, 1)
DT.tooltip:AddLine(Sound_GameSystem_GetOutputDriverNameByIndex(GetCVar('Sound_OutputDriverIndex')))
DT.tooltip:AddLine(' ')
DT.tooltip:AddLine(L["Volume Streams"], 1, 1, 1)
for _, Stream in ipairs(AudioStreams) do
DT.tooltip:AddDoubleLine(Stream.Name, GetStreamString(Stream, true))
end
DT.tooltip:AddLine(' ')
DT.tooltip:AddLine(L["|cFFffffffLeft Click:|r Select Volume Stream"])
DT.tooltip:AddLine(L["|cFFffffffMiddle Click:|r Toggle Mute Master Stream"])
DT.tooltip:AddLine(L["|cFFffffffRight Click:|r Toggle Volume Stream"])
DT.tooltip:AddLine(L["|cFFffffffShift + Left Click:|r Open System Audio Panel"])
DT.tooltip:AddLine(L["|cFFffffffShift + Right Click:|r Select Output Audio Device"])
DT.tooltip:Show()
end
local function onMouseWheel(_, delta)
local vol = GetCVar(activeStream.Volume)
local scale = 100
if IsShiftKeyDown() then
scale = 10
end
vol = vol + (delta / scale)
if vol >= 1 then
vol = 1
elseif vol <= 0 then
vol = 0
end
SetCVar(activeStream.Volume, vol, 'ELVUI_VOLUME')
end
function OnEvent(self, event, arg1)
activeStream = AudioStreams[activeIndex]
panel = self
if event == 'ELVUI_FORCE_UPDATE' then
self:EnableMouseWheel(true)
self:SetScript('OnMouseWheel', onMouseWheel)
end
if event == 'CVAR_UPDATE' and arg1 == 'ELVUI_VOLUME' or event == 'ELVUI_FORCE_UPDATE' then
self.text:SetText(GetStreamString(activeStream))
end
end
local function OnClick(self, button)
if button == 'LeftButton' then
if IsShiftKeyDown() then
ShowOptionsPanel(_G.VideoOptionsFrame, _G.GameMenuFrame, SOUND)
return
end
DT:SetEasyMenuAnchor(DT.EasyMenu, self)
_G.EasyMenu(menu, DT.EasyMenu, nil, nil, nil, 'MENU')
elseif button == 'MiddleButton' then
SetCVar(AudioStreams[1].Enabled, GetCVarBool(AudioStreams[1].Enabled) and 0 or 1, 'ELVUI_VOLUME')
elseif button == 'RightButton' then
DT:SetEasyMenuAnchor(DT.EasyMenu, self)
_G.EasyMenu(IsShiftKeyDown() and deviceMenu or toggleMenu, DT.EasyMenu, nil, nil, nil, 'MENU')
end
end
DT:RegisterDatatext(L["Volume"], nil, {'CVAR_UPDATE'}, OnEvent, nil, OnClick, OnEnter)
......@@ -161,6 +161,8 @@ function M:SetupHybridMinimap()
MapCanvas:SetScript('OnMouseWheel', M.Minimap_OnMouseWheel)
MapCanvas:SetScript('OnMouseDown', M.MapCanvas_OnMouseDown)
MapCanvas:SetScript('OnMouseUp', E.noop)
_G.HybridMinimap.CircleMask:StripTextures()
end
function M:HideNonInstancePanels()
......@@ -369,6 +371,11 @@ function M:Initialize()
Minimap:HookScript('OnEnter', function(mm) if E.db.general.minimap.locationText == 'MOUSEOVER' then mm.location:Show() end end)
Minimap:HookScript('OnLeave', function(mm) if E.db.general.minimap.locationText == 'MOUSEOVER' then mm.location:Hide() end end)
if Minimap.backdrop then -- level to hybrid maps fixed values
Minimap.backdrop:SetFrameLevel(99)
Minimap.backdrop:SetFrameStrata('BACKGROUND')
end
Minimap.location = Minimap:CreateFontString(nil, 'OVERLAY')
Minimap.location:FontTemplate(nil, nil, 'OUTLINE')
Minimap.location:Point('TOP', Minimap, 'TOP', 0, -2)
......
......@@ -997,8 +997,8 @@ function S:HandleGarrisonPortrait(portrait)
local level = portrait.Level or portrait.LevelText
if level then
level:ClearAllPoints()
level:Point('BOTTOM', portrait, 0, 12)
level:FontTemplate(nil, 12, 'OUTLINE')
level:Point('BOTTOM', portrait, 0, 15)
level:FontTemplate(nil, 14, 'OUTLINE')
if portrait.LevelCircle then portrait.LevelCircle:Hide() end
if portrait.LevelBorder then portrait.LevelBorder:SetScale(.0001) end
end
......
......@@ -62,12 +62,13 @@ function UF:Update_PetFrame(frame, db)
frame.BOTTOM_OFFSET = UF:GetHealthBottomOffset(frame)
end
if db.strataAndLevel and db.strataAndLevel.useCustomStrata then
frame:SetFrameStrata(db.strataAndLevel.frameStrata)
end
if db.strataAndLevel and db.strataAndLevel.useCustomLevel then
frame:SetFrameLevel(db.strataAndLevel.frameLevel)
if db.strataAndLevel then
if db.strataAndLevel.useCustomStrata then
frame:SetFrameStrata(db.strataAndLevel.frameStrata)
end
if db.strataAndLevel.useCustomLevel then
frame:SetFrameLevel(db.strataAndLevel.frameLevel)
end
end
frame.Health.colorPetByUnitClass = db.health.colorPetByUnitClass
......
......@@ -32,6 +32,7 @@ P.general = {
objectiveTracker = true,
resurrectSound = false,
questRewardMostValueIcon = true,
questXPPercent = true,
itemLevel = {
displayCharacterInfo = true,
displayInspectInfo = true,
......@@ -2375,13 +2376,13 @@ E.LayoutMoverPositions = {
ShiftAB = "BOTTOM,ElvUIParent,BOTTOM,0,58",
ElvUF_Raid40Mover = "BOTTOMLEFT,ElvUIParent,BOTTOMLEFT,4,269",
ElvUF_RaidMover = "BOTTOMLEFT,ElvUIParent,BOTTOMLEFT,4,269",
ElvUF_PartyMover = "BOTTOMLEFT,ElvUIParent,BOTTOMLEFT,4,269",
ElvUF_PartyMover = "BOTTOMLEFT,ElvUIParent,BOTTOMLEFT,4,269",
HonorBarMover = "TOPRIGHT,ElvUIParent,TOPRIGHT,-2,-251",
ReputationBarMover = "TOPRIGHT,ElvUIParent,TOPRIGHT,-2,-243"
},
dpsCaster = {
ElvUF_PlayerCastbarMover = 'BOTTOM,ElvUIParent,BOTTOM,0,243',
ElvUF_TargetCastbarMover = 'BOTTOM,ElvUIParent,BOTTOM,0,97',
ElvUF_TargetCastbarMover = 'BOTTOM,ElvUIParent,BOTTOM,0,97',
},
healer = {
ElvUF_PlayerCastbarMover = 'BOTTOM,ElvUIParent,BOTTOM,0,243',
......
......@@ -3,13 +3,15 @@ local C, L = unpack(select(2, ...))
local A = E:GetModule('Auras')
local ACH = E.Libs.ACH
E.Options.args.auras = ACH:Group(L["BUFFOPTIONS_LABEL"], nil, 2, 'tab', function(info) return E.private.auras[info[#info]] end, function(info, value) E.private.auras[info[#info]] = value; E:StaticPopup_Show('PRIVATE_RL') end)
E.Options.args.auras.args.intro = ACH:Description(L["AURAS_DESC"], 0)
E.Options.args.auras.args.enable = ACH:Toggle(L["Enable"], nil, 1)
E.Options.args.auras.args.disableBlizzard = ACH:Toggle(L["Disabled Blizzard"], nil, 2)
E.Options.args.auras.args.buffsHeader = ACH:Toggle(L["Buffs"], nil, 3)
E.Options.args.auras.args.debuffsHeader = ACH:Toggle(L["Debuffs"], nil, 4)
E.Options.args.auras.args.masque = ACH:MultiSelect(L["Masque Support"], nil, 10, { buffs = L["Buffs"], debuffs = L["Debuffs"] }, nil, nil, function(_, key) return E.private.auras.masque[key] end, function(_, key, value) E.private.auras.masque[key] = value; E:StaticPopup_Show('PRIVATE_RL') end, function() return not E.Masque or not E.private.auras.enable end)
local Auras = ACH:Group(L["BUFFOPTIONS_LABEL"], nil, 2, 'tab', function(info) return E.private.auras[info[#info]] end, function(info, value) E.private.auras[info[#info]] = value; E:StaticPopup_Show('PRIVATE_RL') end)
E.Options.args.auras = Auras
Auras.args.intro = ACH:Description(L["AURAS_DESC"], 0)
Auras.args.enable = ACH:Toggle(L["Enable"], nil, 1)
Auras.args.disableBlizzard = ACH:Toggle(L["Disabled Blizzard"], nil, 2)
Auras.args.buffsHeader = ACH:Toggle(L["Buffs"], nil, 3)
Auras.args.debuffsHeader = ACH:Toggle(L["Debuffs"], nil, 4)
Auras.args.masque = ACH:MultiSelect(L["Masque Support"], nil, 10, { buffs = L["Buffs"], debuffs = L["Debuffs"] }, nil, nil, function(_, key) return E.private.auras.masque[key] end, function(_, key, value) E.private.auras.masque[key] = value; E:StaticPopup_Show('PRIVATE_RL') end, function() return not E.Masque or not E.private.auras.enable end)
local SharedOptions = {
general = ACH:Group(L["General"], nil, 1, nil),
......@@ -57,20 +59,20 @@ SharedOptions.statusBar.args.barPosition = ACH:Select(L["Position"], nil, 6, { T
SharedOptions.statusBar.args.barSize = ACH:Range(L["Size"], nil, 7, { min = 1, max = 10, step = 1 })
SharedOptions.statusBar.args.barSpacing = ACH:Range(L["Spacing"], nil, 8, { min = -10, max = 10, step = 1 })
E.Options.args.auras.args.buffs = ACH:Group(L["Buffs"], nil, 2, nil, function(info) return E.db.auras.buffs[info[#info]] end, function(info, value) E.db.auras.buffs[info[#info]] = value; A:UpdateHeader(A.BuffFrame) end, function() return not E.private.auras.buffsHeader end)
E.Options.args.auras.args.buffs.args = CopyTable(SharedOptions)
E.Options.args.auras.args.buffs.args.general.get = function(info) return E.db.auras.buffs[info[#info]] end
E.Options.args.auras.args.buffs.args.general.set = function(info, value) E.db.auras.buffs[info[#info]] = value; A:UpdateHeader(A.BuffFrame) end
E.Options.args.auras.args.buffs.args.statusBar.disabled = function() return not E.db.auras.buffs.barShow end
E.Options.args.auras.args.buffs.args.statusBar.args.barColor.get = function() local t = E.db.auras.buffs.barColor local d = P.auras.buffs.barColor return t.r, t.g, t.b, t.a, d.r, d.g, d.b, d.a end
E.Options.args.auras.args.buffs.args.statusBar.args.barColor.set = function(_, r, g, b) local t = E.db.auras.buffs.barColor t.r, t.g, t.b = r, g, b end
E.Options.args.auras.args.buffs.args.statusBar.args.barColor.disabled = function() return not E.db.auras.buffs.barShow or (E.db.auras.buffs.barColorGradient or not E.db.auras.buffs.barShow) end
Auras.args.buffs = ACH:Group(L["Buffs"], nil, 2, nil, function(info) return E.db.auras.buffs[info[#info]] end, function(info, value) E.db.auras.buffs[info[#info]] = value; A:UpdateHeader(A.BuffFrame) end, function() return not E.private.auras.buffsHeader end)
Auras.args.buffs.args = CopyTable(SharedOptions)
Auras.args.buffs.args.general.get = function(info) return E.db.auras.buffs[info[#info]] end
Auras.args.buffs.args.general.set = function(info, value) E.db.auras.buffs[info[#info]] = value; A:UpdateHeader(A.BuffFrame) end
Auras.args.buffs.args.statusBar.disabled = function() return not E.db.auras.buffs.barShow end
Auras.args.buffs.args.statusBar.args.barColor.get = function() local t = E.db.auras.buffs.barColor local d = P.auras.buffs.barColor return t.r, t.g, t.b, t.a, d.r, d.g, d.b, d.a end
Auras.args.buffs.args.statusBar.args.barColor.set = function(_, r, g, b) local t = E.db.auras.buffs.barColor t.r, t.g, t.b = r, g, b end
Auras.args.buffs.args.statusBar.args.barColor.disabled = function() return not E.db.auras.buffs.barShow or (E.db.auras.buffs.barColorGradient or not E.db.auras.buffs.barShow) end
E.Options.args.auras.args.debuffs = ACH:Group(L["Debuffs"], nil, 3, nil, function(info) return E.db.auras.debuffs[info[#info]] end, function(info, value) E.db.auras.debuffs[info[#info]] = value; A:UpdateHeader(A.DebuffFrame) end, function() return not E.private.auras.debuffsHeader end)
E.Options.args.auras.args.debuffs.args = CopyTable(SharedOptions)
E.Options.args.auras.args.debuffs.args.general.get = function(info) return E.db.auras.debuffs[info[#info]] end
E.Options.args.auras.args.debuffs.args.general.set = function(info, value) E.db.auras.debuffs[info[#info]] = value; A:UpdateHeader(A.DebuffFrame) end
E.Options.args.auras.args.debuffs.args.statusBar.disabled = function() return not E.db.auras.debuffs.barShow end
E.Options.args.auras.args.debuffs.args.statusBar.args.barColor.get = function() local t = E.db.auras.debuffs.barColor local d = P.auras.debuffs.barColor return t.r, t.g, t.b, t.a, d.r, d.g, d.b, d.a end
E.Options.args.auras.args.debuffs.args.statusBar.args.barColor.set = function(_, r, g, b) local t = E.db.auras.debuffs.barColor t.r, t.g, t.b = r, g, b end
E.Options.args.auras.args.debuffs.args.statusBar.args.barColor.disabled = function() return not E.db.auras.debuffs.barShow or (E.db.auras.debuffs.barColorGradient or not E.db.auras.debuffs.barShow) end
Auras.args.debuffs = ACH:Group(L["Debuffs"], nil, 3, nil, function(info) return E.db.auras.debuffs[info[#info]] end, function(info, value) E.db.auras.debuffs[info[#info]] = value; A:UpdateHeader(A.DebuffFrame) end, function() return not E.private.auras.debuffsHeader end)
Auras.args.debuffs.args = CopyTable(SharedOptions)
Auras.args.debuffs.args.general.get = function(info) return E.db.auras.debuffs[info[#info]] end
Auras.args.debuffs.args.general.set = function(info, value) E.db.auras.debuffs[info[#info]] = value; A:UpdateHeader(A.DebuffFrame) end
Auras.args.debuffs.args.statusBar.disabled = function() return not E.db.auras.debuffs.barShow end
Auras.args.debuffs.args.statusBar.args.barColor.get = function() local t = E.db.auras.debuffs.barColor local d = P.auras.debuffs.barColor return t.r, t.g, t.b, t.a, d.r, d.g, d.b, d.a end
Auras.args.debuffs.args.statusBar.args.barColor.set = function(_, r, g, b) local t = E.db.auras.debuffs.barColor t.r, t.g, t.b = r, g, b end
Auras.args.debuffs.args.statusBar.args.barColor.disabled = function() return not E.db.auras.debuffs.barShow or (E.db.auras.debuffs.barColorGradient or not E.db.auras.debuffs.barShow) end
......@@ -612,7 +612,7 @@ E.Options.args.bags = {
order = 1,
type = 'range',
name = L["Bag Spacing"],
min = 0, max = 20, step = 1,
min = -3, max = 20, step = 1,
},
player = {
order = 2,
......
......@@ -860,6 +860,11 @@ E.Options.args.general = {
name = L["Mark Quest Reward"],
desc = L["Marks the most valuable quest reward with a gold coin."],
},
questXPPercent = {
order = 13,
type = 'toggle',
name = L["XP Quest Percent"],
},
itemLevelInfo = {
order = 14,
name = L["Item Level"],
......
This diff is collapsed.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment