WoWInterface SVN oUF_Pazrael

[/] [trunk/] [oUF_Pazrael/] [oUF_Pazrael.lua] - Blame information for rev 63

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 63 Seiyu-106437
-----------------------------------------------------------------------------------------------
2 Seiyu-106437
-- oUF_Pazrael an oUF layout based on the appearence of p3lim with some major overhauls
3 Seiyu-106437
-- Based on oUF by Haste.
4 Seiyu-106437
-----------------------------------------------------------------------------------------------
5 Seiyu-106437
-- Functions for changing elements --
6 Seiyu-106437
local castBar = true                                                                    -- enable castbar support
7 Seiyu-106437
local focuscast = true                                                                  -- enable Focus Frame Castbar Support
8 Seiyu-106437
local partyRaid = false                                                                 -- enable party-style raid
9 Seiyu-106437
local ttt = false                                                                               -- enable TargetofTargetofTarget frame
10 Seiyu-106437
local ptargets = true                                                                   -- enable Party targets
11 Seiyu-106437
local experience = true                                                                 -- enable player and pet experience bars
12 Seiyu-106437
local threat = true                                                                             -- enable threat bars on most frames
13 Seiyu-106437
 
14 Seiyu-106437
-- Stylistic Elements --
15 Seiyu-106437
local pazcolors = {
16 Seiyu-106437
        [0] = { r = .35, g = .35, b = .45, a = 1},                      -- Status Bar
17 Seiyu-106437
        [1] = { r = 0, g = 0, b = 0, a = 1},                            -- Frame BGa
18 Seiyu-106437
        [2] = { r = .5, g = .5, b = .5, a = .3},                        -- Highlight
19 Seiyu-106437
        [3] = { r = .33, g = .59, b = .33, a = 1}                       -- CastBar Safe
20 Seiyu-106437
}
21 Seiyu-106437
 
22 Seiyu-106437
local pazd = { [0] = 28, [1] = 21 , [2] = 24, [3] = 230, [4] = 130, [5] = 50 }
23 Seiyu-106437
-- paz frame dimensions { 0  = Standard Frame Height, 1  = Small Frame Height, 2 = Raid Frame Height, 3 =  Standard Frame Width, 4 = Small Frame Width, 5 = Raid Frame Width} --
24 Seiyu-106437
local pazp = { [0] = -225, [1] = -150, [2] = 150, [3] = 15, [4] = -15, [5] = 15, [6] = -15}
25 Seiyu-106437
-- paz frame positions {  0 = Player and Target Frame Vertical, 1 = Player Frame Horizontal 2 = Target Frame Horizontal, 3 and 4 = Party Horizontal/Vertical, 5 and 6 = Raid Horizontal/Vertical}
26 Seiyu-106437
-- Function declarations --
27 Seiyu-106437
local classification = {                                                                --Level Formatting Array
28 Seiyu-106437
        ["worldboss"] = "%s Boss",
29 Seiyu-106437
        ["rareelite"] = "%s+ R",
30 Seiyu-106437
        ["elite"] = " %s+",
31 Seiyu-106437
        ["rare"] = " %s R",
32 Seiyu-106437
        ["normal"] = "%s",
33 Seiyu-106437
        ["trivial"] = "%s",
34 Seiyu-106437
}
35 Seiyu-106437
local function updateColor(self, element, unit, func)   -- unified frame coloring
36 Seiyu-106437
        local color, r, g, b
37 Seiyu-106437
        local _, class = UnitClass(unit)
38 Seiyu-106437
        if(UnitIsTapped(unit) and not UnitIsTappedByPlayer(unit) or not UnitIsConnected(unit)) then
39 Seiyu-106437
                color = self.colors.tapped
40 Seiyu-106437
        elseif(UnitIsPlayer(unit)) then
41 Seiyu-106437
                color = self.colors.class[class]
42 Seiyu-106437
        else
43 Seiyu-106437
                if(UnitIsFriend(unit, "player") or UnitLevel(unit) < 0) then
44 Seiyu-106437
                        r, g, b = UnitSelectionColor(unit)
45 Seiyu-106437
                        element[func](element, r, g, b)
46 Seiyu-106437
                        return self
47 Seiyu-106437
                else
48 Seiyu-106437
                        color = GetDifficultyColor(UnitLevel(unit))
49 Seiyu-106437
                        element[func](element, color.r, color.g, color.b)
50 Seiyu-106437
                        return self
51 Seiyu-106437
                end
52 Seiyu-106437
        end
53 Seiyu-106437
        if(color) then
54 Seiyu-106437
                element[func](element, color[1], color[2], color[3])
55 Seiyu-106437
        end
56 Seiyu-106437
end
57 Seiyu-106437
 
58 Seiyu-106437
local menu = function(self)                                                             -- Drop down menu for frames
59 Seiyu-106437
        if(self.unit:sub(1, -2) == "party" or self.unit:sub(1, -2) == "partypet") then
60 Seiyu-106437
                ToggleDropDownMenu(1, nil, _G["PartyMemberFrame"..self.id.."DropDown"], "cursor", 0, 0)
61 Seiyu-106437
        elseif(_G[self.unit:gsub("(.)", string.upper, 1).."FrameDropDown"]) then
62 Seiyu-106437
                ToggleDropDownMenu(1, nil, _G[self.unit:gsub("(.)", string.upper, 1).."FrameDropDown"], "cursor", 0, 0)
63 Seiyu-106437
        elseif(self.unit:match('^raid')) then                           -- Thanks p3lim.
64 Seiyu-106437
                self.name = unit
65 Seiyu-106437
                RaidGroupButton_ShowMenu(self)
66 Seiyu-106437
        end
67 Seiyu-106437
end
68 Seiyu-106437
 
69 Seiyu-106437
local setFontString = function(parent, fontStyle, fontHeight)           -- default font settings
70 Seiyu-106437
        local fs = parent:CreateFontString(nil, "OVERLAY")
71 Seiyu-106437
        fs:SetFontObject(fontStyle)
72 Seiyu-106437
        fs:SetShadowColor(0,0,0)
73 Seiyu-106437
        fs:SetShadowOffset(0.8, -0.8)
74 Seiyu-106437
        fs:SetTextColor(1,1,1)
75 Seiyu-106437
        fs:SetJustifyH("LEFT")
76 Seiyu-106437
        return fs
77 Seiyu-106437
end
78 Seiyu-106437
 
79 Seiyu-106437
local number = function(n)                                                                                      -- number reformating
80 Seiyu-106437
        if n >= 1e7 then
81 Seiyu-106437
                return ('%.1fm'):format(n / 1e6):gsub('%.?0+([km])$', '%1')
82 Seiyu-106437
        elseif n >= 1e6 then
83 Seiyu-106437
                return ('%.2fm'):format(n / 1e6):gsub('%.?0+([km])$', '%1')
84 Seiyu-106437
        elseif n >= 1e5 then
85 Seiyu-106437
                return ('%.0fk'):format(n / 1e3)
86 Seiyu-106437
        elseif n >= 1e3 then
87 Seiyu-106437
                return ('%.1fk'):format(n / 1e3)
88 Seiyu-106437
        else
89 Seiyu-106437
                return n
90 Seiyu-106437
        end
91 Seiyu-106437
end
92 Seiyu-106437
 
93 Seiyu-106437
-- Override Functions
94 Seiyu-106437
 
95 Seiyu-106437
local function OverrideUpdateThreat(self, event, unit)                          --Threat update function
96 Seiyu-106437
        local isTanking, state, scaledPercent, rawPercent, threatValue = UnitDetailedThreatSituation("player", unit)
97 Seiyu-106437
                if threatValue then
98 Seiyu-106437
                        self.Threat:SetMinMaxValues(0, 100)
99 Seiyu-106437
                        r, g, b = self.ColorGradient(scaledPercent/100, .35, .35, .45, 1, 1, 0, 1, 0, 0)
100 Seiyu-106437
                        self.Threat:SetStatusBarColor(r,g,b)
101 Seiyu-106437
                        self.Threat:SetValue(scaledPercent)
102 Seiyu-106437
                        self.Threat:Show()
103 Seiyu-106437
                else
104 Seiyu-106437
                        self.Threat:Hide()
105 Seiyu-106437
                end
106 Seiyu-106437
end
107 Seiyu-106437
 
108 Seiyu-106437
local function OverrideUpdateName(self, event, unit)                            --Name Update Function
109 Seiyu-106437
        if(self.unit == unit) then
110 Seiyu-106437
                local name = UnitName(unit)
111 Seiyu-106437
                local lvl = UnitLevel(unit)
112 Seiyu-106437
                if lvl < 0 then lvl = "??" end
113 Seiyu-106437
                if string.len(name) > 10 then name = name:sub(1,10).."..." end
114 Seiyu-106437
                if(unit == 'player' or unit == 'pet') then
115 Seiyu-106437
                        self.Name:Hide()
116 Seiyu-106437
                elseif unit == "target" then
117 Seiyu-106437
                        updateColor(self, self.Name, unit, 'SetTextColor')
118 Seiyu-106437
                        self.Name:SetText('|cffFFFFFF' .. name .. '|r' .. ' ' .. format(classification[UnitClassification(unit)], lvl))
119 Seiyu-106437
                else
120 Seiyu-106437
                        self.Name:Show()
121 Seiyu-106437
                        if(self:GetParent():GetName():match"oUF_Raid") then
122 Seiyu-106437
                                if string.len(name) > 4 then name = name:sub(1,4) end
123 Seiyu-106437
                                if (UnitIsDead(unit) or UnitIsGhost(unit) or not UnitIsConnected(unit)) then
124 Seiyu-106437
                                        self.Name:Hide()
125 Seiyu-106437
                                end
126 Seiyu-106437
                        end
127 Seiyu-106437
                        self.Name:SetText(name)
128 Seiyu-106437
                end
129 Seiyu-106437
        end
130 Seiyu-106437
end
131 Seiyu-106437
 
132 Seiyu-106437
local function PostUpdateHealth(self, event, unit, bar, min, max)               --Health Update Thread
133 Seiyu-106437
        if(UnitIsDead(unit)) then
134 Seiyu-106437
                bar:SetValue(0)
135 Seiyu-106437
                bar.value:SetText("Dead")
136 Seiyu-106437
        elseif(UnitIsGhost(unit)) then
137 Seiyu-106437
                bar:SetValue(0)
138 Seiyu-106437
                bar.value:SetText("Ghost")
139 Seiyu-106437
        elseif(not UnitIsConnected(unit)) then
140 Seiyu-106437
                bar.value:SetText("Offline")
141 Seiyu-106437
        else
142 Seiyu-106437
                if(unit=="player") then
143 Seiyu-106437
                        if(min~=max) then
144 Seiyu-106437
                                bar.value:SetFormattedText("|cffff8080%s|r |cff0090ff/|r %d|cff0090ff%%|r", number(min-max), floor(min/max*100))
145 Seiyu-106437
                        else
146 Seiyu-106437
                                bar.value:SetText(number(max))
147 Seiyu-106437
                        end
148 Seiyu-106437
                elseif(unit=="pet" or unit=="focus" or unit=="focustarget" or unit=="targettarget") then
149 Seiyu-106437
                        if(min~=max) then
150 Seiyu-106437
                                bar.value:SetText(floor(min/max*100).."%")
151 Seiyu-106437
                        else
152 Seiyu-106437
                                bar.value:SetFormattedText("|cffAF5050%s|r", number(max))
153 Seiyu-106437
                        end
154 Seiyu-106437
                elseif(self:GetParent():GetName()=="oUF_Party") then
155 Seiyu-106437
                        if(min~=max) then
156 Seiyu-106437
                                bar.value:SetFormattedText("|cffAF5050%s|r", number(min-max), floor(min/max*100))
157 Seiyu-106437
                        else
158 Seiyu-106437
                                bar.value:SetText()
159 Seiyu-106437
                        end
160 Seiyu-106437
                elseif(self:GetParent():GetName():sub(1,8)=="oUF_Raid") then
161 Seiyu-106437
                        if(min~=max) then
162 Seiyu-106437
                                bar.value:SetFormattedText("|cffAF5050%s|r", floor(min/max*100))
163 Seiyu-106437
                        else
164 Seiyu-106437
                                bar.value:SetText()
165 Seiyu-106437
                        end
166 Seiyu-106437
                elseif(unit=="target" and not UnitIsFriend(unit, "player")) then
167 Seiyu-106437
                        if(min~=max) then
168 Seiyu-106437
                                bar.value:SetFormattedText("%s |cff0090ff/|r %s (%d|cff0090ff%%|r)", number(min), number(max), floor(min/max*100))
169 Seiyu-106437
                        else
170 Seiyu-106437
                                bar.value:SetFormattedText("%s |cff0090ff/|r %s", number(min), number(max))
171 Seiyu-106437
                        end
172 Seiyu-106437
                else
173 Seiyu-106437
                        bar.value:SetFormattedText("%s |cff0090ff/|r %s", number(min), number(max))
174 Seiyu-106437
                end
175 Seiyu-106437
        end
176 Seiyu-106437
        if((UnitIsTapped(unit) and not(UnitIsTappedByPlayer(unit))) or not(UnitIsConnected(unit))) then
177 Seiyu-106437
                bar:SetStatusBarColor(0.6, 0.6, 0.6)
178 Seiyu-106437
        elseif(self:GetParent():GetName():match"oUF_Raid") then
179 Seiyu-106437
                updateColor(self, self.Health, unit, 'SetStatusBarColor')
180 Seiyu-106437
        else
181 Seiyu-106437
                bar:SetStatusBarColor(pazcolors[0].r, pazcolors[0].g, pazcolors[0].b, pazcolors[0].a)
182 Seiyu-106437
        end
183 Seiyu-106437
        self.UNIT_NAME_UPDATE(self, event, unit)
184 Seiyu-106437
        OverrideUpdateThreat(self, event, unit)
185 Seiyu-106437
end
186 Seiyu-106437
 
187 Seiyu-106437
local function PreUpdatePower(self, event, unit)
188 Seiyu-106437
        if(self.unit ~= 'player') then return end
189 Seiyu-106437
 
190 Seiyu-106437
        local _, powertype = UnitPowerType('player')
191 Seiyu-106437
        local min = UnitPower('player', SPELL_POWER_MANA)
192 Seiyu-106437
        local max = UnitPowerMax('player', SPELL_POWER_MANA)
193 Seiyu-106437
 
194 Seiyu-106437
        self.DruidMana:SetMinMaxValues(0, max)
195 Seiyu-106437
        self.DruidMana:SetValue(min)
196 Seiyu-106437
 
197 Seiyu-106437
        if(min ~= max) then
198 Seiyu-106437
                self.DruidMana.Text:SetFormattedText('%d%%', math.floor(min / max * 100))
199 Seiyu-106437
        else
200 Seiyu-106437
                self.DruidMana.Text:SetText()
201 Seiyu-106437
        end
202 Seiyu-106437
 
203 Seiyu-106437
        self.DruidMana:SetAlpha((powertype ~= 'MANA') and 1 or 0)
204 Seiyu-106437
        self.DruidMana.Text:SetAlpha((powertype ~= 'MANA') and 1 or 0)
205 Seiyu-106437
end
206 Seiyu-106437
 
207 Seiyu-106437
local function PostUpdatePower(self, event, unit, bar, min, max)
208 Seiyu-106437
        if(self:GetParent():GetName():match"oUF_Raid") then
209 Seiyu-106437
                self.Power.colorPower = true
210 Seiyu-106437
        end
211 Seiyu-106437
 
212 Seiyu-106437
        if(not bar.value) then return end
213 Seiyu-106437
        if(not UnitIsPlayer(unit)) then
214 Seiyu-106437
                bar.value:SetText()
215 Seiyu-106437
        else
216 Seiyu-106437
                if(min==0) then
217 Seiyu-106437
                        bar.value:SetText()
218 Seiyu-106437
                elseif(not UnitIsConnected(unit)) then
219 Seiyu-106437
                        bar.value:SetText()
220 Seiyu-106437
                elseif(unit=="player") then
221 Seiyu-106437
                        color = self.colors.power[UnitPowerType(unit)]
222 Seiyu-106437
                        if(color) then bar.value:SetTextColor(color[1], color[2], color[3]) end
223 Seiyu-106437
                        if(min~=max) then
224 Seiyu-106437
                                bar.value:SetText(number(max-(max-min)))
225 Seiyu-106437
                    else
226 Seiyu-106437
                                bar.value:SetText(number(max))
227 Seiyu-106437
                        end
228 Seiyu-106437
                else
229 Seiyu-106437
                        if(min~=max) then
230 Seiyu-106437
                                bar.value:SetFormattedText("%s|cff0090ff - ", number(max-(max-min)))
231 Seiyu-106437
                        else
232 Seiyu-106437
                                bar.value:SetFormattedText("%s|cff0090ff - ", number(max))
233 Seiyu-106437
                        end
234 Seiyu-106437
                end
235 Seiyu-106437
        end
236 Seiyu-106437
        self.UNIT_NAME_UPDATE(self, event, unit)
237 Seiyu-106437
end
238 Seiyu-106437
 
239 Seiyu-106437
local function PostCreateAuraIcon(self, button, icons, index, debuff)
240 Seiyu-106437
        icons.showDebuffType = true
241 Seiyu-106437
        button.cd:SetReverse()
242 Seiyu-106437
        button.icon:SetTexCoord(0.07, 0.93, 0.07, 0.93)
243 Seiyu-106437
        button.overlay:SetTexture('Interface\\AddOns\\oUF_Pazrael\\textures\\border')
244 Seiyu-106437
        button.overlay:SetTexCoord(0.0, 1.0, 0.0, 1.0)
245 Seiyu-106437
        button.overlay.Hide = function(self) self:SetVertexColor(pazcolors[0].r, pazcolors[0].g, pazcolors[0].b, pazcolors[0].a) end
246 Seiyu-106437
end
247 Seiyu-106437
 
248 Seiyu-106437
local function styleFunc(self, unit)
249 Seiyu-106437
        local _, class = UnitClass('player')
250 Seiyu-106437
        self.menu = menu                                                                                                -- enable menus
251 Seiyu-106437
        self:SetScript("OnEnter", UnitFrame_OnEnter)
252 Seiyu-106437
    self:SetScript("OnLeave", UnitFrame_OnLeave)
253 Seiyu-106437
        self:RegisterForClicks("anyup")                                                                 -- enable mouse click intercept
254 Seiyu-106437
        self:SetAttribute("*type2", "menu")
255 Seiyu-106437
        self:SetBackdrop({bgFile="Interface\\Tooltips\\UI-Tooltip-Background", insets ={left = -1, right = -1, top = -1, bottom = -1}})                         -- backdrop for frame using settings
256 Seiyu-106437
        self:SetBackdropColor(pazcolors[1].r, pazcolors[1].g, pazcolors[1].b, pazcolors[1].a)                   -- backdrop color
257 Seiyu-106437
        self.Health = CreateFrame("StatusBar", nil, self)                               -- Healthbar
258 Seiyu-106437
        self.Health:SetHeight(22)
259 Seiyu-106437
        self.Health:SetStatusBarTexture("Interface\\AddOns\\oUF_Pazrael\\textures\\Minimalist")
260 Seiyu-106437
        if not(unit) then self.Health:SetFrameLevel(2) else self.Health:SetFrameLevel(1) end
261 Seiyu-106437
        self.Health:SetPoint("TOPLEFT")
262 Seiyu-106437
        self.Health:SetPoint("TOPRIGHT")
263 Seiyu-106437
 
264 Seiyu-106437
        self.Health.bg = self.Health:CreateTexture(nil, "BORDER")               -- Healthbar Background
265 Seiyu-106437
        self.Health.bg:SetAllPoints(self.Health)
266 Seiyu-106437
        self.Health.bg:SetTexture("Interface\\AddOns\\oUF_Pazrael\\textures\\Minimalist")
267 Seiyu-106437
        self.Health.bg:SetAlpha(0.05)
268 Seiyu-106437
 
269 Seiyu-106437
        self.Health.value = setFontString(self.Health, GameFontNormalSmall, 10) -- Healthbar Text
270 Seiyu-106437
        self.Health.value:SetPoint("RIGHT", -2, 0)
271 Seiyu-106437
 
272 Seiyu-106437
        self.Highlight = self:CreateTexture(nil, "HIGHLIGHT")                   --Mouse-over Highlighting
273 Seiyu-106437
        self.Highlight:SetTexture(pazcolors[2].r, pazcolors[2].g, pazcolors[2].b, pazcolors[2].a)
274 Seiyu-106437
        self.Highlight:SetBlendMode("ADD")
275 Seiyu-106437
        self.Highlight:SetAllPoints(self.Health)
276 Seiyu-106437
 
277 Seiyu-106437
        self.Power = CreateFrame("StatusBar", nil, self)                                -- Powerbar
278 Seiyu-106437
        self.Power:SetHeight(unit and 5 or 2)
279 Seiyu-106437
        self.Power:SetStatusBarTexture("Interface\\AddOns\\oUF_Pazrael\\textures\\Minimalist")
280 Seiyu-106437
        self.Power:SetPoint("LEFT")
281 Seiyu-106437
        self.Power:SetPoint("RIGHT")
282 Seiyu-106437
        self.Power:SetPoint("TOP", self.Health, "BOTTOM", 0, -1)
283 Seiyu-106437
 
284 Seiyu-106437
        self.Power.colorTapping = true
285 Seiyu-106437
        self.Power.colorDisconnected = true
286 Seiyu-106437
        self.Power.colorClass = true
287 Seiyu-106437
        self.Power.colorReaction = true
288 Seiyu-106437
 
289 Seiyu-106437
        self.Power.bg = self.Power:CreateTexture(nil, "BORDER")                 -- Powerbar Background
290 Seiyu-106437
        self.Power.bg:SetAllPoints(self.Power)
291 Seiyu-106437
        self.Power.bg:SetTexture("Interface\\AddOns\\oUF_Pazrael\\textures\\Minimalist")
292 Seiyu-106437
        self.Power.bg:SetAlpha(0.3)
293 Seiyu-106437
 
294 Seiyu-106437
        self.Name = setFontString(self.Health, GameFontNormalSmall, 10)
295 Seiyu-106437
        self.Name:SetPoint("LEFT", 2, 0)
296 Seiyu-106437
 
297 Seiyu-106437
        self.Leader = self.Health:CreateTexture(nil, 'OVERLAY')                 --Leader Icon
298 Seiyu-106437
        self.Leader:SetHeight(16)
299 Seiyu-106437
        self.Leader:SetWidth(16)
300 Seiyu-106437
        self.Leader:SetPoint('TOPLEFT', self, 0, 8)
301 Seiyu-106437
        self.Leader:SetTexture('Interface\\GroupFrame\\UI-Group-LeaderIcon')
302 Seiyu-106437
 
303 Seiyu-106437
        self.RaidIcon = self.Health:CreateTexture(nil, "OVERLAY")               --Raid Icons
304 Seiyu-106437
        self.RaidIcon:SetHeight(16)
305 Seiyu-106437
        self.RaidIcon:SetWidth(16)
306 Seiyu-106437
        self.RaidIcon:SetPoint("TOP", self, 0, 8)
307 Seiyu-106437
        self.RaidIcon:SetTexture("Interface\\TargetingFrame\\UI-RaidTargetingIcons")
308 Seiyu-106437
 
309 Seiyu-106437
        self.PvP = self.Power:CreateTexture(nil, "OVERLAY")
310 Seiyu-106437
        self.PvP:SetPoint("CENTER", self.Health, "LEFT", 2, -5)
311 Seiyu-106437
        self.PvP:SetHeight(25)
312 Seiyu-106437
        self.PvP:SetWidth(25)
313 Seiyu-106437
 
314 Seiyu-106437
        if(unit=="player" or unit=="target") then
315 Seiyu-106437
                self.Power.value = setFontString(self.Power, GameFontNormalSmall, 10)
316 Seiyu-106437
                if(unit=="player") then
317 Seiyu-106437
                        self.Power.value:SetPoint("LEFT", self.Health, "LEFT", 2, 0)
318 Seiyu-106437
                        self.Spark = self.Power:CreateTexture(nil, "OVERLAY")
319 Seiyu-106437
                        self.Spark:SetTexture("Interface\\CastingBar\\UI-CastingBar-Spark")
320 Seiyu-106437
                        self.Spark:SetBlendMode("ADD")
321 Seiyu-106437
                        self.Spark:SetHeight(self.Power:GetHeight() * 2)
322 Seiyu-106437
                        self.Spark:SetWidth(self.Power:GetHeight() * 2)
323 Seiyu-106437
                        self.Spark.manatick = true
324 Seiyu-106437
                        self.ignoreBanzai = true
325 Seiyu-106437
 
326 Seiyu-106437
                        if(class == 'DRUID') then
327 Seiyu-106437
                                self.DruidMana = CreateFrame('StatusBar', nil, self)
328 Seiyu-106437
                                self.DruidMana:SetPoint("BOTTOMRIGHT", self.Power, "TOPRIGHT")
329 Seiyu-106437
                                self.DruidMana:SetPoint("BOTTOMLEFT", self.Power, "TOPLEFT")
330 Seiyu-106437
                                self.DruidMana:SetStatusBarTexture("Interface\\AddOns\\oUF_Pazrael\\textures\\Minimalist")
331 Seiyu-106437
                                self.DruidMana:SetStatusBarColor(0.3, 0.3, 1)
332 Seiyu-106437
                                self.DruidMana:SetHeight(1.35)
333 Seiyu-106437
                                self.DruidMana.Text = setFontString(self.DruidMana, GameFontNormalSmall, 10)
334 Seiyu-106437
                                self.DruidMana.Text:SetPoint("CENTER", 0, 7)
335 Seiyu-106437
                                self.PreUpdatePower = PreUpdatePower
336 Seiyu-106437
                        end
337 Seiyu-106437
 
338 Seiyu-106437
                        self.Combat = self.Power:CreateTexture(nil, 'OVERLAY')
339 Seiyu-106437
                        self.Combat:SetPoint('CENTER', self, 'BOTTOMRIGHT', -1, -2)
340 Seiyu-106437
                        self.Combat:SetHeight(14)
341 Seiyu-106437
                        self.Combat:SetWidth(14)
342 Seiyu-106437
                        self.Combat:SetTexture('Interface\\CharacterFrame\\UI-StateIcon')
343 Seiyu-106437
                        self.Combat:SetTexCoord(0.58, 0.90, 0.08, 0.41)
344 Seiyu-106437
 
345 Seiyu-106437
                        if UnitLevel("player")  ~= MAX_PLAYER_LEVEL then
346 Seiyu-106437
                                self.Resting = self.Health:CreateTexture(nil, 'OVERLAY')
347 Seiyu-106437
                                self.Resting:SetPoint('CENTER', self, 'TOPRIGHT', -1, -2)
348 Seiyu-106437
                                self.Resting:SetHeight(14)
349 Seiyu-106437
                                self.Resting:SetWidth(14)
350 Seiyu-106437
                                self.Resting:SetTexture('Interface\\CharacterFrame\\UI-StateIcon')
351 Seiyu-106437
                                self.Resting:SetTexCoord(0.09, 0.43, 0.08, 0.42)
352 Seiyu-106437
                        end
353 Seiyu-106437
 
354 Seiyu-106437
                        if(class == "DEATHKNIGHT") then
355 Seiyu-106437
                                RuneFrame:SetParent(self)
356 Seiyu-106437
                                RuneFrame:SetScale(0.75)
357 Seiyu-106437
                                RuneFrame:SetPoint("TOPLEFT", self, "BOTTOMLEFT",0 , -10)
358 Seiyu-106437
                        end
359 Seiyu-106437
                else
360 Seiyu-106437
                        self.Power.value:SetPoint("RIGHT", self.Health.value, "LEFT", 2, 0)
361 Seiyu-106437
 
362 Seiyu-106437
                        self.CPoints = setFontString(self, ChatFontSmall, 38)
363 Seiyu-106437
                        self.CPoints:SetPoint("RIGHT", self, "LEFT", -9, 3)
364 Seiyu-106437
                        self.CPoints:SetJustifyH("RIGHT")
365 Seiyu-106437
                end
366 Seiyu-106437
        end
367 Seiyu-106437
        if(unit=="target" or unit=="pet") then
368 Seiyu-106437
                self.Buffs = CreateFrame("Frame", nil, self)
369 Seiyu-106437
                self.Buffs.spacing = 5.3
370 Seiyu-106437
                self.Buffs:SetHeight(self.Health:GetHeight() -3)
371 Seiyu-106437
                self.Buffs:SetWidth(230/1.2)
372 Seiyu-106437
                self.Buffs.size = math.floor(self.Buffs:GetHeight())
373 Seiyu-106437
                self.Buffs["growth-y"] = "DOWN"
374 Seiyu-106437
                self.Debuffs = CreateFrame("Frame", nil, self)
375 Seiyu-106437
                self.Debuffs.spacing = 5.3
376 Seiyu-106437
                self.Debuffs:SetHeight(self.Health:GetHeight() -3)
377 Seiyu-106437
                self.Debuffs:SetWidth(230)
378 Seiyu-106437
                self.Debuffs:SetPoint("TOPLEFT", self, "BOTTOMLEFT", 1, -5)
379 Seiyu-106437
                self.Debuffs.initialAnchor = "TOPLEFT"
380 Seiyu-106437
                self.Debuffs["growth-y"] = "DOWN"
381 Seiyu-106437
                self.Debuffs.size = math.floor(self.Debuffs:GetHeight())
382 Seiyu-106437
 
383 Seiyu-106437
                if(unit=="target") then
384 Seiyu-106437
                        self.Buffs:SetPoint("TOPLEFT", self, "TOPRIGHT", 2+floor(pazd[0]/5), -1)
385 Seiyu-106437
                        self.Buffs.initialAnchor = "TOPLEFT"
386 Seiyu-106437
                        if (ttt) then
387 Seiyu-106437
                                self.Debuffs.num = 10
388 Seiyu-106437
                        else
389 Seiyu-106437
                                self.Debuffs.num = 20
390 Seiyu-106437
                        end
391 Seiyu-106437
                elseif(unit=='pet')then
392 Seiyu-106437
                        if(class == 'HUNTER') then
393 Seiyu-106437
                                self.Power.colorHappiness = true
394 Seiyu-106437
                                self:RegisterEvent('UNIT_HAPPINESS')
395 Seiyu-106437
                                self.UNIT_HAPPINESS = self.UNIT_MANA
396 Seiyu-106437
                        else
397 Seiyu-106437
                                self.Power.colorPower = true
398 Seiyu-106437
                        end
399 Seiyu-106437
                        self.Buffs:SetPoint("TOPRIGHT", self, "TOPLEFT", -4, -1)
400 Seiyu-106437
                        self.Buffs["growth-x"] = "LEFT"
401 Seiyu-106437
                        self.Buffs.initialAnchor = "TOPRIGHT"
402 Seiyu-106437
                        self.Debuffs.num = 6
403 Seiyu-106437
                end
404 Seiyu-106437
        end
405 Seiyu-106437
        if(unit=='focus' or unit=='focustarget' or unit=='targettarget' or unit=='targettargettarget') then
406 Seiyu-106437
                self.Debuffs = CreateFrame("Frame", nil, self)                          -- Debuff Layout
407 Seiyu-106437
                self.Debuffs.spacing = 5.3
408 Seiyu-106437
                self.Debuffs.size = (pazd[1] - 3)
409 Seiyu-106437
                self.Debuffs:SetWidth(self.Debuffs.size * 4)
410 Seiyu-106437
                self.Debuffs:SetHeight(self.Debuffs.size)
411 Seiyu-106437
                self.Debuffs.num = 3
412 Seiyu-106437
                if(unit=='focus' or unit =='focustarget') then
413 Seiyu-106437
                        self.Debuffs:SetPoint("LEFT", self, "RIGHT", 3, 0)
414 Seiyu-106437
                        self.Debuffs.initialAnchor = "TOPLEFT"
415 Seiyu-106437
                        self.Debuffs["growth-x"] = "RIGHT"
416 Seiyu-106437
                else
417 Seiyu-106437
                        self.Debuffs:SetPoint("RIGHT", self, "LEFT", -3, 0)
418 Seiyu-106437
                        self.Debuffs["growth-x"] = "LEFT"
419 Seiyu-106437
                        self.Debuffs.initialAnchor = "TOPRIGHT"
420 Seiyu-106437
                end
421 Seiyu-106437
        end
422 Seiyu-106437
 
423 Seiyu-106437
        if(unit == 'pet' or unit == 'player') then
424 Seiyu-106437
                if(experience) then
425 Seiyu-106437
                        self.Experience = CreateFrame('StatusBar', nil, self)
426 Seiyu-106437
                        self.Experience:SetPoint('TOP', self.Power, 'BOTTOM', 0, -2)
427 Seiyu-106437
                        self.Experience:SetStatusBarTexture("Interface\\AddOns\\oUF_Pazrael\\textures\\Minimalist")
428 Seiyu-106437
                        self.Experience:SetAlpha(.75)
429 Seiyu-106437
                        self.Experience:SetBackdrop({bgFile="Interface\\Tooltips\\UI-Tooltip-Background", insets ={left = -1, right = -1, top = -1, bottom = -1}})
430 Seiyu-106437
                        self.Experience:SetBackdropColor(pazcolors[1].r, pazcolors[1].g, pazcolors[1].b, pazcolors[1].a)
431 Seiyu-106437
                        self.Experience:SetHeight(2)
432 Seiyu-106437
                        if(unit=='player') then
433 Seiyu-106437
                                self.Experience:SetWidth(pazd[3])
434 Seiyu-106437
                        else
435 Seiyu-106437
                                self.Experience:SetWidth(pazd[4])
436 Seiyu-106437
                        end
437 Seiyu-106437
                        self.Experience.Tooltip = true
438 Seiyu-106437
                        self.Experience.bg = self.Experience:CreateTexture(nil, 'BORDER')
439 Seiyu-106437
                        self.Experience.bg:SetTexture("Interface\\AddOns\\oUF_Pazrael\\textures\\Minimalist")
440 Seiyu-106437
                        self.Experience.bg:SetAllPoints(self.Experience)
441 Seiyu-106437
                        self.Experience.bg:SetAlpha(0.05)
442 Seiyu-106437
                        if(not IsAddOnLoaded('oUF_Experience')) then
443 Seiyu-106437
                                self.Experience:Hide()
444 Seiyu-106437
                        end
445 Seiyu-106437
                end
446 Seiyu-106437
        end
447 Seiyu-106437
 
448 Seiyu-106437
        if(not unit) then
449 Seiyu-106437
                self.outsideRangeAlpha = 0.4
450 Seiyu-106437
                self.inRangeAlpha = 1.0
451 Seiyu-106437
                self.Range = true
452 Seiyu-106437
 
453 Seiyu-106437
                self.ReadyCheck = self.Health:CreateTexture(nil, 'OVERLAY')
454 Seiyu-106437
                self.ReadyCheck:SetPoint('TOPRIGHT', self, 0, 8)
455 Seiyu-106437
                self.ReadyCheck:SetHeight(16)
456 Seiyu-106437
                self.ReadyCheck:SetWidth(16)
457 Seiyu-106437
        end
458 Seiyu-106437
 
459 Seiyu-106437
        if threat then
460 Seiyu-106437
                self.Threat = CreateFrame("StatusBar")
461 Seiyu-106437
                self.Threat:SetBackdrop({bgFile="Interface\\Tooltips\\UI-Tooltip-Background", insets ={left = -1, right = -1, top = -1, bottom = -1}})
462 Seiyu-106437
                self.Threat:SetStatusBarTexture("Interface\\AddOns\\oUF_Pazrael\\textures\\Minimalist")
463 Seiyu-106437
                self.Threat:SetParent(self)
464 Seiyu-106437
                self.Threat:SetOrientation("VERTICAL")
465 Seiyu-106437
                if unit == "target" then
466 Seiyu-106437
                        self.Threat:SetBackdropColor(pazcolors[1].r, pazcolors[1].g, pazcolors[1].b, pazcolors[1].a)
467 Seiyu-106437
                        self.Threat:SetWidth(floor(pazd[0])/5)
468 Seiyu-106437
                        self.Threat:SetHeight(pazd[0])
469 Seiyu-106437
                        self.Threat:SetPoint("RIGHT", 1+floor(pazd[0]/5), 0)
470 Seiyu-106437
                elseif unit == "targettarget" or unit == "targettargettarget" then
471 Seiyu-106437
                        self.Threat:SetBackdropColor(pazcolors[1].r, pazcolors[1].g, pazcolors[1].b, pazcolors[1].a)
472 Seiyu-106437
                        self.Threat:SetWidth(floor(pazd[1])/5)
473 Seiyu-106437
                        self.Threat:SetHeight(pazd[1])
474 Seiyu-106437
                        self.Threat:SetPoint("RIGHT", 1+floor(pazd[1]/5), 0)
475 Seiyu-106437
                else
476 Seiyu-106437
                        self.Threat:SetBackdropColor(pazcolors[1].r, pazcolors[1].g, pazcolors[1].b, pazcolors[1].a)
477 Seiyu-106437
                        self.Threat:SetWidth(floor(pazd[1])/5)
478 Seiyu-106437
                        self.Threat:SetHeight(pazd[1])
479 Seiyu-106437
                        self.Threat:SetPoint("LEFT", -(1+floor(pazd[1]/5)), 0)
480 Seiyu-106437
                end
481 Seiyu-106437
                self.Threat.bg = self.Threat:CreateTexture(nil, "BORDER")
482 Seiyu-106437
                self.Threat.bg:SetAllPoints(self.Threat)
483 Seiyu-106437
                self.Threat.bg:SetTexture("Interface\\AddOns\\oUF_Pazrael\\textures\\Minimalist")
484 Seiyu-106437
                self.Threat.bg:SetAlpha(0.05)
485 Seiyu-106437
        end
486 Seiyu-106437
 
487 Seiyu-106437
        if castBar and (unit=="player" or unit=="target" or (focuscast and unit=="focus")) then
488 Seiyu-106437
                self.Castbar = CreateFrame("StatusBar")
489 Seiyu-106437
                if(unit=="player" or unit=="target") then
490 Seiyu-106437
                        self.Castbar:SetWidth(pazd[3])
491 Seiyu-106437
                else
492 Seiyu-106437
                        self.Castbar:SetWidth(pazd[4])
493 Seiyu-106437
                end
494 Seiyu-106437
                self.Castbar:SetHeight(10)
495 Seiyu-106437
                self.Castbar:SetBackdrop({bgFile="Interface\\Tooltips\\UI-Tooltip-Background", insets ={left = -1, right = -1, top = -1, bottom = -1}})
496 Seiyu-106437
                self.Castbar:SetBackdropColor(pazcolors[1].r, pazcolors[1].g, pazcolors[1].b, pazcolors[1].a)
497 Seiyu-106437
                self.Castbar:SetStatusBarTexture("Interface\\AddOns\\oUF_Pazrael\\textures\\Minimalist")
498 Seiyu-106437
                self.Castbar:SetStatusBarColor(pazcolors[0].r, pazcolors[0].g, pazcolors[0].b, pazcolors[0].a)
499 Seiyu-106437
                self.Castbar:SetParent(self)
500 Seiyu-106437
                self.Castbar:SetPoint("TOP", 0, 11)
501 Seiyu-106437
                self.Castbar:SetMinMaxValues(1, 100)
502 Seiyu-106437
                self.Castbar:SetValue(1)
503 Seiyu-106437
                self.Castbar:Hide()
504 Seiyu-106437
                self.Castbar.bg = self.Castbar:CreateTexture(nil, "BORDER")
505 Seiyu-106437
                self.Castbar.bg:SetAllPoints(self.Castbar)
506 Seiyu-106437
                self.Castbar.bg:SetTexture("Interface\\AddOns\\oUF_Pazrael\\textures\\Minimalist")
507 Seiyu-106437
                self.Castbar.bg:SetAlpha(0.05)
508 Seiyu-106437
                self.Castbar.Spark = self.Power:CreateTexture(nil, "OVERLAY")
509 Seiyu-106437
                self.Castbar.Spark:SetParent(self.Castbar)
510 Seiyu-106437
                self.Castbar.Spark:SetTexture("Interface\\CastingBar\\UI-CastingBar-Spark")
511 Seiyu-106437
                self.Castbar.Spark:SetBlendMode("ADD")
512 Seiyu-106437
                self.Castbar.Spark:SetHeight(self.Castbar:GetHeight() * 2)
513 Seiyu-106437
                self.Castbar.Spark:SetWidth(self.Castbar:GetHeight() * 2)
514 Seiyu-106437
                self.Castbar.Time = self.Castbar:CreateFontString(nil, "OVERLAY")
515 Seiyu-106437
                self.Castbar.Time:SetPoint("RIGHT", self.Castbar, -2, 0)
516 Seiyu-106437
                self.Castbar.Time:SetFontObject(GameFontNormalSmall)
517 Seiyu-106437
                self.Castbar.Time:SetTextColor(1, 1, 1)
518 Seiyu-106437
                self.Castbar.Time:SetJustifyH("RIGHT")
519 Seiyu-106437
                self.Castbar.Text = self.Castbar:CreateFontString(nil, "OVERLAY")
520 Seiyu-106437
                self.Castbar.Text:SetPoint("LEFT", self.Castbar, 2, 0)
521 Seiyu-106437
                self.Castbar.Text:SetWidth(self.Castbar:GetWidth()*4/5)
522 Seiyu-106437
                self.Castbar.Text:SetHeight(10)
523 Seiyu-106437
                self.Castbar.Text:SetFontObject(GameFontNormalSmall)
524 Seiyu-106437
                self.Castbar.Text:SetTextColor(1, 1, 1)
525 Seiyu-106437
                self.Castbar.Text:SetJustifyH"LEFT"
526 Seiyu-106437
                self.Castbar.SafeZone = self.Castbar:CreateTexture(nil,"ARTWORK")
527 Seiyu-106437
                self.Castbar.SafeZone:SetTexture("Interface\\AddOns\\oUF_Pazrael\\textures\\Minimalist")
528 Seiyu-106437
                self.Castbar.SafeZone:SetVertexColor(pazcolors[3].r, pazcolors[3].g, pazcolors[3].b, pazcolors[3].a)
529 Seiyu-106437
                self.Castbar.SafeZone:SetPoint("TOPRIGHT")
530 Seiyu-106437
                self.Castbar.SafeZone:SetPoint("BOTTOMRIGHT")
531 Seiyu-106437
        end
532 Seiyu-106437
 
533 Seiyu-106437
        self.DebuffHighlightBackdrop = true
534 Seiyu-106437
        self.DebuffHighlightFilter = true
535 Seiyu-106437
 
536 Seiyu-106437
        if(unit == 'player' or unit == 'target') then
537 Seiyu-106437
                self.CombatFeedbackText = setFontString(self.Health, GameFontNormalSmall, 18, 'OUTLINE')
538 Seiyu-106437
                self.CombatFeedbackText:SetPoint('CENTER', self.Health, 'CENTER', 0, 0)
539 Seiyu-106437
                self:SetAttribute('initial-height', pazd[0])
540 Seiyu-106437
                self:SetAttribute('initial-width', pazd[3])
541 Seiyu-106437
                self.Health:SetHeight(floor(pazd[0]*0.875)+1)
542 Seiyu-106437
                self.Power:SetHeight(pazd[0]-(1+self.Health:GetHeight()))
543 Seiyu-106437
        elseif(unit == "pet") then
544 Seiyu-106437
                self:SetAttribute('initial-height', pazd[0])
545 Seiyu-106437
                self:SetAttribute('initial-width', pazd[4])
546 Seiyu-106437
                self.Health:SetHeight(floor(pazd[0]*0.875)+1)
547 Seiyu-106437
                self.Power:SetHeight(pazd[0]-(1+self.Health:GetHeight()))
548 Seiyu-106437
        elseif(self:GetParent():GetName():match"oUF_Raid") then
549 Seiyu-106437
                self:SetAttribute('initial-height', pazd[2])
550 Seiyu-106437
                self:SetAttribute('initial-width', pazd[5])
551 Seiyu-106437
                self.Health:SetHeight(pazd[2]*0.875)
552 Seiyu-106437
                self.Power:SetHeight(pazd[2]-(1+self.Health:GetHeight()))
553 Seiyu-106437
        else
554 Seiyu-106437
                self:SetAttribute('initial-height', pazd[1])
555 Seiyu-106437
                self:SetAttribute('initial-width', pazd[4])
556 Seiyu-106437
                self.Health:SetHeight(pazd[1]*0.875)
557 Seiyu-106437
                self.Power:SetHeight(pazd[1]-(1+self.Health:GetHeight()))
558 Seiyu-106437
        end
559 Seiyu-106437
 
560 Seiyu-106437
        self.UNIT_NAME_UPDATE = OverrideUpdateName
561 Seiyu-106437
        self.PostCreateAuraIcon = PostCreateAuraIcon
562 Seiyu-106437
        self.PostUpdateHealth = PostUpdateHealth
563 Seiyu-106437
        self.PostUpdatePower = PostUpdatePower
564 Seiyu-106437
        self.OverrideUpdateThreat = OverrideUpdateThreat
565 Seiyu-106437
 
566 Seiyu-106437
        return self
567 Seiyu-106437
end
568 Seiyu-106437
 
569 Seiyu-106437
oUF:RegisterSubTypeMapping('UNIT_LEVEL')
570 Seiyu-106437
oUF:RegisterStyle('Pazrael', styleFunc)
571 Seiyu-106437
 
572 Seiyu-106437
oUF:SetActiveStyle('Pazrael')
573 Seiyu-106437
 
574 Seiyu-106437
oUF:Spawn('player'):SetPoint('CENTER', UIParent, pazp[1], pazp[0])
575 Seiyu-106437
oUF:Spawn('pet'):SetPoint('RIGHT', oUF.units.player, 'LEFT', -25, 0)
576 Seiyu-106437
oUF:Spawn('target'):SetPoint('CENTER', UIParent, pazp[2], pazp[0])
577 Seiyu-106437
oUF:Spawn('targettarget'):SetPoint('BOTTOMRIGHT', oUF.units.target, 'TOPRIGHT', 0, 13)
578 Seiyu-106437
oUF:Spawn('focus'):SetPoint('BOTTOMLEFT', oUF.units.player, 'TOPLEFT', 0, 13)
579 Seiyu-106437
if (ttt) then
580 Seiyu-106437
        oUF:Spawn('targettargettarget'):SetPoint('TOPLEFT',oUF.units.targettarget, 'BOTTOMLEFT', 0, -70)
581 Seiyu-106437
end
582 Seiyu-106437
if select(2, UnitClass('player')) == 'DEATHKNIGHT' then
583 Seiyu-106437
        oUF:Spawn('focustarget'):SetPoint('TOPLEFT', oUF.units.player, 'BOTTOMLEFT',0, -26)
584 Seiyu-106437
else
585 Seiyu-106437
        oUF:Spawn('focustarget'):SetPoint('TOPLEFT', oUF.units.player, 'BOTTOMLEFT',0, -13)
586 Seiyu-106437
end
587 Seiyu-106437
 
588 Seiyu-106437
local party     = oUF:Spawn("header", "oUF_Party")
589 Seiyu-106437
party:SetPoint("TOPLEFT", pazp[3], pazp[4])
590 Seiyu-106437
party:SetAttribute("yOffset", -5)
591 Seiyu-106437
party:Show()
592 Seiyu-106437
 
593 Seiyu-106437
local partyToggle = CreateFrame("Frame")
594 Seiyu-106437
 
595 Seiyu-106437
local partytarget = {}
596 Seiyu-106437
if ptargets then
597 Seiyu-106437
        for i = 1, 5 do
598 Seiyu-106437
                partytarget[i] = oUF:Spawn("party"..i.."target", "oUF_Party"..i.."Target")
599 Seiyu-106437
                if      i == 1 then
600 Seiyu-106437
                        partytarget[i]:SetPoint("TOPLEFT", party, "TOPRIGHT", 8, 0)
601 Seiyu-106437
                else
602 Seiyu-106437
                        partytarget[i]:SetPoint("TOP", partytarget[i-1], "BOTTOM", 0, -5)
603 Seiyu-106437
                end
604 Seiyu-106437
        end
605 Seiyu-106437
end
606 Seiyu-106437
 
607 Seiyu-106437
partyToggle:RegisterEvent("PARTY_MEMBERS_CHANGED")
608 Seiyu-106437
partyToggle:RegisterEvent("PARTY_LEADER_CHANGED")
609 Seiyu-106437
partyToggle:RegisterEvent("RAID_ROSTER_UPDATE")
610 Seiyu-106437
partyToggle:RegisterEvent("PLAYER_LOGIN")
611 Seiyu-106437
if partyRaid then
612 Seiyu-106437
        partyToggle:SetScript("OnEvent", function(self)
613 Seiyu-106437
                if(InCombatLockdown()) then self:RegisterEvent("PLAYER_REGEN_ENABLED")
614 Seiyu-106437
                else self:UnregisterEvent("PLAYER_REGEN_ENABLED")
615 Seiyu-106437
                        if(GetNumRaidMembers() > 0) then
616 Seiyu-106437
                                party:SetAttribute("showRaid", true)
617 Seiyu-106437
                                party:SetAttribute("showParty", false)
618 Seiyu-106437
                        elseif(GetNumPartyMembers() > 0) then
619 Seiyu-106437
                                party:SetAttribute("showRaid", false)
620 Seiyu-106437
                                party:SetAttribute("showParty", true)
621 Seiyu-106437
                        end
622 Seiyu-106437
                end
623 Seiyu-106437
        end)
624 Seiyu-106437
else
625 Seiyu-106437
        partyToggle:SetScript("OnEvent", function(self)
626 Seiyu-106437
                if(InCombatLockdown()) then self:RegisterEvent("PLAYER_REGEN_ENABLED")
627 Seiyu-106437
                else self:UnregisterEvent("PLAYER_REGEN_ENABLED")
628 Seiyu-106437
                        if(GetNumRaidMembers() > 0) then
629 Seiyu-106437
                                party:Hide()
630 Seiyu-106437
                                if ptargets then
631 Seiyu-106437
                                        for i,v in ipairs(partytarget) do
632 Seiyu-106437
                                                        v:Disable()
633 Seiyu-106437
                                        end
634 Seiyu-106437
                        end
635 Seiyu-106437
                        elseif(GetNumPartyMembers() > 0) then
636 Seiyu-106437
                                party:SetAttribute("showParty", true)
637 Seiyu-106437
                                party:Show()
638 Seiyu-106437
                                if ptargets then
639 Seiyu-106437
                                        for i,v in ipairs(partytarget) do
640 Seiyu-106437
                                                v:Enable()
641 Seiyu-106437
                                        end
642 Seiyu-106437
                                end
643 Seiyu-106437
                        end
644 Seiyu-106437
                end
645 Seiyu-106437
        end)
646 Seiyu-106437
local last = {}
647 Seiyu-106437
        for i = 1, 8 do
648 Seiyu-106437
                local raid = oUF:Spawn("header", "oUF_Raid"..i)
649 Seiyu-106437
                raid:SetManyAttributes("groupFilter", tostring(i), "showRaid", true, "yOffSet", -8)
650 Seiyu-106437
                table.insert(last, raid)
651 Seiyu-106437
                if(i==1) then
652 Seiyu-106437
                        raid:SetPoint("TOPLEFT", UIParent, "TOPLEFT", pazp[5], pazp[6])
653 Seiyu-106437
                else
654 Seiyu-106437
                        raid:SetPoint("TOPLEFT", last[i-1], "TOPRIGHT", 8, 0)
655 Seiyu-106437
                end
656 Seiyu-106437
        raid:Show()
657 Seiyu-106437
        end
658 Seiyu-106437
end