Advertisement
Guest User

oUF_Aftermathh

a guest
Nov 26th, 2010
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 35.38 KB | None | 0 0
  1. local _, class = UnitClass('player')
  2. local playerColor = RAID_CLASS_COLORS[select(2, UnitClass('player'))]
  3.  
  4. local texture = 'Interface\\AddOns\\oUF_Aftermathh\\media\\texture.tga'
  5. local border = 'Interface\\AddOns\\oUF_Aftermathh\\media\\border.tga'
  6. local font = 'Interface\\AddOns\\oUF_Aftermathh\\media\\font.ttf'
  7. local borderbg = 'Interface\\AddOns\\oUF_Aftermathh\\media\\borderBackground.tga'
  8.  
  9. local Debuffs = true
  10. local Buffs = true
  11. local PlayerOnlyDebuffs = true
  12. local DebuffType = true
  13.  
  14. local PvPIcon = true
  15. local Portraits = true
  16.  
  17. local CastBars = true
  18. local Safezone = true
  19. local Latency = true
  20. local ClassColor = true
  21. local FocusShowInterruptHighlight = true
  22. local TargetShowInterruptHighlight = true
  23. local FocusCastBarIcon = true
  24.  
  25. RuneFrame:Hide()
  26.  
  27. local backdrop = {
  28.     bgFile = [=[Interface\ChatFrame\ChatFrameBackground]=],
  29.     insets = {top = -1, left = -1, bottom = -1, right = -1},
  30. }
  31.  
  32. local colors = setmetatable({
  33.     power = setmetatable({
  34.         ['MANA'] = {.1,.1,.1},
  35.         ['RAGE'] = {.69,.31,.31},
  36.         ['FOCUS'] = {.71,.43,.27},
  37.         ['ENERGY'] = {.65,.63,.35},
  38.     }, {__index = oUF.colors.power}),
  39. }, {__index = oUF.colors})
  40.  
  41. local function UpdateChannelStart(self, event, unit, name, rank, text)
  42.     if (self.Latency) then
  43.         self.Latency:ClearAllPoints()
  44.         self.Latency:SetPoint('LEFT', self, 'BOTTOMLEFT', 1, -1)
  45.  
  46.         local _, _, ms = GetNetStats()
  47.         self.Latency:SetFormattedText('%dms', ms)
  48.     end
  49.  
  50.     if (self.SafeZone) then
  51.         self.SafeZone:SetDrawLayer('ARTWORK')
  52.         self.SafeZone:SetPoint('TOPLEFT', self)
  53.         self.SafeZone:SetPoint('BOTTOMLEFT', self)
  54.     end
  55. end
  56.  
  57. local function UpdateCastStart(self, event, unit, name, rank, text, castid)
  58.     if (self.Latency) then
  59.         self.Latency:ClearAllPoints()
  60.         self.Latency:SetPoint('RIGHT', self, 'BOTTOMRIGHT', -1, 1)
  61.  
  62.         local _, _, ms = GetNetStats()
  63.         self.Latency:SetFormattedText('%dms', ms)
  64.     end
  65.  
  66.     if (self.SafeZone) then
  67.         self.SafeZone:SetDrawLayer('BORDER')
  68.         self.SafeZone:SetPoint('TOPRIGHT', self)
  69.         self.SafeZone:SetPoint('BOTTOMRIGHT', self)
  70.     end
  71. end
  72.  
  73. local menu = function(self)
  74.     local unit = self.unit:sub(1, -2)
  75.     local cunit = self.unit:gsub('(.)', string.upper, 1)
  76.  
  77.     if(unit == 'party' or unit == 'partypet') then
  78.         ToggleDropDownMenu(1, nil, _G['PartyMemberFrame'..self.id..'DropDown'], 'cursor', 0, 0)
  79.     elseif(_G[cunit..'FrameDropDown']) then
  80.         ToggleDropDownMenu(1, nil, _G[cunit..'FrameDropDown'], 'cursor', 0, 0)
  81.     end
  82. end
  83.  
  84. local updateRIcon = function(self, event)
  85.     local index = GetRaidTargetIndex(self.unit)
  86.     if(index) then
  87.         self.RIcon:SetText(ICON_LIST[index]..'22|t')
  88.     else
  89.         self.RIcon:SetText()
  90.     end
  91. end
  92.  
  93. local function ShortenValue(value)
  94.     if(value >= 1e6) then
  95.         return ('%.2fm'):format(value / 1e6):gsub('%.?0+([km])$', '%1')
  96.     elseif(value >= 1e4) then
  97.         return ('%.1fk'):format(value / 1e3):gsub('%.?0+([km])$', '%1')
  98.     else
  99.         return value
  100.     end
  101. end
  102.  
  103. oUF.Tags['Afterpower'] = function(unit)
  104.     local power = UnitPower(unit)
  105.     if(power > 0 and not UnitIsDeadOrGhost(unit)) then
  106.         local _, type = UnitPowerType(unit)
  107.         local colors = _COLORS.power
  108.         return ('%s%d'):format(Hex(colors[type] or colors['RUNES']), power)
  109.     end
  110. end
  111. oUF.TagEvents['Afterpower'] = oUF.TagEvents.missingpp
  112.  
  113. oUF.Tags['Afterhealth'] = function(unit)
  114.     local min, max = UnitHealth(unit), UnitHealthMax(unit)
  115.     local status = not UnitIsConnected(unit) and 'Offline' or UnitIsGhost(unit) and 'Ghost' or UnitIsDead(unit) and 'Dead'
  116.  
  117.     if(status) then
  118.         return status
  119.     elseif(unit == 'target' and UnitCanAttack('player', unit)) then
  120.         return ('%s | %d %%'):format(ShortenValue(min), min / max * 100)
  121.     elseif(unit == 'player' and min ~= max) then
  122.         return ('%d | %d%%'):format(min - max, min / max * 100)
  123.     elseif(min ~= max) then
  124.         return ('%s | %s'):format(ShortenValue(min), ShortenValue(max))
  125.     else
  126.         return max
  127.     end
  128. end
  129. oUF.TagEvents['Afterhealth'] = 'UNIT_HEALTH UNIT_MAXHEALTH'
  130.  
  131. local auraIcon = function(icons, button)
  132.    
  133.     if(DebuffType) then
  134.       icons.showDebuffType = true
  135.     end
  136.    
  137.     button.icon:SetTexCoord(0.03, 0.97, 0.03, 0.97)
  138.    
  139.     button.overlay:SetTexture(border)
  140.     button.overlay:SetTexCoord(0, 1, 0, 1)
  141.     button.overlay:ClearAllPoints()
  142.     button.overlay:SetPoint('TOPRIGHT', button, 1.35, 1.35)
  143.     button.overlay:SetPoint('BOTTOMLEFT', button, -1.35, -1.35)
  144.     button.overlay.Hide = function(self) self:SetVertexColor(0.35, 0.35, 0.35, 1) end
  145.  
  146.     button.cd.noCooldownCount = true
  147.     button.cd:SetReverse()
  148.     button.cd:ClearAllPoints()
  149.     button.cd:SetPoint('TOPRIGHT', button.icon, 'TOPRIGHT', -1, -1)
  150.     button.cd:SetPoint('BOTTOMLEFT', button.icon, 'BOTTOMLEFT', 1, 1)
  151.  
  152.     button.count:SetFont(font, 14, 'THINOUTLINE')
  153.     button.count:ClearAllPoints()
  154.     button.count:SetPoint('BOTTOMRIGHT', 1, 1)
  155.  
  156.     if (not button.background) then
  157.         button.background = button:CreateTexture(nil, 'BACKGROUND')
  158.         button.background:SetPoint('TOPLEFT', button.icon, 'TOPLEFT', -4, 4)
  159.         button.background:SetPoint('BOTTOMRIGHT', button.icon, 'BOTTOMRIGHT', 4, -4)
  160.         button.background:SetTexture(borderbg)
  161.         button.background:SetVertexColor(0, 0, 0, 1)
  162.     end
  163. end
  164.  
  165. local Shared = function(self, unit)
  166.  
  167.     self:SetScript('OnEnter', UnitFrame_OnEnter)
  168.     self:SetScript('OnLeave', UnitFrame_OnLeave)
  169.     self:RegisterForClicks'AnyDown'
  170.     self:SetAttribute('*type2', 'menu')
  171.     self.menu = menu
  172.  
  173.     self.DebuffHighlightBackdrop = true
  174.     self.DebuffHighlightFilter = true
  175.    
  176.     CreateBorder(self, 12, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4)
  177.  
  178.     local hp = CreateFrame'StatusBar'
  179.     if(unit == 'targettarget')then
  180.         hp:SetHeight(27*.85)
  181.     else
  182.         hp:SetHeight(27*.85)
  183.     end
  184.    
  185.     hp:SetStatusBarTexture(texture)
  186.     hp.Smooth = true
  187.     hp:SetStatusBarColor(.25, .25, .25)
  188.     hp.frequentUpdates = true
  189.     hp:SetParent(self)
  190.     hp:SetPoint'TOP'
  191.     hp:SetPoint'LEFT'
  192.     hp:SetPoint'RIGHT'
  193.  
  194.     local hpbg = hp:CreateTexture(nil, 'BORDER')
  195.     hpbg:SetAllPoints(hp)
  196.     hpbg:SetTexture(0, 0, 0, 0.6)
  197.  
  198.     self:SetBackdrop(backdrop)
  199.     self:SetBackdropColor(0, 0, 0, 0.9)
  200.  
  201.     local hpp = hp:CreateFontString(nil, 'OVERLAY')
  202.     hpp:SetFont(font, 15, 'THINOUTLINE')
  203.     hpp:SetPoint('RIGHT',hp, -2, 0)
  204.     self:Tag(hpp, '[raidcolor][Afterhealth]')
  205.  
  206.     if(unit == 'player') then
  207.     hpp:SetPoint('RIGHT',hp, -2, 0)
  208.     elseif(unit == 'target') then
  209.     hpp:SetPoint('RIGHT',hp, -2, 0)
  210.     elseif(unit == 'focus' or unit == 'pet' or unit == 'targettarget' or unit == 'focustarget' or unit == 'party') then
  211.     hpp:SetPoint('BOTTOMLEFT', self, 'BOTTOMRIGHT', 500000000, -500000000)
  212.     end
  213.  
  214.     hp.bg = hpbg
  215.     hp.value = hpp
  216.     self.Health = hp
  217.     self.OverrideUpdateHealth = updateHealth
  218.  
  219.     if not(unit == 'targettarget') then
  220.         local pp = CreateFrame'StatusBar'
  221.         pp:SetHeight(27*.11)
  222.         pp:SetStatusBarTexture(texture)
  223.         pp.frequentUpdates = true
  224.         pp.colorTapping = true
  225.         pp.colorHappiness = true
  226.         pp.colorClass = true
  227.         pp.colorReaction = true
  228.         pp.Smooth = true
  229.         pp:SetParent(self)
  230.         pp:SetPoint('BOTTOM')
  231.         pp:SetPoint('LEFT', .2, 0)
  232.         pp:SetPoint('RIGHT', -.2, 0)
  233.  
  234.         local ppbg = pp:CreateTexture(nil, 'BORDER')
  235.         ppbg:SetAllPoints(pp)
  236.         ppbg:SetTexture(texture)
  237.         ppbg.multiplier = .3
  238.  
  239.         local ppp = pp:CreateFontString(nil, 'OVERLAY')
  240.         ppp:SetFont(font, 15, 'THINOUTLINE')
  241.         ppp:SetPoint('LEFT',hpp,'RIGHT', -265, 0)
  242.         self:Tag(ppp, '[raidcolor][Afterpower]')
  243.        
  244.         self.colors.power.MANA = {0, 144/255, 1}
  245.  
  246.         pp.value = ppp
  247.         pp.bg = ppbg
  248.         self.Power = pp
  249.         self.PostUpdatePower = updatePower
  250.  
  251.     else
  252.  
  253.         local pp = CreateFrame'StatusBar'
  254.         pp:SetHeight(27*.11)
  255.         pp:SetStatusBarTexture(texture)
  256.         pp.frequentUpdates = true
  257.         pp.colorTapping = true
  258.         pp.colorHappiness = true
  259.         pp.colorClass = true
  260.         pp.colorReaction = true
  261.         pp.Smooth = true
  262.         pp:SetParent(self)
  263.         pp:SetPoint('BOTTOM')
  264.         pp:SetPoint('LEFT', .2, 0)
  265.         pp:SetPoint('RIGHT', -.2, 0)
  266.  
  267.         local ppbg = pp:CreateTexture(nil, 'BORDER')
  268.         ppbg:SetAllPoints(pp)
  269.         ppbg:SetTexture(texture)
  270.  
  271.         local ppp = pp:CreateFontString(nil, 'OVERLAY')
  272.         ppp:SetFont(font, 15)
  273.         ppp:SetPoint('RIGHT',hpp,'LEFT', 50000, 0)
  274.         self:Tag(ppp, '[raidcolor][Afterpower]')
  275.  
  276.         pp.value = ppp
  277.         pp.bg = ppbg
  278.         self.Power = pp
  279.         self.PostUpdatePower = updatePower
  280.     end
  281.  
  282.     if(CastBars)then
  283.         if(unit == 'player' or unit == 'focus' or unit == 'target' or unit == 'pet') then
  284.             self.Castbar = CreateFrame('StatusBar', nil, self)
  285.             self.Castbar:SetStatusBarTexture(texture)
  286.             self.Castbar:SetScale(1.139)
  287.             self.Castbar:SetStatusBarColor(.25, .25, .25)
  288.        
  289.             CreateBorder(self.Castbar, 11, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3)
  290.  
  291.             self.Castbar.Bg = self.Castbar:CreateTexture(nil, 'BACKGROUND')
  292.             self.Castbar.Bg:SetAllPoints(self.Castbar)
  293.             self.Castbar.Bg:SetTexture(texture)
  294.             self.Castbar.Bg:SetVertexColor(0, 0, 0, 0.6)
  295.            
  296.             if(unit == 'player')then
  297.                 self.Castbar:SetPoint('BOTTOM', UIParent, -13, 80)
  298.                 self.Castbar:SetHeight(25)
  299.                 self.Castbar:SetWidth(309)
  300.  
  301.                 if(ClassColor) then
  302.                    self.Castbar:SetStatusBarColor(playerColor.r, playerColor.g, playerColor.b)
  303.                    self.Castbar.Bg:SetVertexColor(playerColor.r*0.3, playerColor.g*0.3, playerColor.b*0.3, 0.8)
  304.                 end
  305.                
  306.                 if(Safezone) then
  307.                     self.Castbar.SafeZone = self.Castbar:CreateTexture(nil, 'BORDER')
  308.                     self.Castbar.SafeZone:SetTexture('Interface\\Buttons\\WHITE8x8')
  309.                     self.Castbar.SafeZone:SetVertexColor(1, 0.5, 0, 1)
  310.                 end
  311.  
  312.                 if(Latency) then
  313.                     self.Castbar.Latency = self:CreateFontString(nil, 'ARTWORK')
  314.                     self.Castbar.Latency:SetFont(font, 12, 'OUTLINE')
  315.                     self.Castbar.Latency:SetParent(self.Castbar)
  316.                     self.Castbar.Latency:SetDrawLayer('OVERLAY')
  317.                     self.Castbar.Latency:SetVertexColor(0.6, 0.6, 0.6)
  318.                     self.Castbar.Latency:SetAlpha(1)
  319.                 end
  320.  
  321.                 self.Castbar.PostCastStart = UpdateCastStart
  322.                 self.Castbar.PostChannelStart = UpdateChannelStart
  323.             end
  324.  
  325.             self.Castbar.CustomDelayText = function(self, duration)
  326.                 self.Time:SetFormattedText('(|cffff0000-%.1f|r) %.1f | %.1f', self.delay, duration, self.max)
  327.             end
  328.    
  329.             self.Castbar.CustomTimeText = function(self, duration)
  330.                 self.Time:SetFormattedText('%.1f | %.1f', duration, self.max)
  331.             end
  332.  
  333.             self.Castbar.Time = self:CreateFontString(nil, 'ARTWORK')
  334.             self.Castbar.Time:SetFont(font, 13, 'THINOUTLINE')
  335.             self.Castbar.Time:SetPoint('RIGHT', self.Castbar, 'RIGHT', -7, 0)
  336.             self.Castbar.Time:SetHeight(25)
  337.             self.Castbar.Time:SetParent(self.Castbar)
  338.             self.Castbar.Time:SetJustifyH('RIGHT')
  339.  
  340.             self.Castbar.Text = self:CreateFontString(nil, 'ARTWORK')
  341.             self.Castbar.Text:SetFont(font, 13, 'THINOUTLINE')
  342.             self.Castbar.Text:SetPoint('LEFT', self.Castbar, 4, 0)
  343.             self.Castbar.Text:SetPoint('RIGHT', self.Castbar.Time, 'LEFT', -7, 0)
  344.             self.Castbar.Text:SetHeight(25)
  345.             self.Castbar.Text:SetParent(self.Castbar)
  346.             self.Castbar.Text:SetJustifyH('LEFT')
  347.            
  348.             if(unit == 'focus') then
  349.                 self.Castbar:SetWidth(260)
  350.                 self.Castbar:SetHeight(25)
  351.                 self.Castbar:SetScale(1.210)
  352.                 self.Castbar:SetStatusBarColor(.25, .25, .25)
  353.                 self.Castbar:SetPoint('CENTER', UIParent, 'CENTER', -10, -10)
  354.                
  355.                 if(FocusCastBarIcon) then
  356.                   self.Castbar.Icon = self.Castbar:CreateTexture(nil, 'ARTWORK')
  357.                    self.Castbar.Icon:SetHeight(39)
  358.                    self.Castbar.Icon:SetWidth(39)
  359.                    self.Castbar.Icon:SetPoint('LEFT', -48, 3)
  360.                    self.IconOverlay = self.Castbar:CreateTexture(nil, 'OVERLAY')
  361.                    self.IconOverlay:SetPoint('TOPLEFT', self.Castbar.Icon, 'TOPLEFT')
  362.                    self.IconOverlay:SetPoint('BOTTOMRIGHT', self.Castbar.Icon, 'BOTTOMRIGHT')
  363.                    self.IconOverlay:SetTexture(border)
  364.                    self.IconOverlay:SetVertexColor(0.35, 0.35, 0.35, 1)
  365.                    self.Castbar.IconBack = self.Castbar:CreateTexture(nil, 'BACKGROUND')
  366.                    self.Castbar.IconBack:SetPoint('TOPLEFT',self.Castbar.Icon,'TOPLEFT',-5,5)
  367.                    self.Castbar.IconBack:SetPoint('BOTTOMRIGHT',self.Castbar.Icon,'BOTTOMRIGHT',5,-5)
  368.                    self.Castbar.IconBack:SetTexture(borderbg)
  369.                   self.Castbar.IconBack:SetVertexColor(0, 0, 0, 9)
  370.                 end
  371.            
  372.             elseif(unit == 'target') then
  373.                 self.Castbar:SetWidth(230)
  374.                 self.Castbar:SetHeight(26)
  375.                 self.Castbar:SetStatusBarColor(.25, .25, .25)
  376.                 self.Castbar:SetPoint('TOPRIGHT', self, 'BOTTOMRIGHT', 141, 97)
  377.             elseif(unit == 'pet') then
  378.                 self.Castbar:SetHeight(22)
  379.                 self.Castbar:SetWidth(200)
  380.                 self.Castbar:SetStatusBarColor(.25, .25, .25)
  381.                 self.Castbar:SetPoint('TOPRIGHT', self, 'BOTTOMRIGHT', -12, 56)
  382.             end
  383.         end
  384.        
  385.         if(unit == 'target' or unit == 'focus') then
  386.             if ((unit == 'target' and TargetShowInterruptHighlight) or (unit == 'focus' and FocusShowInterruptHighlight)) then
  387.                 self.Shadow = {}
  388.                
  389.                 for i = 1, 8 do
  390.                     self.Shadow[i] = self.Castbar:CreateTexture(nil, 'BACKGROUND')
  391.                     self.Shadow[i]:SetParent(self.Castbar)
  392.                     self.Shadow[i]:SetTexture(borderbg)
  393.                     self.Shadow[i]:SetWidth(20)
  394.                     self.Shadow[i]:SetHeight(20)
  395.                     self.Shadow[i]:SetVertexColor(1, 0, 1)
  396.                 end
  397.                
  398.                 self.Shadow[1]:SetTexCoord(0, 1/3, 0, 1/3)
  399.                 self.Shadow[1]:SetPoint('TOPLEFT', self.Castbar, -10, 10)
  400.  
  401.                 self.Shadow[2]:SetTexCoord(2/3, 1, 0, 1/3)
  402.                 self.Shadow[2]:SetPoint('TOPRIGHT', self.Castbar, 10, 10)
  403.  
  404.                 self.Shadow[3]:SetTexCoord(0, 1/3, 2/3, 1)
  405.                 self.Shadow[3]:SetPoint('BOTTOMLEFT', self.Castbar, -10, -10)
  406.  
  407.                 self.Shadow[4]:SetTexCoord(2/3, 1, 2/3, 1)
  408.                 self.Shadow[4]:SetPoint('BOTTOMRIGHT', self.Castbar, 10, -10)
  409.  
  410.                 self.Shadow[5]:SetTexCoord(1/3, 2/3, 0, 1/3)
  411.                 self.Shadow[5]:SetPoint('TOPLEFT', self.Shadow[1], 'TOPRIGHT')
  412.                 self.Shadow[5]:SetPoint('TOPRIGHT', self.Shadow[2], 'TOPLEFT')
  413.  
  414.                 self.Shadow[6]:SetTexCoord(1/3, 2/3, 2/3, 1)
  415.                 self.Shadow[6]:SetPoint('BOTTOMLEFT', self.Shadow[3], 'BOTTOMRIGHT')
  416.                 self.Shadow[6]:SetPoint('BOTTOMRIGHT', self.Shadow[4], 'BOTTOMLEFT')
  417.  
  418.                 self.Shadow[7]:SetTexCoord(0, 1/3, 1/3, 2/3)
  419.                 self.Shadow[7]:SetPoint('TOPLEFT', self.Shadow[1], 'BOTTOMLEFT')
  420.                 self.Shadow[7]:SetPoint('BOTTOMLEFT', self.Shadow[3], 'TOPLEFT')
  421.  
  422.                 self.Shadow[8]:SetTexCoord(2/3, 1, 1/3, 2/3)
  423.                 self.Shadow[8]:SetPoint('TOPRIGHT', self.Shadow[2], 'BOTTOMRIGHT')
  424.                 self.Shadow[8]:SetPoint('BOTTOMRIGHT', self.Shadow[4], 'TOPRIGHT')
  425.                
  426.                 self.hasShadow = true
  427.             else
  428.                 self.hasShadow = false
  429.             end
  430.            
  431.             local interruptFrame = CreateFrame('Frame')
  432.        
  433.             interruptFrame:RegisterEvent('UNIT_SPELLCAST_START')
  434.             interruptFrame:RegisterEvent('UNIT_SPELLCAST_DELAYED')
  435.             interruptFrame:RegisterEvent('UNIT_SPELLCAST_CHANNEL_START')
  436.             interruptFrame:RegisterEvent('UNIT_SPELLCAST_CHANNEL_UPDATE')
  437.             interruptFrame:RegisterEvent('PLAYER_TARGET_CHANGED')
  438.             interruptFrame:RegisterEvent('PLAYER_FOCUS_CHANGED')
  439.            
  440.             interruptFrame:SetScript('OnEvent', function()
  441.                 local name, _, _, _, _, _, _, _, interrupt = UnitCastingInfo(unit)
  442.            
  443.                 if (self.hasShadow) then  
  444.                     for i = 1, 8 do
  445.                         self.Shadow[i]:Hide()
  446.                     end
  447.                 end
  448.                
  449.                 if (name) then
  450.                     if (interrupt) then
  451.                    
  452.                         self.Castbar:SetStatusBarColor(.25, .25, .25)
  453.                         self.Castbar.Bg:SetVertexColor(1, 0, 1)
  454.                        
  455.                         if (self.hasShadow) then
  456.                             for i = 1, 8 do
  457.                                 self.Shadow[i]:Show()
  458.                             end
  459.                         end
  460.                     else
  461.                    
  462.                         self.Castbar:SetStatusBarColor(.25, .25, .25)
  463.                         self.Castbar.Bg:SetVertexColor(0, 0, 0, 0.6)
  464.                        
  465.                         if (self.hasShadow) then
  466.                             for i = 1, 8 do
  467.                                 self.Shadow[i]:Hide()
  468.                             end
  469.                         end
  470.                     end
  471.                 end
  472.             end)
  473.         end
  474.     end
  475.    
  476.     for _, bar in pairs({
  477.         'MirrorTimer1',
  478.         'MirrorTimer2',
  479.         'MirrorTimer3',
  480.     }) do
  481.         for i, region in pairs({_G[bar]:GetRegions()}) do
  482.             if (region.GetTexture and region:GetTexture() == 'SolidTexture') then
  483.                 region:Hide()
  484.             end
  485.         end
  486.  
  487.         CreateBorder(_G[bar], 11, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3)
  488.  
  489.         _G[bar..'Border']:Hide()
  490.  
  491.         _G[bar]:SetParent(UIParent)
  492.         _G[bar]:SetScale(1.132)
  493.         _G[bar]:SetHeight(22)
  494.         _G[bar]:SetWidth(280)
  495.  
  496.         _G[bar..'Background'] = _G[bar]:CreateTexture(bar..'Background', 'BACKGROUND', _G[bar])
  497.         _G[bar..'Background']:SetTexture('Interface\\Buttons\\WHITE8x8')
  498.         _G[bar..'Background']:SetAllPoints(bar)
  499.         _G[bar..'Background']:SetVertexColor(0, 0, 0, 0.5)
  500.  
  501.         _G[bar..'Text']:SetFont(font, 14, 'THINOUTLINE')
  502.         _G[bar..'Text']:ClearAllPoints()
  503.         _G[bar..'Text']:SetPoint('CENTER', MirrorTimer1StatusBar, 0, 1)
  504.  
  505.         _G[bar..'StatusBar']:SetAllPoints(_G[bar])
  506.     end
  507.  
  508.     if(unit == 'player' or unit == 'party') then
  509.         local leader = hp:CreateTexture(nil, 'OVERLAY')
  510.         leader:SetHeight(15)
  511.         leader:SetWidth(15)
  512.         leader:SetPoint('BOTTOMLEFT', hp, 'TOPLEFT', -5, -2)
  513.         leader:SetTexture('Interface\\GroupFrame\\UI-Group-LeaderIcon')
  514.         self.Leader = leader
  515.     end
  516.    
  517.     if(unit == 'player' or unit == 'party') then
  518.         local masterlooter = hp:CreateTexture(nil, 'OVERLAY')
  519.         masterlooter:SetHeight(15)
  520.         masterlooter:SetWidth(15)
  521.         masterlooter:SetPoint('LEFT', leader, 'RIGHT')
  522.         self.MasterLooter = masterlooter
  523.     end
  524.    
  525.     if(Portraits) then
  526.         local portrait = CreateFrame('PlayerModel', nil, self)
  527.             portrait:SetBackdrop(backdrop)
  528.             portrait:SetBackdropColor(0, 0, 0, .9)
  529.             portrait:SetWidth(27*3)
  530.             portrait:SetHeight(27*2)
  531.             self.Portrait = portrait
  532.  
  533.             CreateBorder(portrait, 12, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3)
  534.            
  535.             if(unit == 'player') then
  536.             portrait:SetPoint('BOTTOMLEFT', self, 'BOTTOMLEFT', -92, -26)
  537.             elseif(unit == 'target') then
  538.             portrait:SetPoint('BOTTOMLEFT', self, 'BOTTOMRIGHT', 11, -26)
  539.             elseif(unit == 'focus' or unit == 'pet' or unit == 'party') then
  540.             portrait:SetPoint('BOTTOMLEFT', self, 'BOTTOMLEFT', -92, -26)
  541.         end    
  542.     end
  543.  
  544.     if(PvPIcon) then
  545.        local pvp = hp:CreateTexture(nil, 'OVERLAY')
  546.        pvp:SetPoint('BOTTOMRIGHT', hp, 'TOPRIGHT', 18, -45)
  547.        pvp:SetHeight(28)
  548.        pvp:SetWidth(28)
  549.        self.PvP = pvp
  550.     end
  551.    
  552.     if(unit == 'player' and UnitLevel('player') ~= MAX_PLAYER_LEVEL) then
  553.         self.Resting = self.Power:CreateTexture(nil, 'OVERLAY')
  554.         self.Resting:SetHeight(18)
  555.         self.Resting:SetWidth(20)
  556.         self.Resting:SetPoint('BOTTOMLEFT', -8.5, -8.5)
  557.         self.Resting:SetTexture('Interface\\CharacterFrame\\UI-StateIcon')
  558.         self.Resting:SetTexCoord(0,0.5,0,0.421875)
  559.     end
  560.    
  561.     if(unit == 'player') then
  562.        local Combat = hp:CreateTexture(nil, 'OVERLAY')
  563.        Combat:SetSize(21, 21)
  564.        Combat:SetPoint('BOTTOMLEFT', hp, -10, -11)
  565.        self.Combat = Combat
  566.     end
  567.  
  568.     local ricon = hp:CreateFontString(nil, 'OVERLAY')
  569.     ricon:SetFont(font, 11, 'THINOUTLINE')
  570.     ricon:SetPoint('CENTER', hp, 0, 12)
  571.     ricon:SetHeight(32)
  572.     ricon:SetWidth(32)
  573.     self.RIcon = ricon
  574.     self:RegisterEvent('RAID_TARGET_UPDATE', updateRIcon)
  575.     table.insert(self.__elements, updateRIcon)
  576.  
  577.     if(unit == 'player') then
  578.         local cpoints = self:CreateFontString(nil, 'OVERLAY')
  579.         cpoints:SetFont(font, 26, 'THINOUTLINE')
  580.         cpoints:SetTextColor(playerColor.r, playerColor.g, playerColor.b)
  581.         cpoints:SetPoint('CENTER', self, 'RIGHT', -5, 32) --('RIGHT', self, 'LEFT', -10, -1)
  582.         cpoints:SetJustifyH('RIGHT')
  583.         self:Tag(cpoints, '[cpoints]')
  584.     end
  585.    
  586.     if(unit == 'player' or unit == 'target') then
  587.         local cbft = hp:CreateFontString(nil, 'OVERLAY')
  588.         cbft:SetPoint('CENTER', self)
  589.         cbft:SetFont(font, 21, 'THINOUTLINE')
  590.         self.CombatFeedbackText = cbft
  591.         self.CombatFeedbackText.maxAlpha = 1
  592.     end
  593.  
  594.     if(unit~='player')then
  595.         local name = hp:CreateFontString(nil, 'OVERLAY')
  596.         if(unit == 'targettarget' or unit == 'focus' or unit == 'pet' or unit =='focustarget' or unit == 'party') then
  597.             name:SetPoint('CENTER')
  598.             name:SetWidth(150)
  599.         else
  600.             name:SetPoint('LEFT', hp, 'LEFT', -1, 27)
  601.             name:SetWidth(300)
  602.             name:SetJustifyH'LEFT'
  603.         end
  604.         name:SetFont(font, 15, 'THINOUTLINE')
  605.         name:SetHeight(15)
  606.         self.Info = name
  607.         if(unit == 'target')then
  608.             self:Tag(self.Info,'[difficulty][level][shortclassification] [raidcolor][AfterName]')
  609.         else
  610.             self:Tag(self.Info,'[raidcolor][name]')
  611.         end
  612.     end
  613.  
  614.     if(Buffs) then
  615.    
  616.         local buffs = CreateFrame('Frame', nil, self)
  617.         buffs:SetHeight(270)
  618.         buffs:SetWidth(270)
  619.         buffs.PostCreateIcon = auraIcon
  620.         buffs.size = 28
  621.         buffs.spacing = 3
  622.        
  623.         if(unit == 'pet' or unit == 'focus' or unit == 'target' or unit == 'party') then
  624.             buffs.initialAnchor = 'TOPLEFT'
  625.             buffs['growth-y'] = 'RIGHT'
  626.             buffs['growth-x'] = 'DOWN'
  627.             buffs:SetPoint('TOPLEFT', self, 'BOTTOMLEFT', -3, -8)
  628.         end
  629.  
  630.         if(unit == 'focus' or unit == 'pet') then
  631.             buffs.num = 6
  632.         elseif(unit=='target') then
  633.             buffs.num = 9
  634.         else
  635.             buffs.num = 5
  636.         end
  637.         self.Buffs = buffs
  638.     end
  639.  
  640.     if(Debuffs) then
  641.    
  642.         local debuffs = CreateFrame('Frame', nil, self)
  643.         debuffs:SetHeight(270)
  644.         debuffs:SetWidth(270)
  645.         debuffs.PostCreateIcon = auraIcon
  646.         debuffs.size = 32
  647.         debuffs.spacing = 3
  648.        
  649.         if(unit == 'pet'or unit == 'focus' or unit == 'party') then
  650.             debuffs:SetPoint('LEFT', self, 'RIGHT', 8, 0)
  651.             debuffs['growth-x'] = 'RIGHT'
  652.             debuffs.initialAnchor = 'LEFT'
  653.         elseif(unit == 'player' or unit == 'targettarget') then
  654.             debuffs:SetPoint('LEFT', self, 'RIGHT', 20, 5)
  655.             debuffs['growth-x'] = 'RIGHT'
  656.             debuffs.initialAnchor = 'LEFT'
  657.         elseif(unit == 'focustarget') then     
  658.             debuffs:SetPoint('LEFT', self, 'RIGHT', 8, 0)
  659.             debuffs['growth-x'] = 'RIGHT'
  660.             debuffs.initialAnchor = 'LEFT'
  661.         else
  662.             debuffs:SetPoint('BOTTOMLEFT', self, 'TOPLEFT', -3, 28)
  663.             debuffs['growth-y'] = 'UP'
  664.             debuffs.initialAnchor = 'BOTTOMLEFT'
  665.            
  666.             if(PlayerOnlyDebuffs)then
  667.               debuffs.onlyShowPlayer = true
  668.             end
  669.         end
  670.        
  671.         if(unit == 'targettarget' or unit == 'player') then
  672.             debuffs.num = 0
  673.         elseif(unit=='target') then
  674.             debuffs.num = 7
  675.         else
  676.             debuffs.num = 5
  677.         end
  678.         self.Debuffs = debuffs
  679.     end
  680.    
  681.     if(unit == 'player') then
  682.    
  683.         if(IsAddOnLoaded('oUF_Swing')) then
  684.             self.Swing = CreateFrame('StatusBar', nil, self)
  685.             self.Swing:SetPoint('TOP', self, 'BOTTOM', 335, -68)
  686.             self.Swing:SetStatusBarTexture(texture)
  687.             self.Swing:SetStatusBarColor(1, 0.7, 0)
  688.             self.Swing:SetHeight(15)
  689.             self.Swing:SetWidth(270)
  690.             self.Swing:SetBackdrop(backdrop)
  691.             self.Swing:SetBackdropColor(0, 0, 0)
  692.            
  693.             CreateBorder(self.Swing, 12, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3)
  694.  
  695.             self.Swing.Text = self.Swing:CreateFontString(nil, 'OVERLAY')
  696.             self.Swing.Text:SetFont(font, 24, 'THINOUTLINE')
  697.             self.Swing.Text:SetPoint('CENTER', self.Swing)
  698.             self.Swing.bg = self.Swing:CreateTexture(nil, 'BORDER')
  699.             self.Swing.bg:SetAllPoints(self.Swing)
  700.             self.Swing.bg:SetTexture(0, 0, 0, 0.1)
  701.             self.Swing:SetStatusBarColor(playerColor.r, playerColor.g, playerColor.b)
  702.          
  703.             self.Swing.disableMelee = false
  704.             self.Swing.disableRanged = false
  705.         end
  706.        
  707.         if IsAddOnLoaded('oUF_TotemBar') and class == 'SHAMAN' then
  708.             self.TotemBar = {}
  709.             self.TotemBar.Destroy = true
  710.             for i = 1, 4 do
  711.                 self.TotemBar[i] = CreateFrame('StatusBar', nil, self)
  712.                 self.TotemBar[i]:SetHeight(12)
  713.                 self.TotemBar[i]:SetWidth(265/4 - 5)
  714.                
  715.                 if (i == 1) then
  716.                     self.TotemBar[i]:SetPoint('TOPRIGHT', self, 'BOTTOMRIGHT', -1, -9)
  717.                 else
  718.                     self.TotemBar[i]:SetPoint('RIGHT', self.TotemBar[i-1], 'LEFT', -8, 0)
  719.                 end
  720.  
  721.                 CreateBorder(self.TotemBar[i], 12, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3)
  722.  
  723.                 self.TotemBar[i]:SetStatusBarTexture(texture)
  724.                 self.TotemBar[i]:SetBackdrop(backdrop)
  725.                 self.TotemBar[i]:SetBackdropColor(0,0,0,6)
  726.                 self.TotemBar[i]:SetMinMaxValues(0, 1)
  727.  
  728.                 self.TotemBar[i].bg = self.TotemBar[i]:CreateTexture(nil, 'BORDER')
  729.                 self.TotemBar[i].bg:SetAllPoints(self.TotemBar[i])
  730.                 self.TotemBar[i].bg:SetTexture(texture)
  731.                 self.TotemBar[i].bg.multiplier = 0.3
  732.             end
  733.         end
  734.  
  735.         if(IsAddOnLoaded('oUF_Experience')) then
  736.             self.Experience = CreateFrame('StatusBar', nil, self)
  737.             self.Experience:SetPoint('TOPLEFT', self, 'BOTTOMLEFT', 0, 52)
  738.             self.Experience:SetStatusBarTexture(texture)
  739.             self.Experience:SetStatusBarColor(0,.7,1)
  740.             self.Experience:SetHeight(15)
  741.             self.Experience:SetWidth((unit == 'pet') and 150 or 235)
  742.             self.Experience:SetBackdrop(backdrop)
  743.             self.Experience:SetBackdropColor(0, 0, 0, .5)
  744.             self.Experience.Tooltip = true
  745.  
  746.             CreateBorder(self.Experience, 12, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3)
  747.  
  748.             self.Experience.Text = self.Experience:CreateFontString(nil, 'OVERLAY')
  749.             self.Experience.Text:SetFont(font, 15, 'THINOUTLINE')
  750.             self.Experience.Text:SetPoint('CENTER', self.Experience)
  751.             self.Experience.bg = self.Experience:CreateTexture(nil, 'BORDER')
  752.             self.Experience.bg:SetAllPoints(self.Experience)
  753.             self.Experience.bg:SetTexture(0, 0, 0, .5)
  754.         end
  755.    
  756.         if(class == 'DEATHKNIGHT') then
  757.             self.RuneBar = {}
  758.             for i = 1, 6 do
  759.                 self.RuneBar[i] = CreateFrame('StatusBar', nil, self)
  760.                 if(i == 1) then
  761.                     self.RuneBar[i]:SetPoint('TOPLEFT', self, 'BOTTOMLEFT', 0, -8)
  762.                 else
  763.                     self.RuneBar[i]:SetPoint('TOPLEFT', self.RuneBar[i-1], 'TOPRIGHT', 5, 0)
  764.                 end
  765.                 self.RuneBar[i]:SetStatusBarTexture(texture)
  766.                 self.RuneBar[i]:SetHeight(10)
  767.                 self.RuneBar[i]:SetWidth(250/6 - 0.85)
  768.                 self.RuneBar[i]:SetBackdrop(backdrop)
  769.                 self.RuneBar[i]:SetBackdropColor(0, 0, 0)
  770.                 self.RuneBar[i]:SetMinMaxValues(0, 1)
  771.  
  772.                 CreateBorder(self.RuneBar[i], 11, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3)
  773.  
  774.                 self.RuneBar[i].bg = self.RuneBar[i]:CreateTexture(nil, 'BORDER')
  775.                 self.RuneBar[i].bg:SetAllPoints(self.RuneBar[i])
  776.                 self.RuneBar[i].bg:SetTexture(0.1, 0.1, 0.1)
  777.             end
  778.         end
  779.        
  780.         if(class == 'DRUID') then
  781.             local EclipseBar = CreateFrame('Frame', nil, self)
  782.             EclipseBar:SetPoint('TOPLEFT', self, 'BOTTOMLEFT', 0, -10)
  783.             EclipseBar:SetWidth(270)
  784.             EclipseBar:SetHeight(13)
  785.             EclipseBar:SetBackdrop(backdrop)
  786.             EclipseBar:SetBackdropColor(0, 0, 0, 0.8)
  787.            
  788.             CreateBorder(EclipseBar, 12, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4)
  789.          
  790.             local LunarBar = CreateFrame('StatusBar', nil, EclipseBar)
  791.             LunarBar:SetPoint('LEFT', EclipseBar, 'LEFT', 0, 0)
  792.             LunarBar:SetWidth(270)
  793.             LunarBar:SetHeight(13)
  794.             LunarBar:SetStatusBarTexture(texture)
  795.             LunarBar:SetStatusBarColor(0.36, 0.45, 0.88)
  796.             EclipseBar.LunarBar = LunarBar
  797.  
  798.             local SolarBar = CreateFrame('StatusBar', nil, EclipseBar)
  799.             SolarBar:SetPoint('LEFT', LunarBar:GetStatusBarTexture(), 'RIGHT', 0, 0)
  800.             SolarBar:SetWidth(270)
  801.             SolarBar:SetHeight(13)
  802.             SolarBar:SetStatusBarTexture(texture)
  803.             SolarBar:SetStatusBarColor(0.85, 0.83, 0.1)
  804.             EclipseBar.SolarBar = SolarBar
  805.  
  806.             local EclipseBarText = SolarBar:CreateFontString(nil, 'OVERLAY')
  807.             EclipseBarText:SetPoint('CENTER', EclipseBar, 'CENTER', 0, 0)
  808.             EclipseBarText:SetFont(font, 15, 'THINOUTLINE')
  809.             self:Tag(EclipseBarText, '[pereclipse]%')
  810.  
  811.             self.EclipseBar = EclipseBar
  812.         end
  813.        
  814.         if(class == 'WARRIOR') then
  815.             local ThunderStruck = self:CreateFontString(nil, 'OVERLAY')
  816.             ThunderStruck:SetPoint('CENTER', self, 'RIGHT', -5, 32)
  817.             ThunderStruck:SetFont(font, 24, 'THINOUTLINE')
  818.             ThunderStruck:SetTextColor(playerColor.r, playerColor.g, playerColor.b)
  819.             ThunderStruck:SetJustifyH('CENTER')
  820.             self:Tag(ThunderStruck, '[Aftermathh:ThunderStruck]')
  821.         end
  822.            
  823.         if(class == 'SHAMAN') then
  824.             local Maelstrom = self:CreateFontString(nil, 'OVERLAY')
  825.             Maelstrom:SetPoint('CENTER', self, 'RIGHT', -5, 32)
  826.             Maelstrom:SetFont(font, 24, 'THINOUTLINE')
  827.             Maelstrom:SetTextColor(playerColor.r, playerColor.g, playerColor.b)
  828.             Maelstrom:SetJustifyH('CENTER')
  829.             self:Tag(Maelstrom, '[Aftermathh:Maelstrom]')
  830.         end
  831.        
  832.         if(class == 'PRIEST') then
  833.             local ShadowOrbs = self:CreateFontString(nil, 'OVERLAY')
  834.             ShadowOrbs:SetPoint('CENTER', self, 'RIGHT', -5, 32)
  835.             ShadowOrbs:SetFont(font, 24, 'THINOUTLINE')
  836.             ShadowOrbs:SetTextColor(playerColor.r, playerColor.g, playerColor.b)
  837.             ShadowOrbs:SetJustifyH('CENTER')
  838.             self:Tag(ShadowOrbs, '[Aftermathh:ShadowOrbs]')
  839.         end
  840.        
  841.         if(class == 'PRIEST') then
  842.             local Evangelism = self:CreateFontString(nil, 'OVERLAY')
  843.             Evangelism:SetPoint('CENTER', self, 'RIGHT', -5, 32)
  844.             Evangelism:SetFont(font, 24, 'THINOUTLINE')
  845.             Evangelism:SetTextColor(playerColor.r, playerColor.g, playerColor.b)
  846.             Evangelism:SetJustifyH('CENTER')
  847.             self:Tag(Evangelism, '[Aftermathh:Evangelism]')
  848.         end
  849.        
  850.         if(class == 'WARLOCK') then
  851.             local Shards = self:CreateFontString(nil, 'OVERLAY')
  852.             Shards:SetPoint('CENTER', self, 'RIGHT', -5, 32)
  853.             Shards:SetFont(font, 24, 'THINOUTLINE')
  854.             Shards:SetJustifyH('CENTER')
  855.             self:Tag(Shards, '[Aftermathh:Shards]')
  856.         end
  857.        
  858.         if(class == 'PALADIN') then
  859.             local HolyPower = self:CreateFontString(nil, 'OVERLAY')
  860.             HolyPower:SetPoint('CENTER', self, 'RIGHT', -5, 32)
  861.             HolyPower:SetFont(font, 24, 'THINOUTLINE')
  862.             HolyPower:SetJustifyH('CENTER')
  863.             self:Tag(HolyPower, '[Aftermathh:HolyPower]')
  864.         end
  865.     end
  866.  
  867.     if(unit == 'player' or unit == 'target' or unit =='focus' or unit == 'pet' or unit == 'targetarget' or unit == 'focustarget' or unit == 'party') then
  868.    
  869.         self.Range = {
  870.             insideAlpha = 1,
  871.             outsideAlpha = 0.3,
  872.         }
  873.    
  874.         self.SpellRange = {
  875.             insideAlpha = 1,
  876.             outsideAlpha = 0.3,
  877.         }
  878.        
  879.     end
  880.  
  881.     if(unit == 'targettarget' or unit == 'focus' or unit == 'pet' or unit == 'focustarget' or unit == 'party') then
  882.         self:SetSize(150, 27)
  883.     else
  884.         self:SetSize(270, 27)
  885.     end
  886.    
  887.     if(unit == 'focus' or unit == 'pet') then
  888.        self:SetScale(0.95)
  889.     end
  890.    
  891.     self.disallowVehicleSwap = true
  892.  
  893.     return self
  894. end
  895.  
  896. CompactRaidFrameManager:UnregisterAllEvents()
  897. CompactRaidFrameManager:Hide()
  898. CompactRaidFrameContainer:UnregisterAllEvents()
  899. CompactRaidFrameContainer:Hide()
  900. CompactRaidFrameContainer:Hide()
  901.  
  902. local function menu(self)
  903.     if(self.unit:match('party')) then
  904.         ToggleDropDownMenu(1, nil, _G['PartyMemberFrame'..self.id..'DropDown'], 'cursor')
  905.     else
  906.         FriendsDropDown.unit = self.unit
  907.         FriendsDropDown.id = self.id
  908.         FriendsDropDown.initialize = RaidFrameDropDown_Initialize
  909.         ToggleDropDownMenu(1, nil, FriendsDropDown, 'cursor')
  910.     end
  911. end
  912.  
  913. local function UpdateThreat(self, _, unit)
  914.     if (self.unit ~= unit) then
  915.         return
  916.     end
  917.  
  918.     if (self.Aggro) then
  919.         local threat = UnitThreatSituation(self.unit)
  920.         if (threat == 3) then
  921.             self.Aggro:SetText('|cFFFF0000AGGRO')
  922.             self.Health:SetBackdropColor(0.9, 0, 0)
  923.         else
  924.             self.Aggro:SetText('')
  925.             self.Health:SetBackdropColor(0, 0, 0)
  926.         end
  927.     end
  928. end
  929.  
  930. local function RaidFrames(self, unit)
  931.  
  932.     self.menu = menu
  933.     self:RegisterForClicks('AnyDown')
  934.     self:SetScript('OnEnter', UnitFrame_OnEnter)
  935.     self:SetScript('OnLeave', UnitFrame_OnLeave)
  936.     self:SetAttribute('*type2', 'menu')
  937.    
  938.     CreateBorder(self, 11, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4)
  939.  
  940.     self:SetBackdrop({bgFile = [=[Interface\ChatFrame\ChatFrameBackground]=], insets = {top = -1.5, left = -1.5, bottom = -1.5, right = -1.5}})
  941.     self:SetBackdropColor(0, 0, 0, 0.8)
  942.  
  943.     self.DebuffHighlightBackdrop = true
  944.     self.DebuffHighlightFilter = true
  945.    
  946.     self.Health = CreateFrame('StatusBar', nil, self)
  947.     self.Health:SetStatusBarTexture(texture)
  948.     self.Health:SetParent(self)
  949.     self.Health:SetAllPoints(self)
  950.     self.Health.colorClass = true
  951.     self.Health.Smooth = true
  952.     self.Health:SetOrientation('HORIZONTAL')
  953.     self.Health:SetOrientation('VERTICAL')
  954.    
  955.     self.Health.bg = self.Health:CreateTexture(nil, 'BORDER')
  956.     self.Health.bg:SetAllPoints(self.Health)
  957.     self.Health.bg:SetTexture(bartexture)
  958.     self.Health.bg:SetAlpha(0.4)
  959.  
  960.     self.Name = self.Health:CreateFontString(nil, 'OVERLAY')
  961.     self.Name:SetPoint('TOP', 0, -12)
  962.     self.Name:SetFont(font, 11, 'THINOUTLINE')
  963.     self:Tag(self.Name, '|cffffffff[AfterRaidName]|r')
  964.    
  965.     self.MasterLooter = self.Health:CreateTexture('$parentMasterLooterIcon', 'OVERLAY', self)
  966.     self.MasterLooter:SetHeight(12)
  967.     self.MasterLooter:SetWidth(12)
  968.     self.MasterLooter:SetPoint('RIGHT', self.Health, 'TOPRIGHT', 2, 2)
  969.  
  970.     self.Leader = self.Health:CreateTexture('$parentLeaderIcon', 'OVERLAY', self)
  971.     self.Leader:SetHeight(14)
  972.     self.Leader:SetWidth(14)
  973.     self.Leader:SetPoint('LEFT', self.Health, 'TOPLEFT', -5, 2)
  974.  
  975.     self.RaidIcon = self.Health:CreateTexture(nil, 'OVERLAY')
  976.     self.RaidIcon:SetHeight(17)
  977.     self.RaidIcon:SetWidth(17)
  978.     self.RaidIcon:SetPoint('CENTER', self, 'TOP')
  979.     self.RaidIcon:SetTexture('Interface\\TargetingFrame\\UI-RaidTargetingIcons')
  980.  
  981.     self.ReadyCheck = self.Health:CreateTexture(nil, 'OVERLAY')
  982.     self.ReadyCheck:SetPoint('TOPRIGHT', self.Health, -7, -7)
  983.     self.ReadyCheck:SetPoint('BOTTOMLEFT', self.Health, 7, 7)
  984.     self.ReadyCheck.delayTime = 4
  985.     self.ReadyCheck.fadeTime = 1
  986.    
  987.     self.Aggro = self.Health:CreateFontString(nil, 'OVERLAY')
  988.     self.Aggro:SetPoint('CENTER', self.Health, 'BOTTOM')
  989.     self.Aggro:SetFont(font, 11, 'THINOUTLINE')
  990.    
  991.     table.insert(self.__elements, UpdateThreat)
  992.     self:RegisterEvent('PLAYER_TARGET_CHANGED', UpdateThreat)
  993.     self:RegisterEvent('UNIT_THREAT_LIST_UPDATE', UpdateThreat)
  994.     self:RegisterEvent('UNIT_THREAT_SITUATION_UPDATE', UpdateThreat)
  995.  
  996.     self.Range = {
  997.         insideAlpha = 1,
  998.         outsideAlpha = 0.3,
  999.     }
  1000.    
  1001.     self.SpellRange = {
  1002.         insideAlpha = 1,
  1003.         outsideAlpha = 0.3,
  1004.     }
  1005.    
  1006.     return self
  1007. end
  1008.  
  1009. oUF:RegisterStyle('AftermathhRaid', RaidFrames)
  1010.  
  1011. oUF:Factory(function(self)
  1012.   oUF:SetActiveStyle'AftermathhRaid'
  1013.  
  1014.     local raid = self:SpawnHeader('AftermathhRaid', nil, 'solo,party,raid',
  1015.         'showPlayer', true,
  1016.         'showRaid', true,
  1017.         'showParty', false,
  1018.         'showSolo', false,
  1019.         'xoffset', 12,
  1020.         'yOffset', -5,
  1021.         'point', 'LEFT',
  1022.         'groupFilter', '1,2,3,4,5,6,7,8',
  1023.         'groupingOrder', '1,2,3,4,5,6,7,8',
  1024.         'groupBy', 'GROUP',
  1025.         'maxColumns', 12,
  1026.         'unitsPerColumn', 5,
  1027.         'columnSpacing', 12,
  1028.         'columnAnchorPoint', 'TOP',
  1029.         'oUF-initialConfigFunction', [[
  1030.             self:SetHeight(38)
  1031.             self:SetWidth(42)
  1032.             self:SetScale(1)
  1033.         ]]
  1034.     )
  1035.     raid:SetPoint('TOPLEFT', UIParent, 10, -9)
  1036.    
  1037. end)
  1038.  
  1039. oUF:RegisterStyle('Aftermathh', Shared)
  1040.  
  1041. oUF:Factory(function(self)
  1042.   oUF:SetActiveStyle'Aftermathh'
  1043.  
  1044.     self:Spawn'Player':SetPoint('BOTTOMLEFT', UIParent, 196, 186)
  1045.     self:Spawn'Target':SetPoint('BOTTOMRIGHT', UIParent, -226, 186)
  1046.     self:Spawn'Targettarget':SetPoint('RIGHT', UIParent, -64, -188)
  1047.     self:Spawn'Focus':SetPoint('LEFT', UIParent, 108, -45)
  1048.     self:Spawn'Focustarget':SetPoint('LEFT', UIParent, 17, -3)
  1049.     self:Spawn'Pet':SetPoint('LEFT', UIParent, 105, -156)
  1050.    
  1051.     local party = self:SpawnHeader('AftermathhParty', nil, 'party',
  1052.         'showParty', true,
  1053.         'showPlayer', true,
  1054.         'xoffset', 12,
  1055.         'yOffset', -52,
  1056.         'oUF-initialConfigFunction', [[
  1057.             self:SetHeight(27)
  1058.             self:SetWidth(150)
  1059.             self:SetScale(0.95)
  1060.         ]]
  1061.     )
  1062.     party:SetPoint('TOPLEFT', UIParent, 92, -12)
  1063.    
  1064. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement