diff --git a/config/config.lua b/config/config.lua index 3a49e0258..518d59ed2 100644 --- a/config/config.lua +++ b/config/config.lua @@ -260,6 +260,10 @@ C.CharacterSettings = { PartyWatcherSync = true, PartyWatcherOnRight = false, PartyNameLength = 4, + PartyBuff = true, + PartyBuffSize = 16, + PartyDebuff = true, + PartyDebuffSize = 16, RaidFrame = true, RaidColorStyle = 2, @@ -271,7 +275,10 @@ C.CharacterSettings = { RaidHealthHeight = 30, RaidPowerHeight = 2, RaidNameLength = 2, - + RaidBuff = false, + RaidBuffSize = 12, + RaidDebuff = false, + RaidDebuffSize = 12, GroupName = false, GroupRole = true, @@ -282,12 +289,7 @@ C.CharacterSettings = { SmartRaid = true, - ShowRaidBuff = false, - RaidBuffSize = 8, - ShowRaidDebuff = false, - RaidDebuffSize = 12, - RaidDebuffsScale = 1, PositionBySpec = false, ClickToCast = true, diff --git a/gui/extra.lua b/gui/extra.lua index 9e0bcf4c0..4111515dc 100644 --- a/gui/extra.lua +++ b/gui/extra.lua @@ -2885,6 +2885,141 @@ function GUI:SetupNameLength(parent) end end +local function UpdateGroupAuras() + UNITFRAME:UpdateGroupAuras() +end + + + +function GUI:SetupPartyBuffSize(parent) + local guiName = 'FreeUIGUISetupPartyBuffSize' + TogglePanel(guiName) + if extraGUIs[guiName] then + return + end + + local panel = CreateExtraGUI(parent, guiName) + local scroll = GUI:CreateScroll(panel, 220, 540) + + local mKey = 'Unitframe' + local db = C.CharacterSettings.Unitframe + + local datas = { + [1] = { + key = 'PartyBuffSize', + value = db.PartyBuffSize, + text = L['Icon Size'], + min = 12, + max = 36, + step = 1 + } + } + + local offset = -10 + for _, v in ipairs(datas) do + CreateGroupTitle(scroll, L['Party Buff'], offset) + CreateSlider(scroll, mKey, v.key, v.text, v.min, v.max, v.step, v.value, 20, offset - 50, UpdateGroupAuras) + offset = offset - 65 + end +end + +function GUI:SetupPartyDebuffSize(parent) + local guiName = 'FreeUIGUISetupPartyDebuffSize' + TogglePanel(guiName) + if extraGUIs[guiName] then + return + end + + local panel = CreateExtraGUI(parent, guiName) + local scroll = GUI:CreateScroll(panel, 220, 540) + + local mKey = 'Unitframe' + local db = C.CharacterSettings.Unitframe + + local datas = { + [1] = { + key = 'PartyDebuffSize', + value = db.PartyDebuffSize, + text = L['Icon Size'], + min = 12, + max = 36, + step = 1 + }, + } + + local offset = -10 + for _, v in ipairs(datas) do + CreateGroupTitle(scroll, L['Party Debuff'], offset) + CreateSlider(scroll, mKey, v.key, v.text, v.min, v.max, v.step, v.value, 20, offset - 50, UpdateGroupAuras) + offset = offset - 65 + end +end + + +function GUI:SetupRaidBuffSize(parent) + local guiName = 'FreeUIGUISetupRaidBuffSize' + TogglePanel(guiName) + if extraGUIs[guiName] then + return + end + + local panel = CreateExtraGUI(parent, guiName) + local scroll = GUI:CreateScroll(panel, 220, 540) + + local mKey = 'Unitframe' + local db = C.CharacterSettings.Unitframe + + local datas = { + [1] = { + key = 'RaidBuffSize', + value = db.RaidBuffSize, + text = L['Icon Size'], + min = 12, + max = 36, + step = 1 + } + } + + local offset = -10 + for _, v in ipairs(datas) do + CreateGroupTitle(scroll, L['Raid Buff'], offset) + CreateSlider(scroll, mKey, v.key, v.text, v.min, v.max, v.step, v.value, 20, offset - 50, UpdateGroupAuras) + offset = offset - 65 + end +end + +function GUI:SetupRaidDebuffSize(parent) + local guiName = 'FreeUIGUISetupRaidDebuffSize' + TogglePanel(guiName) + if extraGUIs[guiName] then + return + end + + local panel = CreateExtraGUI(parent, guiName) + local scroll = GUI:CreateScroll(panel, 220, 540) + + local mKey = 'Unitframe' + local db = C.CharacterSettings.Unitframe + + local datas = { + [1] = { + key = 'RaidDebuffSize', + value = db.RaidDebuffSize, + text = L['Icon Size'], + min = 12, + max = 36, + step = 1 + } + } + + local offset = -10 + for _, v in ipairs(datas) do + CreateGroupTitle(scroll, L['Raid Debuff'], offset) + CreateSlider(scroll, mKey, v.key, v.text, v.min, v.max, v.step, v.value, 20, offset - 50, UpdateGroupAuras) + offset = offset - 65 + end +end + -- General diff --git a/gui/options.lua b/gui/options.lua index 389a17806..7f8d411f4 100644 --- a/gui/options.lua +++ b/gui/options.lua @@ -305,6 +305,26 @@ local function SetupNameLength() GUI:SetupNameLength(GUI.Page[12]) end +local function SetupPartyBuffSize() + GUI:SetupPartyBuffSize(GUI.Page[12]) +end + +local function SetupPartyDebuffSize() + GUI:SetupPartyDebuffSize(GUI.Page[12]) +end + +local function SetupRaidBuffSize() + GUI:SetupRaidBuffSize(GUI.Page[12]) +end + +local function SetupRaidDebuffSize() + GUI:SetupRaidDebuffSize(GUI.Page[12]) +end + +local function UpdateGroupAuras() + UNITFRAME:UpdateGroupAuras() +end + -- General @@ -619,12 +639,18 @@ GUI.OptionsList = { {1, 'Unitframe', 'RaidFrame', L['Enable RaidFrame'], nil, SetupRaidFrame}, {1, 'Unitframe', 'SimpleMode', L['Simple Mode'], nil, SetupSimpleRaidFrame, nil, L['Simple mode remove most of the elements, and only show unit health status.']}, {1, 'Unitframe', 'TeamIndex', L['Display Team Index'], true, nil, UpdateRaidHeader}, + + {1, 'Unitframe', 'RaidBuff', L['Display Buffs'], nil, SetupRaidBuffSize, UpdateGroupAuras, L['Display buffs on RaidFrame by blizzard API logic, up to 3 icons.|nThis may overlap with the Corner Indicator and is best not enabled at the same time.']}, + {1, 'Unitframe', 'RaidDebuff', L['Display Debuffs'], true, SetupRaidDebuffSize, UpdateGroupAuras, L['Display debuffs on RaidFrame by blizzard API logic, up to 3 icons.|nThis may overlap with the Corner Indicator and is best not enabled at the same time.']}, {}, {1, 'Unitframe', 'PartyFrame', L['Enable PartyFrame'], nil, SetupPartyFrame}, {1, 'Unitframe', 'ShowSolo', L['Display PartyFrame on Solo'], nil, nil, UpdateAllHeaders, L['If checked, the PartyFrame would be visible even you are solo.']}, {1, 'Unitframe', 'DescRole', L['Sort by Reverse Roles'], true, nil, UpdatePartyHeader, L["If checked, sort your party order by 'Damager Healer Tank' within growth direction.|nIf unchecked, sort your party order by 'Tank Healer Damager' within growth direction."]}, + {1, 'Unitframe', 'PartyBuff', L['Display Buffs'], nil, SetupPartyBuffSize, UpdateGroupAuras, L['Display buffs on PartyFrame by blizzard API logic, up to 3 icons.|nThis may overlap with the Corner Indicator and is best not enabled at the same time.']}, + {1, 'Unitframe', 'PartyDebuff', L['Display Debuffs'], true, SetupPartyDebuffSize, UpdateGroupAuras, L['Display debuffs on PartyFrame by blizzard API logic, up to 3 icons.|nThis may overlap with the Corner Indicator and is best not enabled at the same time.']}, + {1, 'Unitframe', 'PartyWatcher', L['Enable Party Watcher'], nil, SetupPartyWatcher, nil, L['If enabled, show spell cooldown for your group members on PartyFrames']}, {1, 'Unitframe', 'PartyWatcherOnRight', L['Swap Icons Side'], nil, nil, UpdatePartyElements}, {1, 'Unitframe', 'PartyWatcherSync', L['Sync Party Watcher'], true, nil, nil, L['If enabled, the cooldown status would sync with players who using party watcher or ZenTracker(WA).|nThis might decrease your performance.']}, diff --git a/modules/unitframe/auras.lua b/modules/unitframe/auras.lua index 5893787f1..c676c9b32 100644 --- a/modules/unitframe/auras.lua +++ b/modules/unitframe/auras.lua @@ -31,7 +31,7 @@ function UNITFRAME:MODIFIER_STATE_CHANGED(key, state) if state == 1 then -- modifier key pressed auras.CustomFilter = UNITFRAME.ModifierCustomFilter else - auras.CustomFilter = UNITFRAME.CustomFilter + auras.CustomFilter = UNITFRAME.AuraFilter end auras:ForceUpdate() break @@ -62,6 +62,10 @@ function UNITFRAME.PostCreateIcon(element, button) local style = element.__owner.unitStyle local isGroup = style == 'party' or style == 'raid' local font = C.Assets.Fonts.Roadway + local fontSize = element.size * .4 + if fontSize < 12 then + fontSize = 12 + end button.bg = F.CreateBDFrame(button, .25) button.glow = F.CreateSD(button.bg) @@ -79,32 +83,29 @@ function UNITFRAME.PostCreateIcon(element, button) button.HL:SetColorTexture(1, 1, 1, .25) button.HL:SetAllPoints() - button.count = F.CreateFS(button, font, 12, true, nil, nil, true) + button.count = F.CreateFS(button, font, fontSize, true, nil, nil, true) button.count:ClearAllPoints() button.count:SetPoint(isGroup and 'TOP' or 'TOPRIGHT', button, isGroup and 0 or 2, 4) - button.timer = F.CreateFS(button, font, 12, true, nil, nil, true) + button.timer = F.CreateFS(button, font, fontSize, true, nil, nil, true) button.timer:ClearAllPoints() button.timer:SetPoint(isGroup and 'BOTTOM' or 'BOTTOMLEFT', button, isGroup and 0 or 2, -4) button.UpdateTooltip = UpdateAuraTooltip button:SetScript('OnEnter', Aura_OnEnter) button:SetScript('OnLeave', Aura_OnLeave) - button:SetScript( - 'OnClick', - function(self, button) - if not InCombatLockdown() and button == 'RightButton' then - CancelUnitBuff('player', self:GetID(), self.filter) - end + button:SetScript('OnClick', function(self, button) + if not InCombatLockdown() and button == 'RightButton' then + CancelUnitBuff('player', self:GetID(), self.filter) end - ) + end) end local replaceEncryptedIcons = { [368078] = 348567, -- 移速 [368079] = 348567, -- 移速 [368103] = 648208, -- 急速 - [368243] = 237538, -- CD + [368243] = 237538 -- CD } function UNITFRAME.PostUpdateIcon(element, unit, button, index, _, duration, expiration, debuffType) @@ -118,12 +119,13 @@ function UNITFRAME.PostUpdateIcon(element, unit, button, index, _, duration, exp local style = element.__owner.unitStyle local isParty = style == 'party' + local isRaid = style == 'raid' local desaturate = C.DB.Unitframe.DesaturateIcon local purgeableHighlight = C.DB.Unitframe.PurgeableHighlight local debuffTypeColor = C.DB.Unitframe.DebuffTypeColor local _, _, _, _, _, _, _, canStealOrPurge = UnitAura(unit, index, button.filter) - button:SetSize(element.size, isParty and element.size or element.size * .75) + button:SetSize(element.size, (isParty or isRaid) and element.size or element.size * .75) if desaturate and button.isDebuff and F:MultiCheck(style, 'target', 'boss', 'arena', 'nameplate') and not button.isPlayer then button.icon:SetDesaturated(true) @@ -164,17 +166,14 @@ function UNITFRAME.PostUpdateIcon(element, unit, button, index, _, duration, exp end end - if isParty and button.isDebuff then - button.count:SetFont(C.Assets.Fonts.Square, 13, 'OUTLINE') - button.count:SetJustifyH('CENTER') - button.count:ClearAllPoints() - button.count:SetPoint('TOP', 1, 6) - button.timer:SetFont(C.Assets.Fonts.Square, 13, 'OUTLINE') - button.timer:SetJustifyH('CENTER') - button.timer:ClearAllPoints() - button.timer:SetPoint('BOTTOM', 1, -6) + local fontSize = element.size * .4 + if fontSize < 12 then + fontSize = 12 end + button.count:SetFont(C.Assets.Fonts.Square, fontSize, 'OUTLINE') + button.timer:SetFont(C.Assets.Fonts.Square, fontSize, 'OUTLINE') + local newTexture = replaceEncryptedIcons[button.spellID] if newTexture then button.icon:SetTexture(newTexture) @@ -193,7 +192,7 @@ local function BolsterPostUpdate(element) end end -function UNITFRAME.CustomFilter(element, unit, button, name, _, _, _, _, _, caster, isStealable, _, spellID, _, isBossAura, _, nameplateShowAll) +function UNITFRAME.AuraFilter(element, unit, button, name, _, _, _, _, _, caster, isStealable, _, spellID, _, isBossAura, _, nameplateShowAll) local style = element.__owner.unitStyle local isMine = F:MultiCheck(caster, 'player', 'pet', 'vehicle') local showToT = C.DB.Unitframe.TargetTargetAuras @@ -207,6 +206,12 @@ function UNITFRAME.CustomFilter(element, unit, button, name, _, _, _, _, _, cast element.bolsterIndex = button return true end + elseif style == 'party' then + if C.PartyImportantAurasList[spellID] then + return true + else + return false + end elseif style == 'nameplate' or style == 'boss' or style == 'arena' then if element.__owner.plateType == 'NameOnly' then return _G.FREE_ADB['NPAuraFilter'][1][spellID] or C.AuraWhiteList[spellID] @@ -233,34 +238,6 @@ function UNITFRAME.ModifierCustomFilter() return true end -function UNITFRAME.BuffFilter(_, _, _, _, _, _, _, _, _, _, _, _, spellID) - if C.PartyBuffsList[spellID] then - return true - else - return false - end -end - -function UNITFRAME.DebuffFilter(_, unit, _, _, _, _, _, _, _, caster, _, _, spellID, _, isBossAura) - local isMine = F:MultiCheck(caster, 'player', 'pet', 'vehicle') - -- local parent = element.__owner - - if UnitIsDeadOrGhost(unit) or C.PartyDebuffsBlackList[spellID] then - -- elseif (C.DB.Unitframe.CornerIndicator and UNITFRAME.CornerSpellsList[spellID]) or parent.RaidDebuffs.spellID == spellID or parent.rawSpellID == spellID then - -- return false - return false - elseif isBossAura or SpellIsPriorityAura(spellID) then - return true - else - local hasCustom, alwaysShowMine, showForMySpec = SpellGetVisibilityInfo(spellID, UnitAffectingCombat('player') and 'RAID_INCOMBAT' or 'RAID_OUTOFCOMBAT') - if hasCustom then - return showForMySpec or (alwaysShowMine and isMine) - else - return true - end - end -end - function UNITFRAME.PostUpdateGapIcon(_, _, icon) icon:Hide() end @@ -285,7 +262,14 @@ function UNITFRAME:CreateAuras(self) bu.spacing = 4 bu.numTotal = 32 - if style == 'target' then + if style == 'party' then + bu.initialAnchor = 'LEFT' + bu:SetPoint('LEFT', self, 'RIGHT', 4, 0) + bu.size = self:GetHeight() * .7 + bu.numTotal = 4 + bu.disableMouse = C.DB.Unitframe.AurasClickThrough + bu.disableCooldown = true + elseif style == 'target' then bu.initialAnchor = 'BOTTOMLEFT' bu:SetPoint('BOTTOM', self, 'TOP', 0, 24) bu['growth-y'] = 'UP' @@ -328,7 +312,7 @@ function UNITFRAME:CreateAuras(self) bu.onlyShowPlayer = C.DB.Unitframe.OnlyShowPlayer bu.showDebuffType = true bu.showStealableBuffs = true - bu.CustomFilter = UNITFRAME.CustomFilter + bu.CustomFilter = UNITFRAME.AuraFilter bu.PostCreateIcon = UNITFRAME.PostCreateIcon bu.PostUpdateIcon = UNITFRAME.PostUpdateIcon bu.PostUpdateGapIcon = UNITFRAME.PostUpdateGapIcon @@ -340,17 +324,35 @@ function UNITFRAME:CreateAuras(self) F:RegisterEvent('PLAYER_ENTERING_WORLD', UNITFRAME.PLAYER_ENTERING_WORLD) end -function UNITFRAME:CreateBuffs(self) +function UNITFRAME.GroupBuffFilter(_, _, _, _, _, _, _, _, _, caster, _, _, spellID, canApplyAura, isBossAura) + if isBossAura then + return true + else + local hasCustom, alwaysShowMine, showForMySpec = SpellGetVisibilityInfo(spellID, UnitAffectingCombat('player') and 'RAID_INCOMBAT' or 'RAID_OUTOFCOMBAT') + local isPlayerSpell = (caster == 'player' or caster == 'pet' or caster == 'vehicle') + if hasCustom then + return showForMySpec or (alwaysShowMine and isPlayerSpell) + else + return isPlayerSpell and canApplyAura and not SpellIsSelfBuff(spellID) + end + end +end + +function UNITFRAME:CreateGroupBuffs(self) + if not C.DB.Unitframe.PartyBuff then + return + end + local bu = CreateFrame('Frame', nil, self) - bu:SetPoint('LEFT', self, 'RIGHT', 4, 0) - bu.initialAnchor = 'LEFT' - bu.spacing = 4 - bu.size = self:GetHeight() * .7 - bu.num = 3 + bu:SetPoint('TOPLEFT', self.Health, 'TOPLEFT', 2, -2) + bu.initialAnchor = 'TOPLEFT' + bu.spacing = 3 + bu.size = self.unitStyle == 'raid' and C.DB.Unitframe.RaidBuffSize or C.DB.Unitframe.PartyBuffSize + bu.num = (self.unitStyle == 'simple' or not C.DB.Unitframe.PartyBuff) and 0 or 3 bu.showStealableBuffs = true - bu.disableMouse = C.DB.Unitframe.AurasClickThrough + bu.disableMouse = true bu.disableCooldown = true - bu.CustomFilter = UNITFRAME.BuffFilter + -- bu.CustomFilter = UNITFRAME.GroupBuffFilter UNITFRAME:UpdateAuraContainer(self, bu, bu.num) @@ -360,41 +362,93 @@ function UNITFRAME:CreateBuffs(self) self.Buffs = bu end -function UNITFRAME.PostUpdate(bu) - local vd = bu.visibleDebuffs +local debuffBlackList = { + [206151] = true, + [296847] = true, + [338906] = true +} - if vd == 3 then - bu:SetPoint('CENTER', -17, 0) - elseif vd == 2 then - bu:SetPoint('CENTER', -9, 0) +function UNITFRAME.GroupDebuffFilter(element, _, _, _, _, _, _, _, _, caster, _, _, spellID, _, isBossAura) + local parent = element.__owner + if debuffBlackList[spellID] then + return false + elseif (C.DB.Unitframe.CornerIndicator and UNITFRAME.CornerSpellsList[spellID]) or parent.RaidDebuffs.spellID == spellID or parent.rawSpellID == spellID then + return false + elseif isBossAura or SpellIsPriorityAura(spellID) then + return true else - bu:SetPoint('CENTER', 0, 0) + local hasCustom, alwaysShowMine, showForMySpec = SpellGetVisibilityInfo(spellID, UnitAffectingCombat('player') and 'RAID_INCOMBAT' or 'RAID_OUTOFCOMBAT') + if hasCustom then + return showForMySpec or (alwaysShowMine and (caster == 'player' or caster == 'pet' or caster == 'vehicle')) + else + return true + end end end -function UNITFRAME:CreateDebuffs(self) - local bu = CreateFrame('Frame', nil, self) - bu:SetPoint('CENTER') - bu:SetWidth(self:GetWidth()) - bu:SetHeight(self:GetHeight()) - bu:SetScale(1) - - bu.initialAnchor = 'CENTER' - bu.spacing = 5 - bu.num = 3 - bu.size = 13 +function UNITFRAME:CreateGroupDebuffs(self) + if not C.DB.Unitframe.PartyDebuff then + return + end - bu.disableMouse = C.DB.Unitframe.AurasClickThrough + local bu = CreateFrame('Frame', nil, self) + bu:SetPoint('BOTTOMRIGHT', self.Health, 'BOTTOMRIGHT', -2, 2) + bu.initialAnchor = 'BOTTOMRIGHT' + bu['growth-x'] = 'LEFT' + bu.spacing = 3 + bu.size = self.unitStyle == 'raid' and C.DB.Unitframe.RaidDebuffSize or C.DB.Unitframe.PartyDebuffSize + bu.num = (self.unitStyle == 'simple' or not C.DB.Unitframe.PartyDebuff) and 0 or 3 + bu.disableMouse = true + bu.disableCooldown = true bu.showDebuffType = true - bu.CustomFilter = UNITFRAME.DebuffFilter + UNITFRAME:UpdateAuraContainer(self, bu, bu.num) + + bu.CustomFilter = UNITFRAME.GroupDebuffFilter bu.PostCreateIcon = UNITFRAME.PostCreateIcon bu.PostUpdateIcon = UNITFRAME.PostUpdateIcon - bu.PostUpdate = UNITFRAME.PostUpdate self.Debuffs = bu end +function UNITFRAME:UpdateGroupAuras() + for _, frame in pairs(oUF.objects) do + + local buffs = frame.Buffs + local debuffs = frame.Debuffs + + if frame.unitStyle == 'party' then + if debuffs then + debuffs.num = not C.DB.Unitframe.PartyDebuff and 0 or 3 + debuffs.size = C.DB.Unitframe.PartyDebuffSize + UNITFRAME:UpdateAuraContainer(frame, debuffs, debuffs.num) + debuffs:ForceUpdate() + end + + if buffs then + buffs.num = not C.DB.Unitframe.PartyBuff and 0 or 3 + buffs.size = C.DB.Unitframe.PartyBuffSize + UNITFRAME:UpdateAuraContainer(frame, buffs, buffs.num) + buffs:ForceUpdate() + end + else + if debuffs then + debuffs.num = not C.DB.Unitframe.RaidDebuff and 0 or 3 + debuffs.size = C.DB.Unitframe.RaidDebuffSize + UNITFRAME:UpdateAuraContainer(frame, debuffs, debuffs.num) + debuffs:ForceUpdate() + end + + if buffs then + buffs.num = not C.DB.Unitframe.RaidBuff and 0 or 3 + buffs.size = C.DB.Unitframe.RaidBuffSize + UNITFRAME:UpdateAuraContainer(frame, buffs, buffs.num) + buffs:ForceUpdate() + end + end + end +end + local function RefreshAurasElements(self) local buffs = self.Buffs if buffs then diff --git a/modules/unitframe/filters/player.lua b/modules/unitframe/filters/player.lua index de9d9c597..76082776c 100644 --- a/modules/unitframe/filters/player.lua +++ b/modules/unitframe/filters/player.lua @@ -531,7 +531,7 @@ C.PartyDebuffsBlackList = { [294720] = true -- 瓶装谜团 } -C.PartyBuffsList = { +C.PartyImportantAurasList = { -- All [160029] = true, -- Resurrecting -- Racial diff --git a/modules/unitframe/raiddebuffs.lua b/modules/unitframe/raiddebuffs.lua index 69b09d538..4c49e9216 100644 --- a/modules/unitframe/raiddebuffs.lua +++ b/modules/unitframe/raiddebuffs.lua @@ -68,7 +68,7 @@ function UNITFRAME:CreateRaidDebuff(self) bu:SetScript('OnLeave', F.HideTooltip) end - bu.ShowDispellableDebuff = true -- 副本外仍然显示可驱散的减益 + bu.ShowDispellableDebuff = false -- 副本外仍然显示可驱散的减益 bu.ShowDebuffBorder = true if not next(debuffList) then diff --git a/modules/unitframe/units.lua b/modules/unitframe/units.lua index 8c5b3b40d..2c23f0fad 100644 --- a/modules/unitframe/units.lua +++ b/modules/unitframe/units.lua @@ -354,7 +354,9 @@ local function CreatePartyStyle(self) UNITFRAME:CreateThreatIndicator(self) UNITFRAME:CreateSelectedBorder(self) UNITFRAME:CreateRangeCheck(self) - UNITFRAME:CreateBuffs(self) + UNITFRAME:CreateAuras(self) + UNITFRAME:CreateGroupBuffs(self) + UNITFRAME:CreateGroupDebuffs(self) UNITFRAME:CreateRaidDebuff(self) UNITFRAME:RefreshAurasByCombat(self) UNITFRAME:CreateCornerIndicator(self) @@ -536,6 +538,8 @@ local function CreateRaidStyle(self) UNITFRAME:CreateSelectedBorder(self) UNITFRAME:CreateRangeCheck(self) UNITFRAME:CreateCornerIndicator(self) + UNITFRAME:CreateGroupBuffs(self) + UNITFRAME:CreateGroupDebuffs(self) UNITFRAME:CreateRaidDebuff(self) UNITFRAME:RefreshAurasByCombat(self) end