Advertisement
Guest User

Untitled

a guest
Jun 25th, 2017
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.77 KB | None | 0 0
  1. --[[
  2. !!! DRAGONS BELOW !!!
  3. ]]
  4.  
  5. -- Kill Interface Options
  6. TukuiDB.Kill(InterfaceOptionsRaidFramePanelRaidFrameHeightSlider)
  7. TukuiDB.Kill(InterfaceOptionsRaidFramePanelRaidFrameWidthSlider)
  8. TukuiDB.Kill(InterfaceOptionsRaidFramePanelDisplayBorder)
  9. TukuiDB.Kill(InterfaceOptionsRaidFramePanelDisplayClassColor)
  10.  
  11. -- Kill Crappy Borders
  12. TukuiDB.Kill(CompactPartyFrameBorderFrame)
  13.  
  14. for i = 1, MEMBERS_PER_RAID_GROUP do
  15. TukuiDB.Kill( _G["CompactPartyFrameMember"..i.."HorizTopBorder"])
  16. TukuiDB.Kill(_G["CompactPartyFrameMember"..i.."HorizBottomBorder"])
  17. TukuiDB.Kill(_G["CompactPartyFrameMember"..i.."VertLeftBorder"])
  18. TukuiDB.Kill(_G["CompactPartyFrameMember"..i.."VertRightBorder"])
  19. TukuiDB.Kill(_G["CompactPartyFrameMember"..i.."HorizDivider"])
  20. end
  21.  
  22. local vertical_groups = false
  23.  
  24. hooksecurefunc("DefaultCompactUnitFrameSetup", function(frame)
  25. -- pull from the blizzard settings in-game
  26. local options = DefaultCompactUnitFrameSetupOptions
  27.  
  28. -- frame settings
  29. local healthheight = 30
  30. local powerheight = 0
  31. if options.displayPowerBar == true then
  32. powerheight = 5
  33. end
  34.  
  35. frame:SetSize(100, healthheight+powerheight)
  36.  
  37. -- health bar
  38. frame.healthBar:SetStatusBarTexture(TukuiCF["general"].game_texture)
  39. frame.healthBar:SetHeight(healthheight)
  40. frame.healthBar:ClearAllPoints()
  41. frame.healthBar:SetPoint("TOPLEFT", frame, "TOPLEFT")
  42. frame.healthBar:SetPoint("TOPRIGHT", frame, "TOPRIGHT")
  43.  
  44. if (not frame.bg) then
  45. frame.bg = CreateFrame("Frame", nil, frame)
  46. TukuiDB.CreatePanel(frame.bg, 1, 1, "BOTTOMLEFT", frame.healthBar, "BOTTOMLEFT", TukuiDB.Scale(-2), TukuiDB.Scale(-2))
  47. frame.bg:SetPoint("TOPRIGHT", frame.healthBar, "TOPRIGHT", TukuiDB.Scale(2), TukuiDB.Scale(2))
  48. end
  49.  
  50. -- power bar
  51. frame.powerBar:SetStatusBarTexture(TukuiCF["general"].game_texture)
  52. frame.powerBar:SetHeight(powerheight)
  53. frame.powerBar:ClearAllPoints()
  54. frame.powerBar:SetPoint("TOPLEFT", frame.healthBar, "BOTTOMLEFT", 0, -7)
  55. frame.powerBar:SetPoint("TOPRIGHT", frame.healthBar, "BOTTOMRIGHT", 0, -7)
  56.  
  57. if (not frame.powerBarBg) then
  58. frame.powerBarBg = CreateFrame("Frame", nil, frame.powerBar)
  59. TukuiDB.CreatePanel(frame.powerBarBg, 1, 1, "BOTTOMLEFT", frame.powerBar, "BOTTOMLEFT", TukuiDB.Scale(-2), TukuiDB.Scale(-2))
  60. frame.powerBarBg:SetPoint("TOPRIGHT", frame.powerBar, "TOPRIGHT", TukuiDB.Scale(2), TukuiDB.Scale(2))
  61. end
  62.  
  63. frame.background:Hide()
  64.  
  65. frame.myHealPredictionBar:SetStatusBarTexture(TukuiCF["general"].game_texture)
  66. frame.otherHealPredictionBar:SetStatusBarTexture(TukuiCF["general"].game_texture)
  67.  
  68. -- ready check
  69. frame.readyCheckIcon:ClearAllPoints()
  70. frame.readyCheckIcon:SetPoint("RIGHT", frame, "RIGHT", -3, 0)
  71. frame.readyCheckIcon:SetSize(15, 15)
  72.  
  73. -- unit name
  74. frame.name:SetPoint("TOPLEFT", frame.roleIcon, "TOPRIGHT", 0, 2)
  75. frame.name:SetFont(TukuiCF["fonts"].unitframe_font, TukuiCF["fonts"].unitframe_font_size, TukuiCF["fonts"].unitframe_font_style)
  76. frame.name:SetShadowOffset(TukuiCF["fonts"].unitframe_font_shadow and 1 or 0, TukuiCF["fonts"].unitframe_font_shadow and -1 or 0)
  77.  
  78. -- unit status text
  79. frame.statusText:ClearAllPoints()
  80. frame.statusText:SetPoint("CENTER", frame.healthBar, "CENTER", 0, 0)
  81. frame.statusText:SetFont(TukuiCF["fonts"].unitframe_font, TukuiCF["fonts"].unitframe_font_size, TukuiCF["fonts"].unitframe_font_style)
  82. frame.statusText:SetShadowOffset(TukuiCF["fonts"].unitframe_font_shadow and 1 or 0, TukuiCF["fonts"].unitframe_font_shadow and -1 or 0)
  83.  
  84. -- buffs
  85. CompactUnitFrame_SetMaxBuffs(frame, 6)
  86. CompactUnitFrame_SetMaxDebuffs(frame, 6)
  87.  
  88. frame.buffFrames[1]:ClearAllPoints()
  89. frame.buffFrames[1]:SetPoint("TOPRIGHT", frame, "TOPLEFT", -6, -1)
  90. for i = 1, frame.maxBuffs do
  91. if (not frame.buffFrames[i]) then
  92. frame.buffFrames[i] = CreateFrame("Button", frame:GetName() .. "Buff" .. i, frame, "CompactBuffTemplate")
  93. end
  94.  
  95. if ( not frame.buffFrames[i].bg ) then
  96. frame.buffFrames[i].bg = CreateFrame("Frame", frame.buffFrames[i]:GetName() .. "BG", frame.buffFrames[i])
  97. TukuiDB.CreatePanel(frame.buffFrames[i].bg, 1, 1, "BOTTOMLEFT", frame.buffFrames[i], "BOTTOMLEFT", TukuiDB.Scale(-2), TukuiDB.Scale(-2))
  98. frame.buffFrames[i].bg:SetPoint("TOPRIGHT", frame.buffFrames[i], "TOPRIGHT", TukuiDB.Scale(2), TukuiDB.Scale(2))
  99. frame.buffFrames[i].bg:SetFrameStrata("LOW")
  100. frame.buffFrames[i].bg:SetFrameLevel(3)
  101. frame.buffFrames[i].icon:SetTexCoord(0.1, 0.9, 0.1, 0.9)
  102. end
  103.  
  104. _G[frame:GetName().."Buff"..i.."Cooldown"]:SetFrameStrata("MEDIUM")
  105.  
  106. if ( i > 1 ) then
  107. frame.buffFrames[i]:ClearAllPoints()
  108.  
  109. if ((i/2) == math.ceil(i/2)) then
  110. frame.buffFrames[i]:SetPoint("TOP", frame.buffFrames[i - 1], "BOTTOM", 0, -7)
  111. else
  112. frame.buffFrames[i]:SetPoint("RIGHT", frame.buffFrames[i - 2], "LEFT", -7, 0)
  113. end
  114. end
  115. local size = ((frame:GetHeight()-1)/2) - 4
  116. frame.buffFrames[i]:SetSize(size, size)
  117. end
  118.  
  119. frame.debuffFrames[1]:ClearAllPoints()
  120. frame.debuffFrames[1]:SetPoint("TOPLEFT", frame, "TOPRIGHT", 6, -1)
  121. for i = 1, frame.maxDebuffs do
  122. if (not frame.debuffFrames[i]) then
  123. frame.debuffFrames[i] = CreateFrame("Button", frame:GetName() .. "Debuff" .. i, frame, "CompactDebuffTemplate")
  124. end
  125.  
  126. if ( not frame.debuffFrames[i].bg ) then
  127. frame.debuffFrames[i].bg = CreateFrame("Frame", frame.debuffFrames[i]:GetName() .. "BG", frame.debuffFrames[i])
  128. TukuiDB.CreatePanel(frame.debuffFrames[i].bg, 1, 1, "BOTTOMLEFT", frame.debuffFrames[i], "BOTTOMLEFT", TukuiDB.Scale(-2), TukuiDB.Scale(-2))
  129. frame.debuffFrames[i].bg:SetPoint("TOPRIGHT", frame.debuffFrames[i], "TOPRIGHT", TukuiDB.Scale(2), TukuiDB.Scale(2))
  130. frame.debuffFrames[i].bg:SetFrameStrata("LOW")
  131. frame.debuffFrames[i].bg:SetFrameLevel(3)
  132. frame.debuffFrames[i].icon:SetTexCoord(0.1, 0.9, 0.1, 0.9)
  133. frame.debuffFrames[i].border:Hide()
  134. end
  135.  
  136. _G[frame:GetName().."Debuff"..i.."Cooldown"]:SetFrameStrata("MEDIUM")
  137.  
  138. if ( i > 1 ) then
  139. frame.debuffFrames[i]:ClearAllPoints()
  140. frame.debuffFrames[i]:SetPoint("LEFT", frame.debuffFrames[i - 1], "RIGHT", 7, 0)
  141. end
  142. frame.debuffFrames[i].baseSize = frame:GetHeight() - 2
  143. end
  144.  
  145. -- anchor frames
  146. for i = 2, MEMBERS_PER_RAID_GROUP do
  147. local uf = _G["CompactPartyFrameMember" .. i]
  148. local prev = _G["CompactPartyFrameMember" .. (i - 1)]
  149. if options.displayPowerBar == true then
  150. if vertical_groups == true then
  151. uf:SetPoint("TOP", prev, "BOTTOM", 0, -16)
  152. else
  153. uf:SetPoint("TOPLEFT", prev, "TOPRIGHT", 8, 0)
  154. end
  155. else
  156. if vertical_groups == true then
  157. uf:SetPoint("TOP", prev, "BOTTOM", 0, -8)
  158. else
  159. uf:SetPoint("TOPLEFT", prev, "TOPRIGHT", 8, 0)
  160. end
  161. end
  162. end
  163. end)
  164.  
  165. hooksecurefunc("CompactUnitFrame_UpdateHealthColor", function(frame)
  166. local r, g, b
  167. local localizedClass, englishClass = UnitClass(frame.unit)
  168. local classColor = RAID_CLASS_COLORS[englishClass]
  169.  
  170. if ( not UnitIsConnected(frame.unit) ) then
  171. r, g, b = 0.5, 0.5, 0.5
  172. else
  173. if TukuiCF["unitframes"].classcolor == true then
  174. r, g, b = classColor.r, classColor.g, classColor.b
  175. else
  176. r, g, b = .15, .15, .15
  177. end
  178. end
  179. frame.healthBar:SetStatusBarColor(r, g, b)
  180. end)
  181.  
  182. hooksecurefunc("CompactUnitFrame_UpdatePowerColor", function(frame)
  183. local r, g, b
  184. local localizedClass, englishClass = UnitClass(frame.unit)
  185. local classColor = RAID_CLASS_COLORS[englishClass]
  186.  
  187. if ( not UnitIsConnected(frame.unit) ) then
  188. r, g, b = 0.5, 0.5, 0.5
  189. else
  190. if TukuiCF["unitframes"].classcolor == true then
  191. local powerType, powerToken, altR, altG, altB = UnitPowerType(frame.displayedUnit)
  192. local prefix = _G[powerToken]
  193. local info = PowerBarColor[powerToken]
  194. if ( info ) then
  195. r, g, b = info.r, info.g, info.b
  196. else
  197. if ( not altR) then
  198. -- couldn't find a power token entry...default to indexing by power type or just mana if we don't have that either
  199. info = PowerBarColor[powerType] or PowerBarColor["MANA"]
  200. r, g, b = info.r, info.g, info.b
  201. else
  202. r, g, b = altR, altG, altB
  203. end
  204. end
  205. else
  206. r, g, b = classColor.r, classColor.g, classColor.b
  207. end
  208. end
  209. frame.powerBar:SetStatusBarColor(r, g, b)
  210. end)
  211.  
  212. hooksecurefunc("CompactUnitFrame_UpdateSelectionHighlight", function(frame)
  213. TukuiDB.Kill(frame.selectionHighlight)
  214.  
  215. if not frame.bg then return end
  216.  
  217. if ( UnitIsUnit(frame.displayedUnit, "target") ) then
  218. frame.bg:SetBackdropBorderColor(.8, .8, .8)
  219. else
  220. frame.bg:SetBackdropBorderColor(unpack(TukuiCF["media"].bordercolor))
  221. end
  222. end)
  223.  
  224. hooksecurefunc("CompactUnitFrame_UpdateAggroHighlight", function(frame)
  225. TukuiDB.Kill(frame.aggroHighlight)
  226.  
  227. local status = UnitThreatSituation(frame.displayedUnit)
  228. if ( status and status > 0 ) then
  229. -- frame.name:SetTextColor(1, 0, 0)
  230. frame.healthBar:SetStatusBarColor(1, 0, 0)
  231. else
  232. CompactUnitFrame_UpdateHealthColor(frame)
  233. -- frame.name:SetTextColor(1, 1, 1)
  234. end
  235. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement