Change all use of heroclass to use RAID_CLASS_COLORS instead. This can be changed to CUSTOM_CLASS_COLORS later with a color picker for each class, but to support CoA classes need to go back to being colored properly.

Fix remaining lua errors covered by ascension patches

Add Addon Skins
Add Enhanced Friends List
This commit is contained in:
Andrew6810
2022-10-28 07:12:13 -07:00
parent 60ef8a38af
commit df7cc26a64
205 changed files with 18480 additions and 35 deletions
+381
View File
@@ -0,0 +1,381 @@
local E, L, V, P, G = unpack(ElvUI)
local EFL = E:GetModule("EnhancedFriendsList")
local function ColorizeSettingName(settingName)
return format("|cff1784d1%s|r", settingName)
end
function EFL:InsertOptions()
E.Options.args.enhanceFriendsList = {
order = 54,
type = "group",
childGroups = "tab",
name = ColorizeSettingName(L["Enhanced Friends List"]),
args = {
header = {
order = 1,
type = "header",
name = L["Enhanced Friends List"]
},
general = {
order = 2,
type = "group",
name = L["General"],
get = function(info) return E.db.enhanceFriendsList[ info[#info] ] end,
set = function(info, value) E.db.enhanceFriendsList[ info[#info] ] = value; EFL:Update(); FriendsList_Update(); FriendsFrameStatusDropDown_Update() end,
args = {
header = {
order = 0,
type = "header",
name = L["General"],
},
showBackground = {
order = 1,
type = "toggle",
name = L["Show Background"]
},
showStatusIcon = {
order = 2,
type = "toggle",
name = L["Show Status Icon"]
},
statusIcons = {
order = 3,
type = "select",
name = L["Status Icons Textures"],
values = {
["Default"] = L["Default"],
["Square"] = "Square",
["D3"] = "Diablo 3"
}
},
nameFont = {
order = 4,
type = "group",
name = L["Name Font"],
guiInline = true,
get = function(info) return E.db.enhanceFriendsList[ info[#info] ] end,
set = function(info, value) E.db.enhanceFriendsList[ info[#info] ] = value; EFL:Update(); FriendsList_Update() end,
args = {
nameFont = {
order = 1,
type = "select", dialogControl = "LSM30_Font",
name = L["Font"],
values = AceGUIWidgetLSMlists.font
},
nameFontSize = {
order = 2,
type = "range",
name = FONT_SIZE,
min = 6, max = 22, step = 1
},
nameFontOutline = {
order = 3,
type = "select",
name = L["Font Outline"],
desc = L["Set the font outline."],
values = {
["NONE"] = NONE,
["OUTLINE"] = "OUTLINE",
["MONOCHROMEOUTLINE"] = "MONOCROMEOUTLINE",
["THICKOUTLINE"] = "THICKOUTLINE"
}
}
}
},
zoneFont = {
order = 5,
type = "group",
name = L["Zone Font"],
guiInline = true,
get = function(info) return E.db.enhanceFriendsList[ info[#info] ] end,
set = function(info, value) E.db.enhanceFriendsList[ info[#info] ] = value; EFL:Update(); FriendsList_Update() end,
args = {
zoneFont = {
order = 1,
type = "select", dialogControl = "LSM30_Font",
name = L["Font"],
values = AceGUIWidgetLSMlists.font
},
zoneFontSize = {
order = 2,
type = "range",
name = FONT_SIZE,
min = 6, max = 22, step = 1
},
zoneFontOutline = {
order = 3,
type = "select",
name = L["Font Outline"],
desc = L["Set the font outline."],
values = {
["NONE"] = NONE,
["OUTLINE"] = "OUTLINE",
["MONOCHROMEOUTLINE"] = "MONOCROMEOUTLINE",
["THICKOUTLINE"] = "THICKOUTLINE"
}
}
}
}
}
},
Online = {
order = 3,
type = "group",
name = L["Online Friends"],
get = function(info) return E.db.enhanceFriendsList.Online[ info[#info] ] end,
set = function(info, value) E.db.enhanceFriendsList.Online[ info[#info] ] = value; EFL:Update(); FriendsList_Update() end,
args = {
header = {
order = 0,
type = "header",
name = L["Online Friends"]
},
name = {
order = 1,
type = "group",
name = NAME,
guiInline = true,
args = {
enhancedName = {
order = 1,
type = "toggle",
name = L["Enhanced Name"]
},
colorizeNameOnly = {
order = 2,
type = "toggle",
name = L["Colorize Name Only"],
disabled = function() return not E.db.enhanceFriendsList.Online.enhancedName end
}
}
},
level = {
order = 2,
type = "group",
name = LEVEL,
guiInline = true,
args = {
level = {
order = 1,
type = "toggle",
name = L["Show"]
},
levelColor = {
order = 2,
type = "toggle",
name = L["Level Range Color"],
disabled = function() return not E.db.enhanceFriendsList.Online.level end
},
levelText = {
order = 3,
type = "toggle",
name = L["Level Text"],
disabled = function() return not E.db.enhanceFriendsList.Online.level end
},
shortLevel = {
order = 4,
type = "toggle",
name = L["Short Level"],
disabled = function() return not E.db.enhanceFriendsList.Online.level or not E.db.enhanceFriendsList.Online.levelText end
}
}
},
class = {
order = 3,
type = "group",
name = CLASS,
guiInline = true,
args = {
classText = {
order = 1,
type = "toggle",
name = L["Class Text"]
},
classIcon = {
order = 2,
type = "toggle",
name = L["Class Icon"]
},
classIconStatusColor = {
order = 3,
type = "toggle",
name = L["Class Icon Status Color"],
disabled = function() return not E.db.enhanceFriendsList.Online.classIcon end
}
}
},
zone = {
order = 4,
type = "group",
name = ZONE,
guiInline = true,
args = {
zoneText = {
order = 1,
type = "toggle",
name = L["Zone Text"]
},
spacer = {
order = 2,
type = "description",
name = ""
},
enhancedZone = {
order = 3,
type = "toggle",
name = L["Enhanced Zone"],
disabled = function() return not E.db.enhanceFriendsList.Online.zoneText end
},
enhancedZoneColor = {
order = 4,
type = "color",
name = L["Enhanced Zone Color"],
get = function(info)
local t = E.db.enhanceFriendsList.Online.enhancedZoneColor
local d = P.enhanceFriendsList.Online.enhancedZoneColor
return t.r, t.g, t.b, t.a, d.r, d.g, d.b
end,
set = function(info, r, g, b)
local t = E.db.enhanceFriendsList.Online.enhancedZoneColor
t.r, t.g, t.b = r, g, b
FriendsList_Update()
end,
disabled = function() return not E.db.enhanceFriendsList.Online.zoneText or not E.db.enhanceFriendsList.Online.enhancedZone end
},
spacer2 = {
order = 5,
type = "description",
name = "",
},
sameZone = {
order = 6,
type = "toggle",
name = L["Same Zone"],
desc = L["Friends that are in the same area as you, have their zone info colorized green."],
disabled = function() return not E.db.enhanceFriendsList.Online.zoneText end
},
sameZoneColor = {
order = 7,
type = "color",
name = L["Same Zone Color"],
get = function(info)
local t = E.db.enhanceFriendsList.Online.sameZoneColor
local d = P.enhanceFriendsList.Online.sameZoneColor
return t.r, t.g, t.b, t.a, d.r, d.g, d.b
end,
set = function(info, r, g, b)
local t = E.db.enhanceFriendsList.Online.sameZoneColor
t.r, t.g, t.b = r, g, b
FriendsList_Update()
end,
disabled = function() return not E.db.enhanceFriendsList.Online.zoneText or not E.db.enhanceFriendsList.Online.sameZone end
}
}
}
}
},
Offline = {
order = 4,
type = "group",
name = L["Offline Friends"],
get = function(info) return E.db.enhanceFriendsList.Offline[ info[#info] ] end,
set = function(info, value) E.db.enhanceFriendsList.Offline[ info[#info] ] = value; EFL:Update(); FriendsList_Update() end,
args = {
header = {
order = 0,
type = "header",
name = L["Offline Friends"]
},
name = {
order = 1,
type = "group",
name = NAME,
guiInline = true,
args = {
enhancedName = {
order = 1,
type = "toggle",
name = L["Enhanced Name"]
},
colorizeNameOnly = {
order = 2,
type = "toggle",
name = L["Colorize Name Only"],
disabled = function() return not E.db.enhanceFriendsList.Offline.enhancedName end
}
}
},
level = {
order = 2,
type = "group",
name = LEVEL,
guiInline = true,
args = {
level = {
order = 1,
type = "toggle",
name = L["Show"]
},
levelColor = {
order = 2,
type = "toggle",
name = L["Level Range Color"],
disabled = function() return not E.db.enhanceFriendsList.Offline.level end
},
levelText = {
order = 3,
type = "toggle",
name = L["Level Text"],
desc = L["Hides the 'Level' or 'L' text."],
disabled = function() return not E.db.enhanceFriendsList.Offline.level end
},
shortLevel = {
order = 4,
type = "toggle",
name = L["Short Level"],
disabled = function() return not E.db.enhanceFriendsList.Offline.level or not E.db.enhanceFriendsList.Offline.levelText end
}
}
},
class = {
order = 3,
type = "group",
name = CLASS,
guiInline = true,
args = {
classText = {
order = 1,
type = "toggle",
name = L["Class Text"]
},
classIcon = {
order = 2,
type = "toggle",
name = L["Class Icon"]
}
}
},
zone = {
order = 4,
type = "group",
name = ZONE,
guiInline = true,
args = {
zoneText = {
order = 1,
type = "toggle",
name = L["Zone Text"]
},
lastSeen = {
order = 2,
type = "toggle",
name = L["Last Seen"]
}
}
}
}
}
}
}
end