PHP код:
local AURA_START_X = 5;
local AURA_START_Y = 32;
local AURA_OFFSET_Y = 3;
local LARGE_AURA_SIZE = 21;
local SMALL_AURA_SIZE = 17;
local AURA_ROW_WIDTH = 122;
local TOT_AURA_ROW_WIDTH = 101;
local NUM_TOT_AURA_ROWS = 2;
hooksecurefunc("TargetFrame_UpdateBuffAnchor", function(self, buffName, index, numDebuffs, anchorIndex, size, offsetX, offsetY)
if(self:GetName() ~= "TargetFrame") then return; end
local buff = _G[buffName..index];
buff:ClearAllPoints();
self.buffs:ClearAllPoints();
if(index == 1) then
if(UnitIsFriend("player", self.unit) or numDebuffs == 0 ) then
buff:SetPoint("BOTTOMLEFT", self, "TOPLEFT", AURA_START_X, -15);
else
buff:SetPoint("BOTTOMLEFT", self.debuffs, "TOPLEFT", 0, offsetY);
end
self.buffs:SetPoint("BOTTOMLEFT", buff, "BOTTOMLEFT", 0, 0);
self.buffs:SetPoint("TOPLEFT", buff, "TOPLEFT", 0, AURA_OFFSET_Y);
self.spellbarAnchor = buff;
elseif(anchorIndex ~= (index-1)) then
buff:SetPoint("BOTTOMLEFT", _G[buffName..anchorIndex], "TOPLEFT", 0, offsetY);
self.buffs:SetPoint("TOPLEFT", buff, "TOPLEFT", 0, AURA_OFFSET_Y);
self.spellbarAnchor = buff;
else
buff:SetPoint("BOTTOMLEFT", _G[buffName..anchorIndex], "BOTTOMRIGHT", offsetX, 0);
end
end);
hooksecurefunc("TargetFrame_UpdateDebuffAnchor", function(self, debuffName, index, numBuffs, anchorIndex, size, offsetX, offsetY)
if(self:GetName() ~= "TargetFrame") then return; end
local buff = _G[debuffName..index];
local isFriend = UnitIsFriend("player", self.unit);
buff:ClearAllPoints();
self.buffs:ClearAllPoints();
if(index == 1) then
if(isFriend and numBuffs > 0) then
buff:SetPoint("BOTTOMLEFT", self.buffs, "TOPLEFT", 0, offsetY);
else
buff:SetPoint("BOTTOMLEFT", self, "TOPLEFT", AURA_START_X, -15);
end
self.debuffs:SetPoint("BOTTOMLEFT", buff, "BOTTOMLEFT", 0, 0);
self.debuffs:SetPoint("TOPLEFT", buff, "TOPLEFT", 0, AURA_OFFSET_Y);
if((isFriend ) or (not isFriend and numBuffs == 0)) then
self.spellbarAnchor = buff;
end
elseif(anchorIndex ~= (index-1)) then
buff:SetPoint("BOTTOMLEFT", _G[debuffName..anchorIndex], "TOPLEFT", 0, offsetY);
self.debuffs:SetPoint("TOPLEFT", buff, "TOPLEFT", 0, AURA_OFFSET_Y);
if((isFriend) or (not isFriend and numBuffs == 0)) then
self.spellbarAnchor = buff;
end
else
buff:SetPoint("BOTTOMLEFT", _G[debuffName..(index-1)], "BOTTOMRIGHT", offsetX, 0);
end
end);