local firstload = true
function TUF:TargetUpdate()
if firstload and not TextUnitFramesLiteDB.general.combat then
firstload = false
target:SetPoint(TextUnitFramesLiteDB.target.loc.p, UIParent, TextUnitFramesLiteDB.target.loc.rP, TextUnitFramesLiteDB.target.loc.x, TextUnitFramesLiteDB.target.loc.y)
end
if UnitExists("target") then
TUF:LockTargetFrame()
local fg, fn = UnitFactionGroup("target")
if fg ~= nil then target.faction:SetTexture("Interface\\GROUPFRAME\\UI-Group-PVP-"..fg) else target.faction:SetTexture("Interface\\PVPFrame\\PVP-ArenaPoints-Icon") end
target.faction:Show()
target.level:SetPoint("TOPLEFT", target, "TOPLEFT", 5, -5)
target.name:SetPoint("LEFT", target.level, "RIGHT", 5, 0)
if TextUnitFramesLiteDB.target.orientation then
target.health:ClearAllPoints()
target.mana:ClearAllPoints()
target.health:SetPoint("TOPLEFT", target.level, "BOTTOMLEFT", 0, 0)
target.mana:SetPoint("TOPLEFT", target.health, "BOTTOMLEFT", 0, 0)
else
target.health:ClearAllPoints()
target.mana:ClearAllPoints()
target.health:SetPoint("LEFT", target.name, "RIGHT", 5, 0)
target.mana:SetPoint("LEFT", target.health, "RIGHT", 0, 0)
end
target.level:SetFontObject(GameFontNormalLarge)
target.name:SetFontObject(GameFontNormalHuge)
target.health:SetFontObject(NumberFontNormalLarge)
target.mana:SetFontObject(NumberFontNormalLarge)
target.level:SetText(UnitLevel("target"))
target.name:SetText(UnitName("target"))
local _, cls = UnitClass("target")
if cls ~= nil then target.name:SetTextColor(RAID_CLASS_COLORS[cls].r, RAID_CLASS_COLORS[cls].g, RAID_CLASS_COLORS[cls].b) end
local htxtclr = TUF:SetTextColor(UnitHealth("target")/UnitHealthMax("target")*100)
target.health:SetTextColor(htxtclr.r, htxtclr.g, htxtclr.b, 1)
local mtxtclr = TUF:SetTextColor(UnitPower("target")/UnitPowerMax("target")*100)
target.mana:SetTextColor(mtxtclr.r, mtxtclr.g, mtxtclr.b, 1)
if TextUnitFramesLiteDB.target.percent then
target.health:SetText("|Cff00ff00H|r-"..string.format("%4.0f", UnitHealth("target")/UnitHealthMax("target")*100).."%")
if UnitPowerType("target") == 0 then -- mana
target.mana:SetText("|cff3300cc M|r-"..string.format("%4.0f", UnitPower("target")/UnitPowerMax("target")*100).."%")
elseif UnitPowerType("target") == 3 then -- energy
target.mana:SetText("|cffffff00E |r-"..UnitPower("target").." |cff990099 Combo|r: "..GetComboPoints("target"))
elseif UnitPowerType("target") == 1 then -- rage
target.mana:SetText("|cffff3333Rage|r- "..UnitPower("target").."|cff666666 /|r"..UnitPowerMax("target"))
elseif UnitPowerType("target") == 5 then
target.mana:SetText("|cff99ccffRP|r- "..UnitPower("target").."|cff666666 /|r"..UnitPowerMax("target"))
elseif UnitPowerType("target") == 6 then-- Runic
target.mana:SetText("|cff99ccffRP|r- "..UnitPower("target").."|cff666666 /|r"..UnitPowerMax("target"))
else -- focus, happieness
target.mana:SetText("|cffffcc00F|r- "..UnitPower("target").."|cff666666 /|r"..UnitPowerMax("target"))
end
else
target.health:SetText("|Cff00ff00H|r- "..UnitHealth("target").."|Cff666666 /|r"..UnitHealthMax("target"))
if UnitPowerType("target") == 0 then -- mana
target.mana:SetText("|cff3300cc M|r-"..UnitPower("target").."|Cff666666 /|r"..UnitPowerMax("target"))
elseif UnitPowerType("target") == 3 then -- energy
target.mana:SetText("|cffffff00E |r-"..UnitPower("target").." |Cff990099 Combo|r: "..GetComboPoints("target"))
elseif UnitPowerType("target") == 1 then -- rage
target.mana:SetText("|cffff3333Rage|r- "..UnitPower("target").."|Cff666666 /|r"..UnitPowerMax("target"))
elseif UnitPowerType("target") == 5 then
target.mana:SetText("|cff99ccffRP|r- "..UnitPower("target").."|Cff666666 /|r"..UnitPowerMax("target"))
elseif UnitPowerType("target") == 6 then-- Runic
target.mana:SetText("|cff99ccffRP|r- "..UnitPower("target").."|Cff666666 /|r"..UnitPowerMax("target"))
else -- focus, happieness
target.mana:SetText("|cffffcc00F|r- "..UnitPower("target").."|Cff666666 /|r"..UnitPowerMax("target"))
end
end
local ll = target.level:GetStringWidth()
local nl = target.name:GetStringWidth()
local hl = target.health:GetStringWidth()
local ml = target.mana:GetStringWidth()
if not TextUnitFramesLiteDB.target.orientation and not TextUnitFramesLiteDB.general.combat then
local len = ll + nl + hl + ml + 20
target:SetWidth(len)
target:SetHeight(target.level:GetHeight() + 20)
elseif TextUnitFramesLiteDB.target.orientation and not TextUnitFramesLiteDB.general.combat then
local len = math.max(ll + nl, ml, hl)
target:SetWidth(len + 20 )
local lh = target.level:GetHeight()
local hh = target.health:GetHeight()
local mh = target.mana:GetHeight()
target:SetHeight(lh + hh + mh + 20)
end
if UnitExists("playertargettarget") then
if TextUnitFramesLiteDB.target.targettop then
target.target:ClearAllPoints()
target.target:SetPoint("TOPLEFT", target, "BOTTOMLEFT", 10, 10)
else
target.target:ClearAllPoints()
target.target:SetPoint("LEFT", target, "RIGHT", -10, 0)
end
target.target.level:SetFontObject(GameFontNormal)
target.target.name:SetFontObject(GameFontNormal)
target.target.level:SetText(UnitLevel("playertargettarget"))
target.target.name:SetText(UnitName("playertargettarget"))
target.target.level:SetPoint("TOPLEFT", target.target, "TOPLEFT", 5, -5)
target.target.name:SetPoint("LEFT", target.target.level, "RIGHT", 5, 0)
local ttlw = target.target.level:GetStringWidth()
local ttnw = target.target.name:GetStringWidth()
target.target:SetHeight(target.target.name:GetHeight()+12)
target.target:SetWidth(ttlw + ttnw + 10)
end
if not TextUnitFramesLiteDB.general.combat then
if TextUnitFramesLiteDB.target.enabled then target:Show() else target:Hide() end
if UnitExists("target") then target:Show() else target:Hide() end
if TextUnitFramesLiteDB.target.target and UnitExists("playertargettarget") then target.target:Show() else target.target:Hide() end
end
else
target:Hide()
end
end