# HG changeset patch
# User Nenue
# Date 1516931890 18000
# Node ID 4979b5cca6deadbc165072d371f8d22474c1e5a1
# Parent 24dc16a49b15b5f7613cde4c6edf7016d948cfa5
- Fixed lua error from newly obtained artifacts
diff -r 24dc16a49b15 -r 4979b5cca6de Modules/ArtifactPower.lua
--- a/Modules/ArtifactPower.lua Fri Dec 22 20:37:15 2017 -0500
+++ b/Modules/ArtifactPower.lua Thu Jan 25 20:58:10 2018 -0500
@@ -344,8 +344,6 @@
self:TryToShow()
elseif event == 'BAG_UPDATE' then
local containerID = ...
-
-
self:QueueBag(containerID)
elseif event == 'ITEM_LOCK_CHANGED' then
diff -r 24dc16a49b15 -r 4979b5cca6de Modules/GuildInfo.lua
--- a/Modules/GuildInfo.lua Fri Dec 22 20:37:15 2017 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,403 +0,0 @@
-
-local print = DEVIAN_WORKSPACE and function(...) print('VnRoster', ...) end or nop
-
-VeneerRosterKunMixin = {
- anchorFrame = 'LFGListFrame',
- anchorPoint = 'TOPLEFT',
-
- AchievementsDirty = true,
- GuildInfoDirty = true,
- blocks = {},
-}
-
-
-local module = VeneerRosterKunMixin
-
-function module:OnLoad()
- Veneer:AddHandler(self, self.anchorPoint)
- --self:RegisterEvent('GUILD_ROSTER_UPDATE')
- --self:RegisterEvent('GUILD_TRADESKILL_UPDATE')
-
- --self:RegisterEvent('LFG_LIST_SEARCH_RESULT_UPDATED')
- --self:RegisterEvent('LFG_LIST_SEARCH_RESULTS_RECEIVED')
- --self:RegisterEvent('LFG_LIST_AVAILABILITY_UPDATE')
- --self:RegisterEvent('LFG_LIST_LOCK_INFO_RECEIVED')
- self:RegisterEvent('ADDON_LOADED')
-
- hooksecurefunc("LFGListSearchPanel_SelectResult", function(obj)
- print('LFGListSearchPanel_SelectResult')
- self.selectedID = obj.selectedResult
- print('selected =', self.selectedID)
- self:UpdateAchievementLinks()
- end)
- hooksecurefunc("LFGListSearchPanel_SignUp", function(obj)
- print('LFGListSearchPanel_SignUp', obj.selectedResult)
-
-
- self.selectedID = obj.selectedResult
- print('selected =', self.selectedID)
- self:UpdateAchievementLinks()
- end)
-end
-
-function module:Setup()
- VeneerHandlerMixin.Setup(self)
- self:SetParent(LFGListFrame)
- self:SetPoint('TOPLEFT', LFGListFrame,'TOPRIGHT')
- self:SetShown(true)
-end
-
-function module:SetDirty()
- if self:IsVisible() then
- self:Update()
- else
- self.GuildInfoDirty = true
- self.AchievementsDirty = true
- end
-end
-local firstLoad = true
-function module:OnShow()
- print('|cFF00FFFFOnShow()|r')
- self:Update(firstLoad)
- firstLoad = nil
-end
-
-function module:UpdateGuildInfo()
- local numMembers = GetNumGuildMembers()
- print(numMembers)
- for i = 1, numMembers do
- --print(GetGuildRosterInfo(i))
- end
- self.GuildInfoDirty = nil
-end
-
--- cheevos to link
-local overlaps = {
- [11781] = 11875,
- [12002] = 12111,
-}
-local cheevos = {
- -- Mythic Prog
- {
- -- Antorus
- 12002, -- argus
- 12001, -- aggramar
- 12000, -- coven
- 11999, -- barry
- 11998, -- kin'garoth
- 11997, -- imonar
- 11996, -- eonar
- 11995, -- portal keeper
- 11994, -- high command
- 11993, -- doggos
- 11992, -- worldbreaker
-
- -- Tomb of Sargeras
- 11781, -- kj
- 11780, -- avatar
- 11779, -- maiden
- 11776, -- mistress
- 11778, -- host,
- 11777, -- sisters
- 11775, -- harjatan,
- 11774, -- di,
- 11773, -- goroth
- },
- -- Completion
- {
- 12111, -- CE Argus,
- 12110, -- AotC Argus,
- 11875, -- CE KJ
- 11874, -- AotC KJ
- 11790 -- Deceiver's Fall,
-
-
- },
- -- Mythic+
- {
- 11162, -- master
- 11185, -- conqueror
- }
-}
-
-local invasion = {}
-local cheev = {}
-
-function cheev:OnClick()
- local resultID = LFGListFrame.SearchPanel.selectedResult or self:GetParent().selectedID
- print('current selection = ', resultID)
- if ACTIVE_CHAT_EDIT_BOX then
- ChatEdit_InsertLink(self.link)
- elseif resultID then
- local id, activityID, name, comment, voiceChat, iLvl, honorLevel, age, numBNetFriends, numCharFriends, numGuildMates, isDelisted, leaderName = C_LFGList.GetSearchResultInfo(resultID);
- --print(name, comment, leaderName)
- ChatFrame_OpenChat("/w "..leaderName.." "..self.link, DEFAULT_CHAT_FRAME)
- end
-end
-
-function invasion:OnClick()
-
-end
-
-function module:UpdateInvasionButtons()
-
-end
-
-local listed = {}
-
-function module:UpdateAchievementLinks()
- print('UpdateAchievementLinks()')
-
- local resultID = LFGListFrame.SearchPanel.selectedResult or self.selectedID
- self:Show()
-
-
- local index = 0
- local lastBlock
- local contentsHeight = 0
- for _, group in ipairs(cheevos) do
- for _, id in ipairs(group) do
- local _, name, points, completed, month, day, year, description, flags, icon = GetAchievementInfo(id)
- if completed then
-
- -- if the highest mythic kill
- if listed[overlaps[id]] then
- break
- end
-
-
- index = index + 1
- --print(index)
- local block =self.blocks[index]
- if not block then
- block = CreateFrame('Button', 'VeneerRosterKunBlock'..index, self, 'VeneerRosterKunBlock')
- block:SetScript('OnClick', cheev.OnClick)
- block:SetID(index)
- self.blocks[index] = block
- end
-
- block.link = GetAchievementLink(id)
- block.Icon:SetTexture(icon)
- block.Label:SetText(name)
- block:ClearAllPoints()
- if lastBlock then
- block:SetPoint('TOPLEFT', lastBlock, 'BOTTOMLEFT', 0, 0)
- else
- block:SetPoint('TOPLEFT')
- end
- --print(block:GetHeight(), block:GetPoint(1))
- block:Show()
-
- contentsHeight = contentsHeight + block:GetHeight()
-
- --print(index, name, icon)
- lastBlock = block
- listed[id] = true
- break;
- end
- end
- end
-
---[[
- local areaPOIs = C_WorldMap.GetAreaPOIForMap(GetCurrentMapAreaID(), 1);
- if areaPOIs then
-
-
- for i, areaPoiID in ipairs(areaPOIs) do
- local poiInfo = C_WorldMap.GetAreaPOIInfo(GetCurrentMapAreaID(), areaPoiID, 1);
-
- index = index + 1
- --print(index)
- local block =self.blocks[index]
- if not block then
- block = CreateFrame('Button', 'VeneerRosterKunBlock'..index, self, 'VeneerRosterKunBlock')
- block:SetScript('OnClick', invasion.OnClick)
- block:SetID(index)
- self.blocks[index] = block
- end
-
-
-
- end
- end
- --]]
-
- --print(index, #self.blocks)
- if index < #self.blocks then
- for i = index+1, #self.blocks do
- --print('hiding', i)
- self.blocks[i]:Hide()
- end
-
- end
-
- self:SetHeight(contentsHeight)
-
-end
-
-function module:Update(forced)
-
-
- if self.GuildInfoDirty or forced then
- self:UpdateGuildInfo()
- end
- if self.AchievementsDirty or forced then
- self:UpdateAchievementLinks()
- end
-
-
-end
-function module:SetupGuildUI()
- self:UnregisterEvent('ADDON_LOADED')
-end
-function module:OnEvent(event, ...)
- print('|cFFFF0088OnEvent()|r', event, ...)
- if event == 'ADDON_LOADED' then
- local addon = ...
- if addon == 'Blizzard_GuildUI' then
- self:SetupGuildUI()
- end
- elseif event == 'LFG_LIST_SEARCH_RESULTS_RECEIVED' then
- elseif event == 'LFG_LIST_SEARCH_RESULT_UPDATED' then
- end
-end
-
-
-VeneerPetBattleActionMixin = {}
-VeneerPetBattleInfoMixin = {}
-local pb = VeneerPetBattleInfoMixin
-local action = VeneerPetBattleActionMixin
-
-
-function pb:OnShow()
- self:ClearAllPoints()
- self:SetPoint('TOPLEFT', PetBattleFrame.EnemyBuffFrame, 'BOTTOMLEFT', 0, -12)
- self:RegisterEvent('PET_BATTLE_PET_ROUND_PLAYBACK_COMPLETE')
- self:RegisterEvent('PET_BATTLE_ACTION_SELECTED')
- self:RegisterEvent('PET_BATTLE_TURN_STARTED')
- print('pet on show')
- self:Refresh()
-end
-
-function pb:OnHide()
- print('pet on hide')
- self:UnregisterAllEvents()
-end
-
-function pb:OnEvent(event)
- print('pb event|cFFFF8800', event)
- self:Refresh()
-end
-
-function pb:Refresh()
- local myPetSlot = C_PetBattles.GetActivePet(1)
- local myPetType = C_PetBattles.GetPetType(1, myPetSlot)
-
- local index = 0
- local nonActiveIndex = 0
- local lastFrame, lastNonActive
- for petSlot = 1, C_PetBattles.GetNumPets(2) do
-
- for abilitySlot = 1,3 do
- local _, name, texture, cooldown, tooltip,_, abilityType, noStrongWeakHints = C_PetBattles.GetAbilityInfo(2, petSlot, abilitySlot)
- local petHealth = C_PetBattles.GetHealth(2, petSlot)
-
- if petHealth >= 1 then
- local isUsable, currentCooldown, currentLockdown = C_PetBattles.GetAbilityState(2, petSlot, abilitySlot);
- --print(index, petSlot, abilitySlot, name, currentCooldown, currentLockdown, cooldown, petHealth)
-
- index = index + 1
- local frame = self.Abilities[index]
-
- frame.ownerID = 2
- frame.petIndex = petSlot
- frame.abIndex = abilitySlot
- frame.tooltip = tooltip
- frame.Name:SetText(name)
- frame.Icon:SetTexture(texture)
- frame.TypeIcon:SetTexture("Interface\\PetBattles\\PetIcon-"..PET_TYPE_SUFFIX[abilityType])
-
-
- for i = 1,C_PetBattles.GetNumPets(1) do
- local myPetType = C_PetBattles.GetPetType(1, i)
- if not (myPetType or abilityType) then
- frame.BetterIcon[i]:Hide();
- else
- local modifier = C_PetBattles.GetAttackModifier(abilityType, myPetType)
- if ( noStrongWeakHints or modifier == 1 ) then
- frame.BetterIcon[i]:Hide();
- elseif (modifier > 1) then
- frame.BetterIcon[i]:SetTexture("Interface\\PetBattles\\BattleBar-AbilityBadge-Strong");
- frame.BetterIcon[i]:Show();
- elseif (modifier < 1) then
- frame.BetterIcon[i]:SetTexture("Interface\\PetBattles\\BattleBar-AbilityBadge-Weak");
- frame.BetterIcon[i]:Show();
- end
-
- end
- end
-
-
- if cooldown >= 1 then
- frame.Border2:Show()
- else
-
- frame.Border2:Hide()
- end
-
-
- currentCooldown = (currentCooldown >= 1) and currentCooldown or 0
- if petHealth == 0 then
- frame.Cooldown:SetText(nil)
- frame.Cooldown:SetTextColor(1,0,0)
- else
- if currentLockdown >= 1 and currentLockdown > currentCooldown then
- frame.Cooldown:SetTextColor(1,0,0)
- else
- frame.Cooldown:SetTextColor(1,1,1)
- end
- frame.Cooldown:SetText((currentCooldown >= 1) and currentCooldown or nil)
- end
-
- frame:ClearAllPoints()
- if petSlot == C_PetBattles.GetActivePet(2) then
- frame:SetSize(48,48)
- frame.Border2:SetSize(72,72)
- frame.Icon:SetDesaturated(false)
- frame.Name:SetTextColor(1,1,0)
- if lastFrame then
- frame:SetPoint('TOPLEFT', lastFrame, 'BOTTOMLEFT', 0, -4)
- else
- frame:SetPoint('TOPLEFT', self, 'TOPLEFT')
- end
- lastFrame = frame
- else
- frame:SetSize(24,24)
- frame.Border2:SetSize(36,36)
- frame.Name:SetTextColor(0.5,0.5,0.5)
- frame.Icon:SetDesaturated(true)
- if lastNonActive then
- frame:SetPoint('TOPLEFT', lastNonActive, 'BOTTOMLEFT', 0, -2)
- else
- frame:SetPoint('TOPLEFT', self, 'TOPLEFT', 128, 0)
- end
- lastNonActive = frame
- end
- frame:Show()
- end
- end
- end
-
- for i = index + 1, #self.Abilities do
- self.Abilities[i]:Hide()
- end
-end
-
-function action:OnEnter()
- PetBattleAbilityTooltip_SetAbility(self.ownerID, self.petIndex, self.abIndex);
- PetBattleAbilityTooltip_Show("TOPRIGHT", self:GetParent(), "TOPLEFT", -5, 0, self.additionalText);
-end
-
-function action:OnLeave()
- PetBattlePrimaryAbilityTooltip:Hide();
-end
\ No newline at end of file
diff -r 24dc16a49b15 -r 4979b5cca6de Modules/GuildInfo.xml
--- a/Modules/GuildInfo.xml Fri Dec 22 20:37:15 2017 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,131 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff -r 24dc16a49b15 -r 4979b5cca6de Modules/LFGFrame.lua
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Modules/LFGFrame.lua Thu Jan 25 20:58:10 2018 -0500
@@ -0,0 +1,282 @@
+
+local print = DEVIAN_WORKSPACE and function(...) print('LFGFrame', ...) end or nop
+
+VeneerRosterKunMixin = {
+ anchorFrame = 'LFGListFrame',
+ anchorPoint = 'TOPLEFT',
+
+ InvasionsDirty = true,
+ AchievementsDirty = true,
+ GuildInfoDirty = true,
+ blocks = {},
+}
+
+
+local module = VeneerRosterKunMixin
+
+function module:OnLoad()
+ Veneer:AddHandler(self, self.anchorPoint)
+ self:RegisterEvent('ADDON_LOADED')
+
+ hooksecurefunc("LFGListCategorySelection_StartFindGroup", function(panel, questID)
+ print('LFGListCategorySelection_StartFindGroup', panel:GetParent(), questID)
+ end)
+ hooksecurefunc("LFGListCategorySelection_SelectCategory", function(panel, categoryID, filters)
+ print('LFGListCategorySelection_SelectCategory', panel:GetParent(), categoryID, filters)
+ print('\n',debugstack(3))
+ end)
+ hooksecurefunc("LFGListSearchPanel_SetCategory", function(panel, categoryID, filters, baseFilters)
+ print('LFGListSearchPanel_SetCategory', panel:GetParent(), categoryID, filters, baseFilters)
+ end)
+end
+
+function module:Setup()
+ VeneerHandlerMixin.Setup(self)
+ self:SetParent(LFGListFrame)
+ self:SetPoint('TOPLEFT', LFGListFrame,'TOPRIGHT')
+ self:SetShown(true)
+end
+
+function module:SetDirty()
+ if self:IsVisible() then
+ self:Update()
+ else
+ self.GuildInfoDirty = true
+ self.AchievementsDirty = true
+ self.InvasionsDirty = true
+ end
+end
+local firstLoad = true
+function module:OnShow()
+ print('|cFF00FFFFOnShow()|r')
+ self:Update(firstLoad)
+ firstLoad = nil
+
+ local locationName = GetRealZoneText()
+
+ if not C_LFGList.GetActiveEntryInfo() and locationName and locationName:match('Invasion') and not InCombatLockdown() then
+ PVEFrame_ShowFrame("GroupFinderFrame", LFGListPVEStub);
+ local panel = LFGListFrame.CategorySelection
+ LFGListCategorySelection_SelectCategory(panel, 6, 0);
+ LFGListCategorySelection_StartFindGroup(panel, locationName);
+ end
+end
+
+function module:UpdateGuildInfo()
+ local numMembers = GetNumGuildMembers()
+ print(numMembers)
+ for i = 1, numMembers do
+ --print(GetGuildRosterInfo(i))
+ end
+ self.GuildInfoDirty = nil
+end
+
+-- cheevos to link
+local overlaps = {
+ [11781] = 11875,
+ [12002] = 12111,
+}
+local cheevos = {
+ -- Mythic Prog
+ {
+ -- Antorus
+ 12002, -- argus
+ 12001, -- aggramar
+ 12000, -- coven
+ 11999, -- barry
+ 11998, -- kin'garoth
+ 11997, -- imonar
+ 11996, -- eonar
+ 11995, -- portal keeper
+ 11994, -- high command
+ 11993, -- doggos
+ 11992, -- worldbreaker
+
+ -- Tomb of Sargeras
+ 11781, -- kj
+ 11780, -- avatar
+ 11779, -- maiden
+ 11776, -- mistress
+ 11778, -- host,
+ 11777, -- sisters
+ 11775, -- harjatan,
+ 11774, -- di,
+ 11773, -- goroth
+ },
+ -- Completion
+ {
+ 12111, -- CE Argus,
+ 12110, -- AotC Argus,
+ 11875, -- CE KJ
+ 11874, -- AotC KJ
+ 11790 -- Deceiver's Fall,
+
+
+ },
+ -- Mythic+
+ {
+ 11162, -- master
+ 11185, -- conqueror
+ }
+}
+
+local invasion = {}
+local cheev = {}
+
+function cheev:OnClick()
+ local resultID = LFGListFrame.SearchPanel.selectedResult or self:GetParent().selectedID
+ print('current selection = ', resultID)
+ if ACTIVE_CHAT_EDIT_BOX then
+ ChatEdit_InsertLink(self.link)
+ elseif resultID then
+ local id, activityID, name, comment, voiceChat, iLvl, honorLevel, age, numBNetFriends, numCharFriends, numGuildMates, isDelisted, leaderName = C_LFGList.GetSearchResultInfo(resultID);
+ --print(name, comment, leaderName)
+ ChatFrame_OpenChat("/w "..leaderName.." "..self.link, DEFAULT_CHAT_FRAME)
+ end
+end
+
+function invasion:OnClick()
+ if not InCombatLockdown() then
+ PVEFrame_ShowFrame("GroupFinderFrame", LFGListPVEStub);
+ local panel = LFGListFrame.CategorySelection
+ LFGListCategorySelection_SelectCategory(panel, 6, 0);
+ LFGListCategorySelection_StartFindGroup(panel, self.searchText);
+ end
+
+end
+
+local listed = {}
+
+
+function module:Update(forced)
+ if self.GuildInfoDirty or forced then
+ self:UpdateGuildInfo()
+ end
+ local numBlocks = 0
+ if self.AchievementsDirty or forced then
+ numBlocks = self:UpdateAchievementLinks(numBlocks)
+ end
+
+ if self.InvasionsDirty or forced then
+ numBlocks = self:UpdateInvasionButtons(numBlocks)
+ end
+
+ local lastBlock
+ local contentsHeight = 0
+ for index, block in ipairs(self.blocks) do
+ if index > numBlocks then
+ block:Hide()
+ else
+ block:ClearAllPoints()
+ if lastBlock then
+ block:SetPoint('TOPLEFT', lastBlock, 'BOTTOMLEFT', 0, -2)
+ else
+ block:SetPoint('TOPLEFT', LFGListFrame, 'TOPRIGHT', 0, 0)
+ end
+ block:Show()
+ lastBlock = block
+
+ contentsHeight = contentsHeight + block:GetHeight()
+ end
+ end
+ self:SetHeight(contentsHeight)
+end
+
+
+function module:GetBlock(index)
+
+ local block =self.blocks[index]
+ if not block then
+ block = CreateFrame('Button', 'VeneerRosterKunBlock'..index, self, 'VeneerRosterKunBlock')
+
+ block:SetID(index)
+ self.blocks[index] = block
+ end
+ return block
+end
+
+function module:UpdateInvasionButtons(offset)
+ print('UpdateInvasionButtons()')
+ offset = offset or 0
+ local lastBlock = self.lastAchievement
+
+ local contentsHeight = 0
+ local areaPOIs = C_WorldMap.GetAreaPOIForMap(GetCurrentMapAreaID(), 1);
+ if areaPOIs then
+
+
+ for i, areaPoiID in ipairs(areaPOIs) do
+ local poiInfo = C_WorldMap.GetAreaPOIInfo(GetCurrentMapAreaID(), areaPoiID, 1);
+
+ offset = offset + 1
+ --print(index)
+ local block = self:GetBlock(offset)
+ block:SetScript('OnClick', invasion.OnClick)
+ block.Label:SetText(poiInfo.description)
+ block.Icon:SetAtlas(poiInfo.atlasName)
+ block.searchText = poiInfo.description
+ block.buttonType = 'group-poi'
+ end
+ end
+ return offset, contentsHeight
+end
+
+function module:UpdateAchievementLinks(offset)
+ print('UpdateAchievementLinks()')
+ offset = offset or 0
+ local resultID = LFGListFrame.SearchPanel.selectedResult or self.selectedID
+ self:Show()
+
+
+ local contentsHeight = 0
+ for _, group in ipairs(cheevos) do
+ for _, id in ipairs(group) do
+ local _, name, points, completed, month, day, year, description, flags, icon = GetAchievementInfo(id)
+ if completed then
+ -- if the highest mythic kill
+ if listed[overlaps[id]] then
+ break
+ end
+ offset = offset + 1
+ local block = self:GetBlock(offset)
+ block:SetScript('OnClick', cheev.OnClick)
+ --print(index)
+
+ block.link = GetAchievementLink(id)
+ block.Icon:SetTexture(icon)
+ block.Label:SetText(name)
+ block.buttonType = 'cheevo'
+
+ contentsHeight = contentsHeight + block:GetHeight()
+
+ --print(index, name, icon)
+ listed[id] = true
+ break;
+ end
+ end
+ end
+
+ self.lastAchievement = lastBlock
+
+ return offset, contentsHeight
+
+ --[[
+ --]]
+
+
+end
+
+function module:SetupGuildUI()
+ self:UnregisterEvent('ADDON_LOADED')
+end
+function module:OnEvent(event, ...)
+ print('|cFFFF0088OnEvent()|r', event, ...)
+ if event == 'ADDON_LOADED' then
+ local addon = ...
+ if addon == 'Blizzard_GuildUI' then
+ self:SetupGuildUI()
+ end
+ elseif event == 'LFG_LIST_SEARCH_RESULTS_RECEIVED' then
+ elseif event == 'LFG_LIST_SEARCH_RESULT_UPDATED' then
+ end
+end
\ No newline at end of file
diff -r 24dc16a49b15 -r 4979b5cca6de Modules/LFGFrame.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Modules/LFGFrame.xml Thu Jan 25 20:58:10 2018 -0500
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff -r 24dc16a49b15 -r 4979b5cca6de Modules/PaperDoll.lua
--- a/Modules/PaperDoll.lua Fri Dec 22 20:37:15 2017 -0500
+++ b/Modules/PaperDoll.lua Thu Jan 25 20:58:10 2018 -0500
@@ -309,6 +309,7 @@
local tooltip = VeneerPaperDollTooltip
for i = 1, numRelics do
+ relicCache[i] = relicCache[i] or {}
local relicName, relicIcon, relicType, relicLink = C_ArtifactUI.GetRelicInfo(i);
local relicLevel = relicCache[i][2] or ""
local relicForge = relicCache[i][5] or {}
diff -r 24dc16a49b15 -r 4979b5cca6de Modules/PetBattle.lua
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Modules/PetBattle.lua Thu Jan 25 20:58:10 2018 -0500
@@ -0,0 +1,143 @@
+
+local print = DEVIAN_WORKSPACE and function(...) print('VnRoster', ...) end or nop
+
+
+
+VeneerPetBattleActionMixin = {}
+VeneerPetBattleInfoMixin = {}
+local pb = VeneerPetBattleInfoMixin
+local action = VeneerPetBattleActionMixin
+
+
+function pb:OnShow()
+ self:ClearAllPoints()
+ self:SetPoint('TOPLEFT', PetBattleFrame.EnemyBuffFrame, 'BOTTOMLEFT', 0, -12)
+ self:RegisterEvent('PET_BATTLE_PET_ROUND_PLAYBACK_COMPLETE')
+ self:RegisterEvent('PET_BATTLE_ACTION_SELECTED')
+ self:RegisterEvent('PET_BATTLE_TURN_STARTED')
+ print('pet on show')
+ self:Refresh()
+end
+
+function pb:OnHide()
+ print('pet on hide')
+ self:UnregisterAllEvents()
+end
+
+function pb:OnEvent(event)
+ print('pb event|cFFFF8800', event)
+ self:Refresh()
+end
+
+function pb:Refresh()
+ local myPetSlot = C_PetBattles.GetActivePet(1)
+ local myPetType = C_PetBattles.GetPetType(1, myPetSlot)
+
+ local index = 0
+ local nonActiveIndex = 0
+ local lastFrame, lastNonActive
+ for petSlot = 1, C_PetBattles.GetNumPets(2) do
+
+ for abilitySlot = 1,3 do
+ local _, name, texture, cooldown, tooltip,_, abilityType, noStrongWeakHints = C_PetBattles.GetAbilityInfo(2, petSlot, abilitySlot)
+ local petHealth = C_PetBattles.GetHealth(2, petSlot)
+
+ if petHealth >= 1 then
+ local isUsable, currentCooldown, currentLockdown = C_PetBattles.GetAbilityState(2, petSlot, abilitySlot);
+ --print(index, petSlot, abilitySlot, name, currentCooldown, currentLockdown, cooldown, petHealth)
+
+ index = index + 1
+ local frame = self.Abilities[index]
+
+ frame.ownerID = 2
+ frame.petIndex = petSlot
+ frame.abIndex = abilitySlot
+ frame.tooltip = tooltip
+ frame.Name:SetText(name)
+ frame.Icon:SetTexture(texture)
+ frame.TypeIcon:SetTexture("Interface\\PetBattles\\PetIcon-"..PET_TYPE_SUFFIX[abilityType])
+
+
+ for i = 1,C_PetBattles.GetNumPets(1) do
+ local myPetType = C_PetBattles.GetPetType(1, i)
+ if not (myPetType or abilityType) then
+ frame.BetterIcon[i]:Hide();
+ else
+ local modifier = C_PetBattles.GetAttackModifier(abilityType, myPetType)
+ if ( noStrongWeakHints or modifier == 1 ) then
+ frame.BetterIcon[i]:Hide();
+ elseif (modifier > 1) then
+ frame.BetterIcon[i]:SetTexture("Interface\\PetBattles\\BattleBar-AbilityBadge-Strong");
+ frame.BetterIcon[i]:Show();
+ elseif (modifier < 1) then
+ frame.BetterIcon[i]:SetTexture("Interface\\PetBattles\\BattleBar-AbilityBadge-Weak");
+ frame.BetterIcon[i]:Show();
+ end
+
+ end
+ end
+
+
+ if cooldown >= 1 then
+ frame.Border2:Show()
+ else
+
+ frame.Border2:Hide()
+ end
+
+
+ currentCooldown = (currentCooldown >= 1) and currentCooldown or 0
+ if petHealth == 0 then
+ frame.Cooldown:SetText(nil)
+ frame.Cooldown:SetTextColor(1,0,0)
+ else
+ if currentLockdown >= 1 and currentLockdown > currentCooldown then
+ frame.Cooldown:SetTextColor(1,0,0)
+ else
+ frame.Cooldown:SetTextColor(1,1,1)
+ end
+ frame.Cooldown:SetText((currentCooldown >= 1) and currentCooldown or nil)
+ end
+
+ frame:ClearAllPoints()
+ if petSlot == C_PetBattles.GetActivePet(2) then
+ frame:SetSize(48,48)
+ frame.Border2:SetSize(72,72)
+ frame.Icon:SetDesaturated(false)
+ frame.Name:SetTextColor(1,1,0)
+ if lastFrame then
+ frame:SetPoint('TOPLEFT', lastFrame, 'BOTTOMLEFT', 0, -4)
+ else
+ frame:SetPoint('TOPLEFT', self, 'TOPLEFT')
+ end
+ lastFrame = frame
+ else
+ frame:SetSize(24,24)
+ frame.Border2:SetSize(36,36)
+ frame.Name:SetTextColor(0.5,0.5,0.5)
+ frame.Icon:SetDesaturated(true)
+ if lastNonActive then
+ frame:SetPoint('TOPLEFT', lastNonActive, 'BOTTOMLEFT', 0, -2)
+ else
+ frame:SetPoint('TOPLEFT', self, 'TOPLEFT', 128, 0)
+ end
+ lastNonActive = frame
+ end
+ frame:Show()
+ end
+ end
+ end
+
+ for i = index + 1, #self.Abilities do
+ self.Abilities[i]:Hide()
+ end
+end
+
+function action:OnEnter()
+ PetBattleAbilityTooltip_SetAbility(self.ownerID, self.petIndex, self.abIndex);
+ PetBattleAbilityTooltip_Show("TOPRIGHT", self:GetParent(), "TOPLEFT", -5, 0, self.additionalText);
+end
+
+function action:OnLeave()
+ PetBattlePrimaryAbilityTooltip:Hide();
+end
\ No newline at end of file
diff -r 24dc16a49b15 -r 4979b5cca6de Modules/PetBattle.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Modules/PetBattle.xml Thu Jan 25 20:58:10 2018 -0500
@@ -0,0 +1,92 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff -r 24dc16a49b15 -r 4979b5cca6de Veneer.toc
--- a/Veneer.toc Fri Dec 22 20:37:15 2017 -0500
+++ b/Veneer.toc Thu Jan 25 20:58:10 2018 -0500
@@ -18,6 +18,7 @@
Modules\TalkingHead.xml
Modules\BuffFrame.xml
Modules\PaperDoll.xml
-Modules\GuildInfo.xml
+Modules\PetBattle.xml
Modules\ArtifactPower.xml
-Modules\FriendsFrame.xml
\ No newline at end of file
+Modules\FriendsFrame.xml
+Modules\LFGFrame.xml
\ No newline at end of file