Files
ElvUIModernized/ElvUI/Modules/Skins/Blizzard/Stable.lua
T
2018-02-19 21:03:21 -06:00

58 lines
1.9 KiB
Lua

local E, L, V, P, G = unpack(ElvUI); --Import: Engine, Locales, PrivateDB, ProfileDB, GlobalDB
local S = E:GetModule("Skins");
--Cache global variables
--Lua functions
local _G = _G
--WoW API / Variables
local GetPetHappiness = GetPetHappiness
local HasPetUI = HasPetUI
local hooksecurefunc = hooksecurefunc
local UnitExists = UnitExists
function LoadSkin()
if E.private.skins.blizzard.enable ~= true or E.private.skins.blizzard.stable ~= true then return end
E:StripTextures(PetStableFrame)
E:Kill(PetStableFramePortrait)
E:CreateBackdrop(PetStableFrame, "Transparent")
PetStableFrame.backdrop:SetPoint("TOPLEFT", 10, -11)
PetStableFrame.backdrop:SetPoint("BOTTOMRIGHT", -32, 71)
S:HandleButton(PetStablePurchaseButton)
S:HandleCloseButton(PetStableFrameCloseButton)
S:HandleRotateButton(PetStableModelRotateRightButton)
S:HandleRotateButton(PetStableModelRotateLeftButton)
S:HandleItemButton(_G["PetStableCurrentPet"], true)
_G["PetStableCurrentPetIconTexture"]:SetDrawLayer("OVERLAY")
for i = 1, NUM_PET_STABLE_SLOTS do
S:HandleItemButton(_G["PetStableStabledPet"..i], true)
_G["PetStableStabledPet"..i.."IconTexture"]:SetDrawLayer("OVERLAY")
end
PetStablePetInfo:GetRegions():SetTexCoord(0.04, 0.15, 0.06, 0.30)
PetStablePetInfo:SetFrameLevel(PetModelFrame:GetFrameLevel() + 2)
E:CreateBackdrop(PetStablePetInfo, "Default")
PetStablePetInfo:SetWidth(24)
PetStablePetInfo:SetHeight(24)
hooksecurefunc("PetStable_Update", function()
local happiness = GetPetHappiness()
local hasPetUI, isHunterPet = HasPetUI()
if UnitExists("pet") and hasPetUI and not isHunterPet then
return
end
local texture = PetStablePetInfo:GetRegions()
if happiness == 1 then
texture:SetTexCoord(0.41, 0.53, 0.06, 0.30)
elseif happiness == 2 then
texture:SetTexCoord(0.22, 0.345, 0.06, 0.30)
elseif happiness == 3 then
texture:SetTexCoord(0.04, 0.15, 0.06, 0.30)
end
end)
end
S:AddCallback("Stable", LoadSkin)