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.
53 lines
1.7 KiB
53 lines
1.7 KiB
|
3 years ago
|
local E, L, V, P, G = unpack(ElvUI)
|
||
|
|
local S = E:GetModule('Skins')
|
||
|
|
|
||
|
|
local _G = _G
|
||
|
|
local HasPetUI = HasPetUI
|
||
|
|
local UnitExists = UnitExists
|
||
|
|
local GetPetHappiness = GetPetHappiness
|
||
|
|
local hooksecurefunc = hooksecurefunc
|
||
|
|
|
||
|
|
function S:PetStableFrame()
|
||
|
|
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.stable) then return end
|
||
|
|
|
||
|
|
local PetStableFrame = _G.PetStableFrame
|
||
|
|
S:HandleFrame(PetStableFrame, true, nil, 10, -11, -32, 71)
|
||
|
|
|
||
|
|
S:HandleButton(_G.PetStablePurchaseButton)
|
||
|
|
S:HandleCloseButton(_G.PetStableFrameCloseButton)
|
||
|
|
S:HandleRotateButton(_G.PetStableModelRotateRightButton)
|
||
|
|
S:HandleRotateButton(_G.PetStableModelRotateLeftButton)
|
||
|
|
|
||
|
|
S:HandleItemButton(_G.PetStableCurrentPet, true)
|
||
|
|
_G.PetStableCurrentPetIconTexture:SetDrawLayer('ARTWORK')
|
||
|
|
|
||
|
|
for i = 1, _G.NUM_PET_STABLE_SLOTS do
|
||
|
|
S:HandleItemButton(_G['PetStableStabledPet'..i], true)
|
||
|
|
_G['PetStableStabledPet'..i..'IconTexture']:SetDrawLayer('ARTWORK')
|
||
|
|
end
|
||
|
|
|
||
|
|
local PetStablePetInfo = _G.PetStablePetInfo
|
||
|
|
PetStablePetInfo:GetRegions():SetTexCoord(0.04, 0.15, 0.06, 0.30)
|
||
|
|
PetStablePetInfo:SetFrameLevel(_G.PetModelFrame:GetFrameLevel() + 2)
|
||
|
|
PetStablePetInfo:CreateBackdrop()
|
||
|
|
PetStablePetInfo:Size(22)
|
||
|
|
|
||
|
|
hooksecurefunc('PetStable_Update', function()
|
||
|
|
local hasPetUI, isHunterPet = HasPetUI()
|
||
|
|
if hasPetUI and not isHunterPet and UnitExists('pet') then return end
|
||
|
|
|
||
|
|
local happiness = GetPetHappiness()
|
||
|
|
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('PetStableFrame')
|