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
@@ -0,0 +1,258 @@
local E, L, V, P, G = unpack(ElvUI)
local S = E:GetModule("Skins")
local AS = E:GetModule("AddOnSkins")
if not AS:IsAddonLODorEnabled("ArkInventory") then return end
local _G = _G
local ipairs = ipairs
local unpack = unpack
local format = string.format
-- ArkInventory 3.02.54
-- https://www.wowace.com/projects/ark-inventory/files/458795
S:AddCallbackForAddon("ArkInventory", "ArkInventory", function()
if not E.private.addOnSkins.ArkInventory then return end
local function skinIcon(frame)
if frame.isSkinned then return end
local icon = frame:GetNormalTexture()
frame:SetTemplate("Default", true)
frame:StyleButton()
icon:SetInside()
icon:SetTexCoord(unpack(E.TexCoords))
icon.SetTexCoord = E.noop
frame.isSkinned = true
end
for i = 1, #ArkInventory.Global.Location do
local frameName = format("%s%d", ArkInventory.Const.Frame.Main.Name, i)
local frame = _G[frameName]
if frame then
-- Title
S:HandleCloseButton(_G[format("%s%s%s", frameName, ArkInventory.Const.Frame.Title.Name, "Close")])
skinIcon(_G[format("%s%s%s", frameName, ArkInventory.Const.Frame.Title.Name, "Location0")])
skinIcon(_G[format("%s%s%s", frameName, ArkInventory.Const.Frame.Title.Name, "ActionButton11")])
skinIcon(_G[format("%s%s%s", frameName, ArkInventory.Const.Frame.Title.Name, "ActionButton12")])
skinIcon(_G[format("%s%s%s", frameName, ArkInventory.Const.Frame.Title.Name, "ActionButton13")])
skinIcon(_G[format("%s%s%s", frameName, ArkInventory.Const.Frame.Title.Name, "ActionButton14")])
skinIcon(_G[format("%s%s%s", frameName, ArkInventory.Const.Frame.Title.Name, "ActionButton21")])
skinIcon(_G[format("%s%s%s", frameName, ArkInventory.Const.Frame.Title.Name, "ActionButton22")])
skinIcon(_G[format("%s%s%s", frameName, ArkInventory.Const.Frame.Title.Name, "ActionButton23")])
skinIcon(_G[format("%s%s%s", frameName, ArkInventory.Const.Frame.Title.Name, "ActionButton24")])
-- Search
S:HandleEditBox(_G[format("%s%s%s", frame:GetName(), ArkInventory.Const.Frame.Search.Name, "Filter")])
end
end
hooksecurefunc(ArkInventory, "Frame_Main_Anchor_Set", function(loc_id)
local frameName = format("%s%d", ArkInventory.Const.Frame.Main.Name, loc_id)
local anchor = ArkInventory.LocationOptionGet(loc_id, "anchor", loc_id, "point")
local title = _G[format("%s%s", frameName, ArkInventory.Const.Frame.Title.Name)]
local search = _G[format("%s%s", frameName, ArkInventory.Const.Frame.Search.Name)]
local container = _G[format("%s%s", frameName, ArkInventory.Const.Frame.Container.Name)]
local changer = _G[format("%s%s", frameName, ArkInventory.Const.Frame.Changer.Name)]
local status = _G[format("%s%s", frameName, ArkInventory.Const.Frame.Status.Name)]
if anchor == ArkInventory.Const.Anchor.BottomRight then
changer:Point("BOTTOMRIGHT", status, "TOPRIGHT", 0, -1)
container:Point("BOTTOMRIGHT", changer, "TOPRIGHT", 0, -1)
search:Point("BOTTOMRIGHT", container, "TOPRIGHT", 0, -1)
title:Point("BOTTOMRIGHT", search, "TOPRIGHT", 0, -1)
elseif anchor == ArkInventory.Const.Anchor.BottomLeft then
changer:Point("BOTTOMLEFT", status, "TOPLEFT", 0, -1)
container:Point("BOTTOMLEFT", changer, "TOPLEFT", 0, -1)
search:Point("BOTTOMLEFT", container, "TOPLEFT", 0, -1)
title:Point("BOTTOMLEFT", search, "TOPLEFT", 0, -1)
elseif anchor == ArkInventory.Const.Anchor.TopLeft then
search:Point("TOPLEFT", title, "BOTTOMLEFT", 0, 1)
container:Point("TOPLEFT", search, "BOTTOMLEFT", 0, 1)
changer:Point("TOPLEFT", container, "BOTTOMLEFT", 0, 1)
status:Point("TOPLEFT", changer, "BOTTOMLEFT", 0, 1)
else
search:Point("TOPRIGHT", title, "BOTTOMRIGHT", 0, 1)
container:Point("TOPRIGHT", search, "BOTTOMRIGHT", 0, 1)
changer:Point("TOPRIGHT", container, "BOTTOMRIGHT", 0, 1)
status:Point("TOPRIGHT", changer, "BOTTOMRIGHT", 0, 1)
end
end)
ArkInventory.Frame_Main_Paint = function(frame)
if not ArkInventory.ValidFrame(frame, true) then return end
for _, child in ipairs({frame:GetChildren()}) do
if not child.isSkinned then
child:SetTemplate("Transparent")
local frameName = child:GetName()
if frameName then
local bg = _G[format("%s%s", frameName, "Background")]
local border = _G[format("%s%s", frameName, "ArkBorder")]
if bg then
bg:Hide()
end
if border then
border:Hide()
end
end
child.isSkinned = true
end
end
end
local defaultColors = ArkInventory.Const.Slot.DefaultColour
ArkInventory.Frame_Border_Paint = function(border, slot, file, size, offset, scale, r, g, b, a)
if not border.parent then return end
if r == defaultColors.r and g == defaultColors.g and b == defaultColors.b then
r, g, b = unpack(E.media.bordercolor)
border.parent:SetBackdropBorderColor(r, g, b, 1)
else
border.parent:SetBackdropBorderColor(r or 0, g or 0, b or 0, a)
end
end
local TEXTURE_ITEM_QUEST_BORDER = TEXTURE_ITEM_QUEST_BORDER
local questColors = {
["questStarter"] = {E.db.bags.colors.items.questStarter.r, E.db.bags.colors.items.questStarter.g, E.db.bags.colors.items.questStarter.b},
["questItem"] = {E.db.bags.colors.items.questItem.r, E.db.bags.colors.items.questItem.g, E.db.bags.colors.items.questItem.b}
}
local function updateQuestIcon(self, texture)
if texture == TEXTURE_ITEM_QUEST_BORDER then
self.parent:SetBackdropBorderColor(unpack(questColors.questItem))
self:SetAlpha(0)
else
self.parent:SetBackdropBorderColor(unpack(questColors.questStarter))
self:SetAlpha(1)
end
end
local function skinItemButton(frame)
if frame.isSkinned then return end
local frameName = frame:GetName()
local icon = _G[format("%s%s", frameName, "IconTexture")]
local border = _G[format("%s%s", frameName, "ArkBorder")]
local questIcon = _G[format("%s%s", frameName, "IconQuestTexture")]
local cooldown = _G[format("%s%s", frameName, "Cooldown")]
frame:SetNormalTexture(nil)
frame:SetTemplate("Default", true)
frame:StyleButton()
icon:SetInside()
icon:SetTexCoord(unpack(E.TexCoords))
icon.SetTexCoord = E.noop
border:Kill()
border.parent = frame
if questIcon then
questIcon:SetInside()
questIcon:SetTexture(E.Media.Textures.BagQuestIcon)
questIcon.SetTexture = updateQuestIcon
questIcon.parent = frame
end
if cooldown then
cooldown.CooldownOverride = "bags"
E:RegisterCooldown(cooldown)
end
frame.isSkinned = true
end
hooksecurefunc(ArkInventory, "Frame_Item_Update_Border", function(frame)
if not ArkInventory.ValidFrame(frame, true) then return end
skinItemButton(frame)
end)
-- GuildBank
S:HandleButton(ARKINV_Frame4ChangerWindowPurchaseInfoPurchaseButton)
S:HandleButton(ARKINV_Frame4ChangerWindowDepositButton)
S:HandleButton(ARKINV_Frame4ChangerWindowWithdrawButton)
S:HandleNextPrevButton(ARKINV_Frame4LogScrollUp, "up")
S:HandleNextPrevButton(ARKINV_Frame4LogScrollDown, "down")
S:HandleButton(ARKINV_Frame4InfoSave)
S:HandleScrollBar(ARKINV_Frame4InfoScrollScrollBar)
-- Search Frame
ARKINV_SearchTitleBackground:Kill()
ARKINV_SearchFrameBackground:Kill()
ARKINV_SearchTitle:SetTemplate("Transparent")
ARKINV_SearchFrame:SetTemplate("Transparent")
ARKINV_Rules:SetHeight(570)
ARKINV_SearchFrame:Point("TOPLEFT", ARKINV_SearchTitle, "BOTTOMLEFT", 0, 1)
S:HandleCloseButton(ARKINV_SearchTitleClose)
S:HandleEditBox(ARKINV_SearchFrameViewSearchFilter)
S:HandleScrollBar(ARKINV_SearchFrameViewTableScrollScrollBar)
AS:SkinLibrary("ArkDewdrop-3.0")
end)
S:AddCallbackForAddon("ArkInventoryRules", "ArkInventoryRules", function()
if not E.private.addOnSkins.ArkInventory then return end
ArkInventoryRules.Frame_Rules_Paint_Border = E.noop
-- Rules
ARKINV_RulesTitleBackground:Kill()
ARKINV_RulesFrameBackground:Kill()
ARKINV_RulesTitle:SetTemplate("Transparent")
ARKINV_RulesFrame:SetTemplate("Transparent")
ARKINV_RulesFrameViewSearch:SetTemplate("Transparent")
ARKINV_RulesFrameViewTable:SetTemplate("Transparent")
ARKINV_RulesFrame:Point("TOPLEFT", ARKINV_RulesTitle, "BOTTOMLEFT", 0, 1)
ARKINV_RulesFrameViewTitle:SetPoint("TOP")
S:HandleCloseButton(ARKINV_RulesTitleClose)
S:HandleEditBox(ARKINV_RulesFrameViewSearchFilter)
S:HandleScrollBar(ARKINV_RulesFrameViewTableScrollScrollBar)
S:HandleButton(ARKINV_RulesFrameViewMenuAdd)
S:HandleButton(ARKINV_RulesFrameViewMenuEdit)
S:HandleButton(ARKINV_RulesFrameViewMenuRemove)
-- Add Rule
ARKINV_RulesFrameModifyTitle:SetPoint("TOP")
S:HandleCheckBox(ARKINV_RulesFrameModifyDataEnabled)
ARKINV_RulesFrameModifyDataOrder:Height(22)
S:HandleEditBox(ARKINV_RulesFrameModifyDataOrder)
ARKINV_RulesFrameModifyDataDescription:Height(22)
S:HandleEditBox(ARKINV_RulesFrameModifyDataDescription)
ARKINV_RulesFrameModifyDataScrollTextBorder:SetTemplate("Transparent")
S:HandleScrollBar(ARKINV_RulesFrameModifyDataScrollScrollBar)
ARKINV_RulesFrameModifyDataScrollScrollBar:Point("TOPLEFT", ARKINV_RulesFrameModifyDataScroll, "TOPRIGHT", 8, -13)
ARKINV_RulesFrameModifyDataScrollScrollBar:Point("BOTTOMLEFT", ARKINV_RulesFrameModifyDataScroll, "BOTTOMRIGHT", 8, 13)
S:HandleButton(ARKINV_RulesFrameModifyMenuOk)
S:HandleButton(ARKINV_RulesFrameModifyMenuCancel)
end)