Permalink
Browse files

Setting up a Repo again for MoP first version is 0.3

  • Loading branch information...
0 parents commit 2ff22eddabf734bb8c850b88a0d00ccbc081a46c Pat committed Aug 21, 2012
Showing with 1,607 additions and 0 deletions.
  1. +9 −0 PatUI/PatUI.toc
  2. +11 −0 PatUI/PatUI.xml
  3. +152 −0 PatUI/core/api.lua
  4. +17 −0 PatUI/core/commands.lua
  5. +6 −0 PatUI/core/fonts.lua
  6. +50 −0 PatUI/core/functions.lua
  7. +11 −0 PatUI/core/install.lua
  8. +10 −0 PatUI/core/kill.lua
  9. +12 −0 PatUI/core/popups.lua
  10. +24 −0 PatUI/license/PatUI
  11. BIN PatUI/media/fonts/font.ttf
  12. BIN PatUI/media/fonts/pixel_font.ttf
  13. BIN PatUI/media/fonts/pixelfont.ttf
  14. +3 −0 PatUI/modules/actionbars/load_actionbars.xml
  15. +34 −0 PatUI/modules/actionbars/style.lua
  16. +53 −0 PatUI/modules/chat/chatframes.lua
  17. +61 −0 PatUI/modules/classbars/combopoints.lua
  18. +37 −0 PatUI/modules/classbars/eclipsebar.lua
  19. +39 −0 PatUI/modules/classbars/harmonybar.lua
  20. +24 −0 PatUI/modules/classbars/holypower.lua
  21. +19 −0 PatUI/modules/classbars/load_classbars.xml
  22. +18 −0 PatUI/modules/classbars/magebar.lua
  23. +20 −0 PatUI/modules/classbars/runebars.lua
  24. +19 −0 PatUI/modules/classbars/shadoworbar.lua
  25. +19 −0 PatUI/modules/classbars/soulshards.lua
  26. +17 −0 PatUI/modules/classbars/totemtimers.lua
  27. +60 −0 PatUI/modules/datatext/datatext.lua
  28. +11 −0 PatUI/modules/load_modules.xml
  29. +21 −0 PatUI/modules/misc/altpowerbar.lua
  30. +25 −0 PatUI/modules/misc/capturebar.lua
  31. +6 −0 PatUI/modules/misc/load_misc.xml
  32. +140 −0 PatUI/modules/misc/mail.lua
  33. +18 −0 PatUI/modules/misc/threatbar.lua
  34. +59 −0 PatUI/modules/panels/panels.lua
  35. +3 −0 PatUI/modules/skins/load_skins.xml
  36. +125 −0 PatUI/modules/skins/templates.lua
  37. +8 −0 PatUI/modules/unitframes/arena.lua
  38. +9 −0 PatUI/modules/unitframes/boss.lua
  39. +62 −0 PatUI/modules/unitframes/focus.lua
  40. +10 −0 PatUI/modules/unitframes/load_unitframes.xml
  41. +31 −0 PatUI/modules/unitframes/pet.lua
  42. +111 −0 PatUI/modules/unitframes/player.lua
  43. +19 −0 PatUI/modules/unitframes/points.lua
  44. +112 −0 PatUI/modules/unitframes/target.lua
  45. +30 −0 PatUI/modules/unitframes/tot.lua
  46. +76 −0 PatUI_Config/Config.lua
  47. +6 −0 PatUI_Config/PatUI_Config.toc
9 PatUI/PatUI.toc
@@ -0,0 +1,9 @@
+## Interface: 50001
+## Author: Pat
+## Version: 0.2
+## Credits: Tukz
+## Title: |cff18AA18PatUI|r
+## Notes: Pats edit of Tukui.
+## RequiredDeps: PatUI_Config, Tukui
+
+PatUI.xml
11 PatUI/PatUI.xml
@@ -0,0 +1,11 @@
+<Ui xmlns="http://www.blizzard.com/wow/ui/">
+ <Script file="core\api.lua"/>
+ <Script file="core\functions.lua"/>
+ <Script file="core\fonts.lua"/>
+ <Script file="core\commands.lua"/>
+ <Script file="core\install.lua"/>
+ <Script file="core\kill.lua"/>
+ <Script file="core\popups.lua"/>
+
+ <Include file="modules\load_modules.xml"/>
+</Ui>
152 PatUI/core/api.lua
@@ -0,0 +1,152 @@
+local T, C, L = unpack(Tukui)
+
+local function SetBorder(f, i, o)
+ if i then
+ if f.iborder then return end
+ local border = CreateFrame("Frame", f:GetName() and f:GetName() .. "InnerBorder" or nil, f)
+ border:Point("TOPLEFT", T.mult, -T.mult)
+ border:Point("BOTTOMRIGHT", -T.mult, T.mult)
+ border:SetBackdrop({
+ edgeFile = C.media.blank,
+ edgeSize = T.mult,
+ insets = { left = T.mult, right = T.mult, top = T.mult, bottom = T.mult }
+ })
+ border:SetBackdropBorderColor(unpack(C.media.backdropcolor))
+ f.iborder = border
+ end
+
+ if o then
+ if f.oborder then return end
+ local border = CreateFrame("Frame", f:GetName() and f:GetName() .. "OuterBorder" or nil, f)
+ border:Point("TOPLEFT", -T.mult, T.mult)
+ border:Point("BOTTOMRIGHT", T.mult, -T.mult)
+ border:SetFrameLevel(f:GetFrameLevel() + 1)
+ border:SetBackdrop({
+ edgeFile = C.media.blank,
+ edgeSize = T.mult,
+ insets = { left = T.mult, right = T.mult, top = T.mult, bottom = T.mult }
+ })
+ border:SetBackdropBorderColor(unpack(C.media.backdropcolor))
+ f.oborder = border
+ end
+end
+
+local function CreateBorder(self)
+ if(self:GetFrameStrata() == "BACKGROUND") then self:SetFrameStrata("LOW") end
+
+ local border = CreateFrame("Frame", nil, self)
+ border:SetPoint("TOPLEFT", self, "TOPLEFT", T.Scale(-2), T.Scale(2))
+ border:SetPoint("BOTTOMRIGHT", self, "BOTTOMRIGHT", T.Scale(2), T.Scale(-2))
+ border:SetTemplate("Default")
+ border:SetFrameLevel(self:GetFrameLevel())
+ border:ThickBorder()
+end
+
+local function CreateOverlay(f)
+ if f.overlay then return end
+
+ local overlay = f:CreateTexture(f:GetName() and f:GetName().."Overlay" or nil, "BORDER", f)
+ overlay:ClearAllPoints()
+ overlay:Point("TOPLEFT", 2, -2)
+ overlay:Point("BOTTOMRIGHT", -2, 2)
+ overlay:SetTexture(C["media"].normTex)
+ overlay:SetVertexColor(unpack(C["media"].bordercolor))
+ f.overlay = overlay
+end
+
+local function AllPoints(obj, frame, inset)
+ if not inset then inset = 0 end
+ obj:SetPoint("TOPLEFT", frame, "TOPLEFT", inset, -inset)
+ obj:SetPoint("BOTTOMRIGHT", frame, "BOTTOMRIGHT", -inset, inset)
+end
+
+local function innerBorder(f)
+ if f.innerborder then f.innerborder:Show() return end
+ f.innerborder = CreateFrame("Frame", nil, f)
+ f.innerborder:SetPoint("TOPLEFT", T.mult, -T.mult)
+ f.innerborder:SetPoint("BOTTOMRIGHT", -T.mult, T.mult)
+ f.innerborder:SetBackdrop({
+ edgeFile = C["media"].blank,
+ edgeSize = T.mult,
+ insets = { left = T.mult, right = T.mult, top = T.mult, bottom = T.mult }
+ })
+ f.innerborder:SetBackdropBorderColor(0,0,0)
+
+end
+
+local function outerBorder(f)
+ if f.outerborder then f.outerborder:Show() return end
+ f.outerborder = CreateFrame("Frame", nil, f)
+ f.outerborder:SetPoint("TOPLEFT", -T.mult, T.mult)
+ f.outerborder:SetPoint("BOTTOMRIGHT", T.mult, -T.mult)
+ f.outerborder:SetBackdrop({
+ edgeFile = C["media"].blank,
+ edgeSize = T.mult,
+ insets = { left = T.mult, right = T.mult, top = T.mult, bottom = T.mult }
+ })
+ f.outerborder:SetBackdropBorderColor(0,0,0)
+
+end
+
+local function ThickBorder(f, force)
+ if f.backdrop and not force then
+ outerBorder(f.backdrop)
+ innerBorder(f.backdrop)
+ else
+ outerBorder(f)
+ innerBorder(f)
+ end
+end
+
+function SkinSlideBar(frame, height, movetext)
+ frame:SetTemplate("Default")
+ frame:SetBackdropColor(0, 0, 0, .8)
+
+ if not height then
+ height = frame:GetHeight()
+ end
+
+ if( movetext ) then
+ if(_G[frame:GetName() .. "Low"]) then _G[frame:GetName() .. "Low"]:Point("BOTTOM", 0, -18) end
+ if(_G[frame:GetName() .. "High"]) then _G[frame:GetName() .. "High"]:Point("BOTTOM", 0, -18) end
+ if(_G[frame:GetName() .. "Text"]) then _G[frame:GetName() .. "Text"]:Point("TOP", 0, 19) end
+ end
+
+ _G[frame:GetName()]:SetThumbTexture([[Interface\AddOns\Tukui\medias\textures\blank.tga]])
+ _G[frame:GetName()]:GetThumbTexture():SetVertexColor(unpack(C["media"].bordercolor ))
+ if(frame:GetWidth() < frame:GetHeight()) then
+ frame:Width(height)
+ _G[frame:GetName()]:GetThumbTexture():Size(frame:GetWidth(), frame:GetWidth() + 4)
+ else
+ frame:Height(height)
+ _G[frame:GetName()]:GetThumbTexture():Size(height + 4, height)
+ end
+end
+
+local function addapi(object)
+ local mt = getmetatable(object).__index
+ if not object.SkinSlideBar then mt.SkinSlideBar = SkinSlideBar end
+ if not object.CreateBorder then mt.CreateBorder = CreateBorder end
+ if not object.SetBorder then mt.SetBorder = SetBorder end
+ if not object.CreateOverlay then mt.CreateOverlay = CreateOverlay end
+ if not object.AllPoints then mt.AllPoints = AllPoints end
+ if not object.ThickBorder then mt.ThickBorder = ThickBorder end
+ if not object.InnerBorder then mt.Innerborder = innerBorder end
+ if not object.OuterBorder then mt.Outerborder = outerBorder end
+end
+
+local handled = {["Frame"] = true}
+local object = CreateFrame("Frame")
+addapi(object)
+addapi(object:CreateTexture())
+addapi(object:CreateFontString())
+
+object = EnumerateFrames()
+while object do
+ if not handled[object:GetObjectType()] then
+ addapi(object)
+ handled[object:GetObjectType()] = true
+ end
+
+ object = EnumerateFrames(object)
+end
17 PatUI/core/commands.lua
@@ -0,0 +1,17 @@
+local T, C, L = unpack(Tukui)
+
+-- switch to heal layout via a command
+SLASH_PATUIHEAL1 = "/pheal"
+SlashCmdList.PATUIHEAL = function()
+ DisableAddOn("PatUI_Raid")
+ EnableAddOn("PatUI_Raid_Healing")
+ ReloadUI()
+end
+
+-- switch to dps layout via a command
+SLASH_PATUIDPS1 = "/pdps"
+SlashCmdList.PATUIDPS = function()
+ DisableAddOn("PatUI_Raid_Healing")
+ EnableAddOn("PatUI_Raid")
+ ReloadUI()
+end
6 PatUI/core/fonts.lua
@@ -0,0 +1,6 @@
+local T, C, L = unpack(Tukui)
+
+if T.client == "ruRU" then
+ C["media"].pixelfont = C["media"].ru_pixelfont
+ C["media"].pfontsize = C["media"].ru_pfontsize
+end
50 PatUI/core/functions.lua
@@ -0,0 +1,50 @@
+local T, C, L = unpack(Tukui)
+
+-- just for creating text
+T.SetFontString = function(parent, fontName, fontHeight, fontStyle)
+ local fs = parent:CreateFontString(nil, "OVERLAY")
+ fs:SetFont(fontName, fontHeight, fontStyle)
+ fs:SetJustifyH("LEFT")
+ return fs
+end
+
+-- set the position of the datatext tooltip
+T.DataTextTooltipAnchor = function(self)
+ local panel = self:GetParent()
+ local anchor = "ANCHOR_BOTTOM"
+ local xoff = 0
+ local yoff = T.Scale(-3)
+
+ if panel == TukuiInfoLeft then
+ anchor = "ANCHOR_TOPLEFT"
+ elseif panel == TukuiInfoRight then
+ anchor = "ANCHOR_TOPRIGHT"
+ elseif panel == TukuiMinimapStatsLeft or panel == TukuiMinimapStatsRight then
+ local position = TukuiMinimap:GetPoint()
+ if position:match("LEFT") then
+ anchor = "ANCHOR_BOTTOMRIGHT"
+ yoff = T.Scale(-6)
+ xoff = 0 - TukuiMinimapStatsRight:GetWidth()
+ elseif position:match("RIGHT") then
+ anchor = "ANCHOR_BOTTOMLEFT"
+ yoff = T.Scale(-6)
+ xoff = TukuiMinimapStatsRight:GetWidth()
+ else
+ anchor = "ANCHOR_BOTTOM"
+ yoff = T.Scale(-6)
+ end
+ end
+
+ return anchor, panel, xoff, yoff
+end
+
+-- a function to move name of current target unit if enemy or friendly
+T.PostNamePosition = function(self)
+ self.Name:ClearAllPoints()
+ if (self.Power.value:GetText() and UnitIsEnemy("player", "target") and C["unitframes"].targetpowerpvponly == true) or (self.Power.value:GetText() and C["unitframes"].targetpowerpvponly == false) then
+ self.Name:SetPoint("CENTER", self.Health, "CENTER", 0, 0)
+ else
+ self.Power.value:SetAlpha(0)
+ self.Name:SetPoint("CENTER", self.Health, "CENTER", 0, 0)
+ end
+end
11 PatUI/core/install.lua
@@ -0,0 +1,11 @@
+local T, C, L = unpack(Tukui)
+
+local PatUIOnLogon = CreateFrame("Frame")
+PatUIOnLogon:RegisterEvent("PLAYER_ENTERING_WORLD")
+PatUIOnLogon:SetScript("OnEvent", function(self, event)
+ self:UnregisterEvent("PLAYER_ENTERING_WORLD")
+
+ if (IsAddOnLoaded("PatUI_Raid") and IsAddOnLoaded("PatUI_Raid_Healing")) then
+ StaticPopup_Show("TUKUIDISABLE_RAID")
+ end
+end)
10 PatUI/core/kill.lua
@@ -0,0 +1,10 @@
+local T, C, L = unpack(Tukui)
+
+local Kill = CreateFrame("Frame")
+Kill:RegisterEvent("ADDON_LOADED")
+Kill:SetScript("OnEvent", function(self, event, addon)
+ if addon == "PatUI_Raid" or addon == "PatUI_Raid_Healing" then
+ CompactRaidFrameManager:SetScale(0.000001)
+ CompactRaidFrameContainer:SetScale(0.000001)
+ end
+end)
12 PatUI/core/popups.lua
@@ -0,0 +1,12 @@
+local T, C, L = unpack(Tukui)
+
+StaticPopupDialogs["TUKUIDISABLE_RAID"] = {
+ text = "|cff18AA18Choose Raid Frame Style|r",
+ button1 = "|cff18AA18DPS - Tank|r",
+ button2 = "|cff18AA18Heal|r",
+ OnAccept = function() DisableAddOn("PatUI_Raid_Healing") EnableAddOn("PatUI_Raid") ReloadUI() end,
+ OnCancel = function() EnableAddOn("PatUI_Raid_Healing") DisableAddOn("PatUI_Raid") ReloadUI() end,
+ timeout = 0,
+ whileDead = 1,
+ preferredIndex = 3,
+}
24 PatUI/license/PatUI
@@ -0,0 +1,24 @@
+PatUI License
+Copyright 2012 Pat
+
+The contents of this addon, excluding third-party resources, are
+copyrighted to their authors with all rights reserved.
+
+Authors of this addon hereby grant you the following rights:
+
+1. You may make modifications to this addon for private use only except
+ if you publish your edited version via tukui.org, wowinterface.com,
+ github.com or if you ask authors permission before uploading it
+ somewhere else. If you upload it on wowinterface.com, it must
+ be uploaded thought an "addon pack" category only. Do not enable any kind
+ of donations without permission.
+
+2. Do not modify the name of this addon, including the addon folders.
+
+3. This copyright notice shall be included in all copies or substantial
+ portions of the Software.
+
+All rights not explicitly addressed in this license are reserved by
+the copyright holders.
+
+You can email me at Pat133780@gmail.org for reporting abuse.
BIN PatUI/media/fonts/font.ttf
Binary file not shown.
BIN PatUI/media/fonts/pixel_font.ttf
Binary file not shown.
BIN PatUI/media/fonts/pixelfont.ttf
Binary file not shown.
3 PatUI/modules/actionbars/load_actionbars.xml
@@ -0,0 +1,3 @@
+<Ui xmlns="http://www.blizzard.com/wow/ui/">
+ <Script file="style.lua"/>
+</Ui>
34 PatUI/modules/actionbars/style.lua
@@ -0,0 +1,34 @@
+local P, C, L = unpack(Tukui)
+
+local function style(self)
+ local name = self:GetName()
+
+ --> fixing a taint issue while changing totem flyout button in combat.
+ if name:match("MultiCast") then return end
+
+ --> don't skin the boss encounter extra button to match texture (4.3 patch)
+ --> http://www.tukui.org/storage/viewer.php?id=913811extrabar.jpg
+ if name:match("ExtraActionButton") then return end
+
+ local Count = _G[name.."Count"]
+ local HotKey = _G[name.."HotKey"]
+
+ Count:SetFont(C["media"].pixelfont, C.media.pfontsize, "MONOCHROMEOUTLINE")
+ HotKey:SetFont(C["media"].pixelfont, C.media.pfontsize, "MONOCHROMEOUTLINE")
+
+end
+hooksecurefunc("ActionButton_Update", style)
+
+TukuiStance:ClearAllPoints()
+TukuiStance:SetPoint("TOPLEFT", DataPoint6, "BOTTOMLEFT", 4, -44)
+
+local ssborder = CreateFrame("Frame", "StanceBorder", StanceButton1)
+ssborder:Point("LEFT", -P.buttonspacing, 0)
+ssborder:SetTemplate("Transparent")
+ssborder:ThickBorder()
+ssborder:SetFrameLevel(1)
+ssborder:SetFrameStrata("BACKGROUND")
+
+TukuiStance:HookScript( "OnEvent", function( self, event, ... )
+ StanceBorder:Size((( StanceButton1:GetWidth() + P.buttonspacing) * GetNumShapeshiftForms()) + P.buttonspacing, StanceButton1:GetHeight() + 2 * P.buttonspacing)
+end)
53 PatUI/modules/chat/chatframes.lua
@@ -0,0 +1,53 @@
+local P, C, L = unpack(Tukui)
+if C["chat"].enable ~= true then return end
+
+local function Skin(frame)
+ local chat = frame:GetName()
+ local tab = _G[chat.."Tab"]
+
+ -- recolor the tab
+ _G[chat.."TabText"]:SetTextColor(unpack(C.media.datatextcolor2))
+ _G[chat.."TabText"]:SetFont(C["media"].pixelfont, C.media.pfontsize, "MONOCHROMEOUTLINE")
+ _G[chat.."TabText"].SetTextColor = P.dummy
+
+ frame.isPatSkinned = true
+end
+
+TukuiChat:HookScript("OnEvent", function(self, event, addon)
+ if addon == "Blizzard_CombatLog" then
+ for i = 1, NUM_CHAT_WINDOWS do
+ local frame = _G[format("ChatFrame%s", i)]
+ Skin(frame)
+ end
+ end
+end)
+
+local function SkinTempChat()
+ local frame = FCF_GetCurrentChatFrame()
+
+ -- do a check if we already did a skinning earlier for this temp chat frame
+ if frame.isPatSkinned then return end
+
+ SkinAndPosition(frame)
+end
+
+hooksecurefunc("FCF_OpenTemporaryWindow", SkinTempChat)
+
+-- default position of chat
+P.SetDefaultChatPosition = function(frame)
+ if frame then
+ local id = frame:GetID()
+ local name = FCF_GetChatWindowInfo(id)
+
+ if id == 1 then
+ frame:Size(P.InfoLeftRightWidth, 166)
+ elseif id == 4 then
+ frame:ClearAllPoints()
+ frame:SetPoint("BOTTOMRIGHT", UIParent, "BOTTOMRIGHT", -500, -500)
+ end
+
+ -- lock them if unlocked
+ if not frame.isLocked then FCF_SetLocked(frame, 1) end
+ end
+end
+hooksecurefunc("FCF_RestorePositionAndDimensions", P.SetDefaultChatPosition)
61 PatUI/modules/classbars/combopoints.lua
@@ -0,0 +1,61 @@
+local P, C, L = unpack(Tukui)
+if C.classbar.comboPoints ~= true then return end
+TukuiCombo:Kill()
+
+-- Taken from Smelly_Combo :P
+local colors = {
+ {.69, .31, .31, 1},
+ {.65, .42, .31, 1},
+ {.65, .63, .35, 1},
+ {.46, .63, .35, 1},
+ {.33, .63, .33, 1},
+}
+
+local cpoints = CreateFrame("Frame", "TukuiComboPoints", UIParent)
+cpoints:Width(TukuiPlayer:GetWidth())
+cpoints:Height(8)
+cpoints:Point("TOP", TukuiPlayer, "BOTTOM", 5, 12)
+cpoints:SetFrameLevel(10)
+
+local points = {}
+
+for i=1,MAX_COMBO_POINTS do
+ points[i] = CreateFrame("Frame", "TukuiComboPoints_Point"..i, cpoints)
+ points[i]:SetWidth((TukuiPlayer:GetWidth()-(MAX_COMBO_POINTS + 9)) / MAX_COMBO_POINTS)
+ points[i]:SetHeight(8)
+ points[i].tex = points[i]:CreateTexture(nil, "OVERLAY")
+ points[i].tex:SetTexture(C.media.normTex)
+ points[i].tex:SetVertexColor(unpack(colors[i]))
+ points[i].tex:AllPoints(points[i])
+ points[i].BG = points[i]:CreateTexture(nil, 'BORDER')
+ points[i].BG:SetAllPoints()
+ points[i]:SetBorder(false, true)
+ points[i].BG:SetTexture(.1, .1, .1)
+ if i==1 then
+ points[i]:SetPoint("LEFT", cpoints, "LEFT", 0, 0)
+ else
+ points[i]:SetPoint("LEFT", points[i-1], "RIGHT", 1, 0)
+ end
+end
+
+local function UpdatePoints()
+ local numPoints = GetComboPoints("player", "target")
+ if numPoints <= 0 then
+ cpoints:Hide()
+ else
+ cpoints:Show()
+ for i = 1, 5 do
+ if (i <= numPoints) then
+ points[i].tex:Show()
+ else
+ points[i].tex:Hide()
+ end
+ end
+ end
+end
+
+
+cpoints:RegisterEvent("UNIT_COMBO_POINTS")
+cpoints:RegisterEvent("PLAYER_TARGET_CHANGED")
+cpoints:RegisterEvent("PLAYER_ENTERING_WORLD")
+cpoints:SetScript("OnEvent", UpdatePoints)
37 PatUI/modules/classbars/eclipsebar.lua
@@ -0,0 +1,37 @@
+local P, C, L = unpack(Tukui)
+if P.myclass ~= "DRUID" or C.unitframes.classbar ~= true then return end
+
+local font = C.media.pixelfont
+local fsize = C.media.pfontsize
+
+local self = _G["TukuiPlayer"]
+
+self.EclipseBar:ClearAllPoints()
+self.EclipseBar:SetPoint("BOTTOMLEFT", self, "TOPLEFT", 0, 6)
+self.EclipseBar:Size(self:GetWidth(), 10)
+self.EclipseBar:CreateBorder()
+
+self.EclipseBar.LunarBar:SetSize(self.EclipseBar:GetWidth(), self.EclipseBar:GetHeight())
+self.EclipseBar.SolarBar:SetSize(self.EclipseBar:GetWidth(), self.EclipseBar:GetHeight())
+
+self.EclipseBar.Text:ClearAllPoints()
+self.EclipseBar.Text:SetPoint("TOP", self.EclipseBar, 0, 25)
+self.EclipseBar.Text:SetFont(font, fsize, "MONOCHROMEOUTLINE")
+self.EclipseBar.Text:SetShadowOffset(0, 0)
+
+if C.unitframes.druidmushroombar == true then
+ self.WildMushroom:ClearAllPoints()
+ self.WildMushroom:SetPoint("BOTTOMLEFT", self, "TOPLEFT", 0, 26)
+ self.WildMushroom:Size(self:GetWidth(), 10)
+ self.WildMushroom:CreateBorder()
+
+ for i = 1, 3 do
+ self.WildMushroom[i]:Size((self:GetWidth() / 3), 10)
+
+ if( i == 1 ) then
+ self.WildMushroom[i]:SetPoint("LEFT", self.WildMushroom, "LEFT", 0, 0)
+ else
+ self.WildMushroom[i]:Point("LEFT", self.WildMushroom[i - 1], "RIGHT", 1, 0)
+ end
+ end
+end
39 PatUI/modules/classbars/harmonybar.lua
@@ -0,0 +1,39 @@
+local P, C, L = unpack(Tukui)
+if P.myclass ~= "MONK" or C.unitframes.classbar ~= true then return end
+
+local self = _G["TukuiPlayer"]
+
+self.HarmonyBar:ClearAllPoints()
+self.HarmonyBar:SetPoint("BOTTOMLEFT", self, "TOPLEFT", 0, 6)
+self.HarmonyBar:Size(self:GetWidth(), 2)
+self.HarmonyBar:CreateBoreder()
+
+local maxChi = UnitPowerMax("player", SPELL_POWER_LIGHT_FORCE)
+
+for i = 1, maxChi do
+ if(maxChi == 4) then
+ if(i == 4 or i == 3) then
+ self.HarmonyBar[i]:Size((self:GetWidth() / 4) - 1, 10)
+ else
+ self.HarmonyBar[i]:Size(self:GetWidth() / 4, 10)
+ end
+
+ if(i == 1) then
+ self.HarmonyBar[i]:SetPoint("BOTTOMLEFT", self, "TOPLEFT", 0, 6)
+ else
+ self.HarmonyBar[i]:Point("LEFT", self.HarmonyBar[i - 1], "RIGHT", 1, 0)
+ end
+ elseif(maxChi == 5) then
+ if(i == 5) then
+ self.HarmonyBar[i]:Size((self:GetWidth() / 5) - 1, 10)
+ else
+ self.HarmonyBar[i]:Size((self:GetWidth() / 5), 10)
+ end
+
+ if(i == 1) then
+ self.HarmonyBar[i]:SetPoint("BOTTOMLEFT", self, "TOPLEFT", 0, 6)
+ else
+ self.HarmonyBar[i]:Point("LEFT", self.HarmonyBar[i - 1], "RIGHT", 1, 0)
+ end
+ end
+end
24 PatUI/modules/classbars/holypower.lua
@@ -0,0 +1,24 @@
+local P, C, L = unpack(Tukui)
+if P.myclass ~= "PALADIN" or C.unitframes.classbar ~= true then return end
+
+local self = _G["TukuiPlayer"]
+
+self.HolyPower:ClearAllPoints()
+self.HolyPower:SetPoint("BOTTOMLEFT", self, "TOPLEFT", 0, 6)
+self.HolyPower:Size(self:GetWidth(), 10)
+self.HolyPower:CreateBorder()
+
+for i = 1, 5 do
+ self.HolyPower[i]:SetStatusBarColor(228/255, 225/255, 16/255)
+ if(i == 5) then
+ self.HolyPower[i]:Size((self:GetWidth() / 5) - 2, 10)
+ else
+ self.HolyPower[i]:Size((self:GetWidth() / 5), 10)
+ end
+
+ if(i == 1) then
+ self.HolyPower[i]:SetPoint("LEFT", self.HolyPower, "LEFT", 0, 0)
+ else
+ self.HolyPower[i]:Point("LEFT", self.HolyPower[i - 1], "RIGHT", 1, 0)
+ end
+end
19 PatUI/modules/classbars/load_classbars.xml
@@ -0,0 +1,19 @@
+<Ui xmlns="http://www.blizzard.com/wow/ui/">
+ <Script file="combopoints.lua"/>
+
+ <Script file="eclipsebar.lua"/>
+
+ <Script file="holypower.lua"/>
+
+ <Script file="runebars.lua"/>
+
+ <Script file="soulshards.lua"/>
+
+ <Script file="totemtimers.lua"/>
+
+ <Script file="magebar.lua"/>
+
+ <Script file="harmonybar.lua"/>
+
+ <Script file="shadoworbar.lua"/>
+</Ui>
18 PatUI/modules/classbars/magebar.lua
@@ -0,0 +1,18 @@
+local P, C, L = unpack(Tukui)
+if C.unitframes.mageclassbar ~= true or P.myclass ~= "MAGE" then return end
+
+local self = _G["TukuiPlayer"]
+
+self.ArcaneChargeBar:ClearAllPoints()
+self.ArcaneChargeBar:SetPoint("BOTTOMLEFT", self, "TOPLEFT", 0, 6)
+self.ArcaneChargeBar:Size(self:GetWidth(), 10)
+self.ArcaneChargeBar:CreateBorder()
+
+for i = 1, 6 do
+ self.ArcaneChargeBar[i]:Size((self:GetWidth() / 6) - 1 , 10)
+ if(i == 1) then
+ self.ArcaneChargeBar[i]:SetPoint("BOTTOMLEFT", self, "TOPLEFT", 0, 6)
+ else
+ self.ArcaneChargeBar[i]:Point("LEFT", self.ArcaneChargeBar[i - 1], "RIGHT", 1, 0)
+ end
+end
20 PatUI/modules/classbars/runebars.lua
@@ -0,0 +1,20 @@
+local P, C, L = unpack(Tukui)
+if P.myclass ~= "DEATHKNIGHT" or C.unitframes.classbar ~= true then return end
+
+local self = _G["TukuiPlayer"]
+
+if(C["unitframes"]["classbar"] == true) then
+ self.Runes:ClearAllPoints()
+ self.Runes:SetPoint("BOTTOMLEFT", self, "TOPLEFT", 0, 6)
+ self.Runes:Size(self:GetWidth(), 10)
+ self.Runes:CreateBorder()
+
+ for i = 1, 6 do
+ self.Runes[i]:Size((self:GetWidth() / 6) - 1, 10)
+ if(i == 1) then
+ self.Runes[i]:SetPoint("BOTTOMLEFT", self, "TOPLEFT", 0, 6)
+ else
+ self.Runes[i]:Point("LEFT", self.Runes[i - 1], "RIGHT", 1, 0)
+ end
+ end
+end
19 PatUI/modules/classbars/shadoworbar.lua
@@ -0,0 +1,19 @@
+local P, C, L = unpack(Tukui)
+if P.myclass ~= "PRIEST" or C.unitframes.classbar ~= true then return end
+
+self = _G["TukuiPlayer"]
+
+self.ShadowOrbsBar:ClearAllPoints()
+self.ShadowOrbsBar:SetPoint("BOTTOMLEFT", self, "TOPLEFT", 0, 6)
+self.ShadowOrbsBar:Size(self:GetWidth(), 10)
+self.ShadowOrbsBar:CreateBorder()
+
+for i = 1, 3 do
+ self.ShadowOrbsBar[i]:Size((self:GetWidth() / 3) - 1, 10)
+
+ if(i == 1) then
+ self.ShadowOrbsBar[i]:SetPoint("LEFT", self.ShadowOrbsBar, "LEFT", 0, 0)
+ else
+ self.ShadowOrbsBar[i]:Point("LEFT", self.ShadowOrbsBar[i - 1], "RIGHT", 1, 0)
+ end
+end
19 PatUI/modules/classbars/soulshards.lua
@@ -0,0 +1,19 @@
+local P, C, L = unpack(Tukui)
+if P.myclass ~= "WARLOCK" or C.unitframes.classbar ~= true then return end
+
+self = _G["TukuiPlayer"]
+
+self.WarlockSpecBars:ClearAllPoints()
+self.WarlockSpecBars:SetPoint("BOTTOMLEFT", self, "TOPLEFT", 0, 6)
+self.WarlockSpecBars:Size(self:GetWidth(), 10)
+self.WarlockSpecBars:CreateBorder()
+
+for i = 1, 4 do
+ self.WarlockSpecBars[i]:Size((self:GetWidth() / 4), 10)
+
+ if(i == 1) then
+ self.WarlockSpecBars[i]:SetPoint("LEFT", self.WarlockSpecBars, "LEFT", 0, 0)
+ else
+ self.WarlockSpecBars[i]:Point("LEFT", self.WarlockSpecBars[i - 1], "RIGHT", 1, 0)
+ end
+end
17 PatUI/modules/classbars/totemtimers.lua
@@ -0,0 +1,17 @@
+local P, C, L = unpack(Tukui)
+if P.myclass ~= "SHAMAN" or C.unitframes.classbar ~= true then return end
+
+local self = _G["TukuiPlayer"]
+
+for i = 1, 4 do
+ self.TotemBar[i]:ClearAllPoints()
+ self.TotemBar[i]:Size((self:GetWidth() / 4) - 7, 8)
+
+ if(i == 1) then
+ self.TotemBar[i]:SetPoint("BOTTOMLEFT", self, "TOPLEFT", 0, 6)
+ else
+ self.TotemBar[i]:Point("LEFT", self.TotemBar[i - 1], "RIGHT", 9, 0)
+ end
+
+ self.TotemBar[i]:CreateBorder()
+end
60 PatUI/modules/datatext/datatext.lua
@@ -0,0 +1,60 @@
+local P, C, L = unpack(Tukui)
+
+-- our own datatext position function because we made our custom panel
+local DataTextPosition = function(f, t, o)
+ local points = {DataPoint1, DataPoint2, DataPoint3, DataPoint4, DataPoint5, DataPoint6}
+
+ if o >= 1 and o <= 6 then
+ t:ClearAllPoints()
+ t:SetParent(points[o])
+ t:SetPoint("TOPLEFT")
+ t:SetPoint("BOTTOMRIGHT", 0, 1)
+ else
+ -- hide everything that we don't use and enabled by default on tukui
+ f:Hide()
+ t:Hide()
+ end
+end
+
+-- Tukui DataText List
+local datatext = {
+ "Guild",
+ "Friends",
+ "Gold",
+ "FPS",
+ "System",
+ "Bags",
+ "Gold",
+ "Time",
+ "Durability",
+ "Heal",
+ "Damage",
+ "Power",
+ "Haste",
+ "Crit",
+ "Avoidance",
+ "Armor",
+ "Currency",
+ "Hit",
+ "Mastery",
+ "MicroMenu",
+ "Regen",
+ "Talent",
+ "CallToArms",
+}
+
+-- Overwrite & Update Show/Hide/Position of all Datatext
+for _, data in pairs(datatext) do
+ local t = "TukuiStat"
+ local frame = _G[t..data]
+ local text = _G[t..data.."Text"]
+
+ if frame and frame.Option then
+ DataTextPosition(frame, text, frame.Option)
+ text:SetFont(C["media"].pixelfont, C.media.pfontsize, "MONOCHROMEOUTLINE")
+ end
+end
+
+if C.datatext.friends > 0 then
+ TukuiStatFriendsText:SetShadowOffset(0, 0)
+end
11 PatUI/modules/load_modules.xml
@@ -0,0 +1,11 @@
+<Ui xmlns="http://www.blizzard.com/wow/ui/">
+ <Script file="panels\panels.lua"/>
+ <Script file="chat\chatframes.lua"/>
+ <Script file="datatext\datatext.lua"/>
+
+ <Include file="actionbars\load_actionbars.xml"/>
+ <Include file="unitframes\load_unitframes.xml"/>
+ <Include file="classbars\load_classbars.xml"/>
+ <Include file="misc\load_misc.xml"/>
+ <Include file="skins\load_skins.xml"/>
+</Ui>
21 PatUI/modules/misc/altpowerbar.lua
@@ -0,0 +1,21 @@
+local P, C, L = unpack(Tukui)
+
+local bar = TukuiAltPowerBar
+local status = TukuiAltPowerBarStatus
+local text = TukuiAltPowerBarText
+
+-- position the bar
+bar:SetParent(UIParent)
+bar:ClearAllPoints()
+bar:Size(250, 21)
+bar:SetPoint("TOP", 0, -130)
+bar:SetTemplate()
+
+-- position status bar
+status:SetParent(bar)
+status:ClearAllPoints()
+status:Point("TOPLEFT", 2, -2)
+status:Point("BOTTOMRIGHT", -2, 2)
+
+-- change the font
+text:SetFont(C["media"].pixelfont, C.media.pfontsize, "MONOCHROMEOUTLINE")
25 PatUI/modules/misc/capturebar.lua
@@ -0,0 +1,25 @@
+local P, C, L = unpack(Tukui)
+
+WorldStateAlwaysUpFrame:ClearAllPoints()
+WorldStateAlwaysUpFrame:SetPoint("TOP", UIParent, "TOP", 0, -45)
+
+-- reposition capture bar to top/center of the screen
+local function CaptureUpdate()
+ if NUM_EXTENDED_UI_FRAMES then
+ local captureBar
+ for i=1, NUM_EXTENDED_UI_FRAMES do
+ captureBar = getglobal("WorldStateCaptureBar" .. i)
+
+ if captureBar and captureBar:IsVisible() then
+ captureBar:ClearAllPoints()
+
+ if( i == 1 ) then
+ captureBar:Point("TOP", WorldStateAlwaysUpFrame, "BOTTOM", 0, -40)
+ else
+ captureBar:Point("TOPLEFT", getglobal("WorldStateCaptureBar" .. i - 1 ), "TOPLEFT", 0, -25)
+ end
+ end
+ end
+ end
+end
+hooksecurefunc("UIParent_ManageFramePositions", CaptureUpdate)
6 PatUI/modules/misc/load_misc.xml
@@ -0,0 +1,6 @@
+<Ui xmlns="http://www.blizzard.com/wow/ui/">
+ <Script file="altpowerbar.lua"/>
+ <Script file="threatbar.lua"/>
+ <Script file="capturebar.lua"/>
+ <Script file="mail.lua"/>
+</Ui>
140 PatUI/modules/misc/mail.lua
@@ -0,0 +1,140 @@
+local P, C, L = unpack(Tukui)
+----------------------------------------------------------------------------------------
+-- Grab mail in 1 button(OpenAll by Kemayo)
+----------------------------------------------------------------------------------------
+
+local COPPER_ICON = "|TInterface\\MONEYFRAME\\UI-CopperIcon:0:0:0:-1|t"
+local SILVER_ICON = "|TInterface\\MONEYFRAME\\UI-SilverIcon:0:0:0:-1|t"
+local GOLD_ICON = "|TInterface\\MONEYFRAME\\UI-GoldIcon:0:0:0:-1|t"
+local L_MAIL_STOPPED = ERR_INV_FULL
+local L_MAIL_COMPLETE = DONE
+local L_MAIL_NEED = "Need a mailbox."
+local L_MAIL_MESSAGES = "Messages"
+local deletedelay, t = 0.5, 0
+local takingOnlyCash = false
+local button, button2, waitForMail, openAll, openAllCash, openMail, lastopened, stopOpening, onEvent, needsToWait, copper_to_pretty_money, total_cash
+local _G = _G
+local baseInboxFrame_OnClick
+
+function openAll()
+ if GetInboxNumItems() == 0 then return end
+ button:SetScript("OnClick", nil)
+ button2:SetScript("OnClick", nil)
+ baseInboxFrame_OnClick = InboxFrame_OnClick
+ InboxFrame_OnClick = function() end
+ button:RegisterEvent("UI_ERROR_MESSAGE")
+ openMail(GetInboxNumItems())
+end
+
+function openAllCash()
+ takingOnlyCash = true
+ openAll()
+end
+
+function openMail(index)
+ if not InboxFrame:IsVisible() then return stopOpening("|cffffff00"..L_MAIL_NEED) end
+ if index == 0 then MiniMapMailFrame:Hide() stopOpening("|cffffff00"..L_MAIL_COMPLETE) return end
+ local _, _, _, _, money, COD, _, numItems = GetInboxHeaderInfo(index)
+ if money > 0 then
+ TakeInboxMoney(index)
+ needsToWait = true
+ if total_cash then total_cash = total_cash - money end
+ elseif (not takingOnlyCash) and numItems and (numItems > 0) and COD <= 0 then
+ TakeInboxItem(index)
+ needsToWait = true
+ end
+
+ local items = GetInboxNumItems()
+ if (numItems and numItems > 1) or (items > 1 and index <= items) then
+ lastopened = index
+ t = 0
+ button:SetScript("OnUpdate", waitForMail)
+ else
+ stopOpening("|cffffff00"..L_MAIL_COMPLETE)
+ MiniMapMailFrame:Hide()
+ end
+end
+
+function waitForMail(self,elapsed)
+ t = t + elapsed
+ if (not needsToWait) or (t > deletedelay) then
+ needsToWait = false
+ button:SetScript("OnUpdate", nil)
+ local _, _, _, _, money, COD, _, numItems = GetInboxHeaderInfo(lastopened)
+ if money > 0 or ((not takingOnlyCash) and COD <= 0 and numItems and (numItems > 0)) then
+ openMail(lastopened)
+ else
+ openMail(lastopened - 1)
+ end
+ end
+end
+
+function stopOpening(msg, ...)
+ button:SetScript("OnUpdate", nil)
+ button:SetScript("OnClick", openAll)
+ button2:SetScript("OnClick", openAllCash)
+ if baseInboxFrame_OnClick then
+ InboxFrame_OnClick = baseInboxFrame_OnClick
+ end
+ button:UnregisterEvent("UI_ERROR_MESSAGE")
+ takingOnlyCash = false
+ total_cash = nil
+ if msg then DEFAULT_CHAT_FRAME:AddMessage(msg, ...) end
+end
+
+function onEvent(frame, event, arg1, arg2, arg3, arg4)
+ if event == "UI_ERROR_MESSAGE" then
+ if arg1 == ERR_INV_FULL then
+ stopOpening("|cffffff00"..L_MAIL_STOPPED)
+ end
+ end
+end
+
+local function makeButton(id, text, w, h, x, y)
+ local button = CreateFrame("Button", id, InboxFrame, "UIPanelButtonTemplate")
+ button:SetWidth(w)
+ button:SetHeight(h)
+ button:SetPoint("CENTER", InboxFrame, "TOP", x, y)
+ button:SetText(text)
+ return button
+end
+
+button = makeButton("TakeAll_Button", ALL, 55, 25, -55, -408)
+button:SetScript("OnClick", openAll)
+button:SetScript("OnEvent", onEvent)
+button2 = makeButton("TakeCash_Button", GUILDCONTROL_OPTION16, 85, 25, 18, -408)
+button2:SetScript("OnClick", openAllCash)
+
+P.SkinButton(TakeAll_Button)
+P.SkinButton(TakeCash_Button)
+
+button:SetScript("OnEnter", function()
+ GameTooltip:SetOwner(button, "ANCHOR_RIGHT")
+ GameTooltip:AddLine(string.format("%d "..L_MAIL_MESSAGES, GetInboxNumItems()), 1, 1, 1)
+ GameTooltip:Show()
+end)
+button:SetScript("OnLeave", function() GameTooltip:Hide() end)
+
+function copper_to_pretty_money(c)
+ if c > 10000 then
+ return ("%d|cffffd700"..GOLD_ICON.."|r %d|cffc7c7cf"..SILVER_ICON.."|r %d|cffeda55f"..COPPER_ICON.."|r"):format(c/10000, (c/100)%100, c%100)
+ elseif c > 100 then
+ return ("%d|cffc7c7cf"..SILVER_ICON.."|r %d|cffeda55f"..COPPER_ICON.."|r"):format((c/100)%100, c%100)
+ else
+ return ("%d|cffeda55f"..COPPER_ICON.."|r"):format(c%100)
+ end
+end
+
+button2:SetScript("OnEnter", function()
+ if not total_cash then
+ total_cash = 0
+ for index = 0, GetInboxNumItems() do
+ total_cash = total_cash + select(5, GetInboxHeaderInfo(index))
+ end
+ end
+ GameTooltip:SetOwner(button, "ANCHOR_RIGHT")
+ GameTooltip:AddLine(copper_to_pretty_money(total_cash), 1, 1, 1)
+ GameTooltip:Show()
+end)
+
+button2:SetScript("OnLeave", function() GameTooltip:Hide() end)
18 PatUI/modules/misc/threatbar.lua
@@ -0,0 +1,18 @@
+local P, C, L = unpack(Tukui)
+
+local status = TukuiThreatBar
+
+status:SetParent(UIParent)
+status:Size(250, 21)
+status:ClearAllPoints()
+status:Point("TOP", UIParent, "TOP", 0, -160)
+
+local background = CreateFrame("Frame", nil, status)
+background:SetFrameLevel(status:GetFrameLevel() - 1)
+background:Point("TOPLEFT", -2, 2)
+background:Point("BOTTOMRIGHT", 2, -2)
+background:SetTemplate("Transparent")
+background:ThickBorder()
+
+status.text:SetFont(C["media"].pixelfont, C.media.pfontsize, "MONOCHROMEOUTLINE")
+status.Title:SetFont(C["media"].pixelfont, C.media.pfontsize, "MONOCHROMEOUTLINE")
59 PatUI/modules/panels/panels.lua
@@ -0,0 +1,59 @@
+local P, C, L = unpack(Tukui)
+
+------------------------------------------------------------------------
+-- Create Datatext frames
+------------------------------------------------------------------------
+
+local DataPoint = {}
+
+for i=1, 6 do
+ DataPoint[i] = CreateFrame("Frame", "DataPoint"..i, UIParent)
+ DataPoint[i]:SetTemplate("Transparent")
+ DataPoint[i]:ThickBorder()
+ DataPoint[i]:SetWidth(90)
+ DataPoint[i]:SetHeight(20)
+
+ if (i == 1) then
+ DataPoint[i]:Point("TOPLEFT", UIParent, "TOPLEFT", 2, -2)
+ else
+ DataPoint[i]:Point("TOPLEFT", "DataPoint"..i - 1, "BOTTOMLEFT", 0, -3)
+ end
+end
+
+local panels = {
+ TukuiMinimapStatsLeft,
+ TukuiMinimapStatsRight,
+ TukuiInfoLeftLineVertical,
+ TukuiInfoRightLineVertical,
+ TukuiLineToABLeft,
+ TukuiLineToABRight,
+ TukuiCubeLeft,
+ TukuiCubeRight,
+ TukuiLineToABLeftAlt,
+ TukuiLineToABRightAlt,
+ TukuiLineToPetActionBarBackground,
+}
+
+for _, panel in pairs(panels) do
+ panel:Kill()
+end
+
+for i = 1, 7 do
+ local bar = _G["TukuiBar"..i]
+ bar:SetBackdrop(nil)
+ bar:HideInsets()
+ TukuiPetBar:SetBackdrop(nil)
+ TukuiPetBar:HideInsets()
+end
+
+
+TukuiInfoLeft:SetAlpha(0)
+TukuiInfoRight:SetAlpha(0)
+
+chatbg = CreateFrame("Frame", "ChatBackground", UIParent)
+chatbg:SetTemplate("Transparent")
+chatbg:ThickBorder()
+chatbg:SetFrameStrata("BACKGROUND")
+chatbg:SetWidth(P.InfoLeftRightWidth + 12)
+chatbg:SetHeight(177)
+chatbg:Point("BOTTOMLEFT", UIParent, "BOTTOMLEFT", 30, 40)
3 PatUI/modules/skins/load_skins.xml
@@ -0,0 +1,3 @@
+<Ui xmlns="http://www.blizzard.com/wow/ui/">
+ <Script file="templates.lua"/>
+</Ui>
125 PatUI/modules/skins/templates.lua
@@ -0,0 +1,125 @@
+local P, C, L = unpack(Tukui)
+
+-- Overriding defualt Tukui Skin Templates here if I can.
+local frames = {
+ CharacterFrame,
+ FriendsFrame,
+ SpellBookFrame.backdrop,
+ QuestLogFrame,
+ VideoOptionsFrame,
+ InterfaceOptionsFrame,
+ WorldMapFrame.backdrop,
+ QuestFrame.backdrop,
+ GossipFrame.backdrop,
+ GameMenuFrame,
+ WorldStateScoreFrame,
+ MailFrame,
+ OpenMailFrame,
+ PVPFrame.backdrop,
+ PVEFrame.backdrop,
+ MerchantFrame,
+ MerchantBuyBackItem,
+ TukuiInstallFrame,
+ ItemTextFrame,
+ LFGDungeonReadyPopup,
+ QuestLogDetailFrame,
+ GuildInviteFrame,
+ DressUpFrame.backdrop,
+ ChatConfigFrame,
+ StaticPopup1,
+ StaticPopup3,
+ PetJournalParent,
+}
+
+local OnLoad = CreateFrame("Frame")
+OnLoad:RegisterEvent("PLAYER_ENTERING_WORLD")
+OnLoad:SetScript("OnEvent", function()
+ for _,f in pairs(frames) do
+ f:SetTemplate("Transparent")
+ f:ThickBorder()
+ end
+end)
+
+-----------------------------------------------
+--Test to skin other frames
+-----------------------------------------------
+
+local myAddon = "PatUI"
+
+local function SkinBlizzardFrames(self, event, addon)
+ if(addon == myAddon) then
+
+ elseif(addon == "Blizzard_AchievementUI") then
+ AchievementFrame.backdrop:SetTemplate("Transparent")
+ AchievementFrame:ThickBorder()
+ elseif(addon == "Blizzard_ArchaeologyUI") then
+ ArchaeologyFrame:SetTemplate("Transparent")
+ ArchaeologyFrame:ThickBorder()
+ elseif(addon == "Blizzard_AuctionUI") then
+ AuctionFrame:SetTemplate("Transparent")
+ AuctionFrame:ThickBorder()
+ elseif(addon == "Blizzard_BarbershopUI") then
+ BarberShopFrame:SetTemplate("Transparent")
+ BarberShopFrame:ThickBorder()
+ elseif(addon == "Blizzard_BindingUI") then
+ KeyBindingFrame:SetTemplate( "Transparent")
+ KeyBindingFrame:ThickBorder()
+ elseif(addon == "Blizzard_Calendar") then
+ CalendarFrame:SetTemplate("Transparent")
+ CalendarCreateEventFrame:SetTemplate("Transparent")
+ CalendarTexturePickerFrame:SetTemplate("Transparent")
+ CalendarFrame:ThickBorder()
+ CalendarCreateEventFrame:ThickBorder()
+ CalendarTexturePickerFrame:ThickBorder()
+ CalendarViewHolidayFrame:SetTemplate("Transparent")
+ CalendarViewHolidayFrame:ThickBorder()
+ elseif(addon == "Blizzard_TimeManager") then
+ TimeManagerFrame:SetTemplate("Transparent")
+ TimeManagerFrame:ThickBorder()
+ elseif(addon == "Blizzard_TalentUI") then
+ PlayerTalentFrame.backdrop:SetTemplate("Transparent")
+ PlayerTalentFrame.backdrop:ThickBorder()
+ elseif(addon == "Blizzard_GuildUI") then
+ GuildFrame:SetTemplate("Transparent")
+ GuildFrame:ThickBorder()
+ GuildMemberDetailFrame:SetTemplate("Transparent")
+ GuildMemberDetailFrame:ThickBorder()
+ GuildLogFrame:SetTemplate("Transparent")
+ GuildLogFrame:ThickBorder()
+ GuildNewsFiltersFrame:SetTemplate("Transparent")
+ GuildNewsFiltersFrame:ThickBorder()
+ GuildTextEditFrame:SetTemplate("Transparent")
+ GuildTextEditFrame:ThickBorder()
+ elseif(addon == "Blizzard_GuildBankUI") then
+ GuildBankFrame:SetTemplate("Transparent")
+ GuildBankFrame:ThickBorder()
+ elseif(addon == "Blizzard_MacroUI") then
+ MacroFrame:SetTemplate("Transparent")
+ MacroFrame:ThickBorder()
+ elseif(addon == "Blizzard_VoidStorageUI") then
+ VoidStorageFrame:SetTemplate("Transparent")
+ VoidStorageFrame:ThickBorder()
+ elseif(addon == "Blizzard_ReforgingUI") then
+ ReforgingFrame:SetTemplate("Transparent")
+ ReforgingFrame:ThickBorder()
+ elseif(addon == "Blizzard_TrainerUI") then
+ ClassTrainerFrame.backdrop:SetTemplate("Transparent")
+ ClassTrainerFrame.backdrop:ThickBorder()
+ elseif(addon == "Blizzard_InspectUI") then
+ InspectFrame.backdrop:SetTemplate("Transparent")
+ InspectFrame.backdrop:ThickBorder()
+ elseif(addon == "Blizzard_TradeSkillUI") then
+ TradeSkillFrame:SetTemplate("Transparent")
+ TradeSkillFrame:ThickBorder()
+ elseif(addon == "Blizzard_ItemAlterationUI") then
+ TransmogrifyArtFrame:SetTemplate("Transparent")
+ TransmogrifyArtFrame:ThickBorder()
+ elseif(addon == "Blizzard_LookingForGuildUI") then
+ LookingForGuildFrame:SetTemplate("Transparent")
+ LookingForGuildFrame:ThickBorder()
+ end
+end
+
+local Init = CreateFrame("Frame")
+Init:RegisterEvent("ADDON_LOADED")
+Init:SetScript("OnEvent", SkinBlizzardFrames)
8 PatUI/modules/unitframes/arena.lua
@@ -0,0 +1,8 @@
+local T, C, L = unpack(Tukui) -- Import: T - functions, constants, variables; C - config; L - locales
+if C.unitframes.enable ~= true then return end
+local font1 = C.media.pixelfont
+
+-- Arena
+for i = 1, 5 do
+ local frame = _G["TukuiArena"..i]
+end
9 PatUI/modules/unitframes/boss.lua
@@ -0,0 +1,9 @@
+-- Tainting UI commiting out until can figure out why.
+local T, C, L = unpack(Tukui) -- Import: T - functions, constants, variables; C - config; L - locales
+if C.unitframes.enable ~= true then return end
+local font1 = C.media.pixelfont
+
+-- Bosses
+for i = 1, MAX_BOSS_FRAMES do
+ local frame = _G["TukuiBoss"..i]
+end
62 PatUI/modules/unitframes/focus.lua
@@ -0,0 +1,62 @@
+local P, C, L = unpack(Tukui)
+if C.unitframes.enable ~= true then return end
+
+------------------------------------------------------------------------
+-- local variables
+------------------------------------------------------------------------
+local self = _G["TukuiFocus"]
+local font = C.media.pixelfont
+local fsize = C.media.pfontsize
+
+P.Focus = 116
+
+------------------------------------------------------------------------
+-- Kill things
+------------------------------------------------------------------------
+
+self.shadow:Kill()
+self.Debuffs:Kill()
+self.Castbar.Icon:Kill()
+self.Castbar.button:Kill()
+
+------------------------------------------------------------------------
+-- Setup Focus Frame
+------------------------------------------------------------------------
+
+self:Size(P.Focus, 30)
+
+self.Health:SetHeight(30)
+self.Health:CreateBorder()
+self.Health:SetFrameLevel(4)
+self.Health.bg:SetVertexColor(.25, .1, .1)
+self.Health.bg:SetTexture(C["media"].blank)
+
+self.Power:ClearAllPoints()
+self.Power:Point("TOP", self.Health, "BOTTOM", 0, 4)
+self.Power:SetHeight(8)
+self.Power:SetWidth(78)
+self.Power:CreateBorder()
+self.Power:SetFrameLevel(6)
+self.Power.colorTapping = true
+self.Power.colorPower = true
+
+self.Health.value = P.SetFontString(self.Health, font, fsize, "MONOCHROMEOUTLINE")
+self.Health.value:Point("TOPLEFT", self.Health, "TOPLEFT", 2, 0)
+
+self.Power.value = P.SetFontString(self.Health, font, fsize, "MONOCHROMEOUTLINE")
+self.Power.value:Point("TOPRIGHT", self.Health, "TOPRIGHT", -2, 0)
+
+self.Name:SetFont(font, fsize, "MONOCHROMEOUTLINE")
+self.Name:SetShadowOffset(0, 0)
+
+self.Castbar:ClearAllPoints()
+self.Castbar:SetHeight(P.Scale(35))
+self.Castbar:SetWidth(P.Scale(490))
+self.Castbar:SetPoint("TOP", UIParent, "TOP", 0, -190)
+self.Castbar:SetBorder(false, true)
+
+self.Castbar.Time = P.SetFontString(self.Castbar, font, fsize, "MONOCHROMEOUTLINE")
+self.Castbar.Time:Point("RIGHT", self.Castbar, "RIGHT", -4, 0)
+
+self.Castbar.Text = P.SetFontString(self.Castbar, font, fsize, "MONOCHROMEOUTLINE")
+self.Castbar.Text:Point("LEFT", self.Castbar, "LEFT", 4, 0)
10 PatUI/modules/unitframes/load_unitframes.xml
@@ -0,0 +1,10 @@
+<Ui xmlns="http://www.blizzard.com/wow/ui/">
+ <Script file="player.lua"/>
+ <Script file="target.lua"/>
+ <Script file="pet.lua"/>
+ <Script file="tot.lua"/>
+ <Script file="focus.lua"/>
+ <Script file="points.lua"/>
+ <Script file="arena.lua"/>
+ <Script file="boss.lua"/>
+</Ui>
31 PatUI/modules/unitframes/pet.lua
@@ -0,0 +1,31 @@
+local P, C, L = unpack(Tukui) -- Import: T - functions, constants, variables; C - config; L - locales
+if C.unitframes.enable ~= true then return end
+
+------------------------------------------------------------------------
+-- local variables
+------------------------------------------------------------------------
+local font = C.media.pixelfont
+local fsize = C.media.pfontsize
+local self = _G["TukuiPet"]
+
+if P.lowversion then
+ P.Pet = 182
+else
+ P.Pet = 130
+end
+
+self.panel:Kill()
+self.shadow:Kill()
+
+------------------------------------------------------------------------
+-- Setup Pet Frames Here
+------------------------------------------------------------------------
+
+self:Size(P.Pet, 18)
+
+self.Health:Height(18)
+self.Health:CreateBorder()
+
+self.Power:Kill()
+
+self.Name:SetFont(font, fsize, "MONOCHROMEOUTLINE")
111 PatUI/modules/unitframes/player.lua
@@ -0,0 +1,111 @@
+local P, C, L = unpack(Tukui)
+if C.unitframes.enable ~= true then return end
+
+------------------------------------------------------------------------
+-- local variables
+------------------------------------------------------------------------
+local self = _G["TukuiPlayer"]
+local font = C.media.pixelfont
+local fsize = C.media.pfontsize
+
+if P.lowversion then
+ P.Player = 182
+else
+ P.Player = 227
+end
+
+self.panel:Kill()
+self.shadow:Kill()
+self.FlashInfo:Kill()
+
+------------------------------------------------------------------------
+-- Setup Player Frames
+------------------------------------------------------------------------
+
+self:Size(P.Player, 30)
+
+
+self.Health:SetHeight(30)
+self.Health:CreateBorder()
+self.Health:SetFrameLevel(4)
+self.Health.bg:SetVertexColor(.25, .1, .1)
+self.Health.bg:SetTexture(C["media"].blank)
+
+
+self.Power:ClearAllPoints()
+self.Power:Point("TOP", self.Health, "BOTTOM", 0, 4)
+self.Power:SetHeight(8)
+self.Power:SetWidth(190)
+self.Power:CreateBorder()
+self.Power:SetFrameLevel(5)
+self.Power.colorTapping = true
+self.Power.colorPower = true
+
+self.Health.value = P.SetFontString(self.Health, font, fsize, "MONOCHROMEOUTLINE")
+self.Health.value:Point("TOPLEFT", self.Health, "TOPLEFT", 2, 0)
+
+self.Power.value = P.SetFontString(self.Health, font, fsize, "MONOCHROMEOUTLINE")
+self.Power.value:Point("TOPRIGHT", self.Health, "TOPRIGHT", -2, 0)
+
+-- Castbar
+self.Castbar:ClearAllPoints()
+self.Castbar:SetBorder(false, true)
+self.Castbar:Size((TukuiBar4:GetWidth()-8), 25)
+self.Castbar:Point("BOTTOM", TukuiBar4, "TOP", 0, 0)
+
+self.Castbar.Time = P.SetFontString(self.Castbar, font, fsize, "MONOCHROMEOUTLINE")
+self.Castbar.Time:Point("RIGHT", self.Castbar, "RIGHT", -4, 0)
+
+self.Castbar.Text = P.SetFontString(self.Castbar, font, fsize, "MONOCHROMEOUTLINE")
+self.Castbar.Text:Point("LEFT", self.Castbar, "LEFT", 4, 0)
+self.Castbar.Text:Width(120)
+self.Castbar.Text:Height(10)
+
+-- experience bar on player via mouseover for player currently leveling a character
+if P.level ~= MAX_PLAYER_LEVEL then
+ self.Experience:Width(5)
+ self.Experience:Height(140)
+ self.Experience:ClearAllPoints()
+ self.Experience:Point("LEFT", TukuiMinimap, "RIGHT", 5, 0)
+ self.Experience:SetOrientation("Vertical")
+ self.Experience.Rested:SetOrientation("Vertical")
+ self.Experience:SetFrameLevel(10)
+ self.Experience:SetAlpha(1)
+ self.Experience:HookScript("OnLeave", function(self) self:SetAlpha(1) end)
+
+ local xpBG = CreateFrame("Frame", nil,self.Experience)
+ xpBG:SetTemplate("Transparent")
+ xpBG:SetWidth(self.Experience:GetWidth())
+ xpBG:SetHeight(self.Experience:GetHeight())
+ xpBG:Point("TOPLEFT", self.Experience, "TOPLEFT", -2, 2)
+ xpBG:Point("BOTTOMRIGHT", self.Experience, "BOTTOMRIGHT", 2, -2)
+ xpBG:SetFrameLevel(self.Experience:GetFrameLevel() - 1)
+ xpBG:SetFrameStrata("BACKGROUND")
+ xpBG:ThickBorder()
+
+ self.Resting:SetTexture(nil)
+end
+
+-- reputation bar for max level character
+if P.level == MAX_PLAYER_LEVEL then
+ self.Reputation:SetOrientation("Vertical")
+ self.Reputation:Width(5)
+ self.Reputation:Height(140)
+ self.Reputation:ClearAllPoints()
+ self.Reputation:Point("LEFT", TukuiMinimap, "RIGHT", 5, 0)
+ self.Reputation:SetFrameLevel(10)
+ self.Reputation:SetOrientation("Vertical")
+ self.Reputation:SetAlpha(1)
+ self.Reputation:HookScript("OnLeave", function(self) self:SetAlpha(1) end)
+ self.Reputation:SetParent(TukuiMinimap)
+
+ local repBG = CreateFrame("Frame", nil, self.Reputation)
+ repBG:SetTemplate("Transparent")
+ repBG:SetWidth(self.Reputation:GetWidth())
+ repBG:SetHeight(self.Reputation:GetHeight())
+ repBG:Point("TOPLEFT", self.Reputation, "TOPLEFT", -2, 2)
+ repBG:Point("BOTTOMRIGHT", self.Reputation, "BOTTOMRIGHT", 2, -2)
+ repBG:SetFrameLevel(self.Reputation:GetFrameLevel() - 1)
+ repBG:SetFrameStrata("BACKGROUND")
+ repBG:ThickBorder()
+end
19 PatUI/modules/unitframes/points.lua
@@ -0,0 +1,19 @@
+local P, C, L = unpack(Tukui)
+if C.unitframes.enable ~= true then return end
+
+------------------------------------------------------------------------
+-- Setup Frame Points
+------------------------------------------------------------------------
+
+TukuiPlayer:ClearAllPoints()
+TukuiTarget:ClearAllPoints()
+TukuiPet:ClearAllPoints()
+TukuiTargetTarget:ClearAllPoints()
+TukuiFocus:ClearAllPoints()
+
+TukuiPlayer:Point("TOP", UIParent, "BOTTOM", -179 , 230)
+TukuiPet:Point("TOPLEFT", TukuiPlayer, "BOTTOMLEFT", 0, -13)
+TukuiTargetTarget:Point("TOPRIGHT", TukuiTarget, "BOTTOMRIGHT", 0, -13)
+TukuiTarget:Point("TOP", UIParent, "BOTTOM", 179, 230)
+TukuiFocus:Point("LEFT", TukuiPlayer, "RIGHT", 7, 0)
+
112 PatUI/modules/unitframes/target.lua
@@ -0,0 +1,112 @@
+local P, C, L = unpack(Tukui)
+if C.unitframes.enable ~= true then return end
+
+------------------------------------------------------------------------
+-- local variables
+------------------------------------------------------------------------
+local self = _G["TukuiTarget"]
+local font = C.media.pixelfont
+local fsize = C.media.pfontsize
+
+if P.lowversion then
+ P.Target = 182
+else
+ P.Target = 226
+end
+
+self.panel:Kill()
+self.shadow:Kill()
+
+------------------------------------------------------------------------
+-- Setup Target Frames
+------------------------------------------------------------------------
+
+self:Size(P.Target + 4, 30)
+
+self.Name:SetFont(font, fsize, "MONOCHROMEOUTLINE")
+
+self.Health:SetHeight(30)
+self.Health:CreateBorder()
+self.Health:SetFrameLevel(4)
+self.Health.bg:SetVertexColor(.25, .1, .1)
+self.Health.bg:SetTexture(C["media"].blank)
+
+self.Power:ClearAllPoints()
+self.Power:Point("TOP", self.Health, "BOTTOM", 0, 4)
+self.Power:SetHeight(8)
+self.Power:SetWidth(190)
+self.Power:CreateBorder()
+self.Power:SetFrameLevel(5)
+self.Power.colorTapping = true
+self.Power.colorPower = true
+
+self.Health.value = P.SetFontString(self.Health, font, fsize, "MONOCHROMEOUTLINE")
+self.Health.value:Point("TOPLEFT", self.Health, "TOPLEFT", 2, 0)
+
+self.Power.value = P.SetFontString(self.Health, font, fsize, "MONOCHROMEOUTLINE")
+self.Power.value:Point("TOPRIGHT", self.Health, "TOPRIGHT", -2, 0)
+
+-- setup castbar
+self.Castbar:ClearAllPoints()
+self.Castbar:SetBorder(false, true)
+self.Castbar:Size(250, 25)
+self.Castbar:Point("CENTER", UIParent, "CENTER", 0, -150)
+self.Castbar:SetFrameLevel(4)
+
+self.Castbar.Time = P.SetFontString(self.Castbar, font, C.media.pfontsize, "MONOCHROMEOUTLINE")
+self.Castbar.Time:Point("RIGHT", self.Castbar, "RIGHT", -4, 0)
+
+self.Castbar.Text = P.SetFontString(self.Castbar, font, C.media.pfontsize, "MONOCHROMEOUTLINE")
+self.Castbar.Text:Point("LEFT", self.Castbar, "LEFT", 4, 0)
+
+-- Thanks to Tukz and FlyingBoots
+-- our update (hook) or the original buff/debuffs button creation)
+local function PostCreateAura(self, button)
+ -- kill the glow
+ button.Glow:Kill()
+
+ -- move icon just 1px inside the black inset (it hide 1px borders)
+ button:SetBorder(false, true)
+ button.icon:Point("TOPLEFT", 2, -2)
+ button.icon:Point("BOTTOMRIGHT", -2, 2)
+
+ -- resize the cooldown tex to fix new icon size
+ button.cd:Point("TOPLEFT", button, "TOPLEFT", 0, 0)
+ button.cd:Point("BOTTOMRIGHT", button, "BOTTOMRIGHT", 0, 0)
+
+ -- change the font
+ button.remaining:SetFont(font, fsize, "MONOCHROMEOUTLINE")
+end
+hooksecurefunc(P, "PostCreateAura", PostCreateAura)
+
+-- edited position, size, space, etc of buffs
+self.Buffs:SetHeight(22)
+self.Buffs:SetWidth(196)
+self.Buffs.size = 22
+self.Buffs.num = 9
+self.Buffs.spacing = 3
+self.Buffs.initialAnchor = 'TOPLEFT'
+self.Buffs["growth-y"] = "UP"
+self.Buffs["growth-x"] = "RIGHT"
+self.Buffs:SetPoint("BOTTOMLEFT", self.Health, "TOPLEFT", 0, 5)
+self.Buffs.PostCreateIcon = P.PostCreateAura
+self.Buffs.PostUpdateIcon = P.PostUpdateAura
+
+-- edited position, size, space, etc of buffs
+self.Debuffs:SetHeight(22)
+self.Debuffs:SetWidth(196)
+self.Debuffs.size = 22
+self.Debuffs.num = 21
+self.Debuffs.spacing = 3
+self.Debuffs.initialAnchor = 'TOPRIGHT'
+self.Debuffs["growth-y"] = "UP"
+self.Debuffs["growth-x"] = "LEFT"
+self.Debuffs:ClearAllPoints()
+self.Debuffs:SetPoint("BOTTOMRIGHT", self.Health, "TOPRIGHT", 0, 35)
+self.Debuffs.PostCreateIcon = P.PostCreateAura
+self.Debuffs.PostUpdateIcon = P.PostUpdateAura
+
+-- because default tukui update regularly the position of buffs/debuffs on this unit
+-- we need to disable the position update process
+self.Buffs.ClearAllPoints = P.dummy
+self.Buffs.SetPoint = P.dummy
30 PatUI/modules/unitframes/tot.lua
@@ -0,0 +1,30 @@
+local P, C, L = unpack(Tukui)
+if C.unitframes.enable ~= true then return end
+
+------------------------------------------------------------------------
+-- local variables
+------------------------------------------------------------------------
+local font = C.media.pixelfont
+local fsize = C.media.pfontsize
+local self = _G["TukuiTargetTarget"]
+
+if P.lowversion then
+ P.ToT = 182
+else
+ P.ToT = 130
+end
+
+self.panel:Kill()
+self.shadow:Kill()
+
+------------------------------------------------------------------------
+-- Setup Target of Target Frames Here
+------------------------------------------------------------------------
+
+self:Size(P.ToT, 18)
+
+self.Health:CreateBorder()
+self.Health.bg:SetVertexColor(.25, .1, .1)
+self.Health.bg:SetTexture(C["media"].blank)
+
+self.Name:SetFont(font, fsize, "MONOCHROMEOUTLINE")
76 PatUI_Config/Config.lua
@@ -0,0 +1,76 @@
+local C = {}
+
+C.media = {
+ datatextcolor2 = {0, .7, 1},
+ pixelfont = [=[Interface\AddOns\PatUI\media\fonts\pixelfont.ttf]=],
+ ru_pixelfont = [[Interface\AddOns\PatUI\media\fonts\pixel_font.ttf]],
+ dmgfont = [=[Interface\AddOns\PatUI\media\fonts\font.ttf]=],
+ pfontsize = 12,
+ ru_pfontsize = 10,
+}
+
+C.general = {
+ backdropcolor = {.05, .05, .05},
+ bordercolor = {.15, .15, .15},
+}
+
+C.actionbar = {
+ hotkey = false,
+}
+
+C.auras = {
+ consolidate = false,
+}
+
+C.unitframes = {
+ unicolor = true,
+ targetpowerpvponly = false,
+ cbicons = false,
+ combatfeedback = false,
+ showplayerinparty = true,
+ showfocustarget = false,
+ cblatency = true,
+ druidmanabar = false,
+ druidmushroombar = false,
+}
+
+C.nameplate = {
+ showhealth = true,
+ enhancethreat = true,
+}
+
+C.datatext = {
+ fps_ms = 0,
+ system = 0,
+ bags = 0,
+ gold = 6,
+ wowtime = 1,
+ guild = 5,
+ dur = 4,
+ friends = 3,
+ dps_text = 0,
+ hps_text = 0,
+ power = 2,
+ haste = 0,
+ crit = 0,
+ avd = 0,
+ armor = 0,
+ currency = 0,
+ hit = 0,
+ mastery = 0,
+ micromenu = 0,
+ regen = 0,
+ talent = 0,
+ calltoarms = 0,
+
+ time24 = false,
+ localtime = true,
+ battleground = false,
+}
+
+C.classbar = {
+ comboPoints = true,
+}
+
+-- make it public
+TukuiEditedDefaultConfig = C
6 PatUI_Config/PatUI_Config.toc
@@ -0,0 +1,6 @@
+## Interface: 50001
+## Author: Pat
+## Title: |cff18AA18PatUI Config|r
+## Notes: Default Configuration for PatUI.
+
+Config.lua

0 comments on commit 2ff22ed

Please sign in to comment.