diff --git a/classes/classe_damage.lua b/classes/classe_damage.lua index 3bd8b46e..53e74078 100644 --- a/classes/classe_damage.lua +++ b/classes/classe_damage.lua @@ -1944,10 +1944,10 @@ function atributo_damage:ToolTip_DamageDone (instancia, numero, barra, keydown) if (is_maximized) then --highlight shift key GameCooltip:AddIcon ([[Interface\AddOns\Details\images\key_shift]], 1, 2, _detalhes.tooltip_key_size_width, _detalhes.tooltip_key_size_height, 0, 1, 0, 0.640625, _detalhes.tooltip_key_overlay2) - GameCooltip:AddStatusBar (100, 1, r, g, b, 1) + _detalhes:AddTooltipHeaderStatusbar (r, g, b, 1) else GameCooltip:AddIcon ([[Interface\AddOns\Details\images\key_shift]], 1, 2, _detalhes.tooltip_key_size_width, _detalhes.tooltip_key_size_height, 0, 1, 0, 0.640625, _detalhes.tooltip_key_overlay1) - GameCooltip:AddStatusBar (100, 1, r, g, b, barAlha) + _detalhes:AddTooltipHeaderStatusbar (r, g, b, barAlha) end --habilidades @@ -1984,10 +1984,10 @@ function atributo_damage:ToolTip_DamageDone (instancia, numero, barra, keydown) if (is_maximized) then --highlight GameCooltip:AddIcon ([[Interface\AddOns\Details\images\key_ctrl]], 1, 2, _detalhes.tooltip_key_size_width, _detalhes.tooltip_key_size_height, 0, 1, 0, 0.640625, _detalhes.tooltip_key_overlay2) - GameCooltip:AddStatusBar (100, 1, r, g, b, 1) + _detalhes:AddTooltipHeaderStatusbar (r, g, b, 1) else GameCooltip:AddIcon ([[Interface\AddOns\Details\images\key_ctrl]], 1, 2, _detalhes.tooltip_key_size_width, _detalhes.tooltip_key_size_height, 0, 1, 0, 0.640625, _detalhes.tooltip_key_overlay1) - GameCooltip:AddStatusBar (100, 1, r, g, b, barAlha) + _detalhes:AddTooltipHeaderStatusbar (r, g, b, barAlha) end for i = 1, _math_min (max_targets, #ActorTargetsSortTable) do @@ -2077,10 +2077,10 @@ function atributo_damage:ToolTip_DamageDone (instancia, numero, barra, keydown) if (ismaximized) then GameCooltip:AddIcon ([[Interface\AddOns\Details\images\key_alt]], 1, 2, _detalhes.tooltip_key_size_width, _detalhes.tooltip_key_size_height, 0, 1, 0, 0.640625, _detalhes.tooltip_key_overlay2) - GameCooltip:AddStatusBar (100, 1, r, g, b, 1) + _detalhes:AddTooltipHeaderStatusbar (r, g, b, 1) else GameCooltip:AddIcon ([[Interface\AddOns\Details\images\key_alt]], 1, 2, _detalhes.tooltip_key_size_width, _detalhes.tooltip_key_size_height, 0, 1, 0, 0.640625, _detalhes.tooltip_key_overlay1) - GameCooltip:AddStatusBar (100, 1, r, g, b, barAlha) + _detalhes:AddTooltipHeaderStatusbar (r, g, b, barAlha) end end @@ -2290,14 +2290,14 @@ function atributo_damage:ToolTip_DamageTaken (instancia, numero, barra, keydown) if (instancia.sub_atributo == 6) then GameCooltip:AddStatusBar (100, 1, 0.7, g, b, 1) else - GameCooltip:AddStatusBar (100, 1, r, g, b, 1) + _detalhes:AddTooltipHeaderStatusbar (r, g, b, 1) end else GameCooltip:AddIcon ([[Interface\AddOns\Details\images\key_shift]], 1, 2, _detalhes.tooltip_key_size_width, _detalhes.tooltip_key_size_height, 0, 1, 0, 0.640625, _detalhes.tooltip_key_overlay1) if (instancia.sub_atributo == 6) then GameCooltip:AddStatusBar (100, 1, 0.7, 0, 0, barAlha) else - GameCooltip:AddStatusBar (100, 1, r, g, b, barAlha) + _detalhes:AddTooltipHeaderStatusbar (r, g, b, barAlha) end end @@ -2414,11 +2414,11 @@ function atributo_damage:ToolTip_FriendlyFire (instancia, numero, barra, keydown local ismaximized = false if (keydown == "shift" or TooltipMaximizedMethod == 2 or TooltipMaximizedMethod == 3) then GameCooltip:AddIcon ([[Interface\AddOns\Details\images\key_shift]], 1, 2, _detalhes.tooltip_key_size_width, _detalhes.tooltip_key_size_height, 0, 1, 0, 0.640625, _detalhes.tooltip_key_overlay2) - GameCooltip:AddStatusBar (100, 1, r, g, b, 1) + _detalhes:AddTooltipHeaderStatusbar (r, g, b, 1) ismaximized = true else GameCooltip:AddIcon ([[Interface\AddOns\Details\images\key_shift]], 1, 2, _detalhes.tooltip_key_size_width, _detalhes.tooltip_key_size_height, 0, 1, 0, 0.640625, _detalhes.tooltip_key_overlay1) - GameCooltip:AddStatusBar (100, 1, r, g, b, barAlha) + _detalhes:AddTooltipHeaderStatusbar (r, g, b, barAlha) end local max_abilities = _detalhes.tooltip.tooltip_max_abilities @@ -2451,11 +2451,11 @@ function atributo_damage:ToolTip_FriendlyFire (instancia, numero, barra, keydown local ismaximized = false if (keydown == "ctrl" or TooltipMaximizedMethod == 2 or TooltipMaximizedMethod == 4) then GameCooltip:AddIcon ([[Interface\AddOns\Details\images\key_ctrl]], 1, 2, _detalhes.tooltip_key_size_width, _detalhes.tooltip_key_size_height, 0, 1, 0, 0.640625, _detalhes.tooltip_key_overlay2) - GameCooltip:AddStatusBar (100, 1, r, g, b, 1) + _detalhes:AddTooltipHeaderStatusbar (r, g, b, 1) ismaximized = true else GameCooltip:AddIcon ([[Interface\AddOns\Details\images\key_ctrl]], 1, 2, _detalhes.tooltip_key_size_width, _detalhes.tooltip_key_size_height, 0, 1, 0, 0.640625, _detalhes.tooltip_key_overlay1) - GameCooltip:AddStatusBar (100, 1, r, g, b, barAlha) + _detalhes:AddTooltipHeaderStatusbar (r, g, b, barAlha) end local max_abilities2 = _detalhes.tooltip.tooltip_max_abilities diff --git a/classes/classe_energy.lua b/classes/classe_energy.lua index 0a078be7..7df616df 100644 --- a/classes/classe_energy.lua +++ b/classes/classe_energy.lua @@ -973,11 +973,11 @@ function atributo_energy:ToolTipRegenRecebido (instancia, numero, barra, keydown local ismaximized = false if (keydown == "shift" or TooltipMaximizedMethod == 2 or TooltipMaximizedMethod == 3) then GameCooltip:AddIcon ([[Interface\AddOns\Details\images\key_shift]], 1, 2, _detalhes.tooltip_key_size_width, _detalhes.tooltip_key_size_height, 0, 1, 0, 0.640625, _detalhes.tooltip_key_overlay2) - GameCooltip:AddStatusBar (100, 1, r, g, b, 1) + _detalhes:AddTooltipHeaderStatusbar (r, g, b, 1) ismaximized = true else GameCooltip:AddIcon ([[Interface\AddOns\Details\images\key_shift]], 1, 2, _detalhes.tooltip_key_size_width, _detalhes.tooltip_key_size_height, 0, 1, 0, 0.640625, _detalhes.tooltip_key_overlay1) - GameCooltip:AddStatusBar (100, 1, r, g, b, barAlha) + _detalhes:AddTooltipHeaderStatusbar (r, g, b, barAlha) end local max = i @@ -1035,11 +1035,11 @@ function atributo_energy:ToolTipRegenRecebido (instancia, numero, barra, keydown local ismaximized = false if (keydown == "ctrl" or TooltipMaximizedMethod == 2 or TooltipMaximizedMethod == 4) then GameCooltip:AddIcon ([[Interface\AddOns\Details\images\key_ctrl]], 1, 2, _detalhes.tooltip_key_size_width, _detalhes.tooltip_key_size_height, 0, 1, 0, 0.640625, _detalhes.tooltip_key_overlay2) - GameCooltip:AddStatusBar (100, 1, r, g, b, 1) + _detalhes:AddTooltipHeaderStatusbar (r, g, b, 1) ismaximized = true else GameCooltip:AddIcon ([[Interface\AddOns\Details\images\key_ctrl]], 1, 2, _detalhes.tooltip_key_size_width, _detalhes.tooltip_key_size_height, 0, 1, 0, 0.640625, _detalhes.tooltip_key_overlay1) - GameCooltip:AddStatusBar (100, 1, r, g, b, barAlha) + _detalhes:AddTooltipHeaderStatusbar (r, g, b, barAlha) end max = i diff --git a/classes/classe_heal.lua b/classes/classe_heal.lua index d82a48d1..7d58bbc5 100644 --- a/classes/classe_heal.lua +++ b/classes/classe_heal.lua @@ -1071,17 +1071,17 @@ function atributo_heal:ToolTip_HealingTaken (instancia, numero, barra, keydown) _detalhes:AddTooltipSpellHeaderText (Loc ["STRING_FROM"], headerColor, r, g, b, #meus_curadores) GameCooltip:AddIcon ([[Interface\TUTORIALFRAME\UI-TutorialFrame-LevelUp]], 1, 1, 14, 14, 0.10546875, 0.89453125, 0.05859375, 0.6796875) - GameCooltip:AddStatusBar (100, 1, r, g, b, barAlha) + _detalhes:AddTooltipHeaderStatusbar (r, g, b, barAlha) local ismaximized = false if (keydown == "shift" or TooltipMaximizedMethod == 2 or TooltipMaximizedMethod == 3) then GameCooltip:AddIcon ([[Interface\AddOns\Details\images\key_shift]], 1, 2, _detalhes.tooltip_key_size_width, _detalhes.tooltip_key_size_height, 0, 1, 0, 0.640625, _detalhes.tooltip_key_overlay2) - GameCooltip:AddStatusBar (100, 1, r, g, b, 1) + _detalhes:AddTooltipHeaderStatusbar (r, g, b, 1) ismaximized = true else GameCooltip:AddIcon ([[Interface\AddOns\Details\images\key_shift]], 1, 2, _detalhes.tooltip_key_size_width, _detalhes.tooltip_key_size_height, 0, 1, 0, 0.640625, _detalhes.tooltip_key_overlay1) - GameCooltip:AddStatusBar (100, 1, r, g, b, barAlha) + _detalhes:AddTooltipHeaderStatusbar (r, g, b, barAlha) end _table_sort (meus_curadores, function (a, b) return a[2] > b[2] end) @@ -1167,11 +1167,11 @@ function atributo_heal:ToolTip_HealingDone (instancia, numero, barra, keydown) local ismaximized = false if (keydown == "shift" or TooltipMaximizedMethod == 2 or TooltipMaximizedMethod == 3) then GameCooltip:AddIcon ([[Interface\AddOns\Details\images\key_shift]], 1, 2, _detalhes.tooltip_key_size_width, _detalhes.tooltip_key_size_height, 0, 1, 0, 0.640625, _detalhes.tooltip_key_overlay2) - GameCooltip:AddStatusBar (100, 1, r, g, b, 1) + _detalhes:AddTooltipHeaderStatusbar (r, g, b, 1) ismaximized = true else GameCooltip:AddIcon ([[Interface\AddOns\Details\images\key_shift]], 1, 2, _detalhes.tooltip_key_size_width, _detalhes.tooltip_key_size_height, 0, 1, 0, 0.640625, _detalhes.tooltip_key_overlay1) - GameCooltip:AddStatusBar (100, 1, r, g, b, barAlha) + _detalhes:AddTooltipHeaderStatusbar (r, g, b, barAlha) end local tooltip_max_abilities = _detalhes.tooltip.tooltip_max_abilities @@ -1218,11 +1218,11 @@ function atributo_heal:ToolTip_HealingDone (instancia, numero, barra, keydown) local ismaximized = false if (keydown == "ctrl" or TooltipMaximizedMethod == 2 or TooltipMaximizedMethod == 4) then GameCooltip:AddIcon ([[Interface\AddOns\Details\images\key_ctrl]], 1, 2, _detalhes.tooltip_key_size_width, _detalhes.tooltip_key_size_height, 0, 1, 0, 0.640625, _detalhes.tooltip_key_overlay2) - GameCooltip:AddStatusBar (100, 1, r, g, b, 1) + _detalhes:AddTooltipHeaderStatusbar (r, g, b, 1) ismaximized = true else GameCooltip:AddIcon ([[Interface\AddOns\Details\images\key_ctrl]], 1, 2, _detalhes.tooltip_key_size_width, _detalhes.tooltip_key_size_height, 0, 1, 0, 0.640625, _detalhes.tooltip_key_overlay1) - GameCooltip:AddStatusBar (100, 1, r, g, b, barAlha) + _detalhes:AddTooltipHeaderStatusbar (r, g, b, barAlha) end local tooltip_max_abilities2 = _detalhes.tooltip.tooltip_max_targets @@ -1331,10 +1331,10 @@ function atributo_heal:ToolTip_HealingDone (instancia, numero, barra, keydown) if (ismaximized) then GameCooltip:AddIcon ([[Interface\AddOns\Details\images\key_alt]], 1, 2, _detalhes.tooltip_key_size_width, _detalhes.tooltip_key_size_height, 0, 1, 0, 0.640625, _detalhes.tooltip_key_overlay2) - GameCooltip:AddStatusBar (100, 1, r, g, b, 1) + _detalhes:AddTooltipHeaderStatusbar (r, g, b, 1) else GameCooltip:AddIcon ([[Interface\AddOns\Details\images\key_alt]], 1, 2, _detalhes.tooltip_key_size_width, _detalhes.tooltip_key_size_height, 0, 1, 0, 0.640625, _detalhes.tooltip_key_overlay1) - GameCooltip:AddStatusBar (100, 1, r, g, b, barAlha) + _detalhes:AddTooltipHeaderStatusbar (r, g, b, barAlha) end end diff --git a/classes/classe_others.lua b/classes/classe_others.lua index ddd34885..62abe81e 100644 --- a/classes/classe_others.lua +++ b/classes/classe_others.lua @@ -1112,7 +1112,7 @@ function atributo_misc:ToolTipCC (instancia, numero, barra) local nome_magia, _, icone_magia = _GetSpellInfo (_spellid) GameCooltip:AddLine (nome_magia, _tabela.cc_break .. " (" .. _cstr ("%.1f", _tabela.cc_break / meu_total * 100) .. "%)") GameCooltip:AddIcon (icone_magia, nil, nil, 14, 14) - GameCooltip:AddStatusBar (100, 1, r, g, b, barAlha) + _detalhes:AddTooltipHeaderStatusbar (r, g, b, barAlha) --> o que quebrou local quebrou_oque = _tabela.cc_break_oque @@ -1138,7 +1138,7 @@ function atributo_misc:ToolTipCC (instancia, numero, barra) GameCooltip:AddIcon ("Interface\\LFGFRAME\\LFGROLE_BW", nil, 2, 14, 14, .25, .5, 0, 1) end - GameCooltip:AddStatusBar (100, 1, .1, .1, .1, .3) + _detalhes:AddTooltipBackgroundStatusbar() end end @@ -1169,7 +1169,7 @@ function atributo_misc:ToolTipDispell (instancia, numero, barra) _detalhes:AddTooltipSpellHeaderText (Loc ["STRING_SPELLS"], headerColor, r, g, b, #meus_dispells) GameCooltip:AddIcon ([[Interface\ICONS\Spell_Arcane_ArcaneTorrent]], 1, 1, 14, 14, 0.078125, 0.9375, 0.078125, 0.953125) - GameCooltip:AddStatusBar (100, 1, r, g, b, barAlha) + _detalhes:AddTooltipHeaderStatusbar (r, g, b, barAlha) if (#meus_dispells > 0) then for i = 1, _math_min (25, #meus_dispells) do @@ -1177,7 +1177,7 @@ function atributo_misc:ToolTipDispell (instancia, numero, barra) local nome_magia, _, icone_magia = _GetSpellInfo (esta_habilidade[1]) GameCooltip:AddLine (nome_magia..": ", esta_habilidade[2].." (".._cstr("%.1f", esta_habilidade[2]/meu_total*100).."%)") GameCooltip:AddIcon (icone_magia, nil, nil, 14, 14) - GameCooltip:AddStatusBar (100, 1, .1, .1, .1, .3) + _detalhes:AddTooltipBackgroundStatusbar() end else GameTooltip:AddLine (Loc ["STRING_NO_SPELL"]) @@ -1193,7 +1193,7 @@ function atributo_misc:ToolTipDispell (instancia, numero, barra) _detalhes:AddTooltipSpellHeaderText (Loc ["STRING_DISPELLED"], headerColor, r, g, b, #buffs_dispelados) GameCooltip:AddIcon ([[Interface\ICONS\Spell_Arcane_ManaTap]], 1, 1, 14, 14, 0.078125, 0.9375, 0.078125, 0.953125) - GameCooltip:AddStatusBar (100, 1, r, g, b, barAlha) + _detalhes:AddTooltipHeaderStatusbar (r, g, b, barAlha) if (#buffs_dispelados > 0) then for i = 1, _math_min (25, #buffs_dispelados) do @@ -1201,7 +1201,7 @@ function atributo_misc:ToolTipDispell (instancia, numero, barra) local nome_magia, _, icone_magia = _GetSpellInfo (esta_habilidade[1]) GameCooltip:AddLine (nome_magia..": ", esta_habilidade[2].." (".._cstr("%.1f", esta_habilidade[2]/meu_total*100).."%)") GameCooltip:AddIcon (icone_magia, nil, nil, 14, 14) - GameCooltip:AddStatusBar (100, 1, .1, .1, .1, .3) + _detalhes:AddTooltipBackgroundStatusbar() end end @@ -1215,7 +1215,7 @@ function atributo_misc:ToolTipDispell (instancia, numero, barra) _detalhes:AddTooltipSpellHeaderText (Loc ["STRING_TARGETS"], headerColor, r, g, b, #alvos_dispelados) GameCooltip:AddIcon ([[Interface\ICONS\ACHIEVEMENT_GUILDPERK_EVERYONES A HERO_RANK2]], 1, 1, 14, 14, 0.078125, 0.9375, 0.078125, 0.953125) - GameCooltip:AddStatusBar (100, 1, r, g, b, barAlha) + _detalhes:AddTooltipHeaderStatusbar (r, g, b, barAlha) for i = 1, _math_min (25, #alvos_dispelados) do if (alvos_dispelados[i][2] < 1) then @@ -1223,7 +1223,7 @@ function atributo_misc:ToolTipDispell (instancia, numero, barra) end GameCooltip:AddLine (alvos_dispelados[i][1]..": ", _detalhes:comma_value (alvos_dispelados[i][2]) .." (".._cstr ("%.1f", alvos_dispelados[i][3]).."%)") - GameCooltip:AddStatusBar (100, 1, .1, .1, .1, .3) + _detalhes:AddTooltipBackgroundStatusbar() local targetActor = instancia.showing[4]:PegarCombatente (_, alvos_dispelados[i][1]) @@ -1281,7 +1281,7 @@ function atributo_misc:ToolTipDispell (instancia, numero, barra) _detalhes:AddTooltipSpellHeaderText (Loc ["STRING_PETS"], headerColor, r, g, b, #totais) GameCooltip:AddIcon ([[Interface\COMMON\friendship-heart]], 1, 1, 14, 14, 0.21875, 0.78125, 0.09375, 0.6875) - GameCooltip:AddStatusBar (100, 1, r, g, b, barAlha) + _detalhes:AddTooltipHeaderStatusbar (r, g, b, barAlha) end local n = _table [1]:gsub (("%s%<.*"), "") @@ -1682,7 +1682,7 @@ function atributo_misc:ToolTipDebuffUptime (instancia, numero, barra) _detalhes:AddTooltipSpellHeaderText (Loc ["STRING_SPELLS"], headerColor, r, g, b, #debuffs_usados) GameCooltip:AddIcon ([[Interface\ICONS\Ability_Warrior_Safeguard]], 1, 1, 14, 14, 0.9375, 0.078125, 0.078125, 0.953125) - GameCooltip:AddStatusBar (100, 1, r, g, b, barAlha) + _detalhes:AddTooltipHeaderStatusbar (r, g, b, barAlha) if (#debuffs_usados > 0) then for i = 1, _math_min (30, #debuffs_usados) do @@ -1693,14 +1693,14 @@ function atributo_misc:ToolTipDebuffUptime (instancia, numero, barra) local minutos, segundos = _math_floor (esta_habilidade[2]/60), _math_floor (esta_habilidade[2]%60) if (esta_habilidade[2] >= _combat_time) then - GameCooltip:AddLine (nome_magia..": ", minutos .. "m " .. segundos .. "s" .. " (" .. _cstr ("%.1f", esta_habilidade[2] / _combat_time * 100) .. "%)", nil, "gray", "gray") - GameCooltip:AddStatusBar (100, nil, 1, 0, 1, .3, false) + --GameCooltip:AddLine (nome_magia..": ", minutos .. "m " .. segundos .. "s" .. " (" .. _cstr ("%.1f", esta_habilidade[2] / _combat_time * 100) .. "%)", nil, "gray", "gray") + --GameCooltip:AddStatusBar (100, nil, 1, 0, 1, .3, false) elseif (minutos > 0) then GameCooltip:AddLine (nome_magia..": ", minutos .. "m " .. segundos .. "s" .. " (" .. _cstr ("%.1f", esta_habilidade[2] / _combat_time * 100) .. "%)") - GameCooltip:AddStatusBar (100, 1, .1, .1, .1, .3) + _detalhes:AddTooltipBackgroundStatusbar() else GameCooltip:AddLine (nome_magia..": ", segundos .. "s" .. " (" .. _cstr ("%.1f", esta_habilidade[2] / _combat_time * 100) .. "%)") - GameCooltip:AddStatusBar (100, 1, .1, .1, .1, .3) + _detalhes:AddTooltipBackgroundStatusbar() end GameCooltip:AddIcon (icone_magia, nil, nil, 14, 14) --0.03125, 0.96875, 0.03125, 0.96875 @@ -1739,7 +1739,7 @@ function atributo_misc:ToolTipBuffUptime (instancia, numero, barra) _detalhes:AddTooltipSpellHeaderText (Loc ["STRING_SPELLS"], headerColor, r, g, b, #buffs_usados) GameCooltip:AddIcon ([[Interface\ICONS\Ability_Warrior_Safeguard]], 1, 1, 14, 14, 0.9375, 0.078125, 0.078125, 0.953125) - GameCooltip:AddStatusBar (100, 1, r, g, b, barAlha) + _detalhes:AddTooltipHeaderStatusbar (r, g, b, barAlha) if (#buffs_usados > 0) then for i = 1, _math_min (30, #buffs_usados) do @@ -1750,14 +1750,14 @@ function atributo_misc:ToolTipBuffUptime (instancia, numero, barra) local minutos, segundos = _math_floor (esta_habilidade[2]/60), _math_floor (esta_habilidade[2]%60) if (esta_habilidade[2] >= _combat_time) then - GameCooltip:AddLine (nome_magia..": ", minutos .. "m " .. segundos .. "s" .. " (" .. _cstr ("%.1f", esta_habilidade[2] / _combat_time * 100) .. "%)", nil, "gray", "gray") - GameCooltip:AddStatusBar (100, nil, 1, 0, 1, .3, false) + --GameCooltip:AddLine (nome_magia..": ", minutos .. "m " .. segundos .. "s" .. " (" .. _cstr ("%.1f", esta_habilidade[2] / _combat_time * 100) .. "%)", nil, "gray", "gray") + --GameCooltip:AddStatusBar (100, nil, 1, 0, 1, .3, false) elseif (minutos > 0) then GameCooltip:AddLine (nome_magia..": ", minutos .. "m " .. segundos .. "s" .. " (" .. _cstr ("%.1f", esta_habilidade[2] / _combat_time * 100) .. "%)") - GameCooltip:AddStatusBar (100, 1, .1, .1, .1, .3) + _detalhes:AddTooltipBackgroundStatusbar() else GameCooltip:AddLine (nome_magia..": ", segundos .. "s" .. " (" .. _cstr ("%.1f", esta_habilidade[2] / _combat_time * 100) .. "%)") - GameCooltip:AddStatusBar (100, 1, .1, .1, .1, .3) + _detalhes:AddTooltipBackgroundStatusbar() end GameCooltip:AddIcon (icone_magia, nil, nil, 14, 14) --0.03125, 0.96875, 0.03125, 0.96875 @@ -1793,7 +1793,7 @@ function atributo_misc:ToolTipDefensiveCooldowns (instancia, numero, barra) _detalhes:AddTooltipSpellHeaderText (Loc ["STRING_SPELLS"], headerColor, r, g, b, #cooldowns_usados) GameCooltip:AddIcon ([[Interface\ICONS\Ability_Warrior_Safeguard]], 1, 1, 14, 14, 0.9375, 0.078125, 0.078125, 0.953125) - GameCooltip:AddStatusBar (100, 1, r, g, b, barAlha) + _detalhes:AddTooltipHeaderStatusbar (r, g, b, barAlha) if (#cooldowns_usados > 0) then for i = 1, _math_min (25, #cooldowns_usados) do @@ -1801,7 +1801,7 @@ function atributo_misc:ToolTipDefensiveCooldowns (instancia, numero, barra) local nome_magia, _, icone_magia = _GetSpellInfo (esta_habilidade[1]) GameCooltip:AddLine (nome_magia..": ", esta_habilidade[2].." (".._cstr("%.1f", esta_habilidade[2]/meu_total*100).."%)") GameCooltip:AddIcon (icone_magia, nil, nil, 14, 14) --0.03125, 0.96875, 0.03125, 0.96875 - GameCooltip:AddStatusBar (100, 1, .1, .1, .1, .3) + _detalhes:AddTooltipBackgroundStatusbar() end else GameCooltip:AddLine (Loc ["STRING_NO_SPELL"]) @@ -1818,12 +1818,12 @@ function atributo_misc:ToolTipDefensiveCooldowns (instancia, numero, barra) _detalhes:AddTooltipSpellHeaderText (Loc ["STRING_TARGETS"], headerColor, r, g, b, #alvos) GameCooltip:AddIcon ([[Interface\ICONS\Ability_Warrior_DefensiveStance]], 1, 1, 14, 14, 0.9375, 0.125, 0.0625, 0.9375) - GameCooltip:AddStatusBar (100, 1, r, g, b, barAlha) + _detalhes:AddTooltipHeaderStatusbar (r, g, b, barAlha) if (#alvos > 0) then for i = 1, _math_min (25, #alvos) do GameCooltip:AddLine (alvos[i][1]..": ", alvos[i][2], 1, "white", "white") - GameCooltip:AddStatusBar (100, 1, .1, .1, .1, .3) + _detalhes:AddTooltipBackgroundStatusbar() GameCooltip:AddIcon ("Interface\\Icons\\PALADIN_HOLY", nil, nil, 14, 14) @@ -1869,7 +1869,7 @@ function atributo_misc:ToolTipRess (instancia, numero, barra) _detalhes:AddTooltipSpellHeaderText (Loc ["STRING_SPELLS"], headerColor, r, g, b, #meus_ress) GameCooltip:AddIcon ([[Interface\ICONS\Ability_Paladin_BlessedMending]], 1, 1, 14, 14, 0.098125, 0.828125, 0.953125, 0.168125) - GameCooltip:AddStatusBar (100, 1, r, g, b, barAlha) + _detalhes:AddTooltipHeaderStatusbar (r, g, b, barAlha) if (#meus_ress > 0) then for i = 1, _math_min (3, #meus_ress) do @@ -1877,7 +1877,7 @@ function atributo_misc:ToolTipRess (instancia, numero, barra) local nome_magia, _, icone_magia = _GetSpellInfo (esta_habilidade[1]) GameCooltip:AddLine (nome_magia..": ", esta_habilidade[2].." (".._cstr("%.1f", esta_habilidade[2]/meu_total*100).."%)") GameCooltip:AddIcon (icone_magia, nil, nil, 14, 14) - GameCooltip:AddStatusBar (100, 1, .1, .1, .1, .3) + _detalhes:AddTooltipBackgroundStatusbar() end else GameCooltip:AddLine (Loc ["STRING_NO_SPELL"]) @@ -1896,12 +1896,12 @@ function atributo_misc:ToolTipRess (instancia, numero, barra) --GameCooltip:AddIcon ([[Interface\ICONS\Ability_DeathKnight_IcyGrip]], 1, 1, 14, 14, 0.9375, 0.078125, 0.953125, 0.078125) GameCooltip:AddIcon ([[Interface\ICONS\Ability_Priest_Cascade]], 1, 1, 14, 14, 0.9375, 0.0625, 0.0625, 0.9375) - GameCooltip:AddStatusBar (100, 1, r, g, b, barAlha) + _detalhes:AddTooltipHeaderStatusbar (r, g, b, barAlha) if (#alvos > 0) then for i = 1, _math_min (3, #alvos) do GameCooltip:AddLine (alvos[i][1]..": ", alvos[i][2]) - GameCooltip:AddStatusBar (100, 1, .1, .1, .1, .3) + _detalhes:AddTooltipBackgroundStatusbar() local targetActor = instancia.showing[4]:PegarCombatente (_, alvos[i][1]) if (targetActor) then @@ -1945,7 +1945,7 @@ function atributo_misc:ToolTipInterrupt (instancia, numero, barra) _detalhes:AddTooltipSpellHeaderText (Loc ["STRING_SPELLS"], headerColor, r, g, b, #meus_interrupts) GameCooltip:AddIcon ([[Interface\ICONS\Ability_Warrior_PunishingBlow]], 1, 1, 14, 14, 0.9375, 0.078125, 0.078125, 0.953125) - GameCooltip:AddStatusBar (100, 1, r, g, b, barAlha) + _detalhes:AddTooltipHeaderStatusbar (r, g, b, barAlha) if (#meus_interrupts > 0) then for i = 1, _math_min (25, #meus_interrupts) do @@ -1953,7 +1953,7 @@ function atributo_misc:ToolTipInterrupt (instancia, numero, barra) local nome_magia, _, icone_magia = _GetSpellInfo (esta_habilidade[1]) GameCooltip:AddLine (nome_magia..": ", esta_habilidade[2].." (".._cstr("%.1f", esta_habilidade[2]/meu_total*100).."%)") GameCooltip:AddIcon (icone_magia, nil, nil, 14, 14) - GameCooltip:AddStatusBar (100, 1, .1, .1, .1, .3) + _detalhes:AddTooltipBackgroundStatusbar() end else GameTooltip:AddLine (Loc ["STRING_NO_SPELL"]) @@ -1969,7 +1969,7 @@ function atributo_misc:ToolTipInterrupt (instancia, numero, barra) _detalhes:AddTooltipSpellHeaderText (Loc ["STRING_SPELL_INTERRUPTED"] .. ":", headerColor, r, g, b, #habilidades_interrompidas) GameCooltip:AddIcon ([[Interface\ICONS\Ability_Warrior_Sunder]], 1, 1, 14, 14, 0.078125, 0.9375, 0.128125, 0.913125) - GameCooltip:AddStatusBar (100, 1, r, g, b, barAlha) + _detalhes:AddTooltipHeaderStatusbar (r, g, b, barAlha) if (#habilidades_interrompidas > 0) then for i = 1, _math_min (25, #habilidades_interrompidas) do @@ -1977,7 +1977,7 @@ function atributo_misc:ToolTipInterrupt (instancia, numero, barra) local nome_magia, _, icone_magia = _GetSpellInfo (esta_habilidade[1]) GameCooltip:AddLine (nome_magia..": ", esta_habilidade[2].." (".._cstr("%.1f", esta_habilidade[2]/meu_total*100).."%)") GameCooltip:AddIcon (icone_magia, nil, nil, 14, 14) - GameCooltip:AddStatusBar (100, 1, .1, .1, .1, .3) + _detalhes:AddTooltipBackgroundStatusbar() end end @@ -2022,7 +2022,7 @@ function atributo_misc:ToolTipInterrupt (instancia, numero, barra) _detalhes:AddTooltipSpellHeaderText (Loc ["STRING_PETS"], headerColor, r, g, b, #totais) GameCooltip:AddIcon ([[Interface\COMMON\friendship-heart]], 1, 1, 14, 14, 0.21875, 0.78125, 0.09375, 0.6875) - GameCooltip:AddStatusBar (100, 1, r, g, b, barAlha) + _detalhes:AddTooltipHeaderStatusbar (r, g, b, barAlha) end local n = _table [1]:gsub (("%s%<.*"), "") diff --git a/core/control.lua b/core/control.lua index 60edd73a..c5f67e9a 100644 --- a/core/control.lua +++ b/core/control.lua @@ -1017,6 +1017,10 @@ end end + function _detalhes:AddTooltipHeaderStatusbar (r, g, b, a) + GameCooltip:AddStatusBar (100, 1, 1, 1, 1, a, nil, nil, [[Interface\WorldStateFrame\WORLDSTATEFINALSCORE-HIGHLIGHT]]) + end + function _detalhes:AddTooltipSpellHeaderText (headerText, headerColor, r, g, b, amount, side) if (not side) then if (_detalhes.tooltip.show_amount) then @@ -1049,7 +1053,7 @@ GameCooltip:SetOption ("LeftBorderSize", -5) GameCooltip:SetOption ("RightBorderSize", 5) GameCooltip:SetOption ("MinWidth", _math_max (230, self.baseframe:GetWidth()*0.9)) - GameCooltip:SetOption ("StatusBarTexture", [[Interface\WorldStateFrame\WORLDSTATEFINALSCORE-HIGHLIGHT]]) --[[Interface\Addons\Details\images\bar_flat]] + GameCooltip:SetOption ("StatusBarTexture", [[Interface\AddOns\Details\images\bar_background]]) GameCooltip:SetBackdrop (1, _detalhes.tooltip_backdrop, backgroundColor, _detalhes.tooltip_border_color) --{.090, .090, .188, .1} diff --git a/core/gears.lua b/core/gears.lua index 63a8ee36..cb3ba9c8 100644 --- a/core/gears.lua +++ b/core/gears.lua @@ -892,11 +892,11 @@ function ilvl_core:InspectTimeOut (guid) end function ilvl_core:ReGetItemLevel (t) - local unitid, guid, is_forced = unpack (t) - return ilvl_core:GetItemLevel (unitid, guid, is_forced) + local unitid, guid, is_forced, try_number = unpack (t) + return ilvl_core:GetItemLevel (unitid, guid, is_forced, try_number) end -function ilvl_core:GetItemLevel (unitid, guid, is_forced) +function ilvl_core:GetItemLevel (unitid, guid, is_forced, try_number) --> ddouble check if (not is_forced and (UnitAffectingCombat ("player") or InCombatLockdown())) then @@ -904,7 +904,13 @@ function ilvl_core:GetItemLevel (unitid, guid, is_forced) end if (not unitid or not CanInspect (unitid) or not CheckInteractDistance (unitid, 1)) then if (is_forced) then - ilvl_core:ScheduleTimer ("ReGetItemLevel", 3, {unitid, guid, is_forced}) + try_number = try_number or 0 + if (try_number > 18) then + return + else + try_number = try_number + 1 + end + ilvl_core:ScheduleTimer ("ReGetItemLevel", 3, {unitid, guid, is_forced, try_number}) end return end @@ -962,23 +968,39 @@ function ilvl_core:QueryInspect (unitName, callback, param1) break end end + else + unitid = unitName end if (not unitid) then - return + return false end local guid = UnitGUID (unitid) - if (not guid or ilvl_core.forced_inspects [guid]) then - return + if (not guid) then + return false + elseif (ilvl_core.forced_inspects [guid]) then + return true end if (inspecting [guid]) then - return + return true end ilvl_core.forced_inspects [guid] = {callback = callback, param1 = param1} ilvl_core:GetItemLevel (unitid, guid, true) + + if (ilvl_core.clear_queued_list) then + ilvl_core:CancelTimer (ilvl_core.clear_queued_list) + end + ilvl_core.clear_queued_list = ilvl_core:ScheduleTimer ("ClearQueryInspectQueue", 60) + + return true +end + +function ilvl_core:ClearQueryInspectQueue() + wipe (ilvl_core.forced_inspects) + ilvl_core.clear_queued_list = nil end function ilvl_core:Loop() diff --git a/framework/cooltip.lua b/framework/cooltip.lua index 104a1d6f..97dc3f5b 100644 --- a/framework/cooltip.lua +++ b/framework/cooltip.lua @@ -112,6 +112,7 @@ function DetailsCreateCoolTip() ["SelectedBottomAnchorMod"] = true, ["SelectedLeftAnchorMod"] = true, ["SelectedRightAnchorMod"] = true, + ["MinButtonHeight"] = true, } CoolTip.OptionsTable = {} @@ -884,8 +885,19 @@ function DetailsCreateCoolTip() if (CoolTip.OptionsTable.StatusBarTexture) then menuButton.statusbar.texture:SetTexture (CoolTip.OptionsTable.StatusBarTexture) + end + + if (StatusBar[8]) then + if (StatusBar[8]:find ("\\")) then + menuButton.statusbar.texture:SetTexture (StatusBar[8]) + else + local texture = SharedMedia:Fetch ("statusbar", StatusBar[8]) + menuButton.statusbar.texture:SetTexture (texture) + end else - menuButton.statusbar.texture:SetTexture ("Interface\\PaperDollInfoFrame\\UI-Character-Skills-Bar") + if (not CoolTip.OptionsTable.StatusBarTexture) then + menuButton.statusbar.texture:SetTexture ("Interface\\PaperDollInfoFrame\\UI-Character-Skills-Bar") + end end else @@ -1284,14 +1296,21 @@ function DetailsCreateCoolTip() elseif (CoolTip.OptionsTable.IgnoreButtonAutoHeight) then local height = _math_max (menuButton.leftText:GetStringHeight(), menuButton.rightText:GetStringHeight(), menuButton.leftIcon:GetHeight(), menuButton.rightIcon:GetHeight()) + if (CoolTip.OptionsTable.MinButtonHeight) then + height = max (CoolTip.OptionsTable.MinButtonHeight, height) + end menuButton:SetHeight (height) menuButton:SetPoint ("top", frame1, "top", 0, temp) temp = temp + ( height * -1) + spacing + (CoolTip.OptionsTable.ButtonsYMod or 0) else - menuButton:SetHeight (frame1.hHeight + (CoolTip.OptionsTable.ButtonHeightMod or 0)) - menuButton:SetPoint ("top", frame1, "top", 0, ( ( (i-1) * frame1.hHeight) * -1) - 6 + (CoolTip.OptionsTable.ButtonsYMod or 0) + spacing) + local height = frame1.hHeight + if (CoolTip.OptionsTable.MinButtonHeight) then + height = max (CoolTip.OptionsTable.MinButtonHeight, height) + end + menuButton:SetHeight (height + (CoolTip.OptionsTable.ButtonHeightMod or 0)) + menuButton:SetPoint ("top", frame1, "top", 0, ( ( (i-1) * height) * -1) - 6 + (CoolTip.OptionsTable.ButtonsYMod or 0) + spacing) end --> points @@ -1985,6 +2004,9 @@ function DetailsCreateCoolTip() local f1Lines = frame1.Lines for i = 1, #f1Lines do f1Lines [i].statusbar.subMenuArrow:Hide() + if (f1Lines [i].divbar) then + f1Lines [i].divbar:Hide() + end end end @@ -2184,7 +2206,7 @@ function DetailsCreateCoolTip() --> parameters: value [, color red, color green, color blue, color alpha [, glow]] --> can also use a table or html color name in color red and send glow in color green - function CoolTip:AddStatusBar (statusbarValue, frame, ColorR, ColorG, ColorB, ColorA, statusbarGlow, backgroundBar) + function CoolTip:AddStatusBar (statusbarValue, frame, ColorR, ColorG, ColorB, ColorA, statusbarGlow, backgroundBar, BarTexture) --> need a previous line if (CoolTip.Indexes == 0) then @@ -2197,10 +2219,12 @@ function DetailsCreateCoolTip() end if (type (ColorR) == "table" or type (ColorR) == "string") then - statusbarGlow, backgroundBar, ColorR, ColorG, ColorB, ColorA = ColorG, ColorB, gump:ParseColors (ColorR) + statusbarGlow, backgroundBar, BarTexture, ColorR, ColorG, ColorB, ColorA = ColorG, ColorB, ColorA, gump:ParseColors (ColorR) elseif (type (ColorR) == "boolean") then + BarTexture = ColorB backgroundBar = ColorG statusbarGlow = ColorR + ColorR, ColorG, ColorB, ColorA = 1, 1, 1, 1 else --> error @@ -2257,6 +2281,7 @@ function DetailsCreateCoolTip() statusbarTable [5] = ColorA statusbarTable [6] = statusbarGlow statusbarTable [7] = backgroundBar + statusbarTable [8] = BarTexture end diff --git a/functions/profiles.lua b/functions/profiles.lua index 19e5cd20..144702fe 100644 --- a/functions/profiles.lua +++ b/functions/profiles.lua @@ -953,7 +953,7 @@ local default_profile = { fontcolor = {1, 1, 1, 1}, fontcolor_right = {1, 0.7, 0, 1}, --{1, 0.9254, 0.6078, 1} fontshadow = false, - background = {0.1411, 0.1411, 0.1411, 0.8763}, + background = {0.1960, 0.1960, 0.1960, 0.8697}, abbreviation = 2, -- 2 = ToK I Upper 5 = ToK I Lower -- was 8 maximize_method = 1, show_amount = false, diff --git a/functions/spellcache.lua b/functions/spellcache.lua index 5286f7ee..882c0ad8 100644 --- a/functions/spellcache.lua +++ b/functions/spellcache.lua @@ -55,9 +55,12 @@ do end end + --[1] = {name = Loc ["STRING_MELEE"], icon = [[Interface\AddOns\Details\images\melee.tga]]}, + --[2] = {name = Loc ["STRING_AUTOSHOT"], icon = [[Interface\AddOns\Details\images\autoshot.tga]]}, + local default_user_spells = { - [1] = {name = Loc ["STRING_MELEE"], icon = [[Interface\AddOns\Details\images\melee.tga]]}, - [2] = {name = Loc ["STRING_AUTOSHOT"], icon = [[Interface\AddOns\Details\images\autoshot.tga]]}, + [1] = {name = Loc ["STRING_MELEE"], icon = [[Interface\ICONS\INV_Sword_04]]}, + [2] = {name = Loc ["STRING_AUTOSHOT"], icon = [[Interface\ICONS\INV_Weapon_Bow_07]]}, [3] = {name = Loc ["STRING_ENVIRONMENTAL_FALLING"], icon = [[Interface\ICONS\Spell_Magic_FeatherFall]]}, [4] = {name = Loc ["STRING_ENVIRONMENTAL_DROWNING"], icon = [[Interface\ICONS\Ability_Suffocate]]}, [5] = {name = Loc ["STRING_ENVIRONMENTAL_FATIGUE"], icon = [[Interface\ICONS\Spell_Arcane_MindMastery]]}, diff --git a/gumps/janela_principal.lua b/gumps/janela_principal.lua index efd55b14..dae6622b 100644 --- a/gumps/janela_principal.lua +++ b/gumps/janela_principal.lua @@ -2059,7 +2059,15 @@ local icon_frame_on_enter = function (self) if (actor) then if (actor.is_custom) then - + if (actor.id) then + GameTooltip:SetOwner (self, "ANCHOR_TOPLEFT", 0, 10) + if (actor.id == 1) then + GameTooltip:SetSpellByID (6603) + else + GameTooltip:SetSpellByID (actor.id) + end + GameTooltip:Show() + end elseif (actor.dead_at) then @@ -2072,6 +2080,8 @@ local icon_frame_on_enter = function (self) local talents = _detalhes.cached_talents [serial] local ilvl = _detalhes.ilevel:GetIlvl (serial) + local icon_size = 16 + local instance = _detalhes:GetInstance (self.row.instance_id) instance:BuildInstanceBarTooltip (self) @@ -2083,46 +2093,78 @@ local icon_frame_on_enter = function (self) if (spec_id) then spec_L, spec_R, spec_T, spec_B = unpack (_detalhes.class_specs_coords [spec]) end - + GameCooltip:AddLine (name, spec_name) + if (class == "UNKNOW" or class == "UNGROUPPLAYER") then + GameCooltip:AddIcon ([[Interface\AddOns\Details\images\classes_small_alpha]], 1, 1, icon_size, icon_size, 0, 0.25, 0.75, 1) + else + GameCooltip:AddIcon ([[Interface\AddOns\Details\images\classes_small_alpha]], 1, 1, icon_size, icon_size, class_L, class_R, class_T, class_B) + end - GameCooltip:AddIcon ([[Interface\AddOns\Details\images\classes_small_alpha]], 1, 1, 16, 16, class_L, class_R, class_T, class_B) - GameCooltip:AddIcon ([[Interface\AddOns\Details\images\spec_icons_normal_alpha]], 1, 2, 16, 16, spec_L, spec_R, spec_T, spec_B) + if (spec_L) then + GameCooltip:AddIcon ([[Interface\AddOns\Details\images\spec_icons_normal_alpha]], 1, 2, icon_size, icon_size, spec_L, spec_R, spec_T, spec_B) + else + GameCooltip:AddIcon ([[Interface\GossipFrame\IncompleteQuestIcon]], 1, 2, icon_size, icon_size) + end + _detalhes:AddTooltipHeaderStatusbar (r, g, b, 0.6) - GameCooltip:AddLine ("") - local talent_string = "" if (talents) then for i = 1, #talents do local talentID, name, texture, selected, available = GetTalentInfoByID (talents [i]) - talent_string = talent_string .. " |T" .. texture .. ":16:16:0:0:64:64:4:60:4:60|t" + talent_string = talent_string .. " |T" .. texture .. ":" .. 15 .. ":" .. 15 ..":0:0:64:64:4:60:4:60|t" end end - GameCooltip:AddLine ("Talents:", talent_string) - GameCooltip:AddStatusBar (100, 1, 0, 0, 0, 0.3) - GameCooltip:AddLine ("Item Level:", ilvl and format ("%.1f", ilvl.ilvl) or "??") - GameCooltip:AddStatusBar (100, 1, 0, 0, 0, 0.3) - GameCooltip:AddLine ("Class:", LOCALIZED_CLASS_NAMES_MALE [class]) - GameCooltip:AddStatusBar (100, 1, 0, 0, 0, 0.3) - -- + local got_info + if (ilvl) then + GameCooltip:AddLine ("Item Level:", ilvl and floor (ilvl.ilvl) or "??") + _detalhes:AddTooltipBackgroundStatusbar() + got_info = true + end + + if (talent_string ~= "") then + GameCooltip:AddLine ("Talents:", talent_string) + _detalhes:AddTooltipBackgroundStatusbar() + got_info = true + end + + GameCooltip:SetOption ("StatusBarTexture", [[Interface\AddOns\Details\images\bar_skyline]]) + GameCooltip:SetOption ("MinButtonHeight", 15) + GameCooltip:SetOption ("IgnoreButtonAutoHeight", true) + + if (not got_info) then + --GameCooltip:AddLine (" ") + + --GameCooltip:AddLine ("Click to retrive item level and talents.", nil, 1, "orange") + + GameCooltip:AddLine (Loc ["STRING_QUERY_INSPECT"], nil, 1, "orange") + GameCooltip:AddIcon ([[Interface\TUTORIALFRAME\UI-TUTORIAL-FRAME]], 1, 1, 12, icon_size, 8/512, 70/512, 224/512, 306/512) + + GameCooltip:SetOption ("FixedHeight", 42) + else + + GameCooltip:SetOption ("FixedHeight", 58) + end + + --GameCooltip:AddLine ("Class:", LOCALIZED_CLASS_NAMES_MALE [class]) + --_detalhes:AddTooltipBackgroundStatusbar() local damage = instance.showing (1, name) local healing = instance.showing (2, name) - GameCooltip:AddLine ("Damage:", _detalhes:ToK2 (damage and damage.total or 0)) - GameCooltip:AddStatusBar (100, 1, 0, 0, 0, 0.3) - GameCooltip:AddLine ("Healing:", _detalhes:ToK2 (healing and healing.total or 0)) - GameCooltip:AddStatusBar (100, 1, 0, 0, 0, 0.3) + --GameCooltip:AddLine ("Damage:", _detalhes:ToK2 (damage and damage.total or 0)) + --_detalhes:AddTooltipBackgroundStatusbar() + --GameCooltip:AddLine ("Healing:", _detalhes:ToK2 (healing and healing.total or 0)) + --_detalhes:AddTooltipBackgroundStatusbar() -- + --GameCooltip:AddIcon ([[Interface\TUTORIALFRAME\UI-TUTORIAL-FRAME]], 1, 1, 12, icon_size, 8/512, 70/512, 224/512, 306/512) + --_detalhes:AddTooltipBackgroundStatusbar() + + + --GameCooltip:SetOption ("FixedHeight", 114) + - GameCooltip:AddLine ("") - GameCooltip:AddLine (Loc ["STRING_QUERY_INSPECT"], nil, 1, "orange") - --|TInterface\\TUTORIALFRAME\\UI-TUTORIAL-FRAME:14:14:0:1:512:512:8:70:224:306|t - GameCooltip:AddIcon ([[Interface\TUTORIALFRAME\UI-TUTORIAL-FRAME]], 1, 1, 12, 16, 8/512, 70/512, 224/512, 306/512) - - GameCooltip:SetOption ("StatusBarTexture", [[Interface\AddOns\Details\images\bar_skyline]]) - GameCooltip:ShowCooltip() self.unitname = name @@ -2142,6 +2184,9 @@ function icon_frame_events:EnterCombat() anim.anim:Stop() anim:Hide() tinsert (_detalhes.icon_animations.load.available, anim) + + anim.icon_frame.icon_animation = nil + anim.icon_frame = nil end wipe (_detalhes.icon_animations.load.in_use) end @@ -2154,6 +2199,9 @@ function icon_frame_events:CancelAnim (anim) tinsert (_detalhes.icon_animations.load.available, anim) anim.anim:Stop() anim:Hide() + + anim.icon_frame.icon_animation = nil + anim.icon_frame = nil end end @@ -2170,6 +2218,9 @@ local icon_frame_inspect_callback = function (guid, unitid, icon_frame) if (icon_frame:IsMouseOver()) then icon_frame_on_enter (icon_frame) end + + icon_frame.icon_animation.icon_frame = nil + icon_frame.icon_animation = nil end local icon_frame_create_animation = function() @@ -2199,8 +2250,12 @@ local icon_frame_on_click = function (self) if (_detalhes.ilevel.core:HasQueuedInspec (self.unitname)) then return end - - _detalhes.ilevel.core:QueryInspect (self.unitname, icon_frame_inspect_callback, self) + + local does_query = _detalhes.ilevel.core:QueryInspect (self.unitname, icon_frame_inspect_callback, self) + + if (self.icon_animation) then + return + end --> icon animation local anim = tremove (_detalhes.icon_animations.load.available) @@ -2215,10 +2270,18 @@ local icon_frame_on_click = function (self) anim:SetFrameStrata ("TOOLTIP") anim:SetPoint ("center", self, "center") anim:SetSize (self:GetWidth()*1.7, self:GetHeight()*1.7) - anim.anim:Play() - self.icon_animation = anim - local pid = icon_frame_events:ScheduleTimer ("CancelAnim", 4, anim) + anim.anim:Play() + + self.icon_animation = anim + anim.icon_frame = self + + local pid + if (does_query) then + pid = icon_frame_events:ScheduleTimer ("CancelAnim", 4, anim) + else + pid = icon_frame_events:ScheduleTimer ("CancelAnim", 0.2, anim) + end _detalhes.icon_animations.load.in_use [anim] = pid end end