-
-
Save digitaltoad/453126 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- ACTION BAR PANEL | |
TukuiDB.buttonsize = TukuiDB:Scale(27) | |
TukuiDB.buttonspacing = TukuiDB:Scale(4) | |
TukuiDB.petbuttonsize = TukuiDB:Scale(29) | |
TukuiDB.petbuttonspacing = TukuiDB:Scale(4) | |
local barbg = CreateFrame("Frame", "TukuiActionBarBackground", UIParent) | |
TukuiDB:CreatePanel(barbg, 1, 1, "BOTTOM", UIParent, "BOTTOM", 0, TukuiDB:Scale(14)) | |
if TukuiDB.lowversion == true then | |
barbg:SetWidth((TukuiDB.buttonsize * 12) + (TukuiDB.buttonspacing * 13)) | |
if TukuiDB["actionbar"].bottomrows == 2 then | |
barbg:SetHeight((TukuiDB.buttonsize * 2) + (TukuiDB.buttonspacing * 3)) | |
else | |
barbg:SetHeight(TukuiDB.buttonsize + (TukuiDB.buttonspacing * 2)) | |
end | |
else | |
barbg:SetWidth((TukuiDB.buttonsize * 22) + (TukuiDB.buttonspacing * 23)) | |
if TukuiDB["actionbar"].bottomrows == 2 then | |
barbg:SetHeight((TukuiDB.buttonsize * 2) + (TukuiDB.buttonspacing * 3)) | |
else | |
barbg:SetHeight(TukuiDB.buttonsize + (TukuiDB.buttonspacing * 2)) | |
end | |
end | |
if IsAddOnLoaded("CoolLine") then | |
local coolbg = CreateFrame("Frame", "CoolLinePanel", UIParent) | |
TukuiDB:CreatePanel(coolbg, 1, 1, "TOP", TukuiActionBarBackground, "BOTTOM", 0, TukuiDB:Scale(14)) | |
coolbg:SetWidth((TukuiDB.buttonsize * 22) + (TukuiDB.buttonspacing * 23)) | |
coolbg:SetFrameLevel(2) | |
end | |
-- LEFT VERTICAL LINE | |
local ileftlv = CreateFrame("Frame", "TukuiInfoLeftLineVertical", barbg) | |
TukuiDB:CreatePanel(ileftlv, 2, 130, "BOTTOMLEFT", UIParent, "BOTTOMLEFT", TukuiDB:Scale(22), TukuiDB:Scale(30)) | |
-- RIGHT VERTICAL LINE | |
local irightlv = CreateFrame("Frame", "TukuiInfoRightLineVertical", barbg) | |
TukuiDB:CreatePanel(irightlv, 2, 130, "BOTTOMRIGHT", UIParent, "BOTTOMRIGHT", TukuiDB:Scale(-22), TukuiDB:Scale(30)) | |
-- CUBE AT LEFT, WILL ACT AS A BUTTON | |
local cubeleft = CreateFrame("Frame", "TukuiCubeLeft", barbg) | |
TukuiDB:CreatePanel(cubeleft, 10, 10, "BOTTOM", ileftlv, "TOP", 0, 0) | |
-- CUBE AT RIGHT, WILL ACT AS A BUTTON | |
local cuberight = CreateFrame("Frame", "TukuiCubeRight", barbg) | |
TukuiDB:CreatePanel(cuberight, 10, 10, "BOTTOM", irightlv, "TOP", 0, 0) | |
-- HORIZONTAL LINE LEFT | |
local ltoabl = CreateFrame("Frame", "TukuiLineToABLeft", barbg) | |
TukuiDB:CreatePanel(ltoabl, 5, 2, "BOTTOMRIGHT", UIParent, "BOTTOMRIGHT", 0, 0) | |
ltoabl:ClearAllPoints() | |
ltoabl:SetPoint("BOTTOMLEFT", ileftlv, "BOTTOMLEFT", 0, 0) | |
ltoabl:SetPoint("RIGHT", barbg, "BOTTOMLEFT", TukuiDB:Scale(-1), TukuiDB:Scale(17)) | |
-- HORIZONTAL LINE RIGHT | |
local ltoabr = CreateFrame("Frame", "TukuiLineToABRight", barbg) | |
TukuiDB:CreatePanel(ltoabr, 5, 2, "BOTTOMRIGHT", UIParent, "BOTTOMRIGHT", 0, 0) | |
ltoabr:ClearAllPoints() | |
ltoabr:SetPoint("LEFT", barbg, "BOTTOMRIGHT", TukuiDB:Scale(1), TukuiDB:Scale(17)) | |
ltoabr:SetPoint("BOTTOMRIGHT", irightlv, "BOTTOMRIGHT", 0, 0) | |
-- INFO LEFT (FOR STATS) | |
local ileft = CreateFrame("Frame", "TukuiInfoLeft", barbg) | |
TukuiDB:CreatePanel(ileft, TukuiDB["panels"].tinfowidth, 23, "LEFT", ltoabl, "LEFT", TukuiDB:Scale(14), 0) | |
ileft:SetFrameLevel(2) | |
-- INFO RIGHT (FOR STATS) | |
local iright = CreateFrame("Frame", "TukuiInfoRight", barbg) | |
TukuiDB:CreatePanel(iright, TukuiDB["panels"].tinfowidth, 23, "RIGHT", ltoabr, "RIGHT", TukuiDB:Scale(-14), 0) | |
iright:SetFrameLevel(2) | |
-- CHAT EDIT BOX | |
for i = 1, NUM_CHAT_WINDOWS do | |
ChatFrameEditBox = _G["ChatFrame"..i.."EditBox"] | |
local edit = CreateFrame("Frame", "TukuiChatFrameEditBoxBackground", ChatFrameEditBox) | |
TukuiDB:CreatePanel(edit, 1, 1, "LEFT", "ChatFrameEditBox", "LEFT", 0, 0) | |
edit:ClearAllPoints() | |
edit:SetAllPoints(ileft) | |
edit:SetFrameStrata("HIGH") | |
edit:SetFrameLevel(2) | |
local function colorize(r,g,b) | |
edit:SetBackdropBorderColor(r, g, b) | |
end | |
hooksecurefunc("ChatEdit_UpdateHeader", function() | |
local activechat = _G["ChatFrame"..i] | |
local type = activechat.editBox:GetAttribute("chatType") | |
if ( type == "CHANNEL" ) then | |
local id = GetChannelName(activechat.editBox:GetAttribute("channelTarget")) | |
if id == 0 then | |
colorize(0.6,0.6,0.6) | |
else | |
colorize(ChatTypeInfo[type..id].r,ChatTypeInfo[type..id].g,ChatTypeInfo[type..id].b) | |
end | |
else | |
colorize(ChatTypeInfo[type].r,ChatTypeInfo[type].g,ChatTypeInfo[type].b) | |
end | |
end) | |
end | |
if TukuiMinimap then | |
local minimapstatsleft = CreateFrame("Frame", "TukuiMinimapStatsLeft", TukuiMinimap) | |
TukuiDB:CreatePanel(minimapstatsleft, ((TukuiMinimap:GetWidth() + 4) / 2) - 1, 19, "TOPLEFT", TukuiMinimap, "BOTTOMLEFT", 0, TukuiDB:Scale(-2)) | |
local minimapstatsright = CreateFrame("Frame", "TukuiMinimapStatsRight", TukuiMinimap) | |
TukuiDB:CreatePanel(minimapstatsright, ((TukuiMinimap:GetWidth() + 4) / 2) -1, 19, "TOPRIGHT", TukuiMinimap, "BOTTOMRIGHT", 0, TukuiDB:Scale(-2)) | |
end | |
--RIGHT BAR BACKGROUND | |
if TukuiDB["actionbar"].enable == true or not (IsAddOnLoaded("Dominos") or IsAddOnLoaded("Bartender4") or IsAddOnLoaded("Macaroon")) then | |
local barbgr = CreateFrame("Frame", "TukuiActionBarBackgroundRight", MultiBarRight) | |
TukuiDB:CreatePanel(barbgr, 1, (TukuiDB.buttonsize * 12) + (TukuiDB.buttonspacing * 13), "RIGHT", UIParent, "RIGHT", TukuiDB:Scale(-23), TukuiDB:Scale(-13.5)) | |
if TukuiDB["actionbar"].rightbars == 1 then | |
barbgr:SetWidth(TukuiDB.buttonsize + (TukuiDB.buttonspacing * 2)) | |
elseif TukuiDB["actionbar"].rightbars == 2 then | |
barbgr:SetWidth((TukuiDB.buttonsize * 2) + (TukuiDB.buttonspacing * 3)) | |
elseif TukuiDB["actionbar"].rightbars == 3 then | |
barbgr:SetWidth((TukuiDB.buttonsize * 3) + (TukuiDB.buttonspacing * 4)) | |
else | |
barbgr:Hide() | |
end | |
if TukuiDB["actionbar"].rightbars > 0 then | |
local rbl = CreateFrame("Frame", "TukuiRightBarLine", barbgr) | |
local crblu = CreateFrame("Frame", "TukuiCubeRightBarUP", barbgr) | |
local crbld = CreateFrame("Frame", "TukuiCubeRightBarDown", barbgr) | |
TukuiDB:CreatePanel(rbl, 2, (TukuiDB.buttonsize / 2 * 27) + (TukuiDB.buttonspacing * 6), "RIGHT", barbgr, "RIGHT", TukuiDB:Scale(1), 0) | |
rbl:SetWidth(TukuiDB:Scale(2)) | |
TukuiDB:CreatePanel(crblu, 10, 10, "BOTTOM", rbl, "TOP", 0, 0) | |
TukuiDB:CreatePanel(crbld, 10, 10, "TOP", rbl, "BOTTOM", 0, 0) | |
end | |
local petbg = CreateFrame("Frame", "TukuiPetActionBarBackground", PetActionButton1) | |
if TukuiDB["actionbar"].rightbars > 0 then | |
TukuiDB:CreatePanel(petbg, TukuiDB.petbuttonsize + (TukuiDB.petbuttonspacing * 2), (TukuiDB.petbuttonsize * 10) + (TukuiDB.petbuttonspacing * 11), "RIGHT", barbgr, "LEFT", TukuiDB:Scale(-6), 0) | |
else | |
TukuiDB:CreatePanel(petbg, TukuiDB.petbuttonsize + (TukuiDB.petbuttonspacing * 2), (TukuiDB.petbuttonsize * 10) + (TukuiDB.petbuttonspacing * 11), "RIGHT", UIParent, "RIGHT", TukuiDB:Scale(-6), TukuiDB:Scale(-13.5)) | |
end | |
local ltpetbg1 = CreateFrame("Frame", "TukuiLineToPetActionBarBackground", petbg) | |
TukuiDB:CreatePanel(ltpetbg1, 30, 265, "TOPLEFT", petbg, "TOPRIGHT", 0, TukuiDB:Scale(-33)) | |
ltpetbg1:SetFrameLevel(0) | |
ltpetbg1:SetAlpha(.8) | |
end | |
--BATTLEGROUND STATS FRAME | |
if TukuiDB["datatext"].battleground == true then | |
local bgframe = CreateFrame("Frame", "TukuiInfoLeftBattleGround", UIParent) | |
TukuiDB:CreatePanel(bgframe, 1, 1, "TOPLEFT", Minimap, "BOTTOMLEFT", 0, 0) | |
bgframe:SetAllPoints(ileft) | |
bgframe:SetFrameStrata("MEDIUM") | |
bgframe:EnableMouse(true) | |
local function OnEvent(self, event) | |
if event == "PLAYER_ENTERING_WORLD" then | |
inInstance, instanceType = IsInInstance() | |
if inInstance and (instanceType == "pvp") then | |
bgframe:Show() | |
else | |
bgframe:Hide() | |
end | |
end | |
end | |
bgframe:SetScript("OnEnter", function(self) | |
local numScores = GetNumBattlefieldScores() | |
for i=1, numScores do | |
name, killingBlows, honorKills, deaths, honorGained, faction, rank, race, class, classToken, damageDone, healingDone = GetBattlefieldScore(i); | |
if ( name ) then | |
if ( name == UnitName("player") ) then | |
GameTooltip:SetOwner(self, "ANCHOR_TOPLEFT", 0, TukuiDB:Scale(4)); | |
GameTooltip:ClearLines() | |
GameTooltip:SetPoint("BOTTOM", self, "TOP", 0, TukuiDB:Scale(1)) | |
GameTooltip:ClearLines() | |
GameTooltip:AddLine(tukuilocal.datatext_ttstatsfor.."[|cffCC0033"..name.."|r]") | |
GameTooltip:AddLine' ' | |
GameTooltip:AddDoubleLine(tukuilocal.datatext_ttkillingblows, killingBlows,1,1,1) | |
GameTooltip:AddDoubleLine(tukuilocal.datatext_tthonorkills, honorKills,1,1,1) | |
GameTooltip:AddDoubleLine(tukuilocal.datatext_ttdeaths, deaths,1,1,1) | |
GameTooltip:AddDoubleLine(tukuilocal.datatext_tthonorgain, honorGained,1,1,1) | |
GameTooltip:AddDoubleLine(tukuilocal.datatext_ttdmgdone, damageDone,1,1,1) | |
GameTooltip:AddDoubleLine(tukuilocal.datatext_tthealdone, healingDone,1,1,1) | |
--Add extra statistics to watch based on what BG you are in. | |
if GetRealZoneText() == "Arathi Basin" then -- | |
GameTooltip:AddDoubleLine(tukuilocal.datatext_basesassaulted,GetBattlefieldStatData(i, 1),1,1,1) | |
GameTooltip:AddDoubleLine(tukuilocal.datatext_basesdefended,GetBattlefieldStatData(i, 2),1,1,1) | |
elseif GetRealZoneText() == "Warsong Gulch" then -- | |
GameTooltip:AddDoubleLine(tukuilocal.datatext_flagscaptured,GetBattlefieldStatData(i, 1),1,1,1) | |
GameTooltip:AddDoubleLine(tukuilocal.datatext_flagsreturned,GetBattlefieldStatData(i, 2),1,1,1) | |
elseif GetRealZoneText() == "Eye of the Storm" then -- | |
GameTooltip:AddDoubleLine(tukuilocal.datatext_flagscaptured,GetBattlefieldStatData(i, 1),1,1,1) | |
elseif GetRealZoneText() == "Alterac Valley" then | |
GameTooltip:AddDoubleLine(tukuilocal.datatext_graveyardsassaulted,GetBattlefieldStatData(i, 1),1,1,1) | |
GameTooltip:AddDoubleLine(tukuilocal.datatext_graveyardsdefended,GetBattlefieldStatData(i, 2),1,1,1) | |
GameTooltip:AddDoubleLine(tukuilocal.datatext_towersassaulted,GetBattlefieldStatData(i, 3),1,1,1) | |
GameTooltip:AddDoubleLine(tukuilocal.datatext_towersdefended,GetBattlefieldStatData(i, 4),1,1,1) | |
elseif GetRealZoneText() == "Strand of the Ancients" then | |
GameTooltip:AddDoubleLine(tukuilocal.datatext_demolishersdestroyed,GetBattlefieldStatData(i, 1),1,1,1) | |
GameTooltip:AddDoubleLine(tukuilocal.datatext_gatesdestroyed,GetBattlefieldStatData(i, 2),1,1,1) | |
elseif GetRealZoneText() == "Isle of Conquest" then | |
GameTooltip:AddDoubleLine(tukuilocal.datatext_basesassaulted,GetBattlefieldStatData(i, 1),1,1,1) | |
GameTooltip:AddDoubleLine(tukuilocal.datatext_basesdefended,GetBattlefieldStatData(i, 2),1,1,1) | |
end | |
GameTooltip:Show() | |
end | |
end | |
end | |
end) | |
bgframe:SetScript("OnLeave", function(self) GameTooltip:Hide() end) | |
bgframe:RegisterEvent("PLAYER_ENTERING_WORLD") | |
bgframe:SetScript("OnEvent", OnEvent) | |
-- this part is to enable left cube as a button for battleground stat panel. | |
local function CubeLeftClick(self, event) | |
if event == "ZONE_CHANGED_NEW_AREA" or event == "PLAYER_ENTERING_WORLD" then | |
cubeleft:SetBackdropBorderColor(unpack(TukuiDB["media"].bordercolor)) | |
inInstance, instanceType = IsInInstance() | |
if TukuiDB["datatext"].battleground == true and (inInstance and (instanceType == "pvp")) then | |
cubeleft:EnableMouse(true) | |
else | |
cubeleft:EnableMouse(false) | |
end | |
end | |
end | |
cubeleft:SetScript("OnMouseDown", function() | |
if bgframe:IsShown() then | |
bgframe:Hide() | |
cubeleft:SetBackdropBorderColor(0.78,0.03,0.08) | |
else | |
cubeleft:SetBackdropBorderColor(unpack(TukuiDB["media"].bordercolor)) | |
bgframe:Show() | |
end | |
end) | |
cubeleft:RegisterEvent("ZONE_CHANGED_NEW_AREA") | |
cubeleft:RegisterEvent("PLAYER_ENTERING_WORLD") | |
cubeleft:SetScript("OnEvent", CubeLeftClick) | |
end | |
if IsAddOnLoaded("Omen") then | |
local Omen = LibStub("AceAddon-3.0"):GetAddon("Omen") | |
local LSM = LibStub("LibSharedMedia-3.0") | |
--Skin Title/Bars backgrounds | |
Omen.UpdateBackdrop_ = Omen.UpdateBackdrop | |
Omen.UpdateBackdrop = function(self) | |
self:UpdateBackdrop_() | |
TukuiDB:SetTemplate(self.BarList) | |
TukuiDB:SetTemplate(self.Title) | |
self.BarList:SetPoint("TOPLEFT", self.Title, "BOTTOMLEFT",0,-1) | |
end | |
-- Skin Title Bar | |
Omen.UpdateTitleBar_ = Omen.UpdateTitleBar | |
Omen.UpdateTitleBar = function(self) | |
self:UpdateTitleBar_() | |
self.TitleText:SetFont(LSM:Fetch("font", TukuiDB["media"].uffont), self.db.profile.Bar.FontSize) | |
self.BarList:SetPoint("TOPLEFT", self.Title, "BOTTOMLEFT",0,-1) | |
end | |
-- Skin Bar Texture | |
Omen.UpdateBarTextureSettings_ = Omen.UpdateBarTextureSettings | |
Omen.UpdateBarTextureSettings = function(self) | |
for i, v in ipairs(self.Bars) do | |
v.texture:SetTexture(LSM:Fetch("statusbar", TukuiDB["media"].normTex)) | |
end | |
end | |
-- Skin Bar fonts | |
Omen.UpdateBarLabelSettings_ = Omen.UpdateBarLabelSettings | |
Omen.UpdateBarLabelSettings = function(self) | |
self:UpdateBarLabelSettings_() | |
for i, v in ipairs(self.Bars) do | |
v.Text1:SetFont(LSM:Fetch("font", TukuiDB["media"].uffont),self.db.profile.Bar.FontSize) | |
v.Text2:SetFont(LSM:Fetch("font", TukuiDB["media"].uffont),self.db.profile.Bar.FontSize) | |
v.Text3:SetFont(LSM:Fetch("font", TukuiDB["media"].uffont),self.db.profile.Bar.FontSize) | |
end | |
end | |
-- Hook bar creation to apply settings | |
local meta = getmetatable(Omen.Bars) | |
local oldidx = meta.__index | |
meta.__index = function(self, barID) | |
local bar = oldidx(self, barID) | |
Omen:UpdateBarTextureSettings() | |
Omen:UpdateBarLabelSettings() | |
return bar | |
end | |
-- Option Overrides | |
Omen.db.profile.Scale = 1 | |
Omen.db.profile.Background.EdgeSize = 1 | |
Omen.db.profile.Background.BarInset = 2 | |
Omen.db.profile.Bar.Spacing = 1 | |
Omen.db.profile.TitleBar.UseSameBG = true | |
-- Force updates | |
Omen:UpdateBarTextureSettings() | |
Omen:UpdateBarLabelSettings() | |
Omen:UpdateTitleBar() | |
Omen:UpdateBackdrop() | |
Omen:ReAnchorBars() | |
Omen:ResizeBars() | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment