local UnitGetIncomingHeals, UnitGetTotalAbsorbs = UnitGetIncomingHeals, UnitGetTotalAbsorbs;
local UnitThreatSituation, GetThreatStatusColor = UnitThreatSituation, GetThreatStatusColor;
local UnitIsDeadOrGhost, UnitIsConnected = UnitIsDeadOrGhost, UnitIsConnected;
-local UnitGetTotalHealAbsorbs = UnitGetTotalHealAbsorbs;
local UnitHasVehicleUI, UnitTargetsVehicleInRaidUI = UnitHasVehicleUI, UnitTargetsVehicleInRaidUI;
local UnitLevel, UnitClassification = UnitLevel, UnitClassification;
local UnitAffectingCombat, IsResting = UnitAffectingCombat, IsResting;
frame:RegisterUnitEvent("UNIT_POWER_BAR_SHOW", frame.unit, displayed);
frame:RegisterUnitEvent("UNIT_POWER_BAR_HIDE", frame.unit, displayed);
end
- if frame.healpred then
- frame:RegisterUnitEvent("UNIT_HEAL_PREDICTION", frame.unit, displayed);
- end
if frame.shield then
frame:RegisterUnitEvent("UNIT_ABSORB_AMOUNT_CHANGED", frame.unit, displayed);
end
- if frame.healabsorb then
- frame:RegisterUnitEvent("UNIT_HEAL_ABSORB_AMOUNT_CHANGED", frame.unit, displayed);
- end
if frame.auras then
frame:RegisterUnitEvent("UNIT_AURA", frame.unit, displayed);
end
frame.name:SetText(ssub(name, 1, frame.name.count));
end
-local function updateHealPred(frame, unit)
- local incoming = UnitGetIncomingHeals(unit) or 0;
- if incoming > 0 then
- local space = frame.width - frame.health:GetWidth() + 1;
- incoming = (incoming / frame.health.max) * frame.width;
- frame.healpred:SetWidth(min(space, incoming));
- frame.healpred:Show();
- else
- frame.healpred:Hide();
- end
-end
-
local function updateShield(frame, unit)
local shield = UnitGetTotalAbsorbs(unit) or 0;
if shield > 0 then
end
end
-local function updateHealAbsorb(frame, unit)
- local absorb = UnitGetTotalHealAbsorbs(unit) or 0;
- if absorb > 0 then
- local space = frame.health:GetWidth();
- absorb = (absorb / frame.health.max) * frame.width;
- frame.healabsorb:SetWidth(min(space, absorb));
- frame.healabsorb:Show();
- else
- frame.healabsorb:Hide();
- end
-end
-
local function updateAuras(frame, unit)
- if frame.auras then updateAuraFrames(frame, unit) end
+ updateAuraFrames(frame, unit);
end
local function updateAggro(frame, unit)
end
end
+local pvpIcons = {
+ Alliance = "Interface\\TARGETINGFRAME\\UI-PVP-Alliance",
+ Horde = "Interface\\TARGETINGFRAME\\UI-PVP-Horde"
+};
local function updatePVP(frame, unit)
if UnitIsPVPFreeForAll(unit) then
frame.pvp:SetTexture("Interface\\TARGETINGFRAME\\UI-PVP-FFA");
faction = "Horde";
end
end
- frame.pvp:SetTexture("Interface\\TARGETINGFRAME\\UI-PVP-"..faction);
+ frame.pvp:SetTexture(pvpIcons[faction]);
frame.pvp:Show();
else
frame.pvp:Hide();
updateHealth(frame, frame.displayed);
updateHealthText(frame, frame.displayed);
if frame.shield then updateShield(frame, frame.displayed) end
- if frame.healabsorb then updateHealAbsorb(frame, frame.displayed) end
end,
["UNIT_POWER"] = function(frame)
updatePower(frame, frame.displayed);
["UNIT_AURA"] = function(frame)
updateAuras(frame, frame.displayed);
end,
- ["UNIT_HEAL_PREDICTION"] = function(frame)
- updateHealPred(frame, frame.displayed);
- end,
["UNIT_ABSORB_AMOUNT_CHANGED"] = function(frame)
updateShield(frame, frame.displayed);
end,
- ["UNIT_HEAL_ABSORB_AMOUNT_CHANGED"] = function(frame)
- updateHealAbsorb(frame, frame.displayed);
- end,
["UNIT_THREAT_SITUATION_UPDATE"] = function(frame)
updateAggro(frame, frame.displayed);
end,
updateHealth(frame, frame.displayed);
updateHealthText(frame, frame.displayed);
if frame.shield then updateShield(frame, frame.displayed) end
- if frame.healabsorb then updateHealAbsorb(frame, frame.displayed) end
end,
["UNIT_MAXPOWER"] = function(frame)
updateMaxPower(frame, frame.displayed);
end
if frame.auras then updateAuras(frame, frame.displayed) end
if frame.shield then updateShield(frame, frame.displayed) end
- if frame.healpred then updateHealPred(frame, frame.displayed) end
- if frame.healabsorb then updateHealAbsorb(frame, frame.displayed) end
if frame.name then updateName(frame, frame.displayed) end
if frame.level then updateLevelText(frame, frame.unit) end
if frame.status then updateStatus(frame, frame.unit) end