Quantcast
local T, C, L = unpack(Tukui)
if not C.unitframes.enable then return end
local oUF = oUFTukui or oUF

T.unitframefuncs["TukuiTarget"] = function(self)
	local enabled, width, height = T.GetUnitConfig("target")

	local health = self.Health
	local power = self.Power
	local panel = self.panel
	local nameText = self.Name
	local castbar = self.Castbar
	local buffs = self.Buffs
	local debuffs = self.Debuffs

	health:ClearAllPoints()
	health:SetPoint("TOPRIGHT", -2, -2)
	health:SetPoint("BOTTOMLEFT", self, "LEFT", 2, 0)

	power:ClearAllPoints()
	power:SetPoint("BOTTOMRIGHT", -44, 2)
	power:SetPoint("TOPLEFT", health, "BOTTOMLEFT", 0, -7)
	power.value:ClearAllPoints()
	power.value:SetPoint("RIGHT", power, "RIGHT", -3, 0)

	self:Tag(nameText, '[Tukui:namelong] [Tukui:diffcolor][st:level]')

	self:AddDetail(10, height, "RIGHT", self, "LEFT", -3, 0)
	self:CreateAuraTracker(height, "RIGHT", self.Detail, "LEFT", -3, 0)

	if buffs or debuffs then
		for _, f in pairs({buffs, debuffs}) do
			if not f then return end
			f:SetWidth(width)
			hooksecurefunc(f, "PostCreateIcon", T.SkinAura)
			f.num = 10
			f.spacing = 1
			f.size = 23
			f:SetHeight(f.size)
		end
		buffs:ClearAllPoints()
		buffs:SetPoint("BOTTOMRIGHT", health, "TOPRIGHT", 0, 5)
		debuffs:ClearAllPoints()
		debuffs:SetPoint("BOTTOM", buffs, "TOP", 0, buffs.spacing)
	end

	if castbar and castbar.button then
		castbar.button:ClearAllPoints()
		castbar.button:SetPoint("TOPRIGHT", health, "BOTTOMRIGHT", 2, -5)
		castbar.button:ThickBorder()
		castbar.button.shadow:Kill()
		local size = castbar:GetHeight()+power:GetHeight()+11
		castbar.button:SetSize(size, size)
	end
end