local runePowerStatusBar;
local runePowerStatusBarDark;
local runePowerStatusBarText;
--Readability == win
local RUNETYPEC_BLOOD = 1;
local RUNETYPEC_UNHOLY = 2;
local RUNETYPEC_FROST = 3;
local RUNETYPEC_CHROMATIC = 4;
local offset = 15;
local start = -85;
local runeY = {
[1] = start,
[2] = start-offset,
[3] = start-offset*2,
[4] = start-offset*3,
[5] = start-offset*4,
[6] = start-offset*5
}
RuneHero_Saved = {
anchor = "BOTTOM",
parent = "UIParent",
rel = "BOTTOM",
x = 0;
y = 135;
scale = 1;
runeX = 65;
scrollWidth = 260;
blade = "runeblade";
};
function RunePower_Event ()
end
function RuneButtonC_OnLoad (self)
RuneFrameC_AddRune(RuneFrameC, self);
self.rune = getglobal(self:GetName().."Rune");
self.border = getglobal(self:GetName().."Border");
self.texture = getglobal(self:GetName().."BorderTexture");
self.bg = getglobal(self:GetName().."BG");
self.border = getglobal(self:GetName().."Border");
RuneButtonC_Update(self);
self:SetScript("OnUpdate", RuneButtonC_OnUpdate);
self:SetFrameLevel( self:GetFrameLevel() + 2*self:GetID() );
self.border:SetFrameLevel( self:GetFrameLevel() + 1 );
end
function RuneButtonC_OnUpdate (self, elapsed)
local start, duration, r = GetRuneCooldown(self:GetID());
if (r) then
self:SetPoint("TOPLEFT", "RuneFrameC", "TOPLEFT", RuneHero_Saved.runeX, runeY[self:GetID()]);
else
local remain = (duration - GetTime() + start) / duration;
if ( remain < 0) then
self:SetPoint("TOPLEFT", "RuneFrameC", "TOPLEFT", RuneHero_Saved.runeX, runeY[self:GetID()] );
elseif ( remain > 1) then
self:SetPoint("TOPLEFT", "RuneFrameC", "TOPLEFT", RuneHero_Saved.runeX + RuneHero_Saved.scrollWidth, runeY[self:GetID()] );
else
self:SetPoint("TOPLEFT", "RuneFrameC", "TOPLEFT", RuneHero_Saved.runeX + remain*RuneHero_Saved.scrollWidth, runeY[self:GetID()] );
end
end
end
function RuneButtonC_Update (self, rune)
local runeType = GetRuneType(self:GetID());
-- Disable rune frame if not a death knight.
local _, class = UnitClass("player");
if ( class ~= "DEATHKNIGHT" ) then
self:Hide();
end
if (runeType == RUNETYPEC_BLOOD) then
self.rune:SetTexture("Interface\\PlayerFrame\\UI-PlayerFrame-Deathknight-Blood-On.tga" );
self.texture:SetTexture("Interface\\AddOns\\RuneHero\\textures\\Ring-test.tga");
self.texture:SetDesaturated(false);
self.texture:SetVertexColor(.65,0,0,1);
self.bg:SetVertexColor(.2,.2,.2,1);
self.rune:SetWidth(15);
self.rune:SetHeight(15);
self.bg:SetWidth(17);
self.bg:SetHeight(17);
self.border:SetWidth(29);
self.border:SetHeight(29);
elseif (runeType == RUNETYPEC_UNHOLY) then
self.rune:SetTexture("Interface\\PlayerFrame\\UI-PlayerFrame-Deathknight-Unholy");
self.rune:SetVertexColor(0,1,0);
self.texture:SetTexture("Interface\\AddOns\\RuneHero\\textures\\Ring-test.tga");
self.texture:SetDesaturated(false);
self.texture:SetVertexColor(0,.65,0,1);
self.bg:SetVertexColor(.2,.2,.2,1);
self.rune:SetWidth(25);
self.rune:SetHeight(25);
self.bg:SetWidth(17);
self.bg:SetHeight(17);
self.border:SetWidth(29);
self.border:SetHeight(29);
elseif (runeType == RUNETYPEC_FROST) then
self.rune:SetTexture("Interface\\PlayerFrame\\UI-PlayerFrame-Deathknight-Frost" );
self.texture:SetTexture("Interface\\AddOns\\RuneHero\\textures\\Ring-test.tga");
self.texture:SetDesaturated(false);
self.texture:SetVertexColor(0,.3,1,1);
self.bg:SetVertexColor(.2,.2,.2,1);
self.rune:SetWidth(25);
self.rune:SetHeight(25);
self.bg:SetWidth(17);
self.bg:SetHeight(17);
self.border:SetWidth(29);
self.border:SetHeight(29);
elseif (runeType == RUNETYPEC_CHROMATIC) then
self.rune:SetTexture("Interface\\PlayerFrame\\UI-PlayerFrame-DeathKnight-Chromatic-On.tga" );
self.rune:SetVertexColor(1,1,1);
self.texture:SetTexture("Interface\\CHARACTERFRAME\\TotemBorder");
self.texture:SetDesaturated(true);
self.rune:SetWidth(20);
self.rune:SetHeight(20);
self.bg:SetWidth(20);
self.bg:SetHeight(20);
self.border:SetWidth(39);
self.border:SetHeight(39);
end
end