Mercurial > wow > buffalo2
comparison Modules/GuildInfo.lua @ 133:86621c60512b v7.3.2-20171222
- Fixed AP calc tooltip appearing while hidden
- Fixed PaperDoll relic tooltips missing nether crucible info
author | Nenue |
---|---|
date | Fri, 22 Dec 2017 20:36:40 -0500 |
parents | 15a7f27b11e6 |
children |
comparison
equal
deleted
inserted
replaced
132:4cb1d2a0c110 | 133:86621c60512b |
---|---|
16 function module:OnLoad() | 16 function module:OnLoad() |
17 Veneer:AddHandler(self, self.anchorPoint) | 17 Veneer:AddHandler(self, self.anchorPoint) |
18 --self:RegisterEvent('GUILD_ROSTER_UPDATE') | 18 --self:RegisterEvent('GUILD_ROSTER_UPDATE') |
19 --self:RegisterEvent('GUILD_TRADESKILL_UPDATE') | 19 --self:RegisterEvent('GUILD_TRADESKILL_UPDATE') |
20 | 20 |
21 self:RegisterEvent('LFG_LIST_SEARCH_RESULT_UPDATED') | 21 --self:RegisterEvent('LFG_LIST_SEARCH_RESULT_UPDATED') |
22 --self:RegisterEvent('LFG_LIST_SEARCH_RESULTS_RECEIVED') | 22 --self:RegisterEvent('LFG_LIST_SEARCH_RESULTS_RECEIVED') |
23 --self:RegisterEvent('LFG_LIST_AVAILABILITY_UPDATE') | 23 --self:RegisterEvent('LFG_LIST_AVAILABILITY_UPDATE') |
24 --self:RegisterEvent('LFG_LIST_LOCK_INFO_RECEIVED') | 24 --self:RegisterEvent('LFG_LIST_LOCK_INFO_RECEIVED') |
25 self:RegisterEvent('ADDON_LOADED') | 25 self:RegisterEvent('ADDON_LOADED') |
26 | 26 |
72 end | 72 end |
73 | 73 |
74 -- cheevos to link | 74 -- cheevos to link |
75 local overlaps = { | 75 local overlaps = { |
76 [11781] = 11875, | 76 [11781] = 11875, |
77 | 77 [12002] = 12111, |
78 | |
79 } | 78 } |
80 local cheevos = { | 79 local cheevos = { |
81 -- Mythic Prog: Tomb | 80 -- Mythic Prog |
82 { | 81 { |
82 -- Antorus | |
83 12002, -- argus | |
84 12001, -- aggramar | |
85 12000, -- coven | |
86 11999, -- barry | |
87 11998, -- kin'garoth | |
88 11997, -- imonar | |
89 11996, -- eonar | |
90 11995, -- portal keeper | |
91 11994, -- high command | |
92 11993, -- doggos | |
93 11992, -- worldbreaker | |
94 | |
95 -- Tomb of Sargeras | |
83 11781, -- kj | 96 11781, -- kj |
84 11780, -- avatar | 97 11780, -- avatar |
85 11779, -- maiden | 98 11779, -- maiden |
86 11776, -- mistress | 99 11776, -- mistress |
87 11778, -- host, | 100 11778, -- host, |
88 11777, -- sisters | 101 11777, -- sisters |
89 11775, -- harjatan, | 102 11775, -- harjatan, |
90 11774, -- di, | 103 11774, -- di, |
91 11773, -- goroth | 104 11773, -- goroth |
92 }, | 105 }, |
93 -- Completion: Tomb | 106 -- Completion |
94 { | 107 { |
108 12111, -- CE Argus, | |
109 12110, -- AotC Argus, | |
95 11875, -- CE KJ | 110 11875, -- CE KJ |
96 11874, -- AotC KJ | 111 11874, -- AotC KJ |
97 11790 -- Deceiver's Fall, | 112 11790 -- Deceiver's Fall, |
98 | 113 |
99 | 114 |
103 11162, -- master | 118 11162, -- master |
104 11185, -- conqueror | 119 11185, -- conqueror |
105 } | 120 } |
106 } | 121 } |
107 | 122 |
123 local invasion = {} | |
108 local cheev = {} | 124 local cheev = {} |
109 | 125 |
110 function cheev:OnClick() | 126 function cheev:OnClick() |
111 local resultID = LFGListFrame.SearchPanel.selectedResult or self:GetParent().selectedID | 127 local resultID = LFGListFrame.SearchPanel.selectedResult or self:GetParent().selectedID |
112 print('current selection = ', resultID) | 128 print('current selection = ', resultID) |
117 --print(name, comment, leaderName) | 133 --print(name, comment, leaderName) |
118 ChatFrame_OpenChat("/w "..leaderName.." "..self.link, DEFAULT_CHAT_FRAME) | 134 ChatFrame_OpenChat("/w "..leaderName.." "..self.link, DEFAULT_CHAT_FRAME) |
119 end | 135 end |
120 end | 136 end |
121 | 137 |
138 function invasion:OnClick() | |
139 | |
140 end | |
141 | |
142 function module:UpdateInvasionButtons() | |
143 | |
144 end | |
145 | |
146 local listed = {} | |
122 | 147 |
123 function module:UpdateAchievementLinks() | 148 function module:UpdateAchievementLinks() |
124 print('UpdateAchievementLinks()') | 149 print('UpdateAchievementLinks()') |
125 | 150 |
126 local resultID = LFGListFrame.SearchPanel.selectedResult or self.selectedID | 151 local resultID = LFGListFrame.SearchPanel.selectedResult or self.selectedID |
132 local contentsHeight = 0 | 157 local contentsHeight = 0 |
133 for _, group in ipairs(cheevos) do | 158 for _, group in ipairs(cheevos) do |
134 for _, id in ipairs(group) do | 159 for _, id in ipairs(group) do |
135 local _, name, points, completed, month, day, year, description, flags, icon = GetAchievementInfo(id) | 160 local _, name, points, completed, month, day, year, description, flags, icon = GetAchievementInfo(id) |
136 if completed then | 161 if completed then |
162 | |
163 -- if the highest mythic kill | |
164 if listed[overlaps[id]] then | |
165 break | |
166 end | |
167 | |
168 | |
137 index = index + 1 | 169 index = index + 1 |
138 --print(index) | 170 --print(index) |
139 local block =self.blocks[index] | 171 local block =self.blocks[index] |
140 if not block then | 172 if not block then |
141 block = CreateFrame('Button', 'VeneerRosterKunBlock'..index, self, 'VeneerRosterKunBlock') | 173 block = CreateFrame('Button', 'VeneerRosterKunBlock'..index, self, 'VeneerRosterKunBlock') |
158 | 190 |
159 contentsHeight = contentsHeight + block:GetHeight() | 191 contentsHeight = contentsHeight + block:GetHeight() |
160 | 192 |
161 --print(index, name, icon) | 193 --print(index, name, icon) |
162 lastBlock = block | 194 lastBlock = block |
195 listed[id] = true | |
163 break; | 196 break; |
164 end | 197 end |
165 end | 198 end |
166 end | 199 end |
200 | |
201 --[[ | |
202 local areaPOIs = C_WorldMap.GetAreaPOIForMap(GetCurrentMapAreaID(), 1); | |
203 if areaPOIs then | |
204 | |
205 | |
206 for i, areaPoiID in ipairs(areaPOIs) do | |
207 local poiInfo = C_WorldMap.GetAreaPOIInfo(GetCurrentMapAreaID(), areaPoiID, 1); | |
208 | |
209 index = index + 1 | |
210 --print(index) | |
211 local block =self.blocks[index] | |
212 if not block then | |
213 block = CreateFrame('Button', 'VeneerRosterKunBlock'..index, self, 'VeneerRosterKunBlock') | |
214 block:SetScript('OnClick', invasion.OnClick) | |
215 block:SetID(index) | |
216 self.blocks[index] = block | |
217 end | |
218 | |
219 | |
220 | |
221 end | |
222 end | |
223 --]] | |
167 | 224 |
168 --print(index, #self.blocks) | 225 --print(index, #self.blocks) |
169 if index < #self.blocks then | 226 if index < #self.blocks then |
170 for i = index+1, #self.blocks do | 227 for i = index+1, #self.blocks do |
171 --print('hiding', i) | 228 --print('hiding', i) |
185 self:UpdateGuildInfo() | 242 self:UpdateGuildInfo() |
186 end | 243 end |
187 if self.AchievementsDirty or forced then | 244 if self.AchievementsDirty or forced then |
188 self:UpdateAchievementLinks() | 245 self:UpdateAchievementLinks() |
189 end | 246 end |
247 | |
190 | 248 |
191 end | 249 end |
192 function module:SetupGuildUI() | 250 function module:SetupGuildUI() |
193 self:UnregisterEvent('ADDON_LOADED') | 251 self:UnregisterEvent('ADDON_LOADED') |
194 end | 252 end |
201 end | 259 end |
202 elseif event == 'LFG_LIST_SEARCH_RESULTS_RECEIVED' then | 260 elseif event == 'LFG_LIST_SEARCH_RESULTS_RECEIVED' then |
203 elseif event == 'LFG_LIST_SEARCH_RESULT_UPDATED' then | 261 elseif event == 'LFG_LIST_SEARCH_RESULT_UPDATED' then |
204 end | 262 end |
205 end | 263 end |
264 | |
265 | |
266 VeneerPetBattleActionMixin = {} | |
267 VeneerPetBattleInfoMixin = {} | |
268 local pb = VeneerPetBattleInfoMixin | |
269 local action = VeneerPetBattleActionMixin | |
270 | |
271 | |
272 function pb:OnShow() | |
273 self:ClearAllPoints() | |
274 self:SetPoint('TOPLEFT', PetBattleFrame.EnemyBuffFrame, 'BOTTOMLEFT', 0, -12) | |
275 self:RegisterEvent('PET_BATTLE_PET_ROUND_PLAYBACK_COMPLETE') | |
276 self:RegisterEvent('PET_BATTLE_ACTION_SELECTED') | |
277 self:RegisterEvent('PET_BATTLE_TURN_STARTED') | |
278 print('pet on show') | |
279 self:Refresh() | |
280 end | |
281 | |
282 function pb:OnHide() | |
283 print('pet on hide') | |
284 self:UnregisterAllEvents() | |
285 end | |
286 | |
287 function pb:OnEvent(event) | |
288 print('pb event|cFFFF8800', event) | |
289 self:Refresh() | |
290 end | |
291 | |
292 function pb:Refresh() | |
293 local myPetSlot = C_PetBattles.GetActivePet(1) | |
294 local myPetType = C_PetBattles.GetPetType(1, myPetSlot) | |
295 | |
296 local index = 0 | |
297 local nonActiveIndex = 0 | |
298 local lastFrame, lastNonActive | |
299 for petSlot = 1, C_PetBattles.GetNumPets(2) do | |
300 | |
301 for abilitySlot = 1,3 do | |
302 local _, name, texture, cooldown, tooltip,_, abilityType, noStrongWeakHints = C_PetBattles.GetAbilityInfo(2, petSlot, abilitySlot) | |
303 local petHealth = C_PetBattles.GetHealth(2, petSlot) | |
304 | |
305 if petHealth >= 1 then | |
306 local isUsable, currentCooldown, currentLockdown = C_PetBattles.GetAbilityState(2, petSlot, abilitySlot); | |
307 --print(index, petSlot, abilitySlot, name, currentCooldown, currentLockdown, cooldown, petHealth) | |
308 | |
309 index = index + 1 | |
310 local frame = self.Abilities[index] | |
311 | |
312 frame.ownerID = 2 | |
313 frame.petIndex = petSlot | |
314 frame.abIndex = abilitySlot | |
315 frame.tooltip = tooltip | |
316 frame.Name:SetText(name) | |
317 frame.Icon:SetTexture(texture) | |
318 frame.TypeIcon:SetTexture("Interface\\PetBattles\\PetIcon-"..PET_TYPE_SUFFIX[abilityType]) | |
319 | |
320 | |
321 for i = 1,C_PetBattles.GetNumPets(1) do | |
322 local myPetType = C_PetBattles.GetPetType(1, i) | |
323 if not (myPetType or abilityType) then | |
324 frame.BetterIcon[i]:Hide(); | |
325 else | |
326 local modifier = C_PetBattles.GetAttackModifier(abilityType, myPetType) | |
327 if ( noStrongWeakHints or modifier == 1 ) then | |
328 frame.BetterIcon[i]:Hide(); | |
329 elseif (modifier > 1) then | |
330 frame.BetterIcon[i]:SetTexture("Interface\\PetBattles\\BattleBar-AbilityBadge-Strong"); | |
331 frame.BetterIcon[i]:Show(); | |
332 elseif (modifier < 1) then | |
333 frame.BetterIcon[i]:SetTexture("Interface\\PetBattles\\BattleBar-AbilityBadge-Weak"); | |
334 frame.BetterIcon[i]:Show(); | |
335 end | |
336 | |
337 end | |
338 end | |
339 | |
340 | |
341 if cooldown >= 1 then | |
342 frame.Border2:Show() | |
343 else | |
344 | |
345 frame.Border2:Hide() | |
346 end | |
347 | |
348 | |
349 currentCooldown = (currentCooldown >= 1) and currentCooldown or 0 | |
350 if petHealth == 0 then | |
351 frame.Cooldown:SetText(nil) | |
352 frame.Cooldown:SetTextColor(1,0,0) | |
353 else | |
354 if currentLockdown >= 1 and currentLockdown > currentCooldown then | |
355 frame.Cooldown:SetTextColor(1,0,0) | |
356 else | |
357 frame.Cooldown:SetTextColor(1,1,1) | |
358 end | |
359 frame.Cooldown:SetText((currentCooldown >= 1) and currentCooldown or nil) | |
360 end | |
361 | |
362 frame:ClearAllPoints() | |
363 if petSlot == C_PetBattles.GetActivePet(2) then | |
364 frame:SetSize(48,48) | |
365 frame.Border2:SetSize(72,72) | |
366 frame.Icon:SetDesaturated(false) | |
367 frame.Name:SetTextColor(1,1,0) | |
368 if lastFrame then | |
369 frame:SetPoint('TOPLEFT', lastFrame, 'BOTTOMLEFT', 0, -4) | |
370 else | |
371 frame:SetPoint('TOPLEFT', self, 'TOPLEFT') | |
372 end | |
373 lastFrame = frame | |
374 else | |
375 frame:SetSize(24,24) | |
376 frame.Border2:SetSize(36,36) | |
377 frame.Name:SetTextColor(0.5,0.5,0.5) | |
378 frame.Icon:SetDesaturated(true) | |
379 if lastNonActive then | |
380 frame:SetPoint('TOPLEFT', lastNonActive, 'BOTTOMLEFT', 0, -2) | |
381 else | |
382 frame:SetPoint('TOPLEFT', self, 'TOPLEFT', 128, 0) | |
383 end | |
384 lastNonActive = frame | |
385 end | |
386 frame:Show() | |
387 end | |
388 end | |
389 end | |
390 | |
391 for i = index + 1, #self.Abilities do | |
392 self.Abilities[i]:Hide() | |
393 end | |
394 end | |
395 | |
396 function action:OnEnter() | |
397 PetBattleAbilityTooltip_SetAbility(self.ownerID, self.petIndex, self.abIndex); | |
398 PetBattleAbilityTooltip_Show("TOPRIGHT", self:GetParent(), "TOPLEFT", -5, 0, self.additionalText); | |
399 end | |
400 | |
401 function action:OnLeave() | |
402 PetBattlePrimaryAbilityTooltip:Hide(); | |
403 end |