Advertisement
Guest User

Untitled

a guest
Jun 25th, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 6.29 KB | None | 0 0
  1. hooksecurefunc("DefaultCompactUnitFrameSetup", function(frame)
  2.     -- pull from the blizzard settings in-game
  3.     local options = DefaultCompactUnitFrameSetupOptions
  4.  
  5.     -- frame settings
  6.     local width = 100
  7.     local healthheight = 30
  8.     local powerheight = 0
  9.     local height
  10.     if (options.displayPowerBar) then
  11.         powerheight = 5
  12.         height = (healthheight + 4) + (powerheight + 4)
  13.     else
  14.         height = (healthheight + 4)
  15.     end
  16.    
  17.     frame:SetSize(width, height)
  18.    
  19.     -- health bar
  20.     frame.healthBar:SetStatusBarTexture(TukuiCF["general"].game_texture)
  21.     frame.healthBar:SetHeight(healthheight)
  22.     frame.healthBar:ClearAllPoints()
  23.     frame.healthBar:SetPoint("TOPLEFT", frame, "TOPLEFT")
  24.     frame.healthBar:SetPoint("TOPRIGHT", frame, "TOPRIGHT")
  25.  
  26.     if (not frame.bg) then
  27.         frame.bg = CreateFrame("Frame", nil, frame)
  28.         TukuiDB.CreatePanel(frame.bg, 1, 1, "BOTTOMLEFT", frame.healthBar, "BOTTOMLEFT", TukuiDB.Scale(-2), TukuiDB.Scale(-2))
  29.         frame.bg:SetPoint("TOPRIGHT", frame.healthBar, "TOPRIGHT", TukuiDB.Scale(2), TukuiDB.Scale(2))
  30.     end
  31.    
  32.     -- power bar
  33.     frame.powerBar:SetStatusBarTexture(TukuiCF["general"].game_texture)
  34.     frame.powerBar:SetHeight(powerheight)
  35.     frame.powerBar:ClearAllPoints()
  36.     frame.powerBar:SetPoint("TOPLEFT", frame.healthBar, "BOTTOMLEFT", 0, -7)
  37.     frame.powerBar:SetPoint("TOPRIGHT", frame.healthBar, "BOTTOMRIGHT", 0, -7)
  38.  
  39.     if (not frame.powerBarBg) then
  40.         frame.powerBarBg = CreateFrame("Frame", nil, frame.powerBar)
  41.         TukuiDB.CreatePanel(frame.powerBarBg, 1, 1, "BOTTOMLEFT", frame.powerBar, "BOTTOMLEFT", TukuiDB.Scale(-2), TukuiDB.Scale(-2))
  42.         frame.powerBarBg:SetPoint("TOPRIGHT", frame.powerBar, "TOPRIGHT", TukuiDB.Scale(2), TukuiDB.Scale(2))
  43.     end
  44.    
  45.     frame.background:Hide()
  46.  
  47.     frame.myHealPredictionBar:SetStatusBarTexture(TukuiCF["general"].game_texture)
  48.     frame.otherHealPredictionBar:SetStatusBarTexture(TukuiCF["general"].game_texture)
  49.    
  50.     -- ready check
  51.     frame.readyCheckIcon:ClearAllPoints()
  52.     frame.readyCheckIcon:SetPoint("RIGHT", frame, "RIGHT", -3, 0)
  53.     frame.readyCheckIcon:SetSize(15, 15)
  54.    
  55.     -- unit name
  56.     frame.name:SetPoint("TOPLEFT", frame.roleIcon, "TOPRIGHT", 0, 2)
  57.     frame.name:SetFont(TukuiCF["fonts"].unitframe_font, TukuiCF["fonts"].unitframe_font_size, TukuiCF["fonts"].unitframe_font_style)
  58.     frame.name:SetShadowOffset(TukuiCF["fonts"].unitframe_font_shadow and 1 or 0, TukuiCF["fonts"].unitframe_font_shadow and -1 or 0)
  59.  
  60.     -- unit status text
  61.     frame.statusText:ClearAllPoints()
  62.     frame.statusText:SetPoint("CENTER", frame.healthBar, "CENTER", 0, 0)
  63.     frame.statusText:SetFont(TukuiCF["fonts"].unitframe_font, TukuiCF["fonts"].unitframe_font_size, TukuiCF["fonts"].unitframe_font_style) 
  64.     frame.statusText:SetShadowOffset(TukuiCF["fonts"].unitframe_font_shadow and 1 or 0, TukuiCF["fonts"].unitframe_font_shadow and -1 or 0)
  65.  
  66.     -- buffs
  67.     CompactUnitFrame_SetMaxBuffs(frame, 6)
  68.     CompactUnitFrame_SetMaxDebuffs(frame, 6)
  69.    
  70.     frame.buffFrames[1]:ClearAllPoints()
  71.     frame.buffFrames[1]:SetPoint("TOPRIGHT", frame.bg, "TOPLEFT", -5, -2)
  72.     for i = 1, frame.maxBuffs do
  73.         if (not frame.buffFrames[i]) then
  74.             frame.buffFrames[i] = CreateFrame("Button", frame:GetName() .. "Buff" .. i, frame, "CompactBuffTemplate")
  75.         end
  76.        
  77.         if ( not frame.buffFrames[i].bg ) then
  78.             frame.buffFrames[i].bg = CreateFrame("Frame", frame.buffFrames[i]:GetName() .. "BG", frame.buffFrames[i])
  79.             TukuiDB.CreatePanel(frame.buffFrames[i].bg, 1, 1, "BOTTOMLEFT", frame.buffFrames[i], "BOTTOMLEFT", TukuiDB.Scale(-2), TukuiDB.Scale(-2))
  80.             frame.buffFrames[i].bg:SetPoint("TOPRIGHT", frame.buffFrames[i], "TOPRIGHT", TukuiDB.Scale(2), TukuiDB.Scale(2))
  81.             frame.buffFrames[i].bg:SetFrameStrata("LOW")
  82.             frame.buffFrames[i].bg:SetFrameLevel(3)
  83.             frame.buffFrames[i].icon:SetTexCoord(0.1, 0.9, 0.1, 0.9)
  84.         end
  85.        
  86.         frame.buffFrames[i].count:ClearAllPoints()
  87.         frame.buffFrames[i].count:SetPoint("BOTTOMRIGHT", 4, -2)
  88.         frame.buffFrames[i].count:SetFont(TukuiCF["fonts"].unitframe_font, TukuiCF["fonts"].unitframe_font_size, TukuiCF["fonts"].unitframe_font_style)
  89.         frame.buffFrames[i].count:SetShadowOffset(TukuiCF["fonts"].unitframe_font_shadow and 1 or 0, TukuiCF["fonts"].unitframe_font_shadow and -1 or 0)
  90.        
  91.         _G[frame:GetName().."Buff"..i.."Cooldown"]:SetFrameStrata("MEDIUM")
  92.        
  93.         if ( i > 1 ) then
  94.             frame.buffFrames[i]:ClearAllPoints()
  95.            
  96.             if ((i/2) == math.ceil(i/2)) then
  97.                 frame.buffFrames[i]:SetPoint("TOP", frame.buffFrames[i - 1], "BOTTOM", 0, -7)
  98.             else
  99.                 frame.buffFrames[i]:SetPoint("RIGHT", frame.buffFrames[i - 2], "LEFT", -7, 0)
  100.             end
  101.         end
  102.         local size = ((frame:GetHeight() - 1) / 2) - 5
  103.         frame.buffFrames[i]:SetSize(size, size)
  104.     end
  105.    
  106.     frame.debuffFrames[1]:ClearAllPoints()
  107.     frame.debuffFrames[1]:SetPoint("TOPLEFT", frame.bg, "TOPRIGHT", 5, -2)
  108.     for i = 1, frame.maxDebuffs do
  109.         if (not frame.debuffFrames[i]) then
  110.             frame.debuffFrames[i] = CreateFrame("Button", frame:GetName() .. "Debuff" .. i, frame, "CompactDebuffTemplate")
  111.         end
  112.        
  113.         if ( not frame.debuffFrames[i].bg ) then
  114.             frame.debuffFrames[i].bg = CreateFrame("Frame", frame.debuffFrames[i]:GetName() .. "BG", frame.debuffFrames[i])
  115.             TukuiDB.CreatePanel(frame.debuffFrames[i].bg, 1, 1, "BOTTOMLEFT", frame.debuffFrames[i], "BOTTOMLEFT", TukuiDB.Scale(-2), TukuiDB.Scale(-2))
  116.             frame.debuffFrames[i].bg:SetPoint("TOPRIGHT", frame.debuffFrames[i], "TOPRIGHT", TukuiDB.Scale(2), TukuiDB.Scale(2))
  117.             frame.debuffFrames[i].bg:SetFrameStrata("LOW")
  118.             frame.debuffFrames[i].bg:SetFrameLevel(3)
  119.             frame.debuffFrames[i].icon:SetTexCoord(0.1, 0.9, 0.1, 0.9)
  120.             frame.debuffFrames[i].border:Hide()
  121.         end
  122.        
  123.         _G[frame:GetName().."Debuff"..i.."Cooldown"]:SetFrameStrata("MEDIUM")
  124.        
  125.         if ( i > 1 ) then
  126.             frame.debuffFrames[i]:ClearAllPoints()
  127.             frame.debuffFrames[i]:SetPoint("LEFT", frame.debuffFrames[i - 1], "RIGHT", 7, 0)
  128.         end
  129.         frame.debuffFrames[i].baseSize = frame:GetHeight() - 4
  130.     end
  131.    
  132.     -- anchor frames
  133.     for i = 2, MEMBERS_PER_RAID_GROUP do
  134.         local uf = _G["CompactPartyFrameMember" .. i]
  135.         local prev = _G["CompactPartyFrameMember" .. (i - 1)]
  136.         if options.displayPowerBar == true then
  137.             if vertical_groups == true then
  138.                 uf:SetPoint("TOP", prev, "BOTTOM", 0, -16)
  139.             else
  140.                 uf:SetPoint("TOPLEFT", prev, "TOPRIGHT", 8, 0)
  141.             end
  142.         else
  143.             if vertical_groups == true then
  144.                 uf:SetPoint("TOP", prev, "BOTTOM", 0, -8)
  145.             else
  146.                 uf:SetPoint("TOPLEFT", prev, "TOPRIGHT", 8, 0)
  147.             end
  148.         end
  149.     end
  150. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement