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 |