You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
335 lines
12 KiB
335 lines
12 KiB
local SLE, T, E, L, V, P, G = unpack(ElvUI_SLE)
|
|
local Armory = SLE.Armory_Core
|
|
local CA = SLE.Armory_Character
|
|
local M = E.Misc
|
|
|
|
local function configTable()
|
|
if not SLE.initialized then return end
|
|
local ACH = E.Libs.ACH
|
|
|
|
E.Options.args.sle.args.modules.args.armory.args.character = {
|
|
type = 'group',
|
|
name = L["Character Armory"],
|
|
order = 10,
|
|
disabled = function() return not E.db.sle.armory.character.enable end,
|
|
hidden = function() return not E.private.skins.blizzard.enable or not E.private.skins.blizzard.character end,
|
|
args = {
|
|
header = ACH:Header(L["Character Armory"], 1),
|
|
showWarning = {
|
|
order = 2,
|
|
type = 'toggle',
|
|
name = L["Show Warning Icon"],
|
|
desc = L["Show Missing Enchants or Gems"],
|
|
get = function(info) return E.db.sle.armory.character[(info[#info])] end,
|
|
set = function(info, value) E.db.sle.armory.character[(info[#info])] = value; M:UpdateCharacterInfo() end,
|
|
},
|
|
ilvl = {
|
|
type = 'group',
|
|
name = L["Item Level"],
|
|
order = 10,
|
|
get = function(info) return E.db.sle.armory.character[(info[#info - 1])][(info[#info])] end,
|
|
set = function(info, value) E.db.sle.armory.character[(info[#info - 1])][(info[#info])] = value; CA:Update_ItemLevel(); Armory:UpdateSharedStringsFonts("Character") end,
|
|
disabled = function() return E.db.general.itemLevel.displayCharacterInfo == false or not E.db.sle.armory.character.enable end,
|
|
args = {
|
|
colorType = {
|
|
type = 'select',
|
|
name = L["Item Level Coloring"],
|
|
order = 1,
|
|
set = function(info, value) E.db.sle.armory.character[(info[#info - 1])][(info[#info])] = value; M:UpdateCharacterInfo() end,
|
|
values = {
|
|
NONE = NONE,
|
|
QUALITY = COLORBLIND_ITEM_QUALITY,
|
|
GRADIENT = L["Gradient"],
|
|
},
|
|
},
|
|
xOffset = {
|
|
type = 'range',
|
|
name = L["X-Offset"],
|
|
order = 10,
|
|
min = -40, max = 150, step = 1,
|
|
},
|
|
yOffset = {
|
|
type = 'range',
|
|
name = L["Y-Offset"],
|
|
order = 11,
|
|
min = -22, max = 3, step = 1,
|
|
},
|
|
font = {
|
|
type = 'select', dialogControl = 'LSM30_Font',
|
|
name = L["Font"],
|
|
order = 20,
|
|
values = function() return AceGUIWidgetLSMlists and AceGUIWidgetLSMlists.font or {} end,
|
|
},
|
|
fontSize = {
|
|
type = 'range',
|
|
name = L["Font Size"],
|
|
order = 21,
|
|
min = 6, max = 22, step = 1,
|
|
},
|
|
fontStyle = ACH:FontFlags(L["Font Outline"], L["Set the font outline."], 22),
|
|
}
|
|
},
|
|
enchant = {
|
|
type = 'group',
|
|
name = L["Enchant String"],
|
|
order = 11,
|
|
get = function(info) return E.db.sle.armory.character[(info[#info - 1])][(info[#info])] end,
|
|
set = function(info, value) E.db.sle.armory.character[(info[#info - 1])][(info[#info])] = value; CA:Update_Enchant(); Armory:UpdateSharedStringsFonts("Character") end,
|
|
disabled = function() return E.db.general.itemLevel.displayCharacterInfo == false or not E.db.sle.armory.character.enable end,
|
|
args = {
|
|
showReal = {
|
|
order = 1,
|
|
type = 'toggle',
|
|
name = L["Display Quality"],
|
|
desc = L["Displays the quality icon at the end of the enchant string, exactly as it appears when you mouse over the item slot itself and view the tooltip."],
|
|
set = function(info, value) E.db.sle.armory.character[(info[#info-1])][(info[#info])] = value M:UpdatePageInfo(_G.CharacterFrame, 'Character') end,
|
|
},
|
|
spacer1 = {
|
|
name = ' ',
|
|
type = 'description',
|
|
order = 2,
|
|
width = 'full',
|
|
},
|
|
font = {
|
|
type = 'select', dialogControl = 'LSM30_Font',
|
|
name = L["Font"],
|
|
order = 3,
|
|
values = function() return AceGUIWidgetLSMlists and AceGUIWidgetLSMlists.font or {} end,
|
|
},
|
|
fontStyle = ACH:FontFlags(L["Font Outline"], L["Set the font outline."], 4),
|
|
fontSize = {
|
|
type = 'range',
|
|
name = L["Font Size"],
|
|
order = 5,
|
|
min = 6, max = 22, step = 1,
|
|
},
|
|
spacer2 = {
|
|
name = ' ',
|
|
type = 'description',
|
|
order = 6,
|
|
width = 'full',
|
|
},
|
|
xOffset = {
|
|
type = 'range',
|
|
name = L["X-Offset"],
|
|
order = 7,
|
|
min = -2, max = 40, step = 1,
|
|
},
|
|
yOffset = {
|
|
type = 'range',
|
|
name = L["Y-Offset"],
|
|
order = 8,
|
|
min = -13, max = 13, step = 1,
|
|
},
|
|
}
|
|
},
|
|
gem = {
|
|
type = 'group',
|
|
name = L["Gem Sockets"],
|
|
order = 12,
|
|
get = function(info) return E.db.sle.armory.character[(info[#info - 1])][(info[#info])] end,
|
|
set = function(info, value) E.db.sle.armory.character[(info[#info - 1])][(info[#info])] = value; CA:Update_Gems() end,
|
|
disabled = function() return E.db.general.itemLevel.displayCharacterInfo == false or not E.db.sle.armory.character.enable end,
|
|
args = {
|
|
size = {
|
|
type = 'range',
|
|
name = L["Size"],
|
|
order = 1,
|
|
min = 8, max = 30, step = 1,
|
|
},
|
|
xOffset = {
|
|
type = 'range',
|
|
name = L["X-Offset"],
|
|
order = 10,
|
|
min = -40, max = 150, step = 1,
|
|
},
|
|
yOffset = {
|
|
type = 'range',
|
|
name = L["Y-Offset"],
|
|
order = 11,
|
|
min = -3, max = 22, step = 1,
|
|
},
|
|
}
|
|
},
|
|
transmog = {
|
|
order = 13,
|
|
type = 'group',
|
|
name = L["Transmog"],
|
|
get = function(info) return E.db.sle.armory.character[(info[#info - 1])][(info[#info])] end,
|
|
set = function(info, value) E.db.sle.armory.character[(info[#info - 1])][(info[#info])] = value; Armory:UpdatePageInfo(_G.CharacterFrame, 'Character') end,
|
|
args = {
|
|
enableArrow = {
|
|
order = 1,
|
|
type = 'toggle',
|
|
name = L["Enable Arrow"],
|
|
desc = L["Enables a small arrow-like indicator on the item slot. Howering over this arrow will show the item this slot is transmogged into."],
|
|
},
|
|
enableGlow = {
|
|
order = 2,
|
|
type = 'toggle',
|
|
name = L["Enable Glow"],
|
|
},
|
|
glowNumber = {
|
|
type = 'range',
|
|
name = L["Glow Number"],
|
|
order = 3,
|
|
min = 2,max = 8,step = 1,
|
|
disabled = function() return not E.db.sle.armory.character.transmog.enableGlow end,
|
|
},
|
|
glowOffset = {
|
|
type = 'range',
|
|
name = L["Glow Offset"],
|
|
order = 4,
|
|
min = -2,max = 4,step = 1,
|
|
disabled = function() return not E.db.sle.armory.character.transmog.enableGlow end,
|
|
},
|
|
},
|
|
},
|
|
gradient = {
|
|
type = 'group',
|
|
name = L["Gradient"],
|
|
order = 14,
|
|
get = function(info) return E.db.sle.armory.character[(info[#info - 1])][(info[#info])] end,
|
|
set = function(info, value) E.db.sle.armory.character[(info[#info - 1])][(info[#info])] = value; M:UpdateCharacterInfo() end,
|
|
args = {
|
|
enable = {
|
|
type = 'toggle',
|
|
name = L["Enable"],
|
|
order = 1,
|
|
},
|
|
color = {
|
|
type = 'color',
|
|
name = L["Gradient Texture Color"],
|
|
order = 2,
|
|
get = function(info)
|
|
return unpack(E.db.sle.armory.character[(info[#info - 1])][(info[#info])])
|
|
end,
|
|
set = function(info, r, g, b, a) E.db.sle.armory.character[(info[#info - 1])][(info[#info])] = { r, g, b, a }; M:UpdateCharacterInfo() end,
|
|
disabled = function() return E.db.sle.armory.character.enable == false or E.db.sle.armory.character.gradient.enable == false end,
|
|
},
|
|
quality = {
|
|
type = 'toggle',
|
|
name = COLORBLIND_ITEM_QUALITY,
|
|
order = 3,
|
|
disabled = function() return E.db.sle.armory.character.enable == false or E.db.sle.armory.character.gradient.enable == false end,
|
|
},
|
|
setArmor = {
|
|
type = 'toggle',
|
|
name = L["Armor Set"],
|
|
order = 5,
|
|
disabled = function() return E.db.sle.armory.character.enable == false or E.db.sle.armory.character.gradient.enable == false end,
|
|
},
|
|
setArmorColor = {
|
|
type = 'color',
|
|
name = L["Armor Set Gradient Texture Color"],
|
|
order = 6,
|
|
get = function(info)
|
|
return unpack(E.db.sle.armory.character[(info[#info - 1])][(info[#info])])
|
|
end,
|
|
set = function(info, r, g, b, a) E.db.sle.armory.character[(info[#info - 1])][(info[#info])] = { r, g, b, a }; M:UpdateCharacterInfo() end,
|
|
disabled = function() return not E.db.sle.armory.character.enable or not E.db.sle.armory.character.gradient.enable or not E.db.sle.armory.character.gradient.setArmor end,
|
|
},
|
|
warningColor = {
|
|
type = 'color',
|
|
name = L["Warning Gradient Texture Color"],
|
|
order = 7,
|
|
get = function(info)
|
|
return unpack(E.db.sle.armory.character[(info[#info - 1])][(info[#info])])
|
|
end,
|
|
set = function(info, r, g, b, a) E.db.sle.armory.character[(info[#info - 1])][(info[#info])] = { r, g, b, a }; M:UpdateCharacterInfo() end,
|
|
disabled = function() return not E.db.sle.armory.character.enable or not E.db.sle.armory.character.gradient.enable end,
|
|
},
|
|
warningBarColor = {
|
|
type = 'color',
|
|
name = L["Warning Bar Color"],
|
|
order = 8,
|
|
get = function(info)
|
|
return unpack(E.db.sle.armory.character[(info[#info - 1])][(info[#info])])
|
|
end,
|
|
set = function(info, r, g, b, a) E.db.sle.armory.character[(info[#info - 1])][(info[#info])] = { r, g, b, a }; M:UpdateCharacterInfo() end,
|
|
disabled = function() return not E.db.sle.armory.character.enable or not E.db.sle.armory.character.gradient.enable end,
|
|
},
|
|
}
|
|
},
|
|
durability = {
|
|
type = 'group',
|
|
name = DURABILITY,
|
|
order = 15,
|
|
get = function(info) return E.db.sle.armory.character.durability[(info[#info])] end,
|
|
set = function(info, value) E.db.sle.armory.character.durability[(info[#info])] = value; M:UpdateCharacterInfo() end,
|
|
args = {
|
|
display = {
|
|
type = 'select',
|
|
name = L["Visibility"],
|
|
order = 1,
|
|
values = {
|
|
Always = L["Always Display"],
|
|
DamagedOnly = L["Only Damaged"],
|
|
Hide = HIDE
|
|
},
|
|
},
|
|
spacer1 = ACH:Spacer(2),
|
|
font = {
|
|
type = 'select', dialogControl = 'LSM30_Font',
|
|
name = L["Font"],
|
|
order = 3,
|
|
values = function() return AceGUIWidgetLSMlists and AceGUIWidgetLSMlists.font or {} end,
|
|
},
|
|
fontSize = {
|
|
type = 'range',
|
|
name = L["Font Size"],
|
|
order = 4,
|
|
min = 6, max = 22, step = 1,
|
|
},
|
|
fontStyle = ACH:FontFlags(L["Font Outline"], L["Set the font outline."], 5),
|
|
xOffset = {
|
|
type = 'range',
|
|
name = L["X-Offset"],
|
|
order = 8,
|
|
min = -2, max = 150, step = 1,
|
|
},
|
|
yOffset = {
|
|
type = 'range',
|
|
name = L["Y-Offset"],
|
|
order = 8,
|
|
min = -22, max = 3, step = 1,
|
|
},
|
|
}
|
|
},
|
|
background = {
|
|
type = 'group',
|
|
name = L["Backdrop"],
|
|
order = 20,
|
|
args = {
|
|
selectedBG = {
|
|
type = 'select',
|
|
name = L["Select Image"],
|
|
order = 1,
|
|
get = function() return E.db.sle.armory.character.background.selectedBG end,
|
|
set = function(_, value) E.db.sle.armory.character.background.selectedBG = value; CA:Update_BG() end,
|
|
values = function() return SLE.ArmoryConfigBackgroundValues.BackgroundValues end,
|
|
},
|
|
customTexture = {
|
|
type = 'input',
|
|
name = L["Custom Texture"],
|
|
order = 2,
|
|
get = function() return E.db.sle.armory.character.background.customTexture end,
|
|
set = function(_, value) E.db.sle.armory.character.background.customTexture = value; CA:Update_BG() end,
|
|
width = 'double',
|
|
hidden = function() return E.db.sle.armory.character.background.selectedBG ~= 'CUSTOM' end
|
|
},
|
|
overlay = {
|
|
type = 'toggle',
|
|
order = 3,
|
|
name = L["Overlay"],
|
|
desc = L["Show ElvUI skin's backdrop overlay"],
|
|
get = function() return E.db.sle.armory.character.background.overlay end,
|
|
set = function(_, value) E.db.sle.armory.character.background.overlay = value; CA:ElvOverlayToggle() end
|
|
},
|
|
}
|
|
},
|
|
},
|
|
}
|
|
end
|
|
|
|
tinsert(SLE.Configs, configTable)
|
|
|