Need some help with my Layout,
as i say on page of my layout, i am still padawan and learn how oUF works.
Sometimes i understand what i do sometimes not.
But here is a problem what i completely dont understand what i need to do ,all code seems ok, but i missing something , and i dont know what i am missing.i spend 2 days to make ouf swing to work.No luck.
At last i put this piece of code bottom and under of every line ,(or most of them) again no succes .I am sure this is very easy thing but i am not able to catch it . sorry for bad english.An so sorry if its very long
God i hate my stupidity.
code used by me to support oUF_swing
Code:
if unit=="player" and playerClass=="HUNTER" then
if IsAddOnLoaded("oUF_Swing") then
self.Swing = CreateFrame("StatusBar", nil, self)
self.Swing:SetPoint("CENTER", UIParent, "CENTER", 0, -1)
self.Swing:SetStatusBarTexture(bartex)
self.Swing:SetStatusBarColor(0.75, 0.75, 0.75)
self.Swing:SetHeight(3)
self.Swing:SetWidth(220)
self.Swing.disableMelee = true
self.Swing:SetFrameLevel(1)
self.Swing.Text = self.Swing:CreateFontString(nil, "OVERLAY")
self.Swing.Text:SetFont(font, fontsize-3, "OUTLINE")
self.Swing.Text:SetPoint("CENTER", self.Swing, 0, -10)
end
end
code of layout.
Code:
--[[
oUF_Experiment
Author: Young Padawan Aesh who learning how to use force. All credits goes to Master Jedi's which names is Bottom.
Credits: Master Jedi Dawn who create that beatiful layout , and give me permission to make modifications and release this layout.
Master Jedi p3lim for party toggle function and druid mana
Master Jedi Lyn for oUF_Lyn
Master Jedi Maneut for oUF_Maneut
Master Jedi Neal for a way to get those borders around all frames!
--]]
---configs --
---------------------------------------------------
local petCastBar_x = 0
local petCastBar_y = -420 -- pet cast bar positions
local playerCastBar_x = 0
local playerCastBar_y = -365 -- player castbar positions
local targetCastBar_x = 0
local targetCastBar_y = -290 -- target castbar positions
local focusCastBar_x = 0
local focusCastBar_y = -210 -- focus castbar positions
local fontsize = 14 -- fontsize for everything else
local raidfontsize = 10 -- raid fontsize
--local disableparty = false -- not implemented
local disableraid = false -- true disable raid frames
local DisableBuffs = false -- true disable self buff bars.
-- color and alpha for frameborders --
-----------------------------------------
local color_rb = 0.65 -- default 0.00
local color_gb = 0.65 -- default 0.00
local color_bb = 0.65 -- default 0.00
local alpha_fb = 0.90 -- default 0.35
-- Font, textures --
---------------------------------------------------------------------------
local font = "Interface\\AddOns\\oUF_Experiment\\font\\font.ttf"
local bartex = "Interface\\AddOns\\oUF_Experiment\\media\\texturedark"
local bartex2 = "Interface\\AddOns\\oUF_Experiment\\media\\texturelight"
local frameborder = "Interface\\AddOns\\oUF_Experiment\\media\\frameborder"
-- borders positions --
local BottomRightBorder_x = 4
local BottomRightBorder_y = -4
local BottomLeftBorder_x = -4
local BottomLeftBorder_y = -4
local TopRightBorder_x = 4
local TopRightBorder_y = 4
local TopLeftBorder_x = -4
local TopLeftBorder_y = 4
--WARNİNG!! MINE AREA -- Do not step if you dont know what todo!! 50 DKP minus --
-- Locals --
---------------------------------------------------------------------------
local select = select
local UnitClass = UnitClass
local UnitIsDead = UnitIsDead
local UnitIsPVP = UnitIsPVP
local UnitIsGhost = UnitIsGhost
local UnitIsPlayer = UnitIsPlayer
local UnitReaction = UnitReaction
local UnitIsConnected = UnitIsConnected
local UnitCreatureType = UnitCreatureType
local UnitClassification = UnitClassification
local UnitReactionColor = UnitReactionColor
local RAID_CLASS_COLORS = RAID_CLASS_COLORS
-- Class Color --
--------------------------------------------------------------
local playerClass = select(2, UnitClass("player"))
-- change colors --
---------------------------------------------------------------------------
oUF.colors.happiness = {
[1] = {182/225, 34/255, 32/255}, -- unhappy
[2] = {220/225, 180/225, 52/225}, -- content
[3] = {143/255, 194/255, 32/255}, -- happy
}
-- right click --
---------------------------------------------------------------------------
local menu = function(self)
local unit = self.unit:sub(1, -2)
local cunit = self.unit:gsub("(.)", string.upper, 1)
if(unit == "party" or unit == "partypet") then
ToggleDropDownMenu(1, nil, _G["PartyMemberFrame"..self.id.."DropDown"], "cursor", 0, 0)
elseif(_G[cunit.."FrameDropDown"]) then
ToggleDropDownMenu(1, nil, _G[cunit.."FrameDropDown"], "cursor", 0, 0)
end
end
--Shorting everything above 9999, i.e. 10000 -> 10k and above 999 in raidframes
---------------------------------------------------------------------------
local numberize = function(v)
if v <= 9999 then return v end
if v >= 1000000 then
local value = string.format("%.1fm", v/1000000)
return value
elseif v >= 10000 then
local value = string.format("%.1fk", v/1000)
return value
end
end
local numberize_raid = function(v)
if v <= 999 then return v end
if v >= 1000000 then
local value = string.format("%.1fm", v/1000000)
return value
elseif v >= 1000 then
local value = string.format("%.1fk", v/1000)
return value
end
end
-- level update --
---------------------------------------------------------------------------
local updateLevel = function(self, unit, name)
local lvl = UnitLevel(unit)
local typ = UnitClassification(unit)
local color = GetQuestDifficultyColor(lvl)
if lvl <= 0 then lvl = "??" end
if typ=="worldboss" then
self.Level:SetText("|cffff0000"..lvl.."b|r")
elseif typ=="rareelite" then
self.Level:SetText(lvl.."r+")
self.Level:SetTextColor(color.r, color.g, color.b)
elseif typ=="elite" then
self.Level:SetText(lvl.."+")
self.Level:SetTextColor(color.r, color.g, color.b)
elseif typ=="rare" then
self.Level:SetText(lvl.."r")
self.Level:SetTextColor(color.r, color.g, color.b)
else
if UnitIsConnected(unit) == 1 then
self.Level:SetText(lvl)
else
self.Level:SetText("??")
end
if(not UnitIsPlayer(unit)) then
self.Level:SetTextColor(color.r, color.g, color.b)
else
local _, class = UnitClass(unit)
color = self.colors.class[class]
self.Level:SetTextColor(color[1], color[2], color[3])
end
end
end
-- name update --
---------------------------------------------------------------------------
local updateName = function(self, event, unit)
if(self.unit ~= unit) then return end
local name = UnitName(unit)
self.Name:SetText(name)
if unit=="targettarget" then
local totName = UnitName(unit)
local pName = UnitName("player")
else
self.Name:SetTextColor(1,1,1)
end
if unit=="target" then -- Show level value on targets only
updateLevel(self, unit, name)
end
if(self:GetParent():GetName():match"oUF_Raid") then -- Shorting Names in Raidframes
self.Name:SetText(string.sub(name,1,4))
end
end
-- health update --
---------------------------------------------------------------------------
local updateHealth = function(self, event, unit, bar, min, max)
local cur, maxhp = min, max
local missing = maxhp-cur
local d = floor(cur/maxhp*100)
if(UnitIsDead(unit)) then
bar:SetValue(0)
bar.value:SetText"DEAD"
elseif(UnitIsGhost(unit)) then
bar:SetValue(0)
bar.value:SetText"GHOST"
elseif(not UnitIsConnected(unit)) then
bar.value:SetText"D/C"
elseif
bar.value:SetText" " then
elseif(unit == "player") then
if(min ~= max) then
bar.value:SetText("|cffB62220".."-"..numberize(missing) .."|r." .."|cff9EBF56"..numberize(cur) .."|r.".. d.."%")
else
bar.value:SetText(" ")
end
elseif(unit == "targettarget") then
bar.value:SetText(d.."%")
elseif(unit == "target") then
if(d < 100) then
bar.value:SetText("|cffB62220".."-"..numberize(missing) .."|r." .."|cff9EBF56"..numberize(cur) .."|r.".. d.."%")
else
bar.value:SetText("|cff9EBF56"..numberize(cur))
end
elseif(self:GetParent():GetName():match"oUF_Raid") then
if(d < 100) then
bar.value:SetText("|cffFFFFFF".."-"..numberize_raid(missing))
else
bar.value:SetText(" ")
end
elseif(min == max) then
if unit == "pet" then
bar.value:SetText(" ")
end
else
if((max-min) < max) then
if unit == "pet" then
bar.value:SetText("|cffB62220".."-"..missing)
end
end
end
self:UNIT_NAME_UPDATE(event, unit)
end
-- druid mana --
---------------------------------------------------------------------------
local function UpdateDruidPower(self)
local ptype = UnitPowerType("player")
if(ptype ~= 0) then
local min = UnitPower("player",0)
local max = UnitPowerMax("player",0)
self.DruidPower:SetMinMaxValues(0, max)
self.DruidPower:SetValue(min)
self.DruidPower:SetStatusBarColor(unpack(self.colors.power["MANA"]))
self.DruidPower.percent:SetText(min.." . "..max.." . "..floor(min / max * 100).."%")
if color then
self.DruidPower.percent:SetTextColor(0.76, 0.94, 0.96)
else
self.DruidPower.percent:SetTextColor(0.76, 0.94, 0.96)
end
if(min ~= max) then
self.DruidPower:SetMinMaxValues(0, max)
self.DruidPower:SetValue(min)
self.DruidPower:SetAlpha(0.8)
else
self.DruidPower:SetAlpha(0)
end
else
local min = UnitPower("player",3)
local max = UnitPowerMax("player",3)
self.DruidPower:SetStatusBarColor(unpack(self.colors.power["ENERGY"]))
self.DruidPower.percent:SetText()
self.DruidPower:SetAlpha(0)
end
end
-- power update --
---------------------------------------------------------------------------
local updatePower = function(self, event, unit, bar, min, max)
if UnitIsPlayer(unit)==nil then
bar.value:SetText()
else
local _, ptype = UnitPowerType(unit)
local color = oUF.colors.power[ptype]
if(min==0) then
bar.value:SetText()
elseif(UnitIsDead(unit) or UnitIsGhost(unit)) then
bar:SetValue(0)
elseif(not UnitIsConnected(unit)) then
bar.value:SetText()
elseif unit=="player" then
if((max-min) > 0) then
bar.value:SetText(min)
if color then
bar.value:SetTextColor(color[1], color[2], color[3])
else
bar.value:SetTextColor(0.76, 0.94, 0.96)
end
elseif(min==max) then
bar.value:SetText("")
else
bar.value:SetText(min)
if color then
bar.value:SetTextColor(color[1], color[2], color[3])
else
bar.value:SetTextColor(0.76, 0.94, 0.96)
end
end
else
if((max-min) > 0) then
bar.value:SetText(min)
if color then
bar.value:SetTextColor(color[1], color[2], color[3])
else
bar.value:SetTextColor(0.76, 0.94, 0.96)
end
else
bar.value:SetText(min)
if color then
bar.value:SetTextColor(color[1], color[2], color[3])
else
bar.value:SetTextColor(0.76, 0.94, 0.96)
end
end
end
end
end
-- weaponenchant borders. --
-----------------------------------------------------------------------
local enchantIcon = function(self, button, icons)
button.icon:SetTexCoord(.07, .93, .07, .93)
button.icon:SetPoint("TOPLEFT", button, "TOPLEFT", 1, -1)
button.icon:SetPoint("BOTTOMRIGHT", button, "BOTTOMRIGHT", -1, 1)
button.overlay:SetTexture(frameborder)
button.overlay:SetTexCoord(0, 1, 0, 1)
button.overlay.Hide = function(self) self:SetVertexColor(0.5, 0.5, 0.5) end
button.cd:SetReverse()
button.cd:SetPoint("TOPLEFT", button, "TOPLEFT", 2, -2)
button.cd:SetPoint("BOTTOMRIGHT", button, "BOTTOMRIGHT", -2, 2)
end
-- aura reskin --
---------------------------------------------------------------------------
local auraIcon = function(self, button, icons)
icons.showDebuffType = true -- show debuff border type color
button.icon:SetTexCoord(.07, .93, .07, .93)
button.icon:SetPoint("TOPLEFT", button, "TOPLEFT", 1, -1)
button.icon:SetPoint("BOTTOMRIGHT", button, "BOTTOMRIGHT", -1, 1)
button.overlay:SetTexture(frameborder)
button.overlay:SetTexCoord(0, 1, 0, 1)
button.overlay.Hide = function(self) self:SetVertexColor(0.5, 0.5, 0.5) end
button.cd:SetReverse()
button.cd:SetPoint("TOPLEFT", button, "TOPLEFT", 2, -2)
button.cd:SetPoint("BOTTOMRIGHT", button, "BOTTOMRIGHT", -2, 2)
end
--- Mirror Timers Border hide--
MirrorTimer1Border:Hide()
MirrorTimer2Border:Hide()
MirrorTimer3Border:Hide()
-- MoveableFrames support for raid and party --
-- Founded after hours of searching and reading --
-- credits goes to Bruners and Derkyle --
-- This is maybe not better way but after some testing seems to work :)--
--[[ - disabled-- because of oUF_MovableFrames --
local eventFrame = CreateFrame("Frame", nil, UIParent)
eventFrame:RegisterEvent("PLAYER_LOGIN")
eventFrame:SetScript("OnEvent", function(self, event, ...)
if event == "PLAYER_LOGIN" then
if IsAddOnLoaded("oUF_MoveableFrames") then
oUF_MoveableFrames_HEADER("oUF_Raid1", "Raid Frames")
oUF_MoveableFrames_HEADER("oUF_Party", "Party Frames")
end
end
end)
--]]
-- Layout --
---------------------------------------------------------------------------
local func = function(self, unit)
self.menu = menu -- Enable menu
self:SetScript("OnEnter", UnitFrame_OnEnter)
self:SetScript("OnLeave", UnitFrame_OnLeave)
self:RegisterForClicks"anyup"
self:SetAttribute("*type2", "menu")
self.disallowVehicleSwap = true
-- background --
----------------------------------------------------------------------------
self:SetBackdrop{
bgFile = "Interface\\ChatFrame\\ChatFrameBackground", tile = true, tileSize = 16,
insets = {left = -2, right = -2, top = -2, bottom = -2},
}
self:SetBackdropColor(0,0,0,0.7) -- and color the backgrounds
local hgwdb = 13 --- border resize.
-- border --
--------------------------------------------------------------------------
local TopLeft = self:CreateTexture(nil, "OVERLAY")
TopLeft:SetTexture(frameborder)
TopLeft:SetTexCoord(0, 1/3, 0, 1/3)
TopLeft:SetPoint("TOPLEFT", self, TopLeftBorder_x, TopLeftBorder_y)
TopLeft:SetWidth(hgwdb) TopLeft:SetHeight(hgwdb)
TopLeft:SetVertexColor(color_rb,color_gb,color_bb,alpha_fb)
local TopRight = self:CreateTexture(nil, "OVERLAY")
TopRight:SetTexture(frameborder)
TopRight:SetTexCoord(2/3, 1, 0, 1/3)
TopRight:SetPoint("TOPRIGHT", self, TopRightBorder_x, TopRightBorder_y)
TopRight:SetWidth(hgwdb) TopRight:SetHeight(hgwdb)
TopRight:SetVertexColor(color_rb,color_gb,color_bb,alpha_fb)
local BottomLeft = self:CreateTexture(nil, "OVERLAY")
BottomLeft:SetTexture(frameborder)
BottomLeft:SetTexCoord(0, 1/3, 2/3, 1)
BottomLeft:SetPoint("BOTTOMLEFT", self, BottomLeftBorder_x, BottomLeftBorder_y)
BottomLeft:SetWidth(hgwdb) BottomLeft:SetHeight(hgwdb)
BottomLeft:SetVertexColor(color_rb,color_gb,color_bb,alpha_fb)
local BottomRight = self:CreateTexture(nil, "OVERLAY")
BottomRight:SetTexture(frameborder)
BottomRight:SetTexCoord(2/3, 1, 2/3, 1)
BottomRight:SetPoint("BOTTOMRIGHT", self, BottomRightBorder_x, BottomRightBorder_y)
BottomRight:SetWidth(hgwdb) BottomRight:SetHeight(hgwdb)
BottomRight:SetVertexColor(color_rb,color_gb,color_bb,alpha_fb)
local TopEdge = self:CreateTexture(nil, "OVERLAY")
TopEdge:SetTexture(frameborder)
TopEdge:SetTexCoord(1/3, 2/3, 0, 1/3)
TopEdge:SetPoint("TOPLEFT", TopLeft, "TOPRIGHT")
TopEdge:SetPoint("TOPRIGHT", TopRight, "TOPLEFT")
TopEdge:SetHeight(hgwdb)
TopEdge:SetVertexColor(color_rb,color_gb,color_bb,alpha_fb)
local BottomEdge = self:CreateTexture(nil, "OVERLAY")
BottomEdge:SetTexture(frameborder)
BottomEdge:SetTexCoord(1/3, 2/3, 2/3, 1)
BottomEdge:SetPoint("BOTTOMLEFT", BottomLeft, "BOTTOMRIGHT")
BottomEdge:SetPoint("BOTTOMRIGHT", BottomRight, "BOTTOMLEFT")
BottomEdge:SetHeight(hgwdb)
BottomEdge:SetVertexColor(color_rb,color_gb,color_bb,alpha_fb)
local LeftEdge = self:CreateTexture(nil, "OVERLAY")
LeftEdge:SetTexture(frameborder)
LeftEdge:SetTexCoord(0, 1/3, 1/3, 2/3)
LeftEdge:SetPoint("TOPLEFT", TopLeft, "BOTTOMLEFT")
LeftEdge:SetPoint("BOTTOMLEFT", BottomLeft, "TOPLEFT")
LeftEdge:SetWidth(hgwdb)
LeftEdge:SetVertexColor(color_rb,color_gb,color_bb,alpha_fb)
local RightEdge = self:CreateTexture(nil, "OVERLAY")
RightEdge:SetTexture(frameborder)
RightEdge:SetTexCoord(2/3, 1, 1/3, 2/3)
RightEdge:SetPoint("TOPRIGHT", TopRight, "BOTTOMRIGHT")
RightEdge:SetPoint("BOTTOMRIGHT", BottomRight, "TOPRIGHT")
RightEdge:SetWidth(hgwdb)
RightEdge:SetVertexColor(color_rb,color_gb,color_bb,alpha_fb)
-- healthbar --
-----------------------------------------------------------
self.Health = CreateFrame"StatusBar"
self.Health:SetStatusBarTexture(bartex)
self.Health:SetParent(self)
self.Health:SetPoint"TOP"
self.Health:SetPoint"LEFT"
self.Health:SetPoint"RIGHT"
self.Health:SetFrameLevel(1)
self.Health.frequentUpdates = true
-- healthbar background --
-----------------------------------------------------------
self.Health.bg = self.Health:CreateTexture(nil, "BORDER")
self.Health.bg:SetAllPoints(self.Health)
self.Health.bg:SetTexture(bartex)
self.Health.bg:SetAlpha(0.40)
-- healthbar text --
----------------------------------------------------------------
self.Health.value = self.Health:CreateFontString(nil, "OVERLAY")
self.Health.value:SetPoint("RIGHT", 0, 13)
self.Health.value:SetFont(font, fontsize, "THINOUTLINE")
self.Health.value:SetTextColor(1,1,1)
self.Health.value:SetShadowOffset(0, 0)
-- healthbar functions --
---------------------------------------
self.Health.colorClass = true
self.Health.colorReaction = true
self.Health.colorDisconnected = true
self.Health.colorTapping = true
self.PostUpdateHealth = updateHealth
-- powerbar --
---------------------------------------------
self.Power = CreateFrame"StatusBar"
self.Power:SetStatusBarTexture(bartex2)
self.Power:SetParent(self)
self.Power:SetPoint"LEFT"
self.Power:SetPoint"RIGHT"
self.Power:SetPoint("TOP", self.Health, "BOTTOM", 0, -1)
self.Power.frequentUpdates = true
self.Power:SetFrameLevel(1)
-- powerbar background --
--------------------------------------------------------------
self.Power.bg = self.Power:CreateTexture(nil, "BORDER")
self.Power.bg:SetAllPoints(self.Power)
self.Power.bg:SetTexture(bartex2)
self.Power.bg:SetAlpha(0.40)
-- powerbar text --
---------------------------------------------------------------
self.Power.value = self.Power:CreateFontString(nil, "OVERLAY")
self.Power.value:SetPoint("TOPLEFT", self.Health, 0, 0)
self.Power.value:SetFont(font, fontsize, "THINOUTLINE")
self.Power.value:SetTextColor(1, 1, 1)
self.Power.value:SetShadowOffset(0, 0)
self.Power.value:Show()
-- powerbar functions --
-----------------------------------------
self.Power.colorTapping = true
self.Power.colorDisconnected = true
self.Power.colorClass = true
self.Power.colorPower = true
self.Power.colorHappiness = false
self.PostUpdatePower = updatePower
-- names --
----------------------------------------------------------
self.Name = self.Health:CreateFontString(nil, "OVERLAY")
self.Name:SetPoint("TOPLEFT", self.Health, 0, 0)
self.Name:SetJustifyH("LEFT")
self.Name:SetFont(font, fontsize, "THINOUTLINE")
self.Name:SetShadowOffset(0, 0)
self.UNIT_NAME_UPDATE = updateName
-- level --
---------------------------------------------------------
self.Level = self.Health:CreateFontString(nil, "OVERLAY")
self.Level:SetPoint("TOPLEFT", self.Health, 0, 0)
self.Level:SetJustifyH("LEFT")
self.Level:SetFont(font, fontsize, "THINOUTLINE")
self.Level:SetTextColor(1,1,1)
self.Level:SetShadowOffset(0, 0)
self.UNIT_LEVEL = updateLevel
-- oUF_ReadyCheck support
------------------------------------------------------------------
if unit=="player" or (self:GetParent():GetName():match"oUF_Party") or (self:GetParent():GetName():match"oUF_Raid") then
self.ReadyCheck = self.Health:CreateTexture(nil, "OVERLAY")
self.ReadyCheck:SetPoint("CENTER", self, "CENTER")
self.ReadyCheck:SetHeight(20)
self.ReadyCheck:SetWidth(20)
end
-- Combat Feedback for all frames --
----------------------------------------------------------
local cbft = self.Health:CreateFontString(nil, "OVERLAY")
cbft:SetPoint("CENTER", self.Health, "CENTER", 0, -5)
cbft:SetFontObject(GameFontNormal)
self.CombatFeedbackText = cbft
self.CombatFeedbackText:SetFont(font, 14, "THINOUTLINE")
-- oUF_SpellRange,oUF_Smooth,oUF_MoveableFrames support.
----------------------------------------------------------------------------------------------------------------
if(unit) or (self:GetParent():GetName():match"oUF_Raid") or (self:GetParent():GetName():match"oUF_Party") then
self.SpellRange = true; -- fadeout if units are out of range
self.inRangeAlpha = 1.0; -- Frame alpha when in range
self.outsideRangeAlpha = 0.5; -- Frame alpha when out of range
self.Power.Smooth = true
self.Health.Smooth = true
--self.MoveableFrames = true -- disabled
end
---- oUF_DebuffHighlight support - highlight --
-----------------------------------------------------------------------------------------------------------
if (unit) or (self:GetParent():GetName():match"oUF_Raid") or (self:GetParent():GetName():match"oUF_Party") then
self.DebuffHighlight = self:CreateTexture(nil, "OVERLAY")
self.DebuffHighlight:SetPoint("TOPLEFT",self,"TOPLEFT",-1, 1)
self.DebuffHighlight:SetPoint("BOTTOMRIGHT",self,"BOTTOMRIGHT",1, -1)
self.DebuffHighlight:SetTexture(frameborder)
self.DebuffHighlight:SetVertexColor(0, 0, 0, 0)
self.DebuffHighlight:SetBlendMode("BLEND")
self.DebuffHighlightAlpha = 0.30
self.DebuffHighlightFilter = true
end
--[[
--Ouf Healcomm Support-- not tested --
self.HealCommBar = CreateFrame("StatusBar", nil, self.Health)
self.HealCommBar:SetHeight(0)
self.HealCommBar:SetWidth(0)
self.HealCommBar:SetStatusBarTexture(self.Health:GetStatusBarTexture():GetTexture())
self.HealCommBar:SetStatusBarColor(0, 1, 0, 0.25)
self.HealCommBar:SetPoint("CENTER", self.Health, "CENTER")
self.HealCommText = self.Health:CreateFontString(nil, "OVERLAY", "GameFontHighlightSmallRight")
self.HealCommText:SetTextColor(0, 1, 0)
self.HealCommText:SetPoint("RIGHT", health, "LEFT", -5, 0)
-- optional routine override to format the text display
self.HealCommTextFormat = shortVal
self.HealCommOthersOnly = false
self.allowHealCommOverflow = true -- show overhealing
--]]
-- raid target icons for all frames
------------------------------------------------------------------------------------------------------------------------------------------------------
if (unit) or (self:GetParent():GetName():match"oUF_Raid") or (self:GetParent():GetName():match"oUF_Party") then
self.RaidIcon = self.Health:CreateTexture(nil, "OVERLAY")
self.RaidIcon:SetHeight(20)
self.RaidIcon:SetWidth(20)
self.RaidIcon:SetPoint("CENTER", self, 0, 21)
self.RaidIcon:SetTexture"Interface\\TargetingFrame\\UI-RaidTargetingIcons"
end
-- player --
------------------------------------------------------------
if unit=="player" then
self.Name:Hide() -- hiding self name
self.Power.value:Show()
self.Power.value:SetPoint("TOPLEFT", self.Health, 0, -25)
self.Power.value:SetJustifyH("LEFT")
self.Level:Hide() --hiding self level
self.Health.value:SetFont(font, 16, "OUTLINE")
self.ignoreBanzai = true
--self.ignoreDruidHots = true
self.BarFade = true
--Buffs--
if(unit=="player" and DisableBuffs==false) then
BuffFrame:Hide()
TemporaryEnchantFrame:Hide()
-- Player buffs will replace standart frames--
self.Buffs = CreateFrame("Frame", nil, self)
self.Buffs:SetPoint("TOPRIGHT", Minimap, "TOPLEFT", -30, 3)
self.Buffs.initialAnchor = "TOPRIGHT"
self.Buffs["growth-x"] = "LEFT"
self.Buffs["growth-y"] = "DOWN"
self.Buffs.size = 35 -- size
self.Buffs:SetHeight(self.Buffs.size)
self.Buffs:SetWidth(self.Buffs.size*16)
self.Buffs.num = 40 -- numbers
self.Buffs.spacing = 4
-- Debuffs --
self.Debuffs = CreateFrame("Frame", nil, self)
self.Debuffs:SetPoint("TOP", self.Buffs, "BOTTOM", 0, -55)
self.Debuffs.initialAnchor = "TOPRIGHT"
self.Debuffs.size = 35 --size
self.Debuffs:SetHeight(self.Debuffs.size)
self.Debuffs:SetWidth(self.Debuffs.size*16)
self.Debuffs["growth-x"] = "LEFT"
self.Debuffs["growth-y"] = "DOWN"
self.Debuffs.num = 40 -- numbers
self.Debuffs.spacing = 4
--- ouf weapon enchant --
if IsAddOnLoaded("oUF_WeaponEnchant") then
self.Enchant = CreateFrame("Frame", nil, self)
self.Enchant.size = 35
self.Enchant:SetHeight(self.Enchant.size)
self.Enchant:SetWidth(self.Enchant.size*2)
self.Enchant:SetPoint("BOTTOMLEFT", Minimap, 0, -70)
self.Enchant.spacing = 4
self.Enchant.initialAnchor = "TOPLEFT"
self.Enchant["growth-x"] = "RIGHT"
self.Enchant.showCD = false
end
end
-- Combat icon --
------------------------------------------------------------
if unit=="player" or unit=="target" then
self.Combat = self.Health:CreateTexture(nil, "OVERLAY")
self.Combat:SetHeight(12)
self.Combat:SetWidth(12)
self.Combat:SetPoint("TOPLEFT", self, 22, 17)
self.Combat:SetTexture("Interface\\CharacterFrame\\UI-StateIcon")
self.Combat:SetTexCoord(0.58, 0.90, 0.08, 0.41)
end
-- leader,masterloot,asistant icon--
---------------------------------------------------------------
if unit=="player" or unit=="target" or (self:GetParent():GetName():match"oUF_Party") or (self:GetParent():GetName():match"oUF_Raid") then
self.Leader = self.Health:CreateTexture(nil, "OVERLAY")
self.Leader:SetHeight(13)
self.Leader:SetWidth(13)
self.Leader:SetPoint("BOTTOMLEFT", self, 0, -2)
self.Leader:SetTexture"Interface\\GroupFrame\\UI-Group-LeaderIcon"
self.MasterLooter = self.Health:CreateTexture(nil, "OVERLAY")
self.MasterLooter:SetHeight(13)
self.MasterLooter:SetWidth(13)
self.MasterLooter:SetPoint("BOTTOMLEFT", self, -1, 10)
self.Assistant = self.Health:CreateTexture(nil, "OVERLAY")
self.Assistant:SetHeight(13)
self.Assistant:SetWidth(13)
self.Assistant:SetPoint("BOTTOMLEFT",self, 0, -2)
end
-- resting icon --
if unit=="player" then
self.Resting = self.Health:CreateTexture(nil, "OVERLAY")
self.Resting:SetHeight(14)
self.Resting:SetWidth(14)
self.Resting:SetPoint('TOPLEFT', self, 0, 2)
self.Resting:SetTexture("Interface\\CharacterFrame\\UI-StateIcon")
self.Resting:SetTexCoord(0, 0.5, 0, 0.4)
--LFD icon for player --
self.LFDRole = self.Health:CreateTexture(nil, "OVERLAY")
self.LFDRole:SetHeight(18)
self.LFDRole:SetWidth(18)
self.LFDRole:SetPoint("BOTTOMRIGHT", self, 24, 0)
self.LFDRole:SetTexture("Interface\LFGFrame\UI-LFG-ICON-PORTRAITROLES")
self.LFDRole:SetTexCoord(0, 0.5, 0, 0.4)
end
-- swing support -- not working dont know why
if unit=="player" and playerClass=="HUNTER" then
if IsAddOnLoaded("oUF_Swing") then
self.Swing = CreateFrame("StatusBar", nil, self)
self.Swing:SetPoint("CENTER", UIParent, "CENTER", 0, -1)
self.Swing:SetStatusBarTexture(bartex)
self.Swing:SetStatusBarColor(0.75, 0.75, 0.75)
self.Swing:SetHeight(3)
self.Swing:SetWidth(220)
self.Swing.disableMelee = true
self.Swing:SetFrameLevel(1)
self.Swing.Text = self.Swing:CreateFontString(nil, "OVERLAY")
self.Swing.Text:SetFont(font, fontsize-3, "OUTLINE")
self.Swing.Text:SetPoint("CENTER", self.Swing, 0, -10)
end
end
end
-- pet --
---------------------------------------
if unit=="pet" then
self.Power.value:Hide()
self.Level:Hide()
self.Name:Show()
self.Name:SetPoint("TOPLEFT", self.Health, 0, -25)
self.Name:SetWidth(95)
self.Health.value:SetFont(font, 12, "THINOUTLINE")
self.ignoreDruidHots = true
self.BarFade = true
if playerClass=="HUNTER" then
self.Health.colorReaction = false
self.Health.colorClass = false
self.Health.colorHappiness = true
end
end
-- target --
---------------------------------------
if unit=="target" then
self.Power.value:Hide()
self.Level:SetPoint("TOPLEFT", self.Health, 0, -25)
self.Name:SetPoint("TOPLEFT", self.Level, "TOPRIGHT", 3, 0)
self.Name:SetWidth(200)
self.Health.value:SetFont(font, 16, "THINOUTLINE")
--self.ignoreDruidHots = true
-- combo points --
-------------------------------------------------------
if playerClass == "ROGUE" or playerClass == "DRUID" then
self.CPoints = self:CreateFontString(nil, "OVERLAY")
self.CPoints:SetPoint("RIGHT", self, "RIGHT", 35, 0)
self.CPoints:SetFont(font, 28, "THINOUTLINE")
self.CPoints:SetTextColor(1, 0.81, 0)
self.CPoints:SetShadowOffset(0, 0)
self.CPoints:SetJustifyH"RIGHT"
end
-- auras --
---------------------------------------------------
self.Auras = CreateFrame("Frame", nil, self)
self.Auras.size = 30
self.Auras.gap = true
self.Auras:SetHeight(self.Auras.size)
self.Auras:SetWidth(self.Auras.size * 7)
self.Auras:SetPoint("TOPLEFT", self, "BOTTOMLEFT", 0, -40)
self.Auras.initialAnchor = "TOPLEFT"
self.Auras["growth-x"] = "RIGHT"
self.Auras["growth-y"] = "DOWN"
self.Auras.numBuffs = 40
self.Auras.numDebuffs = 40
self.Auras.spacing = 3
end
-- target of target ,focus and focus target --
--------------------------------------------------------------------
if unit=="targettarget" or unit=="focus" or unit=="focustarget" then
self.Power.value:Hide() -- hiding targettarget focus and focus target value
self.Name:SetPoint("TOPLEFT", self.Health, 0, -25)
self.Name:SetWidth(80)
self.Health.value:SetFont(font, 16, "THINOUTLINE")
self.ignoreDruidHots = true
end
-- player,target,pet and focus castbar --
-------------------------------------------------------------------
if unit == "player" or unit =="target" or unit =="focus" or unit == "pet" then
self.Castbar = CreateFrame("StatusBar", nil, self)
self.Castbar:SetStatusBarTexture(bartex)
if(unit == "player") then
local _, class = UnitClass(unit)
color = self.colors.class[class]
self.Castbar:SetStatusBarColor(color[1], color[2], color[3])
self.Castbar:SetHeight(16)
self.Castbar:SetWidth(220)
self.Castbar:SetBackdrop{
bgFile = "Interface\\ChatFrame\\ChatFrameBackground", tile = true, tileSize = 16,
insets = {left = -2, right = -2, top = -2, bottom = -2}}
self.Castbar.SafeZone = self.Castbar:CreateTexture(nil,"OVERLAY")
self.Castbar.SafeZone:SetTexture(bartex)
self.Castbar.SafeZone:SetVertexColor(0.75,0.1,0.1,0.6)
self.Castbar.SafeZone:SetPoint("TOPRIGHT")
self.Castbar.SafeZone:SetPoint("BOTTOMRIGHT")
self.Castbar:SetPoint("CENTER", UIParent, "CENTER", playerCastBar_x, playerCastBar_y)
else
self.Castbar:SetStatusBarColor(0.80, 0.01, 0)
self.Castbar:SetHeight(16)
self.Castbar:SetWidth(220)
self.Castbar:SetBackdrop{
bgFile = "Interface\\ChatFrame\\ChatFrameBackground", tile = true, tileSize = 16,
insets = {left = -2, right = -2, top = -2, bottom = -2}}
self.Castbar:SetPoint("CENTER", UIParent, "CENTER", targetCastBar_x, targetCastBar_y)
if (unit == "focus") then
self.Castbar:SetStatusBarColor(1, 0.38, 0.01)
self.Castbar:SetPoint("CENTER", UIParent, "CENTER", focusCastBar_x, focusCastBar_y)
end
if (unit == "pet") then
self.Castbar:SetStatusBarColor(0.55, 0.87, 0.51)
self.Castbar:SetPoint("CENTER", UIParent, "CENTER", petCastBar_x, petCastBar_y)
end
end
self.Castbar:SetBackdropColor(0, 0, 0, 0.5)
self.Castbar.Text = self.Castbar:CreateFontString(nil, "OVERLAY")
self.Castbar.Text:SetPoint("LEFT", self.Castbar, 0, -20)
self.Castbar.Text:SetFont(font, fontsize, "THINOUTLINE")
self.Castbar.Text:SetShadowOffset(0, 0)
self.Castbar.Text:SetTextColor(1, 1, 1)
self.Castbar.Text:SetJustifyH("LEFT")
self.Castbar.Time = self.Castbar:CreateFontString(nil, "OVERLAY")
self.Castbar.Time:SetPoint("RIGHT", self.Castbar, 0, -20)
self.Castbar.Time:SetFont(font, fontsize, "THINOUTLINE")
self.Castbar.Time:SetTextColor(1, 1, 1)
self.Castbar.Time:SetJustifyH("RIGHT")
-- Castbar frameborder --
-------------------------------------------------------------
local TopLeft = self.Castbar:CreateTexture(nil, "OVERLAY")
TopLeft:SetTexture(frameborder)
TopLeft:SetTexCoord(0, 1/3, 0, 1/3)
TopLeft:SetPoint("TOPLEFT", -3, 3)
TopLeft:SetWidth(14) TopLeft:SetHeight(14)
TopLeft:SetVertexColor(color_rb,color_gb,color_bb,alpha_fb)
local TopRight = self.Castbar:CreateTexture(nil, "OVERLAY")
TopRight:SetTexture(frameborder)
TopRight:SetTexCoord(2/3, 1, 0, 1/3)
TopRight:SetPoint("TOPRIGHT", 3, 3)
TopRight:SetWidth(14) TopRight:SetHeight(14)
TopRight:SetVertexColor(color_rb,color_gb,color_bb,alpha_fb)
local BottomLeft = self.Castbar:CreateTexture(nil, "OVERLAY")
BottomLeft:SetTexture(frameborder)
BottomLeft:SetTexCoord(0, 1/3, 2/3, 1)
BottomLeft:SetPoint("BOTTOMLEFT", -3, -3)
BottomLeft:SetWidth(14) BottomLeft:SetHeight(14)
BottomLeft:SetVertexColor(color_rb,color_gb,color_bb,alpha_fb)
local BottomRight = self.Castbar:CreateTexture(nil, "OVERLAY")
BottomRight:SetTexture(frameborder)
BottomRight:SetTexCoord(2/3, 1, 2/3, 1)
BottomRight:SetPoint("BOTTOMRIGHT", 3, -3)
BottomRight:SetWidth(14) BottomRight:SetHeight(14)
BottomRight:SetVertexColor(color_rb,color_gb,color_bb,alpha_fb)
local TopEdge = self.Castbar:CreateTexture(nil, "OVERLAY")
TopEdge:SetTexture(frameborder)
TopEdge:SetTexCoord(1/3, 2/3, 0, 1/3)
TopEdge:SetPoint("TOPLEFT", TopLeft, "TOPRIGHT")
TopEdge:SetPoint("TOPRIGHT", TopRight, "TOPLEFT")
TopEdge:SetHeight(14)
TopEdge:SetVertexColor(color_rb,color_gb,color_bb,alpha_fb)
local BottomEdge = self.Castbar:CreateTexture(nil, "OVERLAY")
BottomEdge:SetTexture(frameborder)
BottomEdge:SetTexCoord(1/3, 2/3, 2/3, 1)
BottomEdge:SetPoint("BOTTOMLEFT", BottomLeft, "BOTTOMRIGHT")
BottomEdge:SetPoint("BOTTOMRIGHT", BottomRight, "BOTTOMLEFT")
BottomEdge:SetHeight(14)
BottomEdge:SetVertexColor(color_rb,color_gb,color_bb,alpha_fb)
local LeftEdge = self.Castbar:CreateTexture(nil, "OVERLAY")
LeftEdge:SetTexture(frameborder)
LeftEdge:SetTexCoord(0, 1/3, 1/3, 2/3)
LeftEdge:SetPoint("TOPLEFT", TopLeft, "BOTTOMLEFT")
LeftEdge:SetPoint("BOTTOMLEFT", BottomLeft, "TOPLEFT")
LeftEdge:SetWidth(14)
LeftEdge:SetVertexColor(color_rb,color_gb,color_bb,alpha_fb)
local RightEdge = self.Castbar:CreateTexture(nil, "OVERLAY")
RightEdge:SetTexture(frameborder)
RightEdge:SetTexCoord(2/3, 1, 1/3, 2/3)
RightEdge:SetPoint("TOPRIGHT", TopRight, "BOTTOMRIGHT")
RightEdge:SetPoint("BOTTOMRIGHT", BottomRight, "TOPRIGHT")
RightEdge:SetWidth(14)
RightEdge:SetVertexColor(color_rb,color_gb,color_bb,alpha_fb)
end
-- party --
---------------------------------------
if (self:GetParent():GetName():match"oUF_Party") then
self.Power.value:Hide() -- hiding party power value
self.Name:SetPoint("TOPLEFT", self.Health, 0, -25)
self.Name:SetWidth(150)
self.Health:SetFrameLevel(2)
self.Power:SetFrameLevel(2)
self.ignoreDruidHots = true
--lfd icon --
self.LFDRole = self.Health:CreateTexture(nil, "OVERLAY")
self.LFDRole:SetHeight(18)
self.LFDRole:SetWidth(18)
self.LFDRole:SetPoint("RIGHT", self, 24, 0)
self.LFDRole:SetTexture("Interface\LFGFrame\UI-LFG-ICON-PORTRAITROLES")
self.LFDRole:SetTexCoord(0, 0.5, 0, 0.4)
-- auras --
--------------------------------------------------------
self.Auras = CreateFrame("Frame", nil, self) -- auras
self.Auras.buffFilter= "HELPFUL|RAID"
self.Auras.size = 20
self.Auras.gap = true
self.Auras:SetHeight(self.Auras.size)
self.Auras:SetWidth(self.Auras.size * 7)
self.Auras:SetPoint("BOTTOMLEFT", self, "TOPLEFT", -2, 7)
self.Auras.initialAnchor = "BOTTOMLEFT"
self.Auras.numBuffs = 4
self.Auras.numDebuffs = 3
self.Auras.spacing = 3
end
-- partypets
---------------------------------------
if (unit and unit:find("partypet%d")) then
self.Power.value:Hide() -- hiding partypets power value
self.Name:SetPoint("TOPLEFT", self.Health, 0, -25)
self.Name:SetWidth(95)
self.Health:SetFrameLevel(1)
self.Power:SetFrameLevel(1)
self.Health.value:SetFont(font, 12, "OUTLINE")
self.ignoreDruidHots = true
-- auras
------------------------------------------------------
self.Auras = CreateFrame("Frame", nil, self)
self.Auras.buffFilter= "HELPFUL|RAID"
self.Auras.size = 18
self.Auras.gap = true
self.Auras:SetHeight(self.Auras.size)
self.Auras:SetWidth(self.Auras.size * 4)
self.Auras:SetPoint("BOTTOMLEFT", self, "TOPLEFT", -2, 7)
self.Auras.initialAnchor = "BOTTOMLEFT"
self.Auras.numBuffs = 4
self.Auras.numDebuffs = 2
self.Auras.spacing = 3
end
-- Raid --
---------------------------------------
if (self:GetParent():GetName():match"oUF_Raid") then
self.Power:Hide()
self.Health:SetFrameLevel(2)
self.Power:SetFrameLevel(2)
self.Power.value:Hide()
self.Name:SetFont(font, raidfontsize, "THINOUTLINE")
self.Name:SetPoint("TOPLEFT", self.Health, 2, -2)
self.Health.value:SetFont(font, raidfontsize, "THINOUTLINE")
self.Health.value:SetPoint("BOTTOM", self.Health, 2, 2)
-- Combat Feedback for raid --
----------------------------------------------------------------------------------
self.CombatFeedbackText:SetFont(font, 10, "THINOUTLINE")
self.CombatFeedbackText:SetPoint("CENTER", self.Health, "CENTER", 0, 0)
self.CombatFeedbackText.ignoreImmune = true -- ignore 'immune' reports
self.CombatFeedbackText.ignoreDamage = true -- ignore damage hits, blocks, misses, parries etc.
self.CombatFeedbackText.ignoreEnergize = true -- ignore energize events
self.CombatFeedbackText.ignoreOther = true -- ignore everything else
end
-- fading for party and raid --
-----------------------------------------------------------------------------------------------
if (not unit or unit:find("partypet%d") or unit == "pet") then -- fadeout if units are out of range
self.Range = true -- true to make party/raid frames fade out if not in your range
self.inRangeAlpha = 1.0 -- what alpha if IN range
self.outsideRangeAlpha = 0.5 -- the alpha it will fade out to if not in range
end
-- custom aura textures --
---------------------------------------------------------
self.PostCreateAuraIcon = auraIcon
self.SetAuraPosition = auraOffset
self.PostCreateEnchantIcon = enchantIcon
self.PostUpdateEnchantIcons = enchantUpdateIcons
-- this sections is a part of hard learning , fix taint error
-- frame sizes -- forgotten druid mana bar.lol, total mess --
-------------------------.---------------------------------------------------------------------------------------------------------------
if unit=="player" or unit == "target" then
self:SetAttribute ("initial-height", 20)
self:SetAttribute("initial-width", 220)
self.Health:SetHeight(14)
self.Power:SetHeight(5)
-- Druid Mana bar--
if unit=="player" and playerClass=="DRUID" then
self:SetAttribute ("initial-height", 23)
self.Power.value:SetPoint("TOPLEFT", self.Health, 0, -28)
self.DruidPower = CreateFrame"StatusBar"
self.DruidPower:SetStatusBarTexture(bartex2)
self.DruidPower:SetPoint("TOPLEFT", self.Power,"BOTTOMLEFT", 0, -1)
self.DruidPower:SetHeight(3)
self.DruidPower:SetWidth(143)
self.DruidPower.Smooth = true
self.DruidPower:SetFrameLevel(1)
self.DruidPower.bg = self.DruidPower:CreateTexture(nil, "BORDER")
self.DruidPower.bg:SetAllPoints(self.DruidPower)
self.DruidPower.bg:SetTexture(bartex2)
self.DruidPower.bg:SetWidth(143)
self.DruidPower.bg:SetAlpha(0.40)
self.DruidPower.percent = self.DruidPower:CreateFontString(nil, "OVERLAY")
self.DruidPower.percent:SetPoint("TOPRIGHT", self.Health, 0, -28)
self.DruidPower.percent:SetFont(font, fontsize-3, "THINOUTLINE")
self.DruidPower.percent:SetTextColor(1,1,1)
self.DruidPower.percent:SetShadowOffset(0, 0)
self:RegisterEvent("UNIT_MANA", UpdateDruidPower)
self:RegisterEvent("UNIT_ENERGY", UpdateDruidPower)
self:RegisterEvent("PLAYER_LOGIN", UpdateDruidPower)
end
elseif unit=="targettarget" or unit=="focus" or unit=="focustarget" or unit=="pet" or (unit and unit:find("partypet%d")) then
self:SetAttribute("initial-height", 20 )
self:SetAttribute("initial-width", 84)
self.Health:SetHeight(14)
self.Power:SetHeight(5)
elseif(self:GetParent():GetName():match"oUF_Party") then
self:SetAttribute("initial-height", 20)
self:SetAttribute("initial-width", 200)
self.Health:SetWidth(180)
self.Power:SetWidth(180)
elseif(self:GetParent():GetName():match"oUF_Raid") then
self:SetAttribute("initial-height", 45)
self:SetAttribute("initial-width", 45)
self.Health:SetHeight(45)
self.Power:SetHeight(45)
end
end
-- Frames Spawn --
------------------------------------------------------------------------
-- normal frames --
------------------------------------------------------------------------
oUF:RegisterStyle("oUF_Experiment", func)
oUF:SetActiveStyle("oUF_Experiment")
local player = oUF:Spawn("player", "oUF_Player")
player:SetPoint("TOPLEFT", 20, -25)
local target = oUF:Spawn("target", "oUF_Target")
target:SetPoint("TOPLEFT", 320, -25)
local pet = oUF:Spawn("pet", "oUF_Pet")
pet:SetPoint("TOPLEFT", player, 0, -55)
local tot = oUF:Spawn("targettarget", "oUF_TargetTarget")
tot:SetPoint("LEFT", target, 300, 0)
local focus = oUF:Spawn("focus", "oUF_Focus")
focus:SetPoint("TOPRIGHT", player, 0, -55)
local focustarget = oUF:Spawn("focustarget", "oUF_FocusTarget")
focustarget:SetPoint("BOTTOM", focus, 0, -85)
-- party --
---------------------------------------------------------------------
local party = oUF:Spawn("header", "oUF_Party")
party:SetManyAttributes("showParty", true, "yOffset", -150)
party:SetPoint("TOPLEFT", player, 0, -250)
party:Show()
-- partypets -- all credits goes to Master Jedi Dawn
---------------------------------------------------------------------
local pets = {}
pets[1] = oUF:Spawn("partypet1", "oUF_PartyPet1")
pets[1]:SetPoint("TOPLEFT", player, 0, -170)
pets[2] = oUF:Spawn("partypet2", "oUF_PartyPet2")
pets[2]:SetPoint("TOPLEFT", pets[1] , 0, -170)
pets[3] = oUF:Spawn("partypet3", "oUF_PartyPet3")
pets[3]:SetPoint("TOPLEFT", pets[2] , 0, -170)
pets[4] = oUF:Spawn("partypet4", "oUF_PartyPet4")
pets[4]:SetPoint("TOPLEFT", pets[3] , 0, -170)
--raid--
-----------------------------------------------------------------------
local raid = {}
if disableraid == false then
for i = 1, 8 do
local raidgroup = oUF:Spawn("header", "oUF_Raid"..i)
raidgroup:SetManyAttributes("groupFilter", i, "showRaid", true, "yOffSet", -12, "point", "TOP")
table.insert(raid, raidgroup)
if(i==1) then
raidgroup:SetPoint("LEFT", 20, -120)
else
raidgroup:SetPoint("TOPLEFT", raid[i-1], "TOPRIGHT", 12, 0)
end
end
end
-- party toggle in raid -- All Credits goes to Master Jedi Dawn
------------------------------------------------------------
local partyToggle = CreateFrame("Frame")
partyToggle:RegisterEvent("PLAYER_LOGIN")
partyToggle:RegisterEvent("RAID_ROSTER_UPDATE")
partyToggle:RegisterEvent("PARTY_LEADER_CHANGED")
partyToggle:RegisterEvent("PARTY_MEMBER_CHANGED")
partyToggle:SetScript("OnEvent", function(self)
if(InCombatLockdown()) then
self:RegisterEvent("PLAYER_REGEN_ENABLED")
else
self:UnregisterEvent("PLAYER_REGEN_ENABLED")
if(GetNumRaidMembers() > 5) then
party:Hide()
for i,v in ipairs(raid) do v:Show()end
pets[1]:Disable()
pets[2]:Disable()
pets[3]:Disable()
pets[4]:Disable()
else
party:Show()
for i,v in ipairs(raid) do v:Hide()end
pets[1]:Enable()
pets[2]:Enable()
pets[3]:Enable()
pets[4]:Enable()
end
end
end)
|