Quantcast

Seems legit

Darthpred [08-05-14 - 19:48]
Seems legit
Filename
ElvUI_SLE/skins/blizzard/petbattle.lua
diff --git a/ElvUI_SLE/skins/blizzard/petbattle.lua b/ElvUI_SLE/skins/blizzard/petbattle.lua
index deeb76d..f63c254 100644
--- a/ElvUI_SLE/skins/blizzard/petbattle.lua
+++ b/ElvUI_SLE/skins/blizzard/petbattle.lua
@@ -1,375 +1,23 @@
 local E, L, V, P, G, _ = unpack(ElvUI); --Inport: Engine, Locales, PrivateDB, ProfileDB, GlobalDB, Localize Underscore
 local S = E:GetModule('Skins')

-local function LoadSkin()
+local function PetBattle()
 	if E.private.skins.blizzard.enable ~= true or E.private.skins.blizzard.petbattleui ~= true then return end
 	local f = PetBattleFrame
-	local bf = f.BottomFrame
-	local infoBars = {
-		f.ActiveAlly,
-		f.ActiveEnemy
-	}
-	S:HandleCloseButton(FloatingBattlePetTooltip.CloseButton)
-
-	-- TOP FRAMES
-	f:StripTextures()
-
-	for index, infoBar in pairs(infoBars) do
-		infoBar.Border:SetAlpha(0)
-		infoBar.Border2:SetAlpha(0)
-		infoBar.healthBarWidth = 300
-
-		infoBar.IconBackdrop = CreateFrame("Frame", nil, infoBar)
-		infoBar.IconBackdrop:SetFrameLevel(infoBar:GetFrameLevel() - 1)
-		infoBar.IconBackdrop:SetOutside(infoBar.Icon)
-		infoBar.IconBackdrop:SetTemplate()
-		infoBar.BorderFlash:Kill()
-		infoBar.HealthBarBG:Kill()
-		infoBar.HealthBarFrame:Kill()
-		infoBar.HealthBarBackdrop = CreateFrame("Frame", nil, infoBar)
-		infoBar.HealthBarBackdrop:SetFrameLevel(infoBar:GetFrameLevel() - 1)
-		infoBar.HealthBarBackdrop:SetTemplate("Transparent")
-		infoBar.HealthBarBackdrop:Width(infoBar.healthBarWidth + (E.Border * 2))
-		infoBar.ActualHealthBar:SetTexture(E.media.normTex)
-
-		infoBar.PetTypeFrame = CreateFrame("Frame", nil, infoBar)
-		infoBar.PetTypeFrame:Size(100, 23)
-		infoBar.PetTypeFrame.text = infoBar.PetTypeFrame:CreateFontString(nil, 'OVERLAY')
-		infoBar.PetTypeFrame.text:FontTemplate()
-		infoBar.PetTypeFrame.text:SetText("")
-
-		infoBar.ActualHealthBar:ClearAllPoints()
-		infoBar.Name:ClearAllPoints()
-
-		infoBar.FirstAttack = infoBar:CreateTexture(nil, "ARTWORK")
-		infoBar.FirstAttack:Size(30)
-		infoBar.FirstAttack:SetTexture("Interface\\PetBattles\\PetBattle-StatIcons")
-		if index == 1 then
-			infoBar.HealthBarBackdrop:Point('TOPLEFT', infoBar.ActualHealthBar, 'TOPLEFT', -E.Border, E.Border)
-			infoBar.HealthBarBackdrop:Point('BOTTOMLEFT', infoBar.ActualHealthBar, 'BOTTOMLEFT', -E.Border, -E.Border)
-			infoBar.ActualHealthBar:SetVertexColor(171/255, 214/255, 116/255)
-			f.Ally2.iconPoint = infoBar.IconBackdrop
-			f.Ally3.iconPoint = infoBar.IconBackdrop
-
-			infoBar.Icon:Point("TOP", E.UIParent, "TOP", 0, -23) --Player's pet frame
-
-			infoBar.ActualHealthBar:Point('BOTTOMLEFT', infoBar.Icon, 'BOTTOMRIGHT', 10, 0)
-			infoBar.Name:Point('BOTTOMLEFT', infoBar.ActualHealthBar, 'TOPLEFT', 0, 10)
-			infoBar.PetTypeFrame:SetPoint("BOTTOMRIGHT",infoBar.HealthBarBackdrop, "TOPRIGHT", 0, 4)
-			infoBar.PetTypeFrame.text:SetPoint("RIGHT")
-
-			infoBar.FirstAttack:SetPoint("LEFT", infoBar.HealthBarBackdrop, "RIGHT", 5, 0)
-			infoBar.FirstAttack:SetTexCoord(infoBar.SpeedIcon:GetTexCoord())
-			infoBar.FirstAttack:SetVertexColor(.1,.1,.1,1)
-		else
-			infoBar.HealthBarBackdrop:Point('TOPRIGHT', infoBar.ActualHealthBar, 'TOPRIGHT', E.Border, E.Border)
-			infoBar.HealthBarBackdrop:Point('BOTTOMRIGHT', infoBar.ActualHealthBar, 'BOTTOMRIGHT', E.Border, -E.Border)
-			infoBar.ActualHealthBar:SetVertexColor(196/255,  30/255,  60/255)
-			f.Enemy2.iconPoint = infoBar.IconBackdrop
-			f.Enemy3.iconPoint = infoBar.IconBackdrop
-
-			infoBar.Icon:Point("TOP", E.UIParent, "TOP", 0, -23) --Enemy frame
-
-			infoBar.ActualHealthBar:Point('BOTTOMRIGHT', infoBar.Icon, 'BOTTOMLEFT', -10, 0)
-			infoBar.Name:Point('BOTTOMRIGHT', infoBar.ActualHealthBar, 'TOPRIGHT', 0, 10)
-
-			infoBar.PetTypeFrame:SetPoint("BOTTOMLEFT",infoBar.HealthBarBackdrop, "TOPLEFT", 2, 4)
-			infoBar.PetTypeFrame.text:SetPoint("LEFT")
-
-			infoBar.FirstAttack:SetPoint("RIGHT", infoBar.HealthBarBackdrop, "LEFT", -5, 0)
-			infoBar.FirstAttack:SetTexCoord(.5, 0, .5, 1)
-			infoBar.FirstAttack:SetVertexColor(.1,.1,.1,1)
-		end
-
-		infoBar.HealthText:ClearAllPoints()
-		infoBar.HealthText:SetPoint('CENTER', infoBar.HealthBarBackdrop, 'CENTER')
-
-		infoBar.PetType:ClearAllPoints()
-		infoBar.PetType:SetAllPoints(infoBar.PetTypeFrame)
-		infoBar.PetType:SetFrameLevel(infoBar.PetTypeFrame:GetFrameLevel() + 2)
-		infoBar.PetType:SetAlpha(0)
-
-		infoBar.LevelUnderlay:SetAlpha(0)
-		infoBar.Level:SetFontObject(NumberFont_Outline_Huge)
-		infoBar.Level:ClearAllPoints()
-		infoBar.Level:Point('BOTTOMLEFT', infoBar.Icon, 'BOTTOMLEFT', 2, 2)
-		if infoBar.SpeedIcon then
-			infoBar.SpeedIcon:ClearAllPoints()
-			infoBar.SpeedIcon:SetPoint("CENTER") -- to set
-			infoBar.SpeedIcon:SetAlpha(0)
-			infoBar.SpeedUnderlay:SetAlpha(0)
-		end
-	end
-
-	-- PETS SPEED INDICATOR UPDATE
-	hooksecurefunc("PetBattleFrame_UpdateSpeedIndicators", function(self)
-		if not f.ActiveAlly.SpeedIcon:IsShown() and not f.ActiveEnemy.SpeedIcon:IsShown() then
-			f.ActiveAlly.FirstAttack:Hide()
-			f.ActiveEnemy.FirstAttack:Hide()
-			return
-		end
-
-		for i, infoBar in pairs(infoBars) do
-			infoBar.FirstAttack:Show()
-			if infoBar.SpeedIcon:IsShown() then
-				infoBar.FirstAttack:SetVertexColor(0,1,0,1)
-			else
-				infoBar.FirstAttack:SetVertexColor(.8,0,.3,1)
-			end
-		end
-	end)
-
-	-- PETS UNITFRAMES PET TYPE UPDATE
-	hooksecurefunc("PetBattleUnitFrame_UpdatePetType", function(self)
-		if self.PetType then
-			local petType = C_PetBattles.GetPetType(self.petOwner, self.petIndex)
-			if self.PetTypeFrame then
-				self.PetTypeFrame.text:SetText(PET_TYPE_SUFFIX[petType])
-			end
-		end
-	end)
-
-	-- PETS UNITFRAMES AURA SKINS
-	hooksecurefunc("PetBattleAuraHolder_Update", function(self)
-		if not self.petOwner or not self.petIndex then return end
-
-		local nextFrame = 1
-		for i=1, C_PetBattles.GetNumAuras(self.petOwner, self.petIndex) do
-			local auraID, instanceID, turnsRemaining, isBuff = C_PetBattles.GetAuraInfo(self.petOwner, self.petIndex, i)
-			if (isBuff and self.displayBuffs) or (not isBuff and self.displayDebuffs) then
-				local frame = self.frames[nextFrame]
-
-				-- always hide the border
-				frame.DebuffBorder:Hide()
-
-				if not frame.isSkinned then
-					frame:CreateBackdrop()
-					frame.backdrop:SetOutside(frame.Icon)
-					frame.Icon:SetTexCoord(unpack(E.TexCoords))
-					frame.Icon:SetParent(frame.backdrop)
-				end
-
-				if isBuff then
-					frame.backdrop:SetBackdropBorderColor(0, 1, 0)
-				else
-					frame.backdrop:SetBackdropBorderColor(1, 0, 0)
-				end
-
-				-- move duration and change font
-				frame.Duration:FontTemplate(E.media.font, 12, "OUTLINE")
-				frame.Duration:ClearAllPoints()
-				frame.Duration:SetPoint("TOP", frame.Icon, "BOTTOM", 1, -4)
-				if turnsRemaining > 0 then
-					frame.Duration:SetText(turnsRemaining)
-				end
-				nextFrame = nextFrame + 1
-			end
-		end
-	end)
-
-	-- WEATHER
-	hooksecurefunc("PetBattleWeatherFrame_Update", function(self)
-		local weather = C_PetBattles.GetAuraInfo(LE_BATTLE_PET_WEATHER, PET_BATTLE_PAD_INDEX, 1)
-		if weather then
-			self.Icon:Hide()
-			self.Name:Hide()
-			self.DurationShadow:Hide()
-			self.Label:Hide()
-			self.Duration:SetPoint("CENTER", self, 0, 8)
-			self:ClearAllPoints()
-			self:SetPoint("TOP", E.UIParent, 0, -15)
-		end
-	end)
-
-	hooksecurefunc("PetBattleUnitFrame_UpdateDisplay", function(self)
-		self.Icon:SetTexCoord(unpack(E.TexCoords))
-	end)
-
+	local bar = ElvUIPetBattleActionBar
+
+	local a = CreateFrame("Frame", "ActiveAllyHolder", E.UIParent)
+	a:Size(918, 68)
+	a:Point("TOP", PetBattleFrame)
+
 	f.TopVersusText:ClearAllPoints()
-	f.TopVersusText:SetPoint("TOP", f, "TOP", 0, -56) --Versus text
-
-	-- TOOLTIPS SKINNING
-	local function SkinPetTooltip(tt)
-		tt.Background:SetTexture(nil)
-		if tt.Delimiter1 then
-			tt.Delimiter1:SetTexture(nil)
-			tt.Delimiter2:SetTexture(nil)
-		end
-		tt.BorderTop:SetTexture(nil)
-		tt.BorderTopLeft:SetTexture(nil)
-		tt.BorderTopRight:SetTexture(nil)
-		tt.BorderLeft:SetTexture(nil)
-		tt.BorderRight:SetTexture(nil)
-		tt.BorderBottom:SetTexture(nil)
-		tt.BorderBottomRight:SetTexture(nil)
-		tt.BorderBottomLeft:SetTexture(nil)
-		tt:SetTemplate("Transparent")
-	end
-
-	SkinPetTooltip(PetBattlePrimaryAbilityTooltip)
-	SkinPetTooltip(PetBattlePrimaryUnitTooltip)
-	SkinPetTooltip(BattlePetTooltip)
-	SkinPetTooltip(FloatingBattlePetTooltip)
-	SkinPetTooltip(FloatingPetBattleAbilityTooltip)
-
-	-- TOOLTIP DEFAULT POSITION
-	hooksecurefunc("PetBattleAbilityTooltip_Show", function()
-		local t = PetBattlePrimaryAbilityTooltip
-		t:ClearAllPoints()
-		t:SetPoint("TOPRIGHT", E.UIParent, "TOPRIGHT", -4, -4)
-	end)
-
-	local extraInfoBars = {
-		f.Ally2,
-		f.Ally3,
-		f.Enemy2,
-		f.Enemy3
-	}
-
-	for index, infoBar in pairs(extraInfoBars) do
-		infoBar.BorderAlive:SetAlpha(0)
-		infoBar.HealthBarBG:SetAlpha(0)
-		infoBar.HealthDivider:SetAlpha(0)
-		infoBar:Size(40)
-		infoBar:CreateBackdrop()
-		infoBar:ClearAllPoints()
-
-		infoBar.healthBarWidth = 40
-		infoBar.ActualHealthBar:ClearAllPoints()
-		infoBar.ActualHealthBar:SetPoint("TOPLEFT", infoBar.backdrop, 'BOTTOMLEFT', E.Border, -3)
-
-		infoBar.HealthBarBackdrop = CreateFrame("Frame", nil, infoBar)
-		infoBar.HealthBarBackdrop:SetFrameLevel(infoBar:GetFrameLevel() - 1)
-		infoBar.HealthBarBackdrop:SetTemplate("Default")
-		infoBar.HealthBarBackdrop:Width(infoBar.healthBarWidth + (E.Border*2))
-		infoBar.HealthBarBackdrop:Point('TOPLEFT', infoBar.ActualHealthBar, 'TOPLEFT', -E.Border, E.Border)
-		infoBar.HealthBarBackdrop:Point('BOTTOMLEFT', infoBar.ActualHealthBar, 'BOTTOMLEFT', -E.Border, -E.Spacing)
-	end
-
-	f.Ally2:SetPoint("TOPRIGHT", f.Ally2.iconPoint, "TOPLEFT", -6, -2)
-	f.Ally3:SetPoint('TOPRIGHT', f.Ally2, 'TOPLEFT', -8, 0)
-	f.Enemy2:SetPoint("TOPLEFT", f.Enemy2.iconPoint, "TOPRIGHT", 6, -2)
-	f.Enemy3:SetPoint('TOPLEFT', f.Enemy2, 'TOPRIGHT', 8, 0)
-
-	---------------------------------
-	-- PET BATTLE ACTION BAR SETUP --
-	---------------------------------
-
-	local bar = CreateFrame("Frame", "ElvUIPetBattleActionBar", f)
-	bar:SetSize (52*6 + 7*10, 52 * 1 + 10*2)
-	bar:EnableMouse(true)
-	bar:SetTemplate()
-	bar:SetPoint("BOTTOM", E.UIParent, "BOTTOM", 0, 4)
-	bar:SetFrameLevel(0)
-	bar:SetFrameStrata('BACKGROUND')
-	bar.backdropTexture:SetDrawLayer('BACKGROUND', 0)
-	ElvUIPetBattleActionBar:Hide()
-	E:CreateMover(bar, "PetBattleABMover", L["Pet Battle AB"], nil, nil, nil, "S&L,S&L M") --Mover
-	bar:SetScript('OnShow', function(self)
-		if not self.initialShow then
-			self.initialShow = true;
-			return;
-		end
-
-		self.backdropTexture:SetDrawLayer('BACKGROUND', 1)
-	end)
-
-	bf:StripTextures()
-	bf.TurnTimer:StripTextures()
-	bf.TurnTimer.SkipButton:SetParent(bar)
-	S:HandleButton(bf.TurnTimer.SkipButton)
-
-	bf.TurnTimer.SkipButton:Width(bar:GetWidth())
-	bf.TurnTimer.SkipButton:ClearAllPoints()
-	bf.TurnTimer.SkipButton:SetPoint("BOTTOM", bar, "TOP", 0, E.PixelMode and -1 or 1)
-	hooksecurefunc(bf.TurnTimer.SkipButton, "SetPoint", function(self, point, attachTo, anchorPoint, xOffset, yOffset)
-		if point ~= "BOTTOM" or anchorPoint ~= "TOP" or xOffset ~= 0 or yOffset ~= (E.PixelMode and -1 or 1) then
-			bf.TurnTimer.SkipButton:ClearAllPoints()
-			bf.TurnTimer.SkipButton:SetPoint("BOTTOM", bar, "TOP", 0, E.PixelMode and -1 or 1)
-		end
-	end)
-
-	bf.TurnTimer:Size(bf.TurnTimer.SkipButton:GetWidth(), bf.TurnTimer.SkipButton:GetHeight())
-	bf.TurnTimer:ClearAllPoints()
-	bf.TurnTimer:SetPoint("TOP", E.UIParent, "TOP", 0, -140)
-	bf.TurnTimer.TimerText:SetPoint("CENTER")
-
-	bf.FlowFrame:StripTextures()
-	bf.MicroButtonFrame:Kill()
-	bf.Delimiter:StripTextures()
-	bf.xpBar:SetParent(bar)
-	bf.xpBar:Width(bar:GetWidth() - (E.Border * 2))
-	bf.xpBar:CreateBackdrop()
-	bf.xpBar:ClearAllPoints()
-	bf.xpBar:SetPoint("BOTTOM", bf.TurnTimer.SkipButton, "TOP", 0, E.PixelMode and 0 or 3)
-	bf.xpBar:SetScript("OnShow", function(self) self:StripTextures() self:SetStatusBarTexture(E.media.normTex) end)
-
-	-- PETS SELECTION SKIN
-	for i = 1, 3 do
-		local pet = bf.PetSelectionFrame["Pet"..i]
-
-		pet.HealthBarBG:SetAlpha(0)
-		pet.HealthDivider:SetAlpha(0)
-		pet.ActualHealthBar:SetAlpha(0)
-		pet.SelectedTexture:SetAlpha(0)
-		pet.MouseoverHighlight:SetAlpha(0)
-		pet.Framing:SetAlpha(0)
-		pet.Icon:SetAlpha(0)
-		pet.Name:SetAlpha(0)
-		pet.DeadOverlay:SetAlpha(0)
-		pet.Level:SetAlpha(0)
-		pet.HealthText:SetAlpha(0)
-	end
-
-	-- MOVE DEFAULT POSITION OF PETS SELECTION
-	hooksecurefunc("PetBattlePetSelectionFrame_Show", function()
-		bf.PetSelectionFrame:ClearAllPoints()
-		bf.PetSelectionFrame:SetPoint("BOTTOM", bf.xpBar, "TOP", 0, 8)
-	end)
-
-	local function SkinPetButton(self)
-		if not self.backdrop then
-			self:CreateBackdrop()
-		end
-		self:SetNormalTexture("")
-		self.Icon:SetTexCoord(unpack(E.TexCoords))
-		self.Icon:SetParent(self.backdrop)
-		self.Icon:SetDrawLayer('BORDER')
-		self.checked = true -- avoid create a check
-		self:StyleButton()
-		self.SelectedHighlight:SetAlpha(0)
-		self.pushed:SetInside(self.backdrop)
-		self.hover:SetInside(self.backdrop)
-		self:SetFrameStrata('LOW')
-		self.backdrop:SetFrameStrata('LOW')
-	end
-
-	hooksecurefunc("PetBattleFrame_UpdateActionBarLayout", function(self)
-		for i=1, NUM_BATTLE_PET_ABILITIES do
-			local b = bf.abilityButtons[i]
-			SkinPetButton(b)
-			b:SetParent(bar)
-			b:ClearAllPoints()
-			if i == 1 then
-				b:SetPoint("BOTTOMLEFT", 10, 10)
-			else
-				local previous = bf.abilityButtons[i-1]
-				b:SetPoint("LEFT", previous, "RIGHT", 10, 0)
-			end
-		end
-
-		bf.SwitchPetButton:ClearAllPoints()
-		bf.SwitchPetButton:SetPoint("LEFT", bf.abilityButtons[3], "RIGHT", 10, 0)
-		SkinPetButton(bf.SwitchPetButton)
-		bf.CatchButton:SetParent(bar)
-		bf.CatchButton:ClearAllPoints()
-		bf.CatchButton:SetPoint("LEFT", bf.SwitchPetButton, "RIGHT", 10, 0)
-		SkinPetButton(bf.CatchButton)
-		bf.ForfeitButton:SetParent(bar)
-		bf.ForfeitButton:ClearAllPoints()
-		bf.ForfeitButton:SetPoint("LEFT", bf.CatchButton, "RIGHT", 10, 0)
-		SkinPetButton(bf.ForfeitButton)
-	end)
+	f.TopVersusText:SetPoint("CENTER", a)
+	f.ActiveAlly.Icon:Point("BOTTOMLEFT", a, "BOTTOMLEFT", 0, 0)
+	f.ActiveEnemy.Icon:Point("BOTTOMRIGHT", a, "BOTTOMRIGHT", 0, 0)
+	f.AllyBuffFrame:Point("TOPLEFT", f.ActiveAlly.Icon, "BOTTOMLEFT", 0, -5)
+	f.EnemyBuffFrame:Point("TOPRIGHT", f.ActiveEnemy.Icon, "BOTTOMRIGHT", 0, -5)
+	E:CreateMover(a, "PetBattleStatusMover", L["Pet Battle Status"], nil, nil, nil, "S&L,S&L MISC")
+	E:CreateMover(bar, "PetBattleABMover", L["Pet Battle AB"], nil, nil, nil, "S&L,S&L MISC")
 end

-S:RegisterSkin('ElvUI', LoadSkin)
\ No newline at end of file
+hooksecurefunc(S, "Initialize", PetBattle)
\ No newline at end of file