From b15d002c045703fa071cbd5c8ff8e4cff62d216a Mon Sep 17 00:00:00 2001 From: Flamanis Date: Fri, 27 Jan 2023 15:00:40 -0600 Subject: [PATCH] Only hide not used barras3 and add tooltip for barras3 --- classes/class_damage.lua | 38 ++++++++++++++++++++----------- classes/class_heal.lua | 13 +++++++---- classes/class_resources.lua | 14 ++++++++---- classes/class_utility.lua | 12 ++++++---- frames/window_playerbreakdown.lua | 4 ++++ 5 files changed, 56 insertions(+), 25 deletions(-) diff --git a/classes/class_damage.lua b/classes/class_damage.lua index aafa0051..a375ddb6 100644 --- a/classes/class_damage.lua +++ b/classes/class_damage.lua @@ -4753,10 +4753,6 @@ end ------ Detalhe Info Friendly Fire function atributo_damage:MontaDetalhesFriendlyFire (nome, barra) - for _, barra in ipairs(info.barras3) do - barra:Hide() - end - local barras = info.barras3 local instancia = info.instancia @@ -4781,9 +4777,10 @@ function atributo_damage:MontaDetalhesFriendlyFire (nome, barra) _table_sort(minhas_magias, Details.Sort2) local max_ = minhas_magias[1] and minhas_magias[1][2] or 0 --dano que a primeiro magia vez - + local lastIndex = 1 local barra for index, tabela in ipairs(minhas_magias) do + lastIndex = index barra = barras [index] if (not barra) then --se a barra n�o existir, criar ela ent�o @@ -4791,6 +4788,8 @@ function atributo_damage:MontaDetalhesFriendlyFire (nome, barra) barra.textura:SetStatusBarColor(1, 1, 1, 1) --isso aqui � a parte da sele��o e descele��o end + barra.show = tabela[1] + if (index == 1) then barra.textura:SetValue(100) else @@ -4810,15 +4809,15 @@ function atributo_damage:MontaDetalhesFriendlyFire (nome, barra) end end + for i = lastIndex+1, #barras do + barras[i]:Hide() + end + end -- detalhes info enemies function atributo_damage:MontaDetalhesEnemy (spellid, barra) - for _, barra in ipairs(info.barras3) do - barra:Hide() - end - local container = info.instancia.showing[1] local barras = info.barras3 local instancia = info.instancia @@ -4857,8 +4856,10 @@ function atributo_damage:MontaDetalhesEnemy (spellid, barra) local max_ = target_pool [1] and target_pool [1][2] or 0 + local lastIndex = 1 local barra for index, tabela in ipairs(target_pool) do + lastIndex = index barra = barras [index] if (not barra) then --se a barra n�o existir, criar ela ent�o @@ -4866,6 +4867,8 @@ function atributo_damage:MontaDetalhesEnemy (spellid, barra) barra.textura:SetStatusBarColor(1, 1, 1, 1) --isso aqui � a parte da sele��o e descele��o end + barra.show = tabela[1] + if (index == 1) then barra.textura:SetValue(100) else @@ -4903,15 +4906,16 @@ function atributo_damage:MontaDetalhesEnemy (spellid, barra) end end + for i = lastIndex+1, #barras do + barras[i]:Hide() + end + + end ------ Detalhe Info Damage Taken function atributo_damage:MontaDetalhesDamageTaken (nome, barra) - for _, barra in ipairs(info.barras3) do - barra:Hide() - end - local barras = info.barras3 local instancia = info.instancia @@ -4947,8 +4951,10 @@ function atributo_damage:MontaDetalhesDamageTaken (nome, barra) local max_ = minhas_magias[1] and minhas_magias[1][2] or 0 --dano que a primeiro magia vez + local lastIndex = 1 local barra for index, tabela in ipairs(minhas_magias) do + lastIndex = index barra = barras [index] if (not barra) then --se a barra n�o existir, criar ela ent�o @@ -4956,6 +4962,8 @@ function atributo_damage:MontaDetalhesDamageTaken (nome, barra) barra.textura:SetStatusBarColor(1, 1, 1, 1) --isso aqui � a parte da sele��o e descele��o end + barra.show = tabela[1] + if (index == 1) then barra.textura:SetValue(100) else @@ -4977,6 +4985,10 @@ function atributo_damage:MontaDetalhesDamageTaken (nome, barra) end end + for i = lastIndex+1, #barras do + barras[i]:Hide() + end + end ------ Detalhe Info Damage Done e Dps diff --git a/classes/class_heal.lua b/classes/class_heal.lua index 4eefea8a..6a9f4e2a 100644 --- a/classes/class_heal.lua +++ b/classes/class_heal.lua @@ -2130,10 +2130,6 @@ end function atributo_heal:MontaDetalhesHealingTaken (nome, barra) - for _, barra in ipairs(info.barras3) do - barra:Hide() - end - local barras = info.barras3 local instancia = info.instancia @@ -2160,8 +2156,10 @@ function atributo_heal:MontaDetalhesHealingTaken (nome, barra) local max_ = minhas_magias[1] and minhas_magias[1][2] or 0 --dano que a primeiro magia vez + local lastIndex = 1 local barra for index, tabela in ipairs(minhas_magias) do + lastIndex = index barra = barras [index] if (not barra) then --se a barra n�o existir, criar ela ent�o @@ -2169,6 +2167,8 @@ function atributo_heal:MontaDetalhesHealingTaken (nome, barra) barra.textura:SetStatusBarColor(1, 1, 1, 1) --isso aqui � a parte da sele��o e descele��o end + barra.show = tabela[1] + if (index == 1) then barra.textura:SetValue(100) else @@ -2186,6 +2186,11 @@ function atributo_heal:MontaDetalhesHealingTaken (nome, barra) break end end + + for i = lastIndex+1, #barras do + barras[i]:Hide() + end + end local absorbed_table = {c = {1, 1, 1, 0.4}, p = 0} diff --git a/classes/class_resources.lua b/classes/class_resources.lua index 1fa0ed9a..40deae53 100644 --- a/classes/class_resources.lua +++ b/classes/class_resources.lua @@ -1211,10 +1211,6 @@ function atributo_energy:MontaInfoRegenRecebido() end function atributo_energy:MontaDetalhesRegenRecebido (nome, barra) - - for _, barra in ipairs(info.barras3) do - barra:Hide() - end reset_tooltips_table() @@ -1262,12 +1258,15 @@ function atributo_energy:MontaDetalhesRegenRecebido (nome, barra) local max_ = energy_tooltips_table [1][2] + local lastIndex = 1 local barra for index, tabela in ipairs(from) do if (tabela [2] < 1) then break end + + lastIndex = index barra = barras [index] @@ -1275,6 +1274,8 @@ function atributo_energy:MontaDetalhesRegenRecebido (nome, barra) barra = gump:CriaNovaBarraInfo3 (instancia, index) barra.textura:SetStatusBarColor(1, 1, 1, 1) end + + barra.show = tabela[1] if (index == 1) then barra.textura:SetValue(100) @@ -1296,6 +1297,11 @@ function atributo_energy:MontaDetalhesRegenRecebido (nome, barra) break end end + + for i = lastIndex+1, #barras do + barras[i]:Hide() + end + end function atributo_energy:MontaTooltipAlvos (esta_barra, index) diff --git a/classes/class_utility.lua b/classes/class_utility.lua index a048ac99..c052ee0b 100644 --- a/classes/class_utility.lua +++ b/classes/class_utility.lua @@ -2213,10 +2213,6 @@ end ------ Detalhe Info Interrupt function atributo_misc:MontaDetalhesInterrupt (spellid, barra) - for _, barra in ipairs(info.barras3) do - barra:Hide() - end - local esta_magia = self.interrupt_spells._ActorTable [spellid] if (not esta_magia) then return @@ -2245,8 +2241,10 @@ function atributo_misc:MontaDetalhesInterrupt (spellid, barra) table.sort (habilidades_alvos, _detalhes.Sort2) local max_ = habilidades_alvos[1][2] + local lastIndex = 1 local barra for index, tabela in ipairs(habilidades_alvos) do + lastIndex = index barra = barras [index] if (not barra) then --se a barra n�o existir, criar ela ent�o @@ -2254,6 +2252,8 @@ function atributo_misc:MontaDetalhesInterrupt (spellid, barra) barra.textura:SetStatusBarColor(1, 1, 1, 1) --isso aqui � a parte da sele��o e descele��o end + barra.show = tabela[1] + if (index == 1) then barra.textura:SetValue(100) else @@ -2274,6 +2274,10 @@ function atributo_misc:MontaDetalhesInterrupt (spellid, barra) end end + for i = lastIndex+1, #barras do + barras[i]:Hide() + end + end diff --git a/frames/window_playerbreakdown.lua b/frames/window_playerbreakdown.lua index 8d7eab03..1a27930c 100644 --- a/frames/window_playerbreakdown.lua +++ b/frames/window_playerbreakdown.lua @@ -5592,6 +5592,10 @@ local row_on_enter = function(self) info.jogador.detalhes = self.show --minha tabela = jogador = jogador.detales = spellid ou nome que esta sendo mostrado na direita info.jogador:MontaDetalhes (self.show, self, info.instancia) --passa a spellid ou nome e a barra end + elseif (self.isDetalhe and type(self.show) == "number") then + GameTooltip:SetOwner(self, "ANCHOR_TOPLEFT") + Details:GameTooltipSetSpellByID(self.show) + GameTooltip:Show() end end