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.
192 lines
6.4 KiB
192 lines
6.4 KiB
local AS = unpack(AddOnSkins)
|
|
|
|
-- Cache global variables
|
|
--Lua functions
|
|
local _G = _G
|
|
local select, unpack = select, unpack
|
|
--WoW API / Variables
|
|
local GetContainerItemInfo = GetContainerItemInfo
|
|
local GetContainerItemQuestInfo = GetContainerItemQuestInfo
|
|
local hooksecurefunc = hooksecurefunc
|
|
-- GLOBALS:
|
|
|
|
function AS:Blizzard_Bags()
|
|
if AS:CheckAddOn('Tukui') and Tukui[2]["Bags"]["Enable"] then return end
|
|
if AS:CheckAddOn('ElvUI') and ElvUI[1].private.bags.enable then return end
|
|
|
|
for i = 1, 12 do -- There is 13 Total..
|
|
local Bag = _G["ContainerFrame"..i]
|
|
AS:SkinBackdropFrame(Bag, nil, true)
|
|
for j = 1, 36 do
|
|
local ItemButton = _G["ContainerFrame"..i.."Item"..j]
|
|
--AS:SkinTexture(_G["ContainerFrame"..i.."Item"..j..'IconQuestTexture'])
|
|
AS:SetTemplate(ItemButton)
|
|
AS:SkinTexture(ItemButton.icon)
|
|
ItemButton:SetNormalTexture('')
|
|
ItemButton:SetPushedTexture('')
|
|
AS:SetInside(ItemButton.icon)
|
|
|
|
ItemButton.IconBorder:SetAlpha(0)
|
|
ItemButton.NewItemTexture:SetAtlas(nil)
|
|
ItemButton.NewItemTexture.SetAtlas = AS.Noop
|
|
|
|
_G["ContainerFrame"..i.."Item"..j..'IconQuestTexture']:SetAlpha(0)
|
|
|
|
ItemButton.searchOverlay:SetAllPoints(ItemButton.icon)
|
|
ItemButton.searchOverlay:SetColorTexture(0, 0, 0, .8)
|
|
|
|
ItemButton:SetNormalTexture('')
|
|
AS:StyleButton(ItemButton)
|
|
hooksecurefunc(ItemButton.IconBorder, 'SetVertexColor', function(_, r, g, b, a)
|
|
local Quality = select(4, GetContainerItemInfo(ItemButton:GetParent():GetID(), ItemButton:GetID()))
|
|
local isQuestItem = GetContainerItemQuestInfo(ItemButton:GetParent():GetID(), ItemButton:GetID())
|
|
if Quality and Quality > Enum.ItemQuality.Good then
|
|
ItemButton:SetBackdropBorderColor(r, g, b)
|
|
elseif isQuestItem then
|
|
ItemButton:SetBackdropBorderColor(1, .82, 0)
|
|
else
|
|
ItemButton:SetBackdropBorderColor(unpack(AS.BorderColor))
|
|
end
|
|
end)
|
|
hooksecurefunc(ItemButton.IconBorder, 'Hide', function()
|
|
ItemButton:SetBackdropBorderColor(unpack(AS.BorderColor))
|
|
end)
|
|
end
|
|
|
|
Bag.Backdrop:SetPoint("TOPLEFT", 4, -2)
|
|
Bag.Backdrop:SetPoint("BOTTOMRIGHT", 1, 1)
|
|
AS:Kill(_G["ContainerFrame"..i.."BackgroundTop"])
|
|
AS:Kill(_G["ContainerFrame"..i.."BackgroundMiddle1"])
|
|
AS:Kill(_G["ContainerFrame"..i.."BackgroundMiddle2"])
|
|
AS:Kill(_G["ContainerFrame"..i.."BackgroundBottom"])
|
|
AS:SkinCloseButton(_G["ContainerFrame"..i.."CloseButton"])
|
|
AS:SkinButton(Bag.PortraitButton)
|
|
if Bag.PortraitButton.Highlight then
|
|
AS:Kill(Bag.PortraitButton.Highlight)
|
|
end
|
|
end
|
|
|
|
local function UpdateBagIcon()
|
|
for i = 1, 12 do
|
|
local Portrait = _G["ContainerFrame"..i.."PortraitButton"]
|
|
if i == 1 then
|
|
Portrait:SetNormalTexture("Interface\\Buttons\\Button-Backpack-Up")
|
|
elseif i <= 5 and i >= 2 then
|
|
Portrait:SetNormalTexture(_G["CharacterBag"..(i - 2).."SlotIconTexture"]:GetTexture())
|
|
elseif i <= 12 and i >= 6 then
|
|
if _G.BankSlotsFrame["Bag"..(i-5)] and _G.BankSlotsFrame["Bag"..(i-5)].icon:GetTexture() then
|
|
Portrait:SetNormalTexture(_G.BankSlotsFrame["Bag"..(i-5)].icon:GetTexture())
|
|
end
|
|
end
|
|
if Portrait:GetNormalTexture() then
|
|
AS:SkinTexture(Portrait:GetNormalTexture())
|
|
AS:SetInside(Portrait:GetNormalTexture())
|
|
end
|
|
for j = 1, 30 do
|
|
local ItemButton = _G["ContainerFrame"..i.."Item"..j]
|
|
if ItemButton then
|
|
local QuestIcon = _G["ContainerFrame"..i.."Item"..j.."IconQuestTexture"]
|
|
local QuestTexture = QuestIcon:GetTexture()
|
|
if QuestTexture == _G.TEXTURE_ITEM_QUEST_BANG then
|
|
QuestIcon:SetAlpha(1)
|
|
else
|
|
QuestIcon:SetAlpha(0)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
hooksecurefunc('BankFrameItemButton_Update', UpdateBagIcon)
|
|
hooksecurefunc('ContainerFrame_Update', UpdateBagIcon)
|
|
|
|
AS:SkinFrame(_G.BankFrame, nil, nil, true)
|
|
AS:SkinCloseButton(_G.BankCloseButton)
|
|
|
|
AS:StripTextures(_G.BankSlotsFrame)
|
|
|
|
AS:SkinButton(_G.BankFramePurchaseButton)
|
|
_G.BankFramePurchaseButton:SetHeight(22)
|
|
|
|
-- Bank Slots
|
|
for _, ItemButton in pairs({_G.BankSlotsFrame:GetChildren()}) do
|
|
if ItemButton:IsObjectType("Button") then
|
|
AS:SkinFrame(ItemButton)
|
|
AS:SkinTexture(ItemButton.icon)
|
|
AS:SetInside(ItemButton.icon)
|
|
|
|
ItemButton.searchOverlay:SetAllPoints(ItemButton.icon)
|
|
ItemButton.searchOverlay:SetTexture(0, 0, 0, .8)
|
|
|
|
ItemButton:SetNormalTexture(nil)
|
|
AS:StyleButton(ItemButton)
|
|
end
|
|
end
|
|
|
|
if AS.Retail then
|
|
AS:SkinEditBox(_G.BagItemSearchBox)
|
|
|
|
AS:SkinEditBox(_G.BankItemSearchBox)
|
|
_G.BankItemSearchBox:SetSize(159, 16)
|
|
|
|
AS:StripTextures(_G.BackpackTokenFrame)
|
|
|
|
for i = 1, 3 do
|
|
local Token = _G["BackpackTokenFrameToken"..i]
|
|
AS:SkinTexture(Token.icon, true)
|
|
--Token.icon:SetPoint("LEFT", Token.count, "RIGHT", 3, 0)
|
|
end
|
|
|
|
for _, Button in pairs({ _G.BagItemAutoSortButton, _G.BankItemAutoSortButton }) do
|
|
AS:SkinButton(Button)
|
|
Button:SetNormalTexture("Interface\\ICONS\\INV_Pet_Broom")
|
|
Button:SetPushedTexture("Interface\\ICONS\\INV_Pet_Broom")
|
|
AS:SkinTexture(Button:GetNormalTexture())
|
|
AS:SetInside(Button:GetNormalTexture())
|
|
AS:SkinTexture(Button:GetPushedTexture())
|
|
AS:SetInside(Button:GetPushedTexture())
|
|
Button:SetSize(22, 22)
|
|
end
|
|
|
|
_G.BankItemAutoSortButton:SetPoint("LEFT", _G.BankItemSearchBox, "RIGHT", 4, 0)
|
|
_G.BagItemAutoSortButton:SetScript('OnShow', function(self)
|
|
local a, b, c, d, e = self:GetPoint()
|
|
self:SetPoint(a, b, c, d - 3, e - 1)
|
|
self.SetPoint = AS.Noop
|
|
self:SetScript('OnShow', nil)
|
|
end)
|
|
|
|
-- Reagent Bank
|
|
AS:SkinButton(_G.ReagentBankFrame.DespositButton)
|
|
_G.ReagentBankFrame:HookScript('OnShow', function(self)
|
|
if _G.ReagentBankFrame.slots_initialized and not _G.ReagentBankFrame.isSkinned then
|
|
for i = 1, 98 do
|
|
local ItemButton = _G["ReagentBankFrameItem"..i]
|
|
AS:SkinFrame(ItemButton)
|
|
AS:SkinTexture(ItemButton.icon)
|
|
AS:SetInside(ItemButton.icon)
|
|
|
|
ItemButton.searchOverlay:SetAllPoints(ItemButton.icon)
|
|
ItemButton.searchOverlay:SetTexture(0, 0, 0, .8)
|
|
|
|
ItemButton:SetNormalTexture(nil)
|
|
AS:StyleButton(ItemButton)
|
|
hooksecurefunc(ItemButton.IconBorder, 'SetVertexColor', function(self, r, g, b, a)
|
|
ItemButton:SetBackdropBorderColor(r, g, b)
|
|
end)
|
|
hooksecurefunc(ItemButton.IconBorder, 'Hide', function(self)
|
|
ItemButton:SetBackdropBorderColor(unpack(AS.BorderColor))
|
|
end)
|
|
BankFrameItemButton_Update(ItemButton)
|
|
end
|
|
AS:StripTextures(_G.ReagentBankFrame, true)
|
|
self.isSkinned = true
|
|
end
|
|
end)
|
|
|
|
AS:SkinTab(_G.BankFrameTab1)
|
|
AS:SkinTab(_G.BankFrameTab2)
|
|
end
|
|
end
|
|
|
|
AS:RegisterSkin('Blizzard_Bags', AS.Blizzard_Bags)
|
|
|