diff --git a/boot.lua b/boot.lua index 9175c0ec..3b70c350 100644 --- a/boot.lua +++ b/boot.lua @@ -8,7 +8,7 @@ _ = nil _detalhes = LibStub("AceAddon-3.0"):NewAddon("_detalhes", "AceTimer-3.0", "AceComm-3.0", "AceSerializer-3.0", "NickTag-1.0", "LibHotCorners") - _detalhes.userversion = "v1.16.1" + _detalhes.userversion = "v1.16.3" _detalhes.version = "Alpha 019" _detalhes.realversion = 19 @@ -30,6 +30,7 @@ do --> containers --> armazenas as funções do parser - All parse functions _detalhes.parser = {} + _detalhes.parser_functions = {} _detalhes.parser_frame = CreateFrame ("Frame", nil, _UIParent) _detalhes.parser_frame:Hide() --> armazena os escudos - Shields information for absorbs @@ -61,8 +62,27 @@ do --> armazena os hooks das funções do parser _detalhes.hooks = {} --> informações sobre a luta do boss atual + _detalhes.encounter_end_table = {} _detalhes.encounter_table = {} - + --> informações sobre a arena atual + _detalhes.arena_table = {} + _detalhes.arena_info = { + [562] = {file = "LoadScreenBladesEdgeArena", coords = {0, 1, 0.29296875, 0.9375}}, -- Circle of Blood Arena + [617] = {file = "LoadScreenDalaranSewersArena", coords = {0, 1, 0.29296875, 0.857421875}}, --Dalaran Arena + [559] = {file = "LoadScreenNagrandArenaBattlegrounds", coords = {0, 1, 0.341796875, 1}}, --Ring of Trials + [980] = {file = "LoadScreenTolvirArena", coords = {0, 1, 0.29296875, 0.857421875}}, --Tol'Viron Arena + [572] = {file = "LoadScreenRuinsofLordaeronBattlegrounds", coords = {0, 1, 0.341796875, 1}}, --Ruins of Lordaeron + [1134] = {file = "LoadingScreen_Shadowpan_bg", coords = {0, 1, 0.29296875, 0.857421875}}, -- Tiger's Peak + --"LoadScreenOrgrimmarArena", --Ring of Valor + } + + function _detalhes:GetArenaInfo (mapid) + local t = _detalhes.arena_info [mapid] + if (t) then + return t.file, t.coords + end + end + --> Plugins --> raid ------------------------------------------------------------------- --> general function for raid mode plugins @@ -147,6 +167,27 @@ do colocacao = ". " --> dot } + _detalhes.role_texcoord = { + DAMAGER = "72:130:69:127", + HEALER = "72:130:2:60", + TANK = "5:63:69:127", + NONE = "139:196:69:127", + } + + _detalhes.player_class = { + ["HUNTER"] = true, + ["WARRIOR"] = true, + ["PALADIN"] = true, + ["SHAMAN"] = true, + ["MAGE"] = true, + ["ROGUE"] = true, + ["PRIEST"] = true, + ["WARLOCK"] = true, + ["DRUID"] = true, + ["MONK"] = true, + ["DEATHKNIGHT"] = true, + } + local Loc = LibStub ("AceLocale-3.0"):GetLocale ("Details") _detalhes.segmentos = { diff --git a/classes/classe_damage.lua b/classes/classe_damage.lua index eaee8cd4..aaa9f14f 100644 --- a/classes/classe_damage.lua +++ b/classes/classe_damage.lua @@ -53,6 +53,7 @@ local TooltipMaximizedMethod = 1 local CLASS_ICON_TCOORDS = _G.CLASS_ICON_TCOORDS + local is_player_class = _detalhes.player_class local key_overlay = {1, 1, 1, .1} local key_overlay_press = {1, 1, 1, .2} @@ -193,6 +194,30 @@ return table1 [4] > table2 [4] end +--[[exported]] function _detalhes:GetBarColor (actor) + actor = actor or self + + if (actor.owner) then + return _unpack (_detalhes.class_colors [actor.owner.classe]) + + elseif (actor.monster) then + return _unpack (_detalhes.class_colors.ENEMY) + + elseif (actor.arena_enemy) then + return _unpack (_detalhes.class_colors.ARENA_ENEMY) + + elseif (actor.arena_ally) then + return _unpack (_detalhes.class_colors.ARENA_ALLY) + + else + if (not is_player_class [actor.classe] and _bit_band (actor.flag_original, 0x00000020) ~= 0) then --> neutral + return _unpack (_detalhes.class_colors.NEUTRAL) + else + return _unpack (_detalhes.class_colors [actor.classe]) + end + end + end + ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --> internals @@ -251,6 +276,9 @@ -- dps (calculate dps for actors) function atributo_damage:ContainerRefreshDps (container, combat_time) + + local total = 0 + if (_detalhes.time_type == 2 or not _detalhes:CaptureGet ("damage")) then for _, actor in _ipairs (container) do if (actor.grupo) then @@ -258,13 +286,17 @@ else actor.last_dps = actor.total / actor:Tempo() end + total = total + actor.last_dps end else for _, actor in _ipairs (container) do actor.last_dps = actor.total / actor:Tempo() + total = total + actor.last_dps end end - end + + return total + end ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --> frags @@ -803,22 +835,20 @@ function atributo_damage:RefreshWindow (instancia, tabela_do_combate, forcar, ex --> grava o total instancia.top = conteudo[1][keyName] - --print ("aqui", amount, total, instancia.top) - elseif (modo == modo_ALL) then --> mostrando ALL --> faz o sort da categoria e retorna o amount corrigido --print (keyName) if (sub_atributo == 2) then local combat_time = instancia.showing:GetCombatTime() - atributo_damage:ContainerRefreshDps (conteudo, combat_time) + total = atributo_damage:ContainerRefreshDps (conteudo, combat_time) + else + --> pega o total ja aplicado na tabela do combate + total = tabela_do_combate.totals [class_type] end amount = _detalhes:ContainerSort (conteudo, amount, keyName) - --> pega o total ja aplicado na tabela do combate - total = tabela_do_combate.totals [class_type] - --> grava o total instancia.top = conteudo[1][keyName] @@ -864,7 +894,6 @@ function atributo_damage:RefreshWindow (instancia, tabela_do_combate, forcar, ex _table_sort (conteudo, _detalhes.SortKeyGroup) end -- - if (not using_cache) then for index, player in _ipairs (conteudo) do if (player.grupo) then --> é um player e esta em grupo @@ -882,6 +911,7 @@ function atributo_damage:RefreshWindow (instancia, tabela_do_combate, forcar, ex end end end + end end @@ -891,7 +921,7 @@ function atributo_damage:RefreshWindow (instancia, tabela_do_combate, forcar, ex end if (exportar) then - return total, keyName, instancia.top + return total, keyName, instancia.top, amount end if (amount < 1) then --> não há barras para mostrar @@ -1242,19 +1272,7 @@ function atributo_damage:AtualizaBarra (instancia, barras_container, qual_barra, forcar = true end - if (self.owner) then - actor_class_color_r, actor_class_color_g, actor_class_color_b = _unpack (_detalhes.class_colors [self.owner.classe]) - - elseif (self.monster) then - actor_class_color_r, actor_class_color_g, actor_class_color_b = _unpack (_detalhes.class_colors.ENEMY) - - else - if (_bit_band (self.flag_original, 0x00000020) ~= 0) then --> neutral - actor_class_color_r, actor_class_color_g, actor_class_color_b = 1, 1, 0 - else - actor_class_color_r, actor_class_color_g, actor_class_color_b = _unpack (_detalhes.class_colors [self.classe]) - end - end + actor_class_color_r, actor_class_color_g, actor_class_color_b = self:GetBarColor() return self:RefreshBarra2 (esta_barra, instancia, tabela_anterior, forcar, esta_porcentagem, qual_barra, barras_container) @@ -1334,17 +1352,7 @@ end --[[ exported]] function _detalhes:RefreshBarra (esta_barra, instancia, from_resize) if (from_resize) then - if (self.owner) then - actor_class_color_r, actor_class_color_g, actor_class_color_b = _unpack (_detalhes.class_colors [self.owner.classe]) - elseif (self.monster) then - actor_class_color_r, actor_class_color_g, actor_class_color_b = _unpack (_detalhes.class_colors.ENEMY) - else - if (_bit_band (self.flag_original, 0x00000020) ~= 0) then --> neutral - actor_class_color_r, actor_class_color_g, actor_class_color_b = 1, 1, 0 - else - actor_class_color_r, actor_class_color_g, actor_class_color_b = _unpack (_detalhes.class_colors [self.classe]) - end - end + actor_class_color_r, actor_class_color_g, actor_class_color_b = self:GetBarColor() end if (instancia.row_info.texture_class_colors) then @@ -1389,19 +1397,28 @@ end esta_barra.icone_classe:SetTexCoord (_unpack (CLASS_ICON_TCOORDS [self.classe])) --very slow method esta_barra.icone_classe:SetVertexColor (1, 1, 1) end - + if (self.enemy) then - if (_detalhes.faction_against == "Horde") then - esta_barra.texto_esquerdo:SetText (esta_barra.colocacao..". |TInterface\\AddOns\\Details\\images\\icones_barra:"..instancia.row_info.height..":"..instancia.row_info.height..":0:0:256:32:0:32:0:32|t"..self.displayName) --seta o texto da esqueda -- HORDA + if (self.arena_enemy) then + esta_barra.texto_esquerdo:SetText (esta_barra.colocacao .. ".|TInterface\\LFGFRAME\\UI-LFG-ICON-ROLES:" .. instancia.row_info.height .. ":" .. instancia.row_info.height .. ":0:0:256:256:" .. _detalhes.role_texcoord [self.role or "NONE"] .. "|t" .. self.displayName) + esta_barra.textura:SetVertexColor (actor_class_color_r, actor_class_color_g, actor_class_color_b) else - esta_barra.texto_esquerdo:SetText (esta_barra.colocacao..". |TInterface\\AddOns\\Details\\images\\icones_barra:"..instancia.row_info.height..":"..instancia.row_info.height..":0:0:256:32:32:64:0:32|t"..self.displayName) --seta o texto da esqueda -- ALLY - end - - if (instancia.row_info.texture_class_colors) then - esta_barra.textura:SetVertexColor (0.94117, 0, 0.01960, 1) + if (_detalhes.faction_against == "Horde") then + esta_barra.texto_esquerdo:SetText (esta_barra.colocacao..". |TInterface\\AddOns\\Details\\images\\icones_barra:"..instancia.row_info.height..":"..instancia.row_info.height..":0:0:256:32:0:32:0:32|t"..self.displayName) --seta o texto da esqueda -- HORDA + else + esta_barra.texto_esquerdo:SetText (esta_barra.colocacao..". |TInterface\\AddOns\\Details\\images\\icones_barra:"..instancia.row_info.height..":"..instancia.row_info.height..":0:0:256:32:32:64:0:32|t"..self.displayName) --seta o texto da esqueda -- ALLY + end + + if (instancia.row_info.texture_class_colors) then + esta_barra.textura:SetVertexColor (0.94117, 0, 0.01960, 1) + end end else - esta_barra.texto_esquerdo:SetText (esta_barra.colocacao..". "..self.displayName) --seta o texto da esqueda + if (self.arena_ally) then + esta_barra.texto_esquerdo:SetText (esta_barra.colocacao .. ".|TInterface\\LFGFRAME\\UI-LFG-ICON-ROLES:" .. instancia.row_info.height .. ":" .. instancia.row_info.height .. ":0:0:256:256:" .. _detalhes.role_texcoord [self.role or "NONE"] .. "|t" .. self.displayName) + else + esta_barra.texto_esquerdo:SetText (esta_barra.colocacao..". "..self.displayName) --seta o texto da esqueda + end end if (instancia.row_info.textL_class_colors) then diff --git a/classes/classe_energy.lua b/classes/classe_energy.lua index 132a6c72..09bd98ec 100644 --- a/classes/classe_energy.lua +++ b/classes/classe_energy.lua @@ -453,11 +453,7 @@ function atributo_energy:AtualizaBarra (instancia, barras_container, qual_barra, gump:UpdateTooltip (qual_barra, esta_barra, instancia) end - if (self.owner) then - actor_class_color_r, actor_class_color_g, actor_class_color_b = _unpack (_detalhes.class_colors [self.owner.classe]) - else - actor_class_color_r, actor_class_color_g, actor_class_color_b = _unpack (_detalhes.class_colors [self.classe]) - end + actor_class_color_r, actor_class_color_g, actor_class_color_b = self:GetBarColor() return self:RefreshBarra2 (esta_barra, instancia, tabela_anterior, forcar, esta_porcentagem, qual_barra, barras_container) end @@ -536,11 +532,7 @@ end function atributo_energy:RefreshBarra (esta_barra, instancia, from_resize) if (from_resize) then - if (self.owner) then - actor_class_color_r, actor_class_color_g, actor_class_color_b = _unpack (_detalhes.class_colors [self.owner.classe]) - else - actor_class_color_r, actor_class_color_g, actor_class_color_b = _unpack (_detalhes.class_colors [self.classe]) - end + actor_class_color_r, actor_class_color_g, actor_class_color_b = self:GetBarColor() end if (instancia.row_info.texture_class_colors) then @@ -587,17 +579,26 @@ function atributo_energy:RefreshBarra (esta_barra, instancia, from_resize) end if (self.enemy) then - if (_detalhes.faction_against == "Horde") then - esta_barra.texto_esquerdo:SetText (esta_barra.colocacao..". |TInterface\\AddOns\\Details\\images\\icones_barra:"..instancia.row_info.height..":"..instancia.row_info.height..":0:0:256:32:0:32:0:32|t"..self.displayName) --seta o texto da esqueda -- HORDA + if (self.arena_enemy) then + esta_barra.texto_esquerdo:SetText (esta_barra.colocacao .. ".|TInterface\\LFGFRAME\\UI-LFG-ICON-ROLES:" .. instancia.row_info.height .. ":" .. instancia.row_info.height .. ":0:0:256:256:" .. _detalhes.role_texcoord [self.role or "NONE"] .. "|t" .. self.displayName) + esta_barra.textura:SetVertexColor (actor_class_color_r, actor_class_color_g, actor_class_color_b) else - esta_barra.texto_esquerdo:SetText (esta_barra.colocacao..". |TInterface\\AddOns\\Details\\images\\icones_barra:"..instancia.row_info.height..":"..instancia.row_info.height..":0:0:256:32:32:64:0:32|t"..self.displayName) --seta o texto da esqueda -- ALLY - end - - if (instancia.row_info.texture_class_colors) then - esta_barra.textura:SetVertexColor (240/255, 0, 5/255, 1) + if (_detalhes.faction_against == "Horde") then + esta_barra.texto_esquerdo:SetText (esta_barra.colocacao..". |TInterface\\AddOns\\Details\\images\\icones_barra:"..instancia.row_info.height..":"..instancia.row_info.height..":0:0:256:32:0:32:0:32|t"..self.displayName) --seta o texto da esqueda -- HORDA + else + esta_barra.texto_esquerdo:SetText (esta_barra.colocacao..". |TInterface\\AddOns\\Details\\images\\icones_barra:"..instancia.row_info.height..":"..instancia.row_info.height..":0:0:256:32:32:64:0:32|t"..self.displayName) --seta o texto da esqueda -- ALLY + end + + if (instancia.row_info.texture_class_colors) then + esta_barra.textura:SetVertexColor (0.94117, 0, 0.01960, 1) + end end else - esta_barra.texto_esquerdo:SetText (esta_barra.colocacao..". "..self.displayName) --seta o texto da esqueda + if (self.arena_ally) then + esta_barra.texto_esquerdo:SetText (esta_barra.colocacao .. ".|TInterface\\LFGFRAME\\UI-LFG-ICON-ROLES:" .. instancia.row_info.height .. ":" .. instancia.row_info.height .. ":0:0:256:256:" .. _detalhes.role_texcoord [self.role or "NONE"] .. "|t" .. self.displayName) + else + esta_barra.texto_esquerdo:SetText (esta_barra.colocacao..". "..self.displayName) --seta o texto da esqueda + end end if (instancia.row_info.textL_class_colors) then diff --git a/classes/classe_heal.lua b/classes/classe_heal.lua index d604690e..d9c42390 100644 --- a/classes/classe_heal.lua +++ b/classes/classe_heal.lua @@ -160,6 +160,8 @@ end function atributo_heal:ContainerRefreshHps (container, combat_time) + local total = 0 + if (_detalhes.time_type == 2 or not _detalhes:CaptureGet ("heal")) then for _, actor in _ipairs (container) do if (actor.grupo) then @@ -167,13 +169,16 @@ function atributo_heal:ContainerRefreshHps (container, combat_time) else actor.last_hps = actor.total / actor:Tempo() end + total = total + actor.last_hps end else for _, actor in _ipairs (container) do actor.last_hps = actor.total / actor:Tempo() + total = total + actor.last_hps end end + return total end function atributo_heal:ReportSingleDamagePreventedLine (actor, instancia) @@ -264,9 +269,14 @@ function atributo_heal:RefreshWindow (instancia, tabela_do_combate, forcar, expo amount = _detalhes:ContainerSortHeal (conteudo, amount, keyName) - --> pega o total ja aplicado na tabela do combate - total = tabela_do_combate.totals [class_type] - + if (sub_atributo == 2) then --hps + local combat_time = instancia.showing:GetCombatTime() + total = atributo_heal:ContainerRefreshHps (conteudo, combat_time) + else + --> pega o total ja aplicado na tabela do combate + total = tabela_do_combate.totals [class_type] + end + --> grava o total instancia.top = conteudo[1][keyName] @@ -641,11 +651,7 @@ function atributo_heal:AtualizaBarra (instancia, barras_container, qual_barra, l gump:UpdateTooltip (qual_barra, esta_barra, instancia) end - if (self.owner) then - actor_class_color_r, actor_class_color_g, actor_class_color_b = _unpack (_detalhes.class_colors [self.owner.classe]) - else - actor_class_color_r, actor_class_color_g, actor_class_color_b = _unpack (_detalhes.class_colors [self.classe]) - end + actor_class_color_r, actor_class_color_g, actor_class_color_b = self:GetBarColor() return self:RefreshBarra2 (esta_barra, instancia, tabela_anterior, forcar, esta_porcentagem, qual_barra, barras_container) end @@ -724,11 +730,7 @@ end function atributo_heal:RefreshBarra (esta_barra, instancia, from_resize) if (from_resize) then - if (self.owner) then - actor_class_color_r, actor_class_color_g, actor_class_color_b = _unpack (_detalhes.class_colors [self.owner.classe]) - else - actor_class_color_r, actor_class_color_g, actor_class_color_b = _unpack (_detalhes.class_colors [self.classe]) - end + actor_class_color_r, actor_class_color_g, actor_class_color_b = self:GetBarColor() end if (instancia.row_info.texture_class_colors) then @@ -775,17 +777,26 @@ function atributo_heal:RefreshBarra (esta_barra, instancia, from_resize) end if (self.enemy) then - if (_detalhes.faction_against == "Horde") then - esta_barra.texto_esquerdo:SetText (esta_barra.colocacao..". |TInterface\\AddOns\\Details\\images\\icones_barra:" .. instancia.row_info.height .. ":" .. instancia.row_info.height .. ":0:0:256:32:0:32:0:32|t"..self.displayName) --seta o texto da esqueda -- HORDA + if (self.arena_enemy) then + esta_barra.texto_esquerdo:SetText (esta_barra.colocacao .. ".|TInterface\\LFGFRAME\\UI-LFG-ICON-ROLES:" .. instancia.row_info.height .. ":" .. instancia.row_info.height .. ":0:0:256:256:" .. _detalhes.role_texcoord [self.role or "NONE"] .. "|t" .. self.displayName) + esta_barra.textura:SetVertexColor (actor_class_color_r, actor_class_color_g, actor_class_color_b) else - esta_barra.texto_esquerdo:SetText (esta_barra.colocacao..". |TInterface\\AddOns\\Details\\images\\icones_barra:" .. instancia.row_info.height .. ":" .. instancia.row_info.height .. ":0:0:256:32:32:64:0:32|t"..self.displayName) --seta o texto da esqueda -- ALLY - end - - if (instancia.row_info.texture_class_colors) then - esta_barra.textura:SetVertexColor (240/255, 0, 5/255, 1) + if (_detalhes.faction_against == "Horde") then + esta_barra.texto_esquerdo:SetText (esta_barra.colocacao..". |TInterface\\AddOns\\Details\\images\\icones_barra:"..instancia.row_info.height..":"..instancia.row_info.height..":0:0:256:32:0:32:0:32|t"..self.displayName) --seta o texto da esqueda -- HORDA + else + esta_barra.texto_esquerdo:SetText (esta_barra.colocacao..". |TInterface\\AddOns\\Details\\images\\icones_barra:"..instancia.row_info.height..":"..instancia.row_info.height..":0:0:256:32:32:64:0:32|t"..self.displayName) --seta o texto da esqueda -- ALLY + end + + if (instancia.row_info.texture_class_colors) then + esta_barra.textura:SetVertexColor (0.94117, 0, 0.01960, 1) + end end else - esta_barra.texto_esquerdo:SetText (esta_barra.colocacao..". "..self.displayName) --seta o texto da esqueda + if (self.arena_ally) then + esta_barra.texto_esquerdo:SetText (esta_barra.colocacao .. ".|TInterface\\LFGFRAME\\UI-LFG-ICON-ROLES:" .. instancia.row_info.height .. ":" .. instancia.row_info.height .. ":0:0:256:256:" .. _detalhes.role_texcoord [self.role or "NONE"] .. "|t" .. self.displayName) + else + esta_barra.texto_esquerdo:SetText (esta_barra.colocacao..". "..self.displayName) --seta o texto da esqueda + end end if (instancia.row_info.textL_class_colors) then diff --git a/classes/classe_instancia.lua b/classes/classe_instancia.lua index 9644af34..cbdba9d4 100644 --- a/classes/classe_instancia.lua +++ b/classes/classe_instancia.lua @@ -2012,7 +2012,7 @@ function _detalhes:ChangeIcon (icon) end end -function _detalhes:AlteraModo (instancia, qual) +function _detalhes:AlteraModo (instancia, qual, from_mode_menu) if (_type (instancia) == "number") then qual = instancia @@ -2134,16 +2134,20 @@ function _detalhes:AlteraModo (instancia, qual) local checked if (instancia.modo == 1) then - checked = 3 + checked = 4 elseif (instancia.modo == 2) then checked = 1 elseif (instancia.modo == 3) then checked = 2 elseif (instancia.modo == 4) then - checked = 4 + checked = 3 end _detalhes.popup:Select (1, checked) + + if (from_mode_menu) then + instancia.baseframe.cabecalho.modo_selecao:GetScript ("OnEnter")(instancia.baseframe.cabecalho.modo_selecao) + end end local function GetDpsHps (_thisActor, key) @@ -2229,7 +2233,7 @@ function _detalhes:monta_relatorio (este_relatorio, custom) if (not is_current) then --> assumindo que self é sempre uma instância aqui. - local total, keyName, keyNameSec, first + local total, keyName, keyNameSec, first, container_amount local atributo = self.atributo local container = self.showing [atributo]._ActorTable @@ -2246,18 +2250,20 @@ function _detalhes:monta_relatorio (este_relatorio, custom) container = reportarFrags keyName = "frag" else - total, keyName, first = _detalhes.atributo_damage:RefreshWindow (self, self.showing, true, true) + total, keyName, first, container_amount = _detalhes.atributo_damage:RefreshWindow (self, self.showing, true, true) if (self.sub_atributo == 1) then keyNameSec = "dps" + elseif (self.sub_atributo == 2) then + end end elseif (atributo == 2) then --> heal - total, keyName, first = _detalhes.atributo_heal:RefreshWindow (self, self.showing, true, true) + total, keyName, first, container_amount = _detalhes.atributo_heal:RefreshWindow (self, self.showing, true, true) if (self.sub_atributo == 1) then keyNameSec = "hps" end elseif (atributo == 3) then --> energy - total, keyName, first = _detalhes.atributo_energy:RefreshWindow (self, self.showing, true, true) + total, keyName, first, container_amount = _detalhes.atributo_energy:RefreshWindow (self, self.showing, true, true) elseif (atributo == 4) then --> misc if (self.sub_atributo == 5) then --> mortes local mortes = self.showing.last_events_tables @@ -2268,52 +2274,58 @@ function _detalhes:monta_relatorio (este_relatorio, custom) container = reportarMortes keyName = "dead" else - total, keyName, first = _detalhes.atributo_misc:RefreshWindow (self, self.showing, true, true) + total, keyName, first, container_amount = _detalhes.atributo_misc:RefreshWindow (self, self.showing, true, true) end elseif (atributo == 5) then --> custom if (_detalhes.custom [self.sub_atributo]) then - total, keyName, first = _detalhes.atributo_custom:RefreshWindow (self, self.showing, true, {key = "custom"}) + total, keyName, first, container_amount = _detalhes.atributo_custom:RefreshWindow (self, self.showing, true, {key = "custom"}) total = self.showing.totals [self.customName] atributo = _detalhes.custom [self.sub_atributo].attribute container = self.showing [atributo]._ActorTable else - total, keyName, first = _detalhes.atributo_damage:RefreshWindow (self, self.showing, true, true) + total, keyName, first, container_amount = _detalhes.atributo_damage:RefreshWindow (self, self.showing, true, true) total = 1 atributo = 1 container = self.showing [atributo]._ActorTable end - --print (total, keyName, first, atributo) + --print (total, keyName, first, atributo, container_amount) end + amt = math.min (amt, container_amount) + for i = 1, amt do local _thisActor = container [i] if (_thisActor) then + local amount = _thisActor [keyName] + + local name = _thisActor.nome.." " + if (_detalhes.remove_realm_from_name and name:find ("-")) then + name = name:gsub (("%-.*"), "") + end + + _detalhes.fontstring_len:SetText (name) + local stringlen = _detalhes.fontstring_len:GetStringWidth() + + while (stringlen < default_len) do + name = name .. "." + _detalhes.fontstring_len:SetText (name) + stringlen = _detalhes.fontstring_len:GetStringWidth() + end + if (_type (amount) == "number" and amount > 0) then --1236 if (keyNameSec) then local dps = GetDpsHps (_thisActor, keyNameSec) - - local name = _thisActor.nome.." " - if (_detalhes.remove_realm_from_name and name:find ("-")) then - name = name:gsub (("%-.*"), "") - end - - _detalhes.fontstring_len:SetText (name) - local stringlen = _detalhes.fontstring_len:GetStringWidth() - - while (stringlen < default_len) do - name = name .. "." - _detalhes.fontstring_len:SetText (name) - stringlen = _detalhes.fontstring_len:GetStringWidth() - end - - report_lines [#report_lines+1] = i..". ".. name .." ".. _cstr ("%.2f", amount/total*100) .. "% (" .. _detalhes:comma_value (_math_floor (dps)) .. ", " .. _detalhes:ToK ( _math_floor (amount) ) .. ")" + report_lines [#report_lines+1] = i .. ". " .. name .. " " .. _cstr ("%.2f", amount/total*100) .. "% (" .. _detalhes:comma_value (_math_floor (dps)) .. ", " .. _detalhes:ToK ( _math_floor (amount) ) .. ")" else - report_lines [#report_lines+1] = i..". ".. _thisActor.nome.." " .. _detalhes:ToKReport (amount).." (".._cstr ("%.1f", amount/total*100).."%)" + report_lines [#report_lines+1] = i .. ". " .. name .. " " .. _detalhes:ToKReport (amount).." (".._cstr ("%.1f", amount/total*100).."%)" end + elseif (_type (amount) == "string") then - report_lines [#report_lines+1] = i..". ".. _thisActor.nome.." ".. amount + + report_lines [#report_lines+1] = i .. ". " .. name .. " " .. amount + else break end @@ -2342,7 +2354,7 @@ function _detalhes:monta_relatorio (este_relatorio, custom) if (not is_current) then --> assumindo que self é sempre uma instância aqui. - local total, keyName, first + local total, keyName, first, container_amount local atributo = self.atributo local container = self.showing [atributo]._ActorTable @@ -2362,15 +2374,15 @@ function _detalhes:monta_relatorio (este_relatorio, custom) if (self.sub_atributo == 1) then keyNameSec = "dps" end - total, keyName, first = _detalhes.atributo_damage:RefreshWindow (self, self.showing, true, true) + total, keyName, first, container_amount = _detalhes.atributo_damage:RefreshWindow (self, self.showing, true, true) end elseif (atributo == 2) then --> heal - total, keyName, first = _detalhes.atributo_heal:RefreshWindow (self, self.showing, true, true) + total, keyName, first, container_amount = _detalhes.atributo_heal:RefreshWindow (self, self.showing, true, true) if (self.sub_atributo == 1) then keyNameSec = "hps" end elseif (atributo == 3) then --> energy - total, keyName, first = _detalhes.atributo_energy:RefreshWindow (self, self.showing, true, true) + total, keyName, first, container_amount = _detalhes.atributo_energy:RefreshWindow (self, self.showing, true, true) elseif (atributo == 4) then --> misc if (self.sub_atributo == 5) then --> mortes local mortes = self.showing.last_events_tables @@ -2381,46 +2393,49 @@ function _detalhes:monta_relatorio (este_relatorio, custom) container = reportarMortes keyName = "dead" else - total, keyName, first = _detalhes.atributo_misc:RefreshWindow (self, self.showing, true, true) + total, keyName, first, container_amount = _detalhes.atributo_misc:RefreshWindow (self, self.showing, true, true) end elseif (atributo == 5) then --> custom - total, keyName, first = _detalhes.atributo_custom:RefreshWindow (self, self.showing, true, {key = "custom"}) + total, keyName, first, container_amount = _detalhes.atributo_custom:RefreshWindow (self, self.showing, true, {key = "custom"}) total = self.showing.totals [self.customName] atributo = _detalhes.custom [self.sub_atributo].attribute end + + local this_amt = math.min (#container, container_amount, amt) + this_amt = #container - this_amt - for i = #container, 1, -1 do + for i = container_amount, this_amt, -1 do local _thisActor = container [i] local amount = _thisActor [keyName] + local name = _thisActor.nome.." " + + _detalhes.fontstring_len:SetText (name) + local stringlen = _detalhes.fontstring_len:GetStringWidth() + + while (stringlen < default_len) do + name = name .. "." + _detalhes.fontstring_len:SetText (name) + stringlen = _detalhes.fontstring_len:GetStringWidth() + end + if (_type (amount) == "number") then if (amount > 0) then if (keyNameSec) then local dps = GetDpsHps (_thisActor, keyNameSec) - - local name = _thisActor.nome.." " - - _detalhes.fontstring_len:SetText (name) - local stringlen = _detalhes.fontstring_len:GetStringWidth() - - while (stringlen < default_len) do - name = name .. "." - _detalhes.fontstring_len:SetText (name) - stringlen = _detalhes.fontstring_len:GetStringWidth() - end - - report_lines [#report_lines+1] = i..". ".. name .." ".. _cstr ("%.2f", amount/total*100) .. "% (" .. _detalhes:comma_value (_math_floor (dps)) .. ", " .. _detalhes:ToK ( _math_floor (amount) ) .. ")" + report_lines [#report_lines+1] = i .. ". " .. name .. " " .. _cstr ("%.2f", amount/total*100) .. "% (" .. _detalhes:comma_value (_math_floor (dps)) .. ", " .. _detalhes:ToK ( _math_floor (amount) ) .. ")" else - report_lines [#report_lines+1] = i..".".. _thisActor.nome.." ".. _detalhes:comma_value ( _math_floor (amount) ).." (".._cstr ("%.1f", amount/total*100).."%)" + report_lines [#report_lines+1] = i .. "." .. name .. " " .. _detalhes:comma_value ( _math_floor (amount) ).." (".._cstr ("%.1f", amount/total*100).."%)" end + quantidade = quantidade + 1 if (quantidade == amt) then break end end elseif (_type (amount) == "string") then - report_lines [#report_lines+1] = i..".".. _thisActor.nome.." ".. amount + report_lines [#report_lines+1] = i .. ". " .. name .. " " .. amount else break end diff --git a/classes/classe_others.lua b/classes/classe_others.lua index 180b9437..a0179e9e 100644 --- a/classes/classe_others.lua +++ b/classes/classe_others.lua @@ -683,11 +683,7 @@ function atributo_misc:AtualizaBarra (instancia, barras_container, qual_barra, l gump:UpdateTooltip (qual_barra, esta_barra, instancia) end - if (self.owner) then - actor_class_color_r, actor_class_color_g, actor_class_color_b = _unpack (_detalhes.class_colors [self.owner.classe]) - else - actor_class_color_r, actor_class_color_g, actor_class_color_b = _unpack (_detalhes.class_colors [self.classe]) - end + actor_class_color_r, actor_class_color_g, actor_class_color_b = self:GetBarColor() return self:RefreshBarra2 (esta_barra, instancia, tabela_anterior, forcar, esta_porcentagem, qual_barra, barras_container) end @@ -766,11 +762,7 @@ end function atributo_misc:RefreshBarra (esta_barra, instancia, from_resize) if (from_resize) then - if (self.owner) then - actor_class_color_r, actor_class_color_g, actor_class_color_b = _unpack (_detalhes.class_colors [self.owner.classe]) - else - actor_class_color_r, actor_class_color_g, actor_class_color_b = _unpack (_detalhes.class_colors [self.classe]) - end + actor_class_color_r, actor_class_color_g, actor_class_color_b = self:GetBarColor() end if (instancia.row_info.texture_class_colors) then @@ -817,17 +809,26 @@ function atributo_misc:RefreshBarra (esta_barra, instancia, from_resize) end if (self.enemy) then - if (_detalhes.faction_against == "Horde") then - esta_barra.texto_esquerdo:SetText (esta_barra.colocacao..". |TInterface\\AddOns\\Details\\images\\icones_barra:"..instancia.row_info.height..":"..instancia.row_info.height..":0:0:256:32:0:32:0:32|t"..self.displayName) --seta o texto da esqueda -- HORDA + if (self.arena_enemy) then + esta_barra.texto_esquerdo:SetText (esta_barra.colocacao .. ".|TInterface\\LFGFRAME\\UI-LFG-ICON-ROLES:" .. instancia.row_info.height .. ":" .. instancia.row_info.height .. ":0:0:256:256:" .. _detalhes.role_texcoord [self.role or "NONE"] .. "|t" .. self.displayName) + esta_barra.textura:SetVertexColor (actor_class_color_r, actor_class_color_g, actor_class_color_b) else - esta_barra.texto_esquerdo:SetText (esta_barra.colocacao..". |TInterface\\AddOns\\Details\\images\\icones_barra:"..instancia.row_info.height..":"..instancia.row_info.height..":0:0:256:32:32:64:0:32|t"..self.displayName) --seta o texto da esqueda -- ALLY - end - - if (instancia.row_info.texture_class_colors) then - esta_barra.textura:SetVertexColor (240/255, 0, 5/255, 1) + if (_detalhes.faction_against == "Horde") then + esta_barra.texto_esquerdo:SetText (esta_barra.colocacao..". |TInterface\\AddOns\\Details\\images\\icones_barra:"..instancia.row_info.height..":"..instancia.row_info.height..":0:0:256:32:0:32:0:32|t"..self.displayName) --seta o texto da esqueda -- HORDA + else + esta_barra.texto_esquerdo:SetText (esta_barra.colocacao..". |TInterface\\AddOns\\Details\\images\\icones_barra:"..instancia.row_info.height..":"..instancia.row_info.height..":0:0:256:32:32:64:0:32|t"..self.displayName) --seta o texto da esqueda -- ALLY + end + + if (instancia.row_info.texture_class_colors) then + esta_barra.textura:SetVertexColor (0.94117, 0, 0.01960, 1) + end end else - esta_barra.texto_esquerdo:SetText (esta_barra.colocacao..". "..self.displayName) --seta o texto da esqueda + if (self.arena_ally) then + esta_barra.texto_esquerdo:SetText (esta_barra.colocacao .. ".|TInterface\\LFGFRAME\\UI-LFG-ICON-ROLES:" .. instancia.row_info.height .. ":" .. instancia.row_info.height .. ":0:0:256:256:" .. _detalhes.role_texcoord [self.role or "NONE"] .. "|t" .. self.displayName) + else + esta_barra.texto_esquerdo:SetText (esta_barra.colocacao..". "..self.displayName) --seta o texto da esqueda + end end if (instancia.row_info.textL_class_colors) then diff --git a/classes/container_combatentes.lua b/classes/container_combatentes.lua index 703664ed..b12b7463 100644 --- a/classes/container_combatentes.lua +++ b/classes/container_combatentes.lua @@ -108,12 +108,13 @@ end --> read the actor flag - local read_actor_flag = function (novo_objeto, shadow_objeto, dono_do_pet, serial, flag, nome) + local read_actor_flag = function (novo_objeto, shadow_objeto, dono_do_pet, serial, flag, nome, container_type) if (flag) then --> é um player if (_bit_band (flag, OBJECT_TYPE_PLAYER) ~= 0) then + novo_objeto.displayName = _detalhes:GetNickname (serial, false, true) --> serial, default, silent if (not novo_objeto.displayName) then if (_IsInInstance() and _detalhes.remove_realm_from_name) then @@ -123,7 +124,7 @@ end end - if (_bit_band (flag, IS_GROUP_OBJECT) ~= 0 and novo_objeto.classe ~= "UNGROUPPLAYER") then --> faz parte do grupo + if ( (_bit_band (flag, IS_GROUP_OBJECT) ~= 0 and novo_objeto.classe ~= "UNGROUPPLAYER")) then --> faz parte do grupo novo_objeto.grupo = true if (shadow_objeto) then @@ -137,6 +138,68 @@ end end end + + if (_detalhes.is_in_arena) then + + if (novo_objeto.grupo) then --> is ally + novo_objeto.arena_ally = true + + else --> is enemy + novo_objeto.arena_enemy = true + + end + + local arena_props = _detalhes.arena_table [nome] + if (nome == "Ditador") then + print ("Arena Cprops: ", arena_props) + end + + if (arena_props) then + novo_objeto.role = arena_props.role + + if (arena_props.role == "NONE") then + local role = UnitGroupRolesAssigned (nome) + if (role ~= "NONE") then + novo_objeto.role = role + end + end + + print ("TEM CPROPS", novo_objeto.role) + else + local oponentes = GetNumArenaOpponentSpecs() + local found = false + for i = 1, oponentes do + local name = GetUnitName ("arena" .. i, true) + if (name == nome) then + local spec = GetArenaOpponentSpec (i) + if (spec) then + local id, name, description, icon, background, role, class = GetSpecializationInfoByID (spec) + novo_objeto.role = role + novo_objeto.classe = class + novo_objeto.enemy = true + novo_objeto.arena_enemy = true + found = true + end + end + end + + local role = UnitGroupRolesAssigned (nome) + if (role ~= "NONE") then + novo_objeto.role = role + found = true + end + + if (not found and nome == _detalhes.playername) then + local role = UnitGroupRolesAssigned ("player") + if (role ~= "NONE") then + novo_objeto.role = role + end + end + + end + + novo_objeto.grupo = true + end --> é um pet elseif (dono_do_pet) then @@ -217,7 +280,7 @@ if (self.tipo == container_damage) then --> CONTAINER DAMAGE get_actor_class (novo_objeto, nome, flag) - read_actor_flag (novo_objeto, shadow_objeto, dono_do_pet, serial, flag, nome) + read_actor_flag (novo_objeto, shadow_objeto, dono_do_pet, serial, flag, nome, "damage") if (dono_do_pet) then dono_do_pet.pets [#dono_do_pet.pets+1] = nome @@ -249,7 +312,7 @@ elseif (self.tipo == container_heal) then --> CONTAINER HEALING get_actor_class (novo_objeto, nome, flag) - read_actor_flag (novo_objeto, shadow_objeto, dono_do_pet, serial, flag, nome) + read_actor_flag (novo_objeto, shadow_objeto, dono_do_pet, serial, flag, nome, "heal") if (dono_do_pet) then dono_do_pet.pets [#dono_do_pet.pets+1] = nome @@ -278,7 +341,7 @@ elseif (self.tipo == container_energy) then --> CONTAINER ENERGY get_actor_class (novo_objeto, nome, flag) - read_actor_flag (novo_objeto, shadow_objeto, dono_do_pet, serial, flag, nome) + read_actor_flag (novo_objeto, shadow_objeto, dono_do_pet, serial, flag, nome, "energy") if (dono_do_pet) then dono_do_pet.pets [#dono_do_pet.pets+1] = nome @@ -303,7 +366,7 @@ elseif (self.tipo == container_misc) then --> CONTAINER MISC get_actor_class (novo_objeto, nome, flag) - read_actor_flag (novo_objeto, shadow_objeto, dono_do_pet, serial, flag, nome) + read_actor_flag (novo_objeto, shadow_objeto, dono_do_pet, serial, flag, nome, "misc") --local teste_classe = diff --git a/core/control.lua b/core/control.lua index 8726e351..74201595 100644 --- a/core/control.lua +++ b/core/control.lua @@ -23,6 +23,7 @@ local _GetInstanceInfo = GetInstanceInfo --wow api local local _UnitExists = UnitExists --wow api local local _UnitGUID = UnitGUID --wow api local + local _UnitName = UnitName --wow api local local _IsAltKeyDown = IsAltKeyDown local _IsShiftKeyDown = IsShiftKeyDown @@ -117,6 +118,47 @@ _detalhes.tabela_vigente.is_boss = boss_table + if (_detalhes.in_combat and not _detalhes.leaving_combat) then + + --> catch boss function if any + local bossFunction, bossFunctionType = _detalhes:GetBossFunction (ZoneMapID, BossIndex) + if (bossFunction) then + if (_bit_band (bossFunctionType, 0x1) ~= 0) then --realtime + _detalhes.bossFunction = bossFunction + _detalhes.tabela_vigente.bossFunction = _detalhes:ScheduleTimer ("bossFunction", 1) + end + end + + if (_detalhes.zone_type ~= "raid") then + local endType, endData = _detalhes:GetEncounterEnd (ZoneMapID, BossIndex) + if (endType and endData) then + + if (_detalhes.debug) then + _detalhes:Msg ("(debug) setting boss end type to:", endType) + end + + _detalhes.encounter_end_table.type = endType + _detalhes.encounter_end_table.killed = {} + _detalhes.encounter_end_table.data = {} + + if (type (endData) == "table") then + if (_detalhes.debug) then + _detalhes:Msg ("(debug) boss type is table:", endType) + end + if (endType == 1 or endType == 2) then + for _, npcID in ipairs (endData) do + _detalhes.encounter_end_table.data [npcID] = false + end + end + else + if (endType == 1 or endType == 2) then + _detalhes.encounter_end_table.data [endData] = false + end + end + end + end + end + _detalhes:SendEvent ("COMBAT_BOSS_FOUND", nil, index, name) return boss_table @@ -148,54 +190,11 @@ local BossIndex = BossIds [serial] if (BossIndex) then - if (_detalhes.debug) then _detalhes:Msg ("(debug) boss found:",_detalhes:GetBossName (ZoneMapID, BossIndex)) end - - if (_detalhes.in_combat) then - - --> catch boss function if any - local bossFunction, bossFunctionType = _detalhes:GetBossFunction (ZoneMapID, BossIndex) - if (bossFunction) then - if (_bit_band (bossFunctionType, 0x1) ~= 0) then --realtime - _detalhes.bossFunction = bossFunction - local combat = _detalhes:GetCombat ("current") - combat.bossFunction = _detalhes:ScheduleTimer ("bossFunction", 1) - end - end - - --> catch boss end if any - local endType, endData = _detalhes:GetEncounterEnd (ZoneMapID, BossIndex) - if (endType and endData) then - - if (_detalhes.debug) then - _detalhes:Msg ("(debug) setting boss end type to:", endType) - end - - _detalhes.encounter.type = endType - _detalhes.encounter.killed = {} - _detalhes.encounter.data = {} - - if (type (endData) == "table") then - if (_detalhes.debug) then - _detalhes:Msg ("(debug) boss type is table:", endType) - end - if (endType == 1 or endType == 2) then - for _, npcID in ipairs (endData) do - _detalhes.encounter.data [npcID] = false - end - end - else - if (endType == 1 or endType == 2) then - _detalhes.encounter.data [endData] = false - end - end - end - end return boss_found (BossIndex, _detalhes:GetBossName (ZoneMapID, BossIndex), ZoneName, ZoneMapID, DifficultyID) - end end end @@ -249,7 +248,7 @@ _detalhes:Msg ("(debug) started a new combat.") end - --> não tem historico, addon foi resetado, a primeira tabela é descartada -- Erase first table is does not have a firts segment history, this occour after reset or first run + --> não tem historico, addon foi resetado, a primeira tabela é descartada -- Erase first table is do es not have a firts segment history, this occour after reset or first run if (not _detalhes.tabela_historico.tabelas[1]) then --> precisa zerar aqui a tabela overall _table_wipe (_detalhes.tabela_overall) @@ -291,7 +290,7 @@ --> é o timer que ve se o jogador ta em combate ou não -- check if any party or raid members are in combat _detalhes.tabela_vigente.verifica_combate = _detalhes:ScheduleRepeatingTimer ("EstaEmCombate", 1) - _table_wipe (_detalhes.encounter) + _table_wipe (_detalhes.encounter_end_table) _table_wipe (_detalhes.pets_ignored) _table_wipe (_detalhes.pets_no_owner) @@ -359,6 +358,8 @@ _detalhes:Msg ("(debug) ended a combat.") end + _detalhes.leaving_combat = true + if (_detalhes.schedule_remove_overall and not from_encounter_end and not InCombatLockdown()) then if (_detalhes.debug) then _detalhes:Msg ("(debug) found schedule overall data deletion.") @@ -554,6 +555,7 @@ end _detalhes.in_combat = false --sinaliza ao addon que não há combate no momento + _detalhes.leaving_combat = false --sinaliza que não esta mais saindo do combate _table_wipe (_detalhes.cache_damage_group) _table_wipe (_detalhes.cache_healing_group) @@ -576,6 +578,80 @@ _detalhes:SendEvent ("COMBAT_PLAYER_LEAVE", nil, _detalhes.tabela_vigente) end + + function _detalhes:GetPlayersInArena() + local aliados = GetNumGroupMembers (LE_PARTY_CATEGORY_HOME) + for i = 1, aliados-1 do + local role = UnitGroupRolesAssigned ("party" .. i) + if (role ~= "NONE") then + local name = GetUnitName ("party" .. i, true) + _detalhes.arena_table [name] = {role = role} + end + end + + local role = UnitGroupRolesAssigned ("player") + if (role ~= "NONE") then + local name = GetUnitName ("player", true) + _detalhes.arena_table [name] = {role = role} + end + if (_detalhes.debug) then + _detalhes:Msg ("(debug) Found", oponentes, "enemies and", aliados, "allies") + end + end + + function _detalhes:CreateArenaSegment() + + _detalhes:GetPlayersInArena() + + _detalhes.arena_begun = true + _detalhes.start_arena = nil + + if (_detalhes.in_combat) then + _detalhes:SairDoCombate() + end + + --> inicia um novo combate + _detalhes:EntrarEmCombate() + + --> sinaliza que esse combate é arena + _detalhes.tabela_vigente.arena = true + _detalhes.tabela_vigente.is_arena = {name = _detalhes.zone_name, zone = _detalhes.zone_name, mapid = _detalhes.zone_id} + end + + function _detalhes:StartArenaSegment (...) + if (_detalhes.debug) then + _detalhes:Msg ("(debug) starting a new arena segment.") + end + + local timerType, timeSeconds, totalTime = select (1, ...) + + if (_detalhes.start_arena) then + _detalhes:CancelTimer (_detalhes.start_arena, true) + end + _detalhes.start_arena = _detalhes:ScheduleTimer ("CreateArenaSegment", timeSeconds) + _detalhes:GetPlayersInArena() + end + + function _detalhes:EnteredInArena() + + if (_detalhes.debug) then + _detalhes:Msg ("(debug) arena detected.") + end + + _detalhes.arena_begun = false + + _detalhes:GetPlayersInArena() + end + + function _detalhes:LeftArena() + + _detalhes.is_in_arena = false + _detalhes.arena_begun = false + + if (_detalhes.start_arena) then + _detalhes:CancelTimer (_detalhes.start_arena, true) + end + end function _detalhes:MakeEqualizeOnActor (player, realm, receivedActor) diff --git a/core/parser.lua b/core/parser.lua index 2b99f7d5..cadb45a5 100644 --- a/core/parser.lua +++ b/core/parser.lua @@ -2175,6 +2175,18 @@ end _current_combat.frags_need_refresh = true + + --> detect dungeon boss + --if (_detalhes.zone_type == "party") then + -- local npcID = tonumber (alvo_serial:sub (6, 10), 16) + -- local boss_ids = _detalhes:GetBossIds (_detalhes.zone_id) + + -- if (boss_ids) then + -- if (_detalhes.zone_id [npcID]) then + + -- end + -- end + --end --> player death elseif (not _UnitIsFeignDeath (alvo_name)) then @@ -2510,8 +2522,9 @@ -- PARSER --serach key: ~parser ~event ~start ~inicio - - _detalhes.parser_functions = {} + + + function _detalhes.parser_functions:ZONE_CHANGED_NEW_AREA (...) local zoneName, zoneType, _, _, _, _, _, zoneMapID = _GetInstanceInfo() @@ -2520,6 +2533,14 @@ _detalhes.zone_id = zoneMapID _detalhes.zone_name = zoneName + if (_detalhes.debug) then + _detalhes:Msg ("(debug) zone change:", _detalhes.zone_name, "is a", _detalhes.zone_type, "zone.") + end + + if (_detalhes.is_in_arena and zoneType ~= "arena") then + _detalhes:LeftArena() + end + if (zoneType == "pvp") then if (not _current_combat.pvp) then @@ -2533,6 +2554,16 @@ _current_combat.is_pvp = {name = zoneName, zone = ZoneName, mapid = ZoneMapID} _detalhes.listener:RegisterEvent ("CHAT_MSG_BG_SYSTEM_NEUTRAL") end + + elseif (zoneType == "arena") then + + if (_detalhes.debug) then + _detalhes:Msg ("(debug) zone type is arena.") + end + + _detalhes.is_in_arena = true + _detalhes:EnteredInArena() + else if (_detalhes:IsInInstance()) then _detalhes.last_instance = zoneMapID @@ -2715,8 +2746,22 @@ end function _detalhes.parser_functions:START_TIMER (...) + + if (_detalhes.debug) then + _detalhes:Msg ("(debug) found a timer.") + end + if (C_Scenario.IsChallengeMode() and _detalhes.overall_clear_newchallenge) then _detalhes.historico:resetar_overall() + if (_detalhes.debug) then + _detalhes:Msg ("(debug) timer is a challenge mode start.") + end + + elseif (_detalhes.is_in_arena) then + _detalhes:StartArenaSegment (...) + if (_detalhes.debug) then + _detalhes:Msg ("(debug) timer is a arena countdown.") + end end end @@ -2862,7 +2907,7 @@ return _detalhes.cache_damage_group end function _detalhes:GetActorsOnHealingCache() - return _detalhes.cache_damage_group + return _detalhes.cache_healing_group end function _detalhes:ClearParserCache() diff --git a/core/plugins_raid.lua b/core/plugins_raid.lua index 411f1ed6..159542f1 100644 --- a/core/plugins_raid.lua +++ b/core/plugins_raid.lua @@ -33,35 +33,6 @@ current_plugin_object.Frame:Hide() end instance.current_raid_plugin = nil - - --[[ - if (_G.DetailsWaitForPluginFrame:IsShown()) then - _detalhes:CancelWaitForPlugin() - end - gump:Fade (instancia, 1, nil, "barras") - gump:Fade (instancia.scroll, 0) - - if (instancia.need_rolagem) then - instancia:MostrarScrollBar (true) - else - --> precisa verificar se ele precisa a rolagem certo? - instancia:ReajustaGump() - end - - --> calcula se existem barras, etc... - if (not instancia.rows_fit_in_window) then --> as barras não forma iniciadas ainda - instancia.rows_fit_in_window = _math_floor (instancia.baseframe.BoxBarrasAltura / instancia.row_height) - if (instancia.rows_created < instancia.rows_fit_in_window) then - for i = #instancia.barras+1, instancia.rows_fit_in_window do - local nova_barra = gump:CriaNovaBarra (instancia, i, 30) --> cria nova barra - nova_barra.texto_esquerdo:SetText (Loc ["STRING_NEWROW"]) - nova_barra.statusbar:SetValue (100) - instancia.barras [i] = nova_barra - end - instancia.rows_created = #instancia.barras - end - end - --]] end function _detalhes:RaidPluginInstalled (plugin_name) @@ -77,8 +48,15 @@ end end - function _detalhes.RaidTables:EnableRaidMode (instance, plugin_name) + function _detalhes.RaidTables:EnableRaidMode (instance, plugin_name, from_cooltip, from_mode_menu) + --> check if came from cooltip + if (from_cooltip) then + self = _detalhes.RaidTables + instance = plugin_name + plugin_name = from_cooltip + end + --> set the mode if (instance.modo == modo_alone) then instance:SoloMode (false) @@ -121,6 +99,11 @@ --last check if the name is okey if (self:IsAvailable (plugin_name, instance)) then self:switch (nil, plugin_name, instance) + + if (from_mode_menu) then + --refresh + instance.baseframe.cabecalho.modo_selecao:GetScript ("OnEnter")(instance.baseframe.cabecalho.modo_selecao) + end else if (not instance.wait_for_plugin) then instance:CreateWaitForPlugin() @@ -154,8 +137,6 @@ --check if is available local in_use = self.PluginsInUse [ plugin_name ] - -- print (instance:GetId() .. " In Use By Instance: ", in_use ) - if (in_use and in_use ~= instance:GetId()) then return false else @@ -168,8 +149,7 @@ self.PluginsInUse [ absolute_name ] = instance_number end end - - + ---------------- function _detalhes.RaidTables:switch (_, plugin_name, instance) diff --git a/core/util.lua b/core/util.lua index d89dde34..f73a9570 100644 --- a/core/util.lua +++ b/core/util.lua @@ -276,7 +276,7 @@ _detalhes:TimeDataTick() _detalhes:BrokerTick() - if (_detalhes.zone_type == "pvp" or _InCombatLockdown()) then + if (_detalhes.zone_type == "pvp" or _detalhes.zone_type == "arena" or _InCombatLockdown()) then return true elseif (_UnitAffectingCombat("player")) then return true diff --git a/framework/cooltip.lua b/framework/cooltip.lua index 52cd7694..9f401fb2 100644 --- a/framework/cooltip.lua +++ b/framework/cooltip.lua @@ -62,7 +62,6 @@ function DetailsCreateCoolTip() CoolTip.SelectedIndexMain = nil --> menus CoolTip.SelectedIndexSec = {} --> menus - --options table CoolTip.OptionsList = { ["IconSize"] = true, @@ -104,49 +103,10 @@ function DetailsCreateCoolTip() ["HeighMod"] = true, ["IconBlendMode"] = true, ["IconBlendModeHover"] = true, + ["SubFollowButton"] = true, } - CoolTip.OptionsTable = { - ["IconSize"] = nil, - ["HeightAnchorMod"] = nil, - ["WidthAnchorMod"] = nil, - ["MinWidth"] = nil, - ["FixedWidth"] = nil, - ["FixedHeight"] = nil, - ["FixedWidthSub"] = nil, - ["FixedHeightSub"] = nil, - ["IgnoreSubMenu"] = nil, - ["IgnoreButtonAutoHeight"] = nil, - ["TextHeightMod"] = nil, - ["ButtonHeightMod"] = nil, - ["ButtonHeightModSub"] = nil, - ["YSpacingMod"] = nil, - ["YSpacingModSub"] = nil, - ["ButtonsYMod"] = nil, - ["ButtonsYModSub"] = nil, - ["IconHeightMod"] = nil, - ["StatusBarHeightMod"] = nil, - ["StatusBarTexture"] = nil, - ["TextSize"] = nil, - ["TextFont"] = nil, - ["TextColor"] = nil, - ["TextShadow"] = nil, - ["LeftTextWidth"] = nil, - ["RightTextWidth"] = nil, - ["LeftTextHeight"] = nil, - ["RightTextHeight"] = nil, - ["NoFade"] = nil, - ["MyAnchor"] = nil, - ["Anchor"] = nil, - ["RelativeAnchor"] = nil, - ["NoLastSelectedBar"] = nil, - ["SubMenuIsTooltip"] = nil, - ["LeftBorderSize"] = nil, - ["RightBorderSize"] = nil, - ["HeighMod"] = nil, - ["IconBlendMode"] = nil, - ["IconBlendModeHover"] = nil, - } + CoolTip.OptionsTable = {} --cprops CoolTip.Indexes = 0 --> amount of lines current on shown @@ -1102,6 +1062,28 @@ function DetailsCreateCoolTip() gump:Fade (frame2, 0) + if (CoolTip.OptionsTable.SubFollowButton and not CoolTip.frame2_leftside) then + + local button = frame1.Lines [index] + + frame2:ClearAllPoints() + frame2:SetPoint ("left", button, "right") + + elseif (CoolTip.OptionsTable.SubFollowButton and CoolTip.frame2_leftside) then + + local button = frame1.Lines [index] + + frame2:ClearAllPoints() + frame2:SetPoint ("right", button, "left") + + elseif (CoolTip.frame2_leftside) then + frame2:ClearAllPoints() + frame2:SetPoint ("bottomright", frame1, "bottomleft") + else + frame2:ClearAllPoints() + frame2:SetPoint ("bottomleft", frame1, "bottomright") + end + end function CoolTip:HideSub() @@ -1285,12 +1267,10 @@ function DetailsCreateCoolTip() frame1:EnableMouse (true) - --CoolTip.IndexesSub [CoolTip.Indexes] - if (CoolTip.HaveSubMenu) then --> zera o segundo frame frame2.w = 0 frame2:SetHeight (6) - if (CoolTip.SelectedIndexMain) then + if (CoolTip.SelectedIndexMain and CoolTip.IndexesSub [CoolTip.SelectedIndexMain] and CoolTip.IndexesSub [CoolTip.SelectedIndexMain] > 0) then gump:Fade (frame2, 0) else gump:Fade (frame2, 1) @@ -1311,7 +1291,7 @@ function DetailsCreateCoolTip() CoolTip:SetupMainButton (menuButton, i) if (CoolTip.SelectedIndexMain and CoolTip.SelectedIndexMain == i) then - if (CoolTip.HaveSubMenu) then + if (CoolTip.HaveSubMenu and CoolTip.IndexesSub [i] and CoolTip.IndexesSub [i] > 0) then CoolTip:ShowSub (i) end end @@ -1503,6 +1483,7 @@ function DetailsCreateCoolTip() frame2:ClearAllPoints() frame2:SetPoint ("bottomright", frame1, "bottomleft") + CoolTip.frame2_leftside = true --+ diff return CoolTip:SetMyPoint (host, CoolTip.internal_x_mod , CoolTip.internal_y_mod) end @@ -1724,6 +1705,8 @@ function DetailsCreateCoolTip() CoolTip.internal_y_mod = 0 CoolTip.overlap_checked = false + CoolTip.frame2_leftside = nil + --> --[ diff --git a/functions/profiles.lua b/functions/profiles.lua index 30ac84f2..72c83e13 100644 --- a/functions/profiles.lua +++ b/functions/profiles.lua @@ -490,6 +490,21 @@ local default_profile = { 0.12, -- [2] 0.23, -- [3] }, + ["ARENA_ALLY"] = { + 0.2, -- [1] + 1, -- [2] + 0.2, -- [3] + }, + ["ARENA_ENEMY"] = { + 1, -- [1] + 1, -- [2] + 0, -- [3] + }, + ["NEUTRAL"] = { + 1, -- [1] + 1, -- [2] + 0, -- [3] + }, }, --> minimap diff --git a/functions/spells.lua b/functions/spells.lua index 32db60e1..7efc67ed 100644 --- a/functions/spells.lua +++ b/functions/spells.lua @@ -2,6 +2,10 @@ do local _detalhes = _G._detalhes + _detalhes.SpecSpellList = { + + } + _detalhes.ClassSpellList = { --death knight diff --git a/functions/timedata.lua b/functions/timedata.lua index 9eb5dd59..7c76638d 100644 --- a/functions/timedata.lua +++ b/functions/timedata.lua @@ -118,6 +118,10 @@ tinsert (_detalhes.savedTimeCaptures, {name, func, matrix, author, version, icon, is_enabled, do_not_save = no_save}) + if (_G.DetailsOptionsWindow and _G.DetailsOptionsWindow:IsShown()) then + _G.DetailsOptionsWindow16UserTimeCapturesFillPanel.MyObject:Refresh() + end + return true end diff --git a/gumps/janela_info.lua b/gumps/janela_info.lua index d87eea79..52605dd8 100644 --- a/gumps/janela_info.lua +++ b/gumps/janela_info.lua @@ -1603,6 +1603,9 @@ function gump:CriaJanelaInfo() local target_texture = [[Interface\MINIMAP\TRACKING\Target]] local empty_text = "" + + local plus = red .. "+(" + local minor = green .. "-(" local fill_compare_targets = function (self, player, other_players, target_pool) @@ -1731,11 +1734,11 @@ function gump:CriaJanelaInfo() if (data [2] > player_2_target_total) then local diff = data [2] - player_2_target_total local up = diff / data [2] * 100 - bar_2 [2].righttext:SetText (_detalhes:ToK2Min (player_2_target_total) .. " |c" .. red .. "-(" .. _math_floor (up) .. "%)|r") + bar_2 [2].righttext:SetText (_detalhes:ToK2Min (player_2_target_total) .. " |c" .. minor .. _math_floor (up) .. "%)|r") else local diff = player_2_target_total - data [2] local down = diff / player_2_target_total * 100 - bar_2 [2].righttext:SetText (_detalhes:ToK2Min (player_2_target_total) .. " |c" .. green .. "+(" .. _math_floor (down) .. "%)|r") + bar_2 [2].righttext:SetText (_detalhes:ToK2Min (player_2_target_total) .. " |c" .. plus .. _math_floor (down) .. "%)|r") end bar_2 [2]:SetValue (player_2_target_total / player_2_top * 100) @@ -1786,11 +1789,11 @@ function gump:CriaJanelaInfo() if (data [2] > player_3_target_total) then local diff = data [2] - player_3_target_total local up = diff / data [2] * 100 - bar_3 [2].righttext:SetText (_detalhes:ToK2Min (player_3_target_total) .. " |c" .. red .. "-(" .. _math_floor (up) .. "%)|r") + bar_3 [2].righttext:SetText (_detalhes:ToK2Min (player_3_target_total) .. " |c" .. minor .. _math_floor (up) .. "%)|r") else local diff = player_3_target_total - data [2] local down = diff / player_3_target_total * 100 - bar_3 [2].righttext:SetText (_detalhes:ToK2Min (player_3_target_total) .. " |c" .. green .. "+(" .. _math_floor (down) .. "%)|r") + bar_3 [2].righttext:SetText (_detalhes:ToK2Min (player_3_target_total) .. " |c" .. plus .. _math_floor (down) .. "%)|r") end bar_3 [2]:SetValue (player_3_target_total / player_3_top * 100) @@ -1924,11 +1927,11 @@ function gump:CriaJanelaInfo() elseif (data [2] > spell.total) then local diff = data [2] - spell.total local up = diff / data [2] * 100 - bar_2 [2].righttext:SetText (_detalhes:ToK2Min (spell.total) .. " |c" .. red .. "-(" .. _math_floor (up) .. "%)|r") + bar_2 [2].righttext:SetText (_detalhes:ToK2Min (spell.total) .. " |c" .. minor .. _math_floor (up) .. "%)|r") else local diff = spell.total - data [2] local down = diff / spell.total * 100 - bar_2 [2].righttext:SetText (_detalhes:ToK2Min (spell.total) .. " |c" .. green .. "+(" .. _math_floor (down) .. "%)|r") + bar_2 [2].righttext:SetText (_detalhes:ToK2Min (spell.total) .. " |c" .. plus .. _math_floor (down) .. "%)|r") end bar_2 [2]:SetValue (spell.total / player_2_top * 100) @@ -1961,11 +1964,11 @@ function gump:CriaJanelaInfo() elseif (data [2] > spell.total) then local diff = data [2] - spell.total local up = diff / data [2] * 100 - bar_3 [2].righttext:SetText (_detalhes:ToK2Min (spell.total) .. " |c" .. red .. "-(" .. _math_floor (up) .. "%)|r") + bar_3 [2].righttext:SetText (_detalhes:ToK2Min (spell.total) .. " |c" .. minor .. _math_floor (up) .. "%)|r") else local diff = spell.total - data [2] local down = diff / spell.total * 100 - bar_3 [2].righttext:SetText (_detalhes:ToK2Min (spell.total) .. " |c" .. green .. "+(" .. _math_floor (down) .. "%)|r") + bar_3 [2].righttext:SetText (_detalhes:ToK2Min (spell.total) .. " |c" .. plus .. _math_floor (down) .. "%)|r") end bar_3 [2]:SetValue (spell.total / player_3_top * 100) @@ -2166,11 +2169,11 @@ function gump:CriaJanelaInfo() if (spell [2] > this_spell [2]) then local diff = spell [2] - this_spell [2] local up = diff / spell [2] * 100 - bar [2].righttext:SetText (_detalhes:ToK2Min (this_spell [2]) .. " |c" .. red .. "-(" .. _math_floor (up) .. "%)|r") + bar [2].righttext:SetText (_detalhes:ToK2Min (this_spell [2]) .. " |c" .. minor .. _math_floor (up) .. "%)|r") else local diff = this_spell [2] - spell [2] local down = diff / this_spell [2] * 100 - bar [2].righttext:SetText (_detalhes:ToK2Min (this_spell [2]) .. " |c" .. green .. "+(" .. _math_floor (down) .. "%)|r") + bar [2].righttext:SetText (_detalhes:ToK2Min (this_spell [2]) .. " |c" .. plus .. _math_floor (down) .. "%)|r") end bar [2]:SetValue (this_spell [2]/player_2_top*100) @@ -2206,11 +2209,11 @@ function gump:CriaJanelaInfo() if (spell [2] > this_spell [2]) then local diff = spell [2] - this_spell [2] local up = diff / spell [2] * 100 - bar [2].righttext:SetText (_detalhes:ToK2Min (this_spell [2]) .. " |c" .. red .. "-(" .. _math_floor (up) .. "%)|r") + bar [2].righttext:SetText (_detalhes:ToK2Min (this_spell [2]) .. " |c" .. minor .. _math_floor (up) .. "%)|r") else local diff = this_spell [2] - spell [2] local down = diff / this_spell [2] * 100 - bar [2].righttext:SetText (_detalhes:ToK2Min (this_spell [2]) .. " |c" .. green .. "+(" .. _math_floor (down) .. "%)|r") + bar [2].righttext:SetText (_detalhes:ToK2Min (this_spell [2]) .. " |c" .. plus .. _math_floor (down) .. "%)|r") end bar [2]:SetValue (this_spell [2]/player_3_top*100) @@ -2325,31 +2328,31 @@ function gump:CriaJanelaInfo() if (hits > bar2[3][1]) then local diff = hits - bar2[3][1] local up = diff / hits * 100 - frame2.tooltip.hits_label2:SetText (bar2[3][1] .. " |c" .. red .. "-(" .. _math_floor (up) .. "%)|r") + frame2.tooltip.hits_label2:SetText (bar2[3][1] .. " |c" .. minor .. _math_floor (up) .. "%)|r") else local diff = bar2[3][1] - hits local down = diff / bar2[3][1] * 100 - frame2.tooltip.hits_label2:SetText (bar2[3][1] .. " |c" .. green .. "+(" .. _math_floor (down) .. "%)|r") + frame2.tooltip.hits_label2:SetText (bar2[3][1] .. " |c" .. plus .. _math_floor (down) .. "%)|r") end if (average > bar2[3][2]) then local diff = average - bar2[3][2] local up = diff / average * 100 - frame2.tooltip.average_label2:SetText (_detalhes:ToK2Min (bar2[3][2]) .. " |c" .. red .. "-(" .. _math_floor (up) .. "%)|r") + frame2.tooltip.average_label2:SetText (_detalhes:ToK2Min (bar2[3][2]) .. " |c" .. minor .. _math_floor (up) .. "%)|r") else local diff = bar2[3][2] - average local down = diff / bar2[3][2] * 100 - frame2.tooltip.average_label2:SetText (_detalhes:ToK2Min (bar2[3][2]) .. " |c" .. green .. "+(" .. _math_floor (down) .. "%)|r") + frame2.tooltip.average_label2:SetText (_detalhes:ToK2Min (bar2[3][2]) .. " |c" .. plus .. _math_floor (down) .. "%)|r") end if (critical > bar2[3][3]) then local diff = critical - bar2[3][3] local up = diff / critical * 100 - frame2.tooltip.crit_label2:SetText (bar2[3][3] .. "%" .. " |c" .. red .. "-(" .. _math_floor (up) .. "%)|r") + frame2.tooltip.crit_label2:SetText (bar2[3][3] .. "%" .. " |c" .. minor .. _math_floor (up) .. "%)|r") else local diff = bar2[3][3] - critical local down = diff / bar2[3][3] * 100 - frame2.tooltip.crit_label2:SetText (bar2[3][3] .. "%" .. " |c" .. green .. "+(" .. _math_floor (down) .. "%)|r") + frame2.tooltip.crit_label2:SetText (bar2[3][3] .. "%" .. " |c" .. plus .. _math_floor (down) .. "%)|r") end if (player2_misc) then @@ -2359,11 +2362,11 @@ function gump:CriaJanelaInfo() if (player1_uptime > spell.uptime) then local diff = player1_uptime - spell.uptime local up = diff / player1_uptime * 100 - frame2.tooltip.uptime_label2:SetText (minutos .. "m" .. segundos .. "s |c" .. red .. "-(" .. _math_floor (up) .. "%)|r") + frame2.tooltip.uptime_label2:SetText (minutos .. "m" .. segundos .. "s |c" .. minor .. _math_floor (up) .. "%)|r") else local diff = spell.uptime - player1_uptime local down = diff / spell.uptime * 100 - frame2.tooltip.uptime_label2:SetText (minutos .. "m" .. segundos .. "s |cFF00FF00+(" .. _math_floor (down) .. "%)|r") + frame2.tooltip.uptime_label2:SetText (minutos .. "m" .. segundos .. "s |c" .. plus .. _math_floor (down) .. "%)|r") end else frame2.tooltip.uptime_label2:SetText ("--x--x--") @@ -2382,31 +2385,31 @@ function gump:CriaJanelaInfo() if (hits > bar3[3][1]) then local diff = hits - bar3[3][1] local up = diff / hits * 100 - frame3.tooltip.hits_label2:SetText (bar3[3][1] .. " |c" .. red .. "-(" .. _math_floor (up) .. "%)|r") + frame3.tooltip.hits_label2:SetText (bar3[3][1] .. " |c" .. minor .. _math_floor (up) .. "%)|r") else local diff = bar3[3][1] - hits local down = diff / bar3[3][1] * 100 - frame3.tooltip.hits_label2:SetText (bar3[3][1] .. " |c" .. green .. "+(" .. _math_floor (down) .. "%)|r") + frame3.tooltip.hits_label2:SetText (bar3[3][1] .. " |c" .. plus .. _math_floor (down) .. "%)|r") end if (average > bar3[3][2]) then local diff = average - bar3[3][2] local up = diff / average * 100 - frame3.tooltip.average_label2:SetText (_detalhes:ToK2Min (bar3[3][2]) .. " |c" .. red .. "-(" .. _math_floor (up) .. "%)|r") + frame3.tooltip.average_label2:SetText (_detalhes:ToK2Min (bar3[3][2]) .. " |c" .. minor .. _math_floor (up) .. "%)|r") else local diff = bar3[3][2] - average local down = diff / bar3[3][2] * 100 - frame3.tooltip.average_label2:SetText (_detalhes:ToK2Min (bar3[3][2]) .. " |c" .. green .. "+(" .. _math_floor (down) .. "%)|r") + frame3.tooltip.average_label2:SetText (_detalhes:ToK2Min (bar3[3][2]) .. " |c" .. plus .. _math_floor (down) .. "%)|r") end if (critical > bar3[3][3]) then local diff = critical - bar3[3][3] local up = diff / critical * 100 - frame3.tooltip.crit_label2:SetText (bar3[3][3] .. "%" .. " |c" .. red .. "-(" .. _math_floor (up) .. "%)|r") + frame3.tooltip.crit_label2:SetText (bar3[3][3] .. "%" .. " |c" .. minor .. _math_floor (up) .. "%)|r") else local diff = bar3[3][3] - critical local down = diff / bar3[3][3] * 100 - frame3.tooltip.crit_label2:SetText (bar3[3][3] .. "%" .. " |c" .. green .. "+(" .. _math_floor (down) .. "%)|r") + frame3.tooltip.crit_label2:SetText (bar3[3][3] .. "%" .. " |c" .. plus .. _math_floor (down) .. "%)|r") end if (player3_misc) then @@ -2416,11 +2419,11 @@ function gump:CriaJanelaInfo() if (player1_uptime > spell.uptime) then local diff = player1_uptime - spell.uptime local up = diff / player1_uptime * 100 - frame3.tooltip.uptime_label2:SetText (minutos .. "m" .. segundos .. "s |c" .. red .. "-(" .. _math_floor (up) .. "%)|r") + frame3.tooltip.uptime_label2:SetText (minutos .. "m" .. segundos .. "s |c" .. minor .. _math_floor (up) .. "%)|r") else local diff = spell.uptime - player1_uptime local down = diff / spell.uptime * 100 - frame3.tooltip.uptime_label2:SetText (minutos .. "m" .. segundos .. "s |c" .. green .. "+(" .. _math_floor (down) .. "%)|r") + frame3.tooltip.uptime_label2:SetText (minutos .. "m" .. segundos .. "s |c" .. plus .. _math_floor (down) .. "%)|r") end else frame3.tooltip.uptime_label2:SetText ("--x--x--") diff --git a/gumps/janela_options.lua b/gumps/janela_options.lua index a35b68ce..0e330a2e 100644 --- a/gumps/janela_options.lua +++ b/gumps/janela_options.lua @@ -6764,6 +6764,9 @@ function window:update_all (editing_instance) _G.DetailsOptionsWindow14AttributeSideSwitch.MyObject:SetFixedParameter (editing_instance) _G.DetailsOptionsWindow14AttributeSideSwitch.MyObject:SetValue (editing_instance.attribute_text.side) + --> window 16 + _G.DetailsOptionsWindow16UserTimeCapturesFillPanel.MyObject:Refresh() + --> window 17 _G.DetailsOptionsWindow17CombatAlphaDropdown.MyObject:Select (editing_instance.hide_in_combat_type, true) _G.DetailsOptionsWindow17HideOnCombatAlphaSlider.MyObject:SetFixedParameter (editing_instance) diff --git a/gumps/janela_principal.lua b/gumps/janela_principal.lua index a9319581..e2b99775 100644 --- a/gumps/janela_principal.lua +++ b/gumps/janela_principal.lua @@ -3874,23 +3874,78 @@ local build_mode_list = function (self, elapsed) CoolTip:Reset() CoolTip:SetType ("menu") - CoolTip:AddFromTable (parameters_table [4]) CoolTip:SetLastSelected ("main", parameters_table [3]) CoolTip:SetFixedParameter (instancia) CoolTip:SetColor ("main", "transparent") CoolTip:SetOption ("TextSize", _detalhes.font_sizes.menus) + CoolTip:SetOption ("ButtonHeightModSub", -5) CoolTip:SetOption ("ButtonHeightMod", -5) + CoolTip:SetOption ("ButtonsYModSub", -5) CoolTip:SetOption ("ButtonsYMod", -5) + CoolTip:SetOption ("YSpacingModSub", 1) CoolTip:SetOption ("YSpacingMod", 1) CoolTip:SetOption ("FixedHeight", 106) CoolTip:SetOption ("FixedWidthSub", 146) - CoolTip:SetOption ("SubMenuIsTooltip", true) - if (_detalhes.tutorial.logons > 9) then - CoolTip:SetOption ("IgnoreSubMenu", true) + --CoolTip:SetOption ("SubMenuIsTooltip", true) + + --if (_detalhes.tutorial.logons > 9) then + --CoolTip:SetOption ("IgnoreSubMenu", true) + --end + + CoolTip:AddLine (Loc ["STRING_MODE_GROUP"]) + CoolTip:AddMenu (1, instancia.AlteraModo, 2, true) + CoolTip:AddIcon ([[Interface\AddOns\Details\images\modo_icones]], 1, 1, 20, 20, 32/256, 32/256*2, 0, 1) + --CoolTip:AddLine (Loc ["STRING_HELP_MODEGROUP"], nil, 2) + --CoolTip:AddIcon ([[Interface\TUTORIALFRAME\TutorialFrame-QuestionMark]], 2, 1, 16, 16, 8/64, 1 - (8/64), 8/64, 1 - (8/64)) + + CoolTip:AddLine (Loc ["STRING_MODE_ALL"]) + CoolTip:AddMenu (1, instancia.AlteraModo, 3, true) + CoolTip:AddIcon ([[Interface\AddOns\Details\images\modo_icones]], 1, 1, 20, 20, 32/256*2, 32/256*3, 0, 1) + --CoolTip:AddLine (Loc ["STRING_HELP_MODEALL"], nil, 2) + --CoolTip:AddIcon ([[Interface\TUTORIALFRAME\TutorialFrame-QuestionMark]], 2, 1, 16, 16, 8/64, 1 - (8/64), 8/64, 1 - (8/64)) + + CoolTip:AddLine (Loc ["STRING_MODE_RAID"]) + CoolTip:AddMenu (1, instancia.AlteraModo, 4, true) + CoolTip:AddIcon ([[Interface\AddOns\Details\images\modo_icones]], 1, 1, 20, 20, 32/256*3, 32/256*4, 0, 1) + --CoolTip:AddLine (Loc ["STRING_HELP_MODERAID"], nil, 2) + --CoolTip:AddIcon ([[Interface\TUTORIALFRAME\TutorialFrame-QuestionMark]], 2, 1, 16, 16, 8/64, 1 - (8/64), 8/64, 1 - (8/64)) + + --build raid plugins list + local available_plugins = _detalhes.RaidTables:GetAvailablePlugins() + + if (#available_plugins >= 0) then + local amt = 0 + + for index, ptable in _ipairs (available_plugins) do + if (ptable [3].__enabled) then + CoolTip:AddMenu (2, _detalhes.RaidTables.EnableRaidMode, instancia, ptable [4], true, ptable [1], ptable [2], true) --PluginName, PluginIcon, PluginObject, PluginAbsoluteName + amt = amt + 1 + end + end + + CoolTip:SetWallpaper (2, [[Interface\SPELLBOOK\Spellbook-Page-1]], {.6, 0.1, 0, 0.64453125}, {1, 1, 1, 0.1}, true) + + if (amt <= 3) then + CoolTip:SetOption ("SubFollowButton", true) + end end + CoolTip:AddLine (Loc ["STRING_MODE_SELF"]) + CoolTip:AddMenu (1, instancia.AlteraModo, 1, true) + CoolTip:AddIcon ([[Interface\AddOns\Details\images\modo_icones]], 1, 1, 20, 20, 0, 32/256, 0, 1) + --CoolTip:AddLine (Loc ["STRING_HELP_MODESELF"], nil, 2) + --CoolTip:AddIcon ([[Interface\TUTORIALFRAME\TutorialFrame-QuestionMark]], 2, 1, 16, 16, 8/64, 1 - (8/64), 8/64, 1 - (8/64)) + + --build self plugins list + + CoolTip:AddLine (Loc ["STRING_OPTIONS_WINDOW"]) + CoolTip:AddMenu (1, _detalhes.OpenOptionsWindow) + CoolTip:AddIcon ([[Interface\AddOns\Details\images\modo_icones]], 1, 1, 20, 20, 32/256*4, 32/256*5, 0, 1) + + --CoolTip:AddFromTable (parameters_table [4]) + if (instancia.consolidate) then CoolTip:SetOwner (self, "topleft", "topright", 3) else @@ -3990,6 +4045,25 @@ local build_segment_list = function (self, elapsed) CoolTip:SetWallpaper (2, bgImage, {0.09, 0.698125, 0, 0.833984375}, {1, 1, 1, 0.5}) end end + else + CoolTip:SetWallpaper (2, [[Interface\BlackMarket\HotItemBanner]], {0.14453125, 0.9296875, 0.2625, 0.6546875}, {1, 1, 1, 0.5}, true) + end + + elseif (thisCombat.is_arena) then + + local file, coords = _detalhes:GetArenaInfo (thisCombat.is_arena.mapid) + + enemy = thisCombat.is_arena.name + + CoolTip:AddLine (thisCombat.is_arena.name, _, 1, "yellow") + + --131 105 157 127 + --0.255859375 0.306640625 0.205078125 0.248046875 + CoolTip:AddIcon ([[Interface\AddOns\Details\images\icons]], "main", "left", 16, 12, 0.251953125, 0.306640625, 0.205078125, 0.248046875) + --CoolTip:AddIcon ([[Interface\WorldStateFrame\CombatSwords]], "main", "left", 12, 12, 0, 0.453125, 0.015625, 0.46875) + + if (file) then + CoolTip:SetWallpaper (2, "Interface\\Glues\\LOADINGSCREENS\\" .. file, coords, {1, 1, 1, 0.4}) end else @@ -4028,6 +4102,7 @@ local build_segment_list = function (self, elapsed) CoolTip:AddIcon ([[Interface\QUESTFRAME\UI-Quest-BulletPoint]], "main", "left", 16, 16, nil, nil, nil, nil, empty_segment_color) CoolTip:AddLine (Loc ["STRING_SEGMENT_EMPTY"], _, 2) CoolTip:AddIcon ([[Interface\CHARACTERFRAME\Disconnect-Icon]], 2, 1, 12, 12, 0.3125, 0.65625, 0.265625, 0.671875) + CoolTip:SetWallpaper (2, [[Interface\SPELLBOOK\Spellbook-Page-1]], {.6, 0.1, 0, 0.64453125}, {1, 1, 1, 0.1}, true) end if (menuIndex) then @@ -4193,13 +4268,6 @@ local build_segment_list = function (self, elapsed) end -local botao_fechar_on_enter = function (self) - OnEnterMainWindow (self.instancia, self, 3) -end -local botao_fechar_on_leave = function (self) - OnLeaveMainWindow (self.instancia, self, 3) -end - -- ~skin function _detalhes:ChangeSkin (skin_name) @@ -5386,7 +5454,78 @@ end end end + +--> close button functions + local close_button_onclick = function (self, _, button) + self = self or button + + self:Disable() + self.instancia:DesativarInstancia() + + --> não há mais instâncias abertas, então manda msg alertando + if (_detalhes.opened_windows == 0) then + _detalhes:Msg (Loc ["STRING_CLOSEALL"]) + end + + GameCooltip:Hide() + end + + local close_button_onenter = function (self) + OnEnterMainWindow (self.instance, self, 3) + + GameCooltip.buttonOver = true + self.instance.baseframe.cabecalho.button_mouse_over = true + + GameCooltip:Reset() + GameCooltip:SetOption ("ButtonsYMod", -2) + GameCooltip:SetOption ("ButtonsYModSub", -2) + GameCooltip:SetOption ("YSpacingMod", 0) + GameCooltip:SetOption ("YSpacingModSub", -3) + GameCooltip:SetOption ("TextHeightMod", 0) + GameCooltip:SetOption ("TextHeightModSub", 0) + GameCooltip:SetOption ("IgnoreButtonAutoHeight", false) + GameCooltip:SetOption ("IgnoreButtonAutoHeightSub", false) + GameCooltip:SetOption ("SubMenuIsTooltip", true) + GameCooltip:SetOption ("FixedWidthSub", 180) + + local font = SharedMedia:Fetch ("font", "Friz Quadrata TT") + GameCooltip:AddLine (Loc ["STRING_MENU_CLOSE_INSTANCE"], nil, 1, "white", nil, 10, font) + GameCooltip:AddIcon ([[Interface\Buttons\UI-Panel-MinimizeButton-Up]], 1, 1, 14, 14, 0.2, 0.8, 0.2, 0.8) + GameCooltip:AddMenu (1, close_button_onclick, self) + + GameCooltip:AddLine (Loc ["STRING_MENU_CLOSE_INSTANCE_DESC"], nil, 2, "white", nil, 10, font) + GameCooltip:AddIcon ([[Interface\CHATFRAME\UI-ChatIcon-Minimize-Up]], 2, 1, 18, 18) + + GameCooltip:AddLine (Loc ["STRING_MENU_CLOSE_INSTANCE_DESC2"], nil, 2, "white", nil, 10, font) + GameCooltip:AddIcon ([[Interface\PaperDollInfoFrame\UI-GearManager-LeaveItem-Transparent]], 2, 1, 18, 18) + + GameCooltip:SetWallpaper (1, [[Interface\SPELLBOOK\Spellbook-Page-1]], {.6, 0.1, 0, 0.64453125}, {1, 1, 1, 0.1}, true) + GameCooltip:SetWallpaper (2, [[Interface\SPELLBOOK\Spellbook-Page-1]], {.6, 0.1, 0, 0.64453125}, {1, 1, 1, 0.1}, true) + + + show_anti_overlap (self.instance, self, "top") + + GameCooltip:ShowCooltip (self, "menu") + end + + local close_button_onleave = function (self) + OnLeaveMainWindow (self.instance, self, 3) + + hide_anti_overlap (self.instance.baseframe.anti_menu_overlap) + + GameCooltip.buttonOver = false + self.instance.baseframe.cabecalho.button_mouse_over = false + + if (GameCooltip.active) then + parameters_table [2] = 0 + self:SetScript ("OnUpdate", on_leave_menu) + else + self:SetScript ("OnUpdate", nil) + end + + end + ------------------------------------------------------------------------------------------------------------------------------------------------------------------ --> build upper menu bar @@ -5405,18 +5544,13 @@ function gump:CriaCabecalho (baseframe, instancia) baseframe.cabecalho.fechar:SetHighlightTexture ([[Interface\Buttons\UI-Panel-MinimizeButton-Highlight]]) baseframe.cabecalho.fechar:SetPushedTexture ([[Interface\Buttons\UI-Panel-MinimizeButton-Down]]) - baseframe.cabecalho.fechar:SetScript ("OnClick", function() - baseframe.cabecalho.fechar:Disable() - instancia:DesativarInstancia() - --> não há mais instâncias abertas, então manda msg alertando - if (_detalhes.opened_windows == 0) then - print (Loc ["STRING_CLOSEALL"]) - end - end) - baseframe.cabecalho.fechar.instancia = instancia - baseframe.cabecalho.fechar:SetScript ("OnEnter", botao_fechar_on_enter) - baseframe.cabecalho.fechar:SetScript ("OnLeave", botao_fechar_on_leave) + baseframe.cabecalho.fechar.instance = instancia + + baseframe.cabecalho.fechar:SetScript ("OnEnter", close_button_onenter) + baseframe.cabecalho.fechar:SetScript ("OnLeave", close_button_onleave) + + baseframe.cabecalho.fechar:SetScript ("OnClick", close_button_onclick) --> bola do canto esquedo superior --> primeiro criar a armação para apoiar as texturas baseframe.cabecalho.ball_point = baseframe.cabecalho.fechar:CreateTexture (nil, "overlay") diff --git a/images/icons.tga b/images/icons.tga index b8dbfeff..5ed63f57 100644 Binary files a/images/icons.tga and b/images/icons.tga differ diff --git a/locales/Details-enUS.lua b/locales/Details-enUS.lua index 56ef8fd3..db3f86f0 100644 --- a/locales/Details-enUS.lua +++ b/locales/Details-enUS.lua @@ -2,7 +2,8 @@ local Loc = LibStub("AceLocale-3.0"):NewLocale("Details", "enUS", true) if not Loc then return end -------------------------------------------------------------------------------------------------------------------------------------------- - Loc ["STRING_VERSION_LOG"] = "|cFFFFFF00a1.16.0 - a1.16.1 (test version) (|cFFFFCC00Jun 10, 2014|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Pet dispell and interrupt count also for its owner as well.\n\n|cFFFFFF00-|r Few fixes on comparison panel over Player Details Window.\n\n|cFFFFFF00-|r Added option to be able to save the windows size and position within the profile.\n\n|cFFFFFF00-|r Added performance profile settings.\n\n|cFFFFFF00-|r Added auto switch based on group roles also a switch for wipe.\n\n|cFFFFFF00-|r Fixed a bug where sometimes all non boss segments was considered boss encounters.\n\n|cFFFFFF00v1.15.4 (|cFFFFCC00Jun 06, 2014|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Added a compare tab under Player Details Window:\nThis new tab showns up when there is too characters with the same class and spec.\nIts useful to compare skills used, uptimes and targets.\n\n|cFFFFFF00-|r Few improvements on Default and ElvUI skins.\n\n|cFFFFFF00-|r Added a button for auto align two windows within right chat window when ElvUI skin is active.\n\n|cFFFFFF00-|r Fixed problem with Damage -> Enemies display.\n\n|cFFFFFF00-|r Fixed report Player Detail Window report buttons.\n\n|cFFFFFF00-|r Fixed some report lines where the numbers wasnt properly formatted.\n\n|cFFFFFF00-|r Fixed a rare bug where the owner of some pets wasnt detected.\n\n|cFFFFFF00-|r Fixed issue in dungeons where capture data get paused after a boss kill.\n\n|cFFFFFF00-|r Fixed issue with Encounter Details showing its icon for dungeons bosses.\n\n|cFFFFFF00-|r Fixed a rare bug where the capture of damage stops after erasing a trash segment.\n\n|cFFFFFF00v1.15.0 - v1.15.3 - v1.15.3b (|cFFFFCC00Jun 03, 2014|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Emergencial fix for death logs which sometimes was breaking the addon data capture.\n\n|cFFFFFF00-|r Fixed window alerts which was showing behind the bars.\n\n|cFFFFFF00-|r Fixed death log issue with friendly fire hits.\n\n|cFFFFFF00-|r Fixed a issue where Details! windows wasn't hidden when a pet battle starts.\n\n|cFFFFFF00-|r Fixed a issue with segments menu when a window is placed on the right side of the screen.\n\n|cFFFFFF00-|r Damage -> Enemies now also show neutral creatures.\n\n|cFFFFFF00-|r Added support to dungeons, bosses and trash mobs are now recognized.\n\n|cFFFFFF00-|r Added target information for each spell in Player Detail Window.\n\n|cFFFFFF00-|r Added options for change the location of tooltips.\n\n|cFFFFFF00-|r Added options for change the Overall Data functionality.\n\n|cFFFFFF00-|r Added tooltips for lock and detach buttons.\n\n|cFFFFFF00-|r Added new row texture: Details Vidro.\n\n|cFFFFFF00-|r Revamp on death log tooltips.\n\n|cFFFFFF00-|r Improved the visual effect for the instance which current moving window can snap to.\n\n|cFFFFFF00v1.14.5 - 1.14.6 (|cFFFFCC00May 24, 2014|r|cFFFFFF00):|r\n\n|cFFFFFF00-|r Added option for lock segments display, so, when a segment is chosen, the other windows also change it.\n\n|cFFFFFF00-|r Added option for show the total amount of spells, targets and pets in tooltips.\n\n|cFFFFFF00-|r Finished another revamp on options panel.\n\n|cFFFFFF00-|r Now its possible open more then 1 Raid Plugins at once on diferent windows.\n\n|cFFFFFF00-|r Added a large text editor for make changes on custom texts.\n\n|cFFFFFF00-|r Added new option for enable borders on the bars.\n\n|cFFFFFF00-|r Added Death Barrier as a absorb spell.\n\n|cFFFFFF00-|r Fixed a bug on overheal tooltip where was showing the Hps instead of overheal.\n\n|cFFFFFF00v1.14.0 - v1.14.0b (|cFFFFCC00May 17, 2014|r|cFFFFFF00):\n\n|cFFFFFF00-|r Added a new tab on options panel for tooltip configuration.\n\n|cFFFFFF00-|r Added a new tab on options panel for broker config.\n\n|cFFFFFF00-|r Added new abbreviation method called comma.\n\n|cFFFFFF00-|r All instances now have a delete button.\n\n|cFFFFFF00-|r Full re-write on the instance, delete and close buttons.\n\n|cFFFFFF00-|r HotCorners now sort icons according with most used.\n\n|cFFFFFF00-|r Few changes on all skins in order to fit on the new right menu buttons.\n\n|cFFFFFF00-|r Added Horde avatars.\n\n|cFFFFFF00-|r Fixed issue where shortcut panel shows below thw windows when its in Dialog strata.\n\n|cFFFFFF00v1.13.8 - v1.13.8a (|cFFFFCC00May 09, 2014|r|cFFFFFF00):\n\n|cFFFFFF00-|r Fixed issue with Vanguard where it wasn't showing debuffs stacks on the tanks if you are a healer os dps.\n\n|cFFFFFF00-|r Added option for put stretch button on the fullscreen strata which makes it always on top of others frames.\n\n|cFFFFFF00-|r Added background and dialog stratas.\n\n|cFFFFFF00-|r Added option for percentage: follow the combat totals or the first player total.\n\n|cFFFFFF00-|r Added option for show or hide the left buttons on menu bar.\n\n|cFFFFFF00-|r Added option for change the left buttons size in the menu bar.\n\n|cFFFFFF00-|r Added option for delete a instance.\n\n|cFFFFFF00-|r Instance Segment Mini display now is more accuracy about telling the enemy in the segment.\n\n|cFFFFFF00-|r Player Details Window now show all pet abilities instead of just the total pet damage.\n\n|cFFFFFF00-|r Rework done on report texts, now the title is more shorter and also format Dps and Hps numbers.\n\n|cFFFFFF00-|r Simple Gray and again ElvUI skins got some rework.\n\n|cFFFFFF00-|r Lib HotCorner now is data broker based and shows up all broker plugins in the bar.\n\n|cFFFFFF00v1.13.5 / v1.13.5a (|cFFFFCC00May 02, 2014|r|cFFFFFF00):|r\n\n|cFFFFFF00-|r Added keybinds to reset segments and scroll up/down.\n\n|cFFFFFF00-|r Added Spell Customization options where icon and the name of a spell can be changed.\n\n|cFFFFFF00-|r Added option to change the micro displays side, now it can be shown on the window top side.\n\n|cFFFFFF00-|r Micro Displays, also, should now give less problems and be more dynamic.\n\n|cFFFFFF00-|r Added options to change the transparency when out of combat and out of a group.\n\n|cFFFFFF00-|r Added and Still under development the panel for create data captures for charts.\n\n|cFFFFFF00-|r Fixed a issue with flat skin where the close button was just too big.\n\n|cFFFFFF00v1.13.0 (|cFFFFCC00Apr 25, 2014|r|cFFFFFF00):|r\n\n|cFFFFFF00-|r Added four more abbreviation types.\n\n|cFFFFFF00-|r Fixed issue where the instance menu wasnt respecting the amount limit of instances.\n\n|cFFFFFF00-|r Added options for cutomize the right text of a row.\n\n|cFFFFFF00-|r Added a option to be able to chance the framestrata of an window.\n\n|cFFFFFF00-|r Added shift, ctrl, alt interaction for rows which shows all spells, targets or pets when pressed.\n\n|cFFFFFF00-|r Fixed a issue where changing the alpha of a window makes it disappear on the next logon.\n\n|cFFFFFF00-|r Added a option for auto transparency to ignore rows.\n\n|cFFFFFF00-|r Added option to be able to set shadow on the attribute text.\n\n|cFFFFFF00-|r Fixed a issue with window snap where disabled statusbar makes a gap between the windows.\n\n|cFFFFFF00-|r Added a hidden menu on the top left corner (experimental).\n\n|cFFFFFF00v1.12.3 (|cFFFFCC00Apr 18, 2014|r|cFFFFFF00):|r\n\n|cFFFFFF00-|r - Fixed 'Healing Per Second' which wasn't working at all.\n\n|cFFFFFF00-|r - Fixed the percent amount for target of damage done where sometimes it pass 100%.\n\n|cFFFFFF00-|r - Changes on Skins: 'Minimalistic' and 'Elm UI Frame Style'. It's necessary re-apply.\n\n|cFFFFFF00-|r - Added more cooldowns and spells for Monk tank over avoidance panel.\n\n|cFFFFFF00-|r - Player avatar now is also shown on the Player Details window.\n\n|cFFFFFF00-|r - Leaving empty the the icon file box, make details use no icons on bars." + + Loc ["STRING_VERSION_LOG"] = "|cFFFFFF00a1.16.0 - a1.16.1 - a1.16.3 (|cFFFFCC00Jun 13, 2014|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Mode menu now have a sub menu for raid plugins.\n\n|cFFFFFF00-|r Red and Green colors under comparison frame has been inverted.\n\n|cFFFFFF00-|r Fixed some report issues with dps and hps, also almost all reports now have guide lines.\n\n|cFFFFFF00-|r Pet dispell and interrupt count also for its owner as well.\n\n|cFFFFFF00-|r Few fixes on comparison panel over Player Details Window.\n\n|cFFFFFF00-|r Added option to be able to save the windows size and position within the profile.\n\n|cFFFFFF00-|r Added performance profile settings.\n\n|cFFFFFF00-|r Added auto switch based on group roles also a switch for wipe.\n\n|cFFFFFF00-|r Fixed a bug where sometimes all non boss segments was considered boss encounters.\n\n|cFFFFFF00v1.15.4 (|cFFFFCC00Jun 06, 2014|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Added a compare tab under Player Details Window:\nThis new tab showns up when there is too characters with the same class and spec.\nIts useful to compare skills used, uptimes and targets.\n\n|cFFFFFF00-|r Few improvements on Default and ElvUI skins.\n\n|cFFFFFF00-|r Added a button for auto align two windows within right chat window when ElvUI skin is active.\n\n|cFFFFFF00-|r Fixed problem with Damage -> Enemies display.\n\n|cFFFFFF00-|r Fixed report Player Detail Window report buttons.\n\n|cFFFFFF00-|r Fixed some report lines where the numbers wasnt properly formatted.\n\n|cFFFFFF00-|r Fixed a rare bug where the owner of some pets wasnt detected.\n\n|cFFFFFF00-|r Fixed issue in dungeons where capture data get paused after a boss kill.\n\n|cFFFFFF00-|r Fixed issue with Encounter Details showing its icon for dungeons bosses.\n\n|cFFFFFF00-|r Fixed a rare bug where the capture of damage stops after erasing a trash segment.\n\n|cFFFFFF00v1.15.0 - v1.15.3 - v1.15.3b (|cFFFFCC00Jun 03, 2014|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Emergencial fix for death logs which sometimes was breaking the addon data capture.\n\n|cFFFFFF00-|r Fixed window alerts which was showing behind the bars.\n\n|cFFFFFF00-|r Fixed death log issue with friendly fire hits.\n\n|cFFFFFF00-|r Fixed a issue where Details! windows wasn't hidden when a pet battle starts.\n\n|cFFFFFF00-|r Fixed a issue with segments menu when a window is placed on the right side of the screen.\n\n|cFFFFFF00-|r Damage -> Enemies now also show neutral creatures.\n\n|cFFFFFF00-|r Added support to dungeons, bosses and trash mobs are now recognized.\n\n|cFFFFFF00-|r Added target information for each spell in Player Detail Window.\n\n|cFFFFFF00-|r Added options for change the location of tooltips.\n\n|cFFFFFF00-|r Added options for change the Overall Data functionality.\n\n|cFFFFFF00-|r Added tooltips for lock and detach buttons.\n\n|cFFFFFF00-|r Added new row texture: Details Vidro.\n\n|cFFFFFF00-|r Revamp on death log tooltips.\n\n|cFFFFFF00-|r Improved the visual effect for the instance which current moving window can snap to.\n\n|cFFFFFF00v1.14.5 - 1.14.6 (|cFFFFCC00May 24, 2014|r|cFFFFFF00):|r\n\n|cFFFFFF00-|r Added option for lock segments display, so, when a segment is chosen, the other windows also change it.\n\n|cFFFFFF00-|r Added option for show the total amount of spells, targets and pets in tooltips.\n\n|cFFFFFF00-|r Finished another revamp on options panel.\n\n|cFFFFFF00-|r Now its possible open more then 1 Raid Plugins at once on diferent windows.\n\n|cFFFFFF00-|r Added a large text editor for make changes on custom texts.\n\n|cFFFFFF00-|r Added new option for enable borders on the bars.\n\n|cFFFFFF00-|r Added Death Barrier as a absorb spell.\n\n|cFFFFFF00-|r Fixed a bug on overheal tooltip where was showing the Hps instead of overheal.\n\n|cFFFFFF00v1.14.0 - v1.14.0b (|cFFFFCC00May 17, 2014|r|cFFFFFF00):\n\n|cFFFFFF00-|r Added a new tab on options panel for tooltip configuration.\n\n|cFFFFFF00-|r Added a new tab on options panel for broker config.\n\n|cFFFFFF00-|r Added new abbreviation method called comma.\n\n|cFFFFFF00-|r All instances now have a delete button.\n\n|cFFFFFF00-|r Full re-write on the instance, delete and close buttons.\n\n|cFFFFFF00-|r HotCorners now sort icons according with most used.\n\n|cFFFFFF00-|r Few changes on all skins in order to fit on the new right menu buttons.\n\n|cFFFFFF00-|r Added Horde avatars.\n\n|cFFFFFF00-|r Fixed issue where shortcut panel shows below thw windows when its in Dialog strata.\n\n|cFFFFFF00v1.13.8 - v1.13.8a (|cFFFFCC00May 09, 2014|r|cFFFFFF00):\n\n|cFFFFFF00-|r Fixed issue with Vanguard where it wasn't showing debuffs stacks on the tanks if you are a healer os dps.\n\n|cFFFFFF00-|r Added option for put stretch button on the fullscreen strata which makes it always on top of others frames.\n\n|cFFFFFF00-|r Added background and dialog stratas.\n\n|cFFFFFF00-|r Added option for percentage: follow the combat totals or the first player total.\n\n|cFFFFFF00-|r Added option for show or hide the left buttons on menu bar.\n\n|cFFFFFF00-|r Added option for change the left buttons size in the menu bar.\n\n|cFFFFFF00-|r Added option for delete a instance.\n\n|cFFFFFF00-|r Instance Segment Mini display now is more accuracy about telling the enemy in the segment.\n\n|cFFFFFF00-|r Player Details Window now show all pet abilities instead of just the total pet damage.\n\n|cFFFFFF00-|r Rework done on report texts, now the title is more shorter and also format Dps and Hps numbers.\n\n|cFFFFFF00-|r Simple Gray and again ElvUI skins got some rework.\n\n|cFFFFFF00-|r Lib HotCorner now is data broker based and shows up all broker plugins in the bar.\n\n|cFFFFFF00v1.13.5 / v1.13.5a (|cFFFFCC00May 02, 2014|r|cFFFFFF00):|r\n\n|cFFFFFF00-|r Added keybinds to reset segments and scroll up/down.\n\n|cFFFFFF00-|r Added Spell Customization options where icon and the name of a spell can be changed.\n\n|cFFFFFF00-|r Added option to change the micro displays side, now it can be shown on the window top side.\n\n|cFFFFFF00-|r Micro Displays, also, should now give less problems and be more dynamic.\n\n|cFFFFFF00-|r Added options to change the transparency when out of combat and out of a group.\n\n|cFFFFFF00-|r Added and Still under development the panel for create data captures for charts.\n\n|cFFFFFF00-|r Fixed a issue with flat skin where the close button was just too big.\n\n|cFFFFFF00v1.13.0 (|cFFFFCC00Apr 25, 2014|r|cFFFFFF00):|r\n\n|cFFFFFF00-|r Added four more abbreviation types.\n\n|cFFFFFF00-|r Fixed issue where the instance menu wasnt respecting the amount limit of instances.\n\n|cFFFFFF00-|r Added options for cutomize the right text of a row.\n\n|cFFFFFF00-|r Added a option to be able to chance the framestrata of an window.\n\n|cFFFFFF00-|r Added shift, ctrl, alt interaction for rows which shows all spells, targets or pets when pressed.\n\n|cFFFFFF00-|r Fixed a issue where changing the alpha of a window makes it disappear on the next logon.\n\n|cFFFFFF00-|r Added a option for auto transparency to ignore rows.\n\n|cFFFFFF00-|r Added option to be able to set shadow on the attribute text.\n\n|cFFFFFF00-|r Fixed a issue with window snap where disabled statusbar makes a gap between the windows.\n\n|cFFFFFF00-|r Added a hidden menu on the top left corner (experimental).\n\n|cFFFFFF00v1.12.3 (|cFFFFCC00Apr 18, 2014|r|cFFFFFF00):|r\n\n|cFFFFFF00-|r - Fixed 'Healing Per Second' which wasn't working at all.\n\n|cFFFFFF00-|r - Fixed the percent amount for target of damage done where sometimes it pass 100%.\n\n|cFFFFFF00-|r - Changes on Skins: 'Minimalistic' and 'Elm UI Frame Style'. It's necessary re-apply.\n\n|cFFFFFF00-|r - Added more cooldowns and spells for Monk tank over avoidance panel.\n\n|cFFFFFF00-|r - Player avatar now is also shown on the Player Details window.\n\n|cFFFFFF00-|r - Leaving empty the the icon file box, make details use no icons on bars." Loc ["STRING_DETAILS1"] = "|cffffaeaeDetails:|r " --> color and details name @@ -344,6 +345,11 @@ if not Loc then return end Loc ["STRING_REPORT_SINGLE_BUFFUPTIME"] = "buff uptime for" Loc ["STRING_REPORT_SINGLE_DEBUFFUPTIME"] = "debuff uptime for" Loc ["STRING_NOCLOSED_INSTANCES"] = "There is no closed windows,\nclick to open a new one." + Loc ["STRING_MENU_CLOSE_INSTANCE"] = "Close this window" + Loc ["STRING_MENU_CLOSE_INSTANCE_DESC"] = "A closed window is considered inactive and can be reopened at any time using the # instance button." + Loc ["STRING_MENU_CLOSE_INSTANCE_DESC2"] = "For fully destroy a window check out miscellaneous section over options panel." + + --> report frame diff --git a/locales/Details-ptBR.lua b/locales/Details-ptBR.lua index 6e730a68..f1e07359 100644 --- a/locales/Details-ptBR.lua +++ b/locales/Details-ptBR.lua @@ -3,7 +3,7 @@ if not Loc then return end -------------------------------------------------------------------------------------------------------------------------------------------- - Loc ["STRING_VERSION_LOG"] = "|cFFFFFF00a1.16.0 (test version) (|cFFFFCC00Jun 09, 2014|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Added option to be able to save the windows size and position within the profile.\n\n|cFFFFFF00-|r Added performance profile options.\n\n|cFFFFFF00-|r Added auto switch based on group roles also a switch for wipe.\n\n|cFFFFFF00-|r Fixed a bug where sometimes all non boss segments was considered boss encounters.\n\n|cFFFFFF00v1.15.4 (|cFFFFCC00Jun 06, 2014|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Added a compare tab under Player Details Window:\nThis new tab showns up when there is too characters with the same class and spec.\nIts useful to compare skills used, uptimes and targets.\n\n|cFFFFFF00-|r Few improvements on Default and ElvUI skins.\n\n|cFFFFFF00-|r Added a button for auto align two windows within right chat window when ElvUI skin is active.\n\n|cFFFFFF00-|r Fixed problem with Damage -> Enemies display.\n\n|cFFFFFF00-|r Fixed report Player Detail Window report buttons.\n\n|cFFFFFF00-|r Fixed some report lines where the numbers wasnt properly formatted.\n\n|cFFFFFF00-|r Fixed a rare bug where the owner of some pets wasnt detected.\n\n|cFFFFFF00-|r Fixed issue in dungeons where capture data get paused after a boss kill.\n\n|cFFFFFF00-|r Fixed issue with Encounter Details showing its icon for dungeons bosses.\n\n|cFFFFFF00-|r Fixed a rare bug where the capture of damage stops after erasing a trash segment.\n\n|cFFFFFF00v1.15.0 - v1.15.3 - v1.15.3b|r:\n\n|cFFFFFF00-|r Emergencial fix for death logs which sometimes was breaking the addon data capture.\n\n|cFFFFFF00-|r Fixed window alerts which was showing behind the bars.\n\n|cFFFFFF00-|r Fixed death log issue with friendly fire hits.\n\n|cFFFFFF00-|r Fixed a issue where Details! windows wasn't hidden when a pet battle starts.\n\n|cFFFFFF00-|r Fixed a issue with segments menu when a window is placed on the right side of the screen.\n\n|cFFFFFF00-|r Damage -> Enemies now also show neutral creatures.\n\n|cFFFFFF00-|r Added support to dungeons, bosses and trash mobs are now recognized.\n\n|cFFFFFF00-|r Added target information for each spell in Player Detail Window.\n\n|cFFFFFF00-|r Added options for change the location of tooltips.\n\n|cFFFFFF00-|r Added options for change the Overall Data functionality.\n\n|cFFFFFF00-|r Added tooltips for lock and detach buttons.\n\n|cFFFFFF00-|r Added new row texture: Details Vidro.\n\n|cFFFFFF00-|r Revamp on death log tooltips.\n\n|cFFFFFF00-|r Improved the visual effect for the instance which current moving window can snap to.\n\n|cFFFFFF00v1.15.0: (test version) Dungeons e Overall data.\n\n|cFFFFFF00-|r Implemented a early support for Dungeons.\n\n|cFFFFFF00-|r Implemented Overall Data. Options for it are under combat tab.\n\n|cFFFFFF00-|r Implemented spell targets on Player Details Window.\n\n|cFFFFFF00v1.14.5 - 1.14.6\n\n|cFFFFFF00-|r Added option for lock segments display, so, when a segment is chosen, the other windows also change it.\n\n|cFFFFFF00-|r Added option for show the total amount of spells, targets and pets in tooltips.\n\n|cFFFFFF00-|r Finished another revamp on options panel.\n\n|cFFFFFF00-|r Now its possible open more then 1 Raid Plugins at once on diferent windows.\n\n|cFFFFFF00-|r Added a large text editor for make changes on custom texts.\n\n|cFFFFFF00-|r Added new option for enable borders on the bars.\n\n|cFFFFFF00-|r Added Death Barrier as a absorb spell.\n\n|cFFFFFF00-|r Fixed a bug on overheal tooltip where was showing the Hps instead of overheal.\n\n|cFFFFFF00v1.14.0 - v1.14.0b - v1.14.1\n\n|cFFFFFF00-|r Emergencial fix for crash after creating test bars and logoff.\n\n|cFFFFFF00-|r Fixed the default background alpha on default skin.\n\n|cFFFFFF00-|r Added spacing option under row settings for control the gap between bars.\n\n|cFFFFFF00-|r Added a new tab on options panel for tooltip configuration.\n\n|cFFFFFF00-|r Added a new tab on options panel for broker config.\n\n|cFFFFFF00-|r Added new abbreviation method called comma.\n\n|cFFFFFF00-|r All instances now have a delete button.\n\n|cFFFFFF00-|r Full re-write on the instance, delete and close buttons.\n\n|cFFFFFF00-|r HotCorners now sort icons according with most used.\n\n|cFFFFFF00-|r Few changes on all skins in order to fit on the new right menu buttons.\n\n|cFFFFFF00-|r Added Horde avatars.\n\n|cFFFFFF00-|r Fixed issue where shortcut panel shows below thw windows when its in Dialog strata.\n\n|cFFFFFF00v1.13.8 - v1.13.8a\n\n|cFFFFFF00-|r Fixed issue with Vanguard where it wasn't showing debuffs stacks on the tanks if you are a healer os dps.\n\n|cFFFFFF00-|r Added option for put stretch button on the fullscreen strata which makes it always on top of others frames.\n\n|cFFFFFF00-|r Added background and dialog stratas.\n\n|cFFFFFF00-|r Added option for percentage: follow the combat totals or the first player total.\n\n|cFFFFFF00-|r Added option for show or hide the left buttons on menu bar.\n\n|cFFFFFF00-|r Added option for change the left buttons size in the menu bar.\n\n|cFFFFFF00-|r Added option for delete a instance.\n\n|cFFFFFF00-|r Instance Segment Mini display now is more accuracy about telling the enemy in the segment.\n\n|cFFFFFF00-|r Player Details Window now show all pet abilities instead of just the total pet damage.\n\n|cFFFFFF00-|r Rework done on report texts, now the title is more shorter and also format Dps and Hps numbers.\n\n|cFFFFFF00-|r Simple Gray and again ElvUI skins got some rework.\n\n|cFFFFFF00-|r Lib HotCorner now is data broker based and shows up all broker plugins in the bar.\n\n|cFFFFFF00v1.13.5 / v1.13.5a|r\n\n|cFFFFFF00-|r Added keybinds to reset segments and scroll up/down.\n\n|cFFFFFF00-|r Added Spell Customization options where icon and the name of a spell can be changed.\n\n|cFFFFFF00-|r Added option to change the micro displays side, now it can be shown on the window top side.\n\n|cFFFFFF00-|r Micro Displays, also, should now give less problems and be more dynamic.\n\n|cFFFFFF00-|r Added Spell Customization options where icon and the name of a spell can be changed.\n\n|cFFFFFF00-|r Added option to change the micro displays side, now it can be shown on the window top side.\n\n|cFFFFFF00-|r Added options to change the transparency when out of combat and out of a group.\n\n|cFFFFFF00-|r Added and Still under development the panel for create data captures for charts.\n\n|cFFFFFF00-|r Fixed a issue with flat skin where the close button was just too big.\n\n|cFFFFFF00v1.13.0|r\n\n|cFFFFFF00-|r Added four more abbreviation types.\n\n|cFFFFFF00-|r Fixed issue where the instance menu wasnt respecting the amount limit of instances.\n\n|cFFFFFF00-|r Added options for cutomize the right text of a row.\n\n|cFFFFFF00-|r Added a option to be able to chance the framestrata of an window.\n\n|cFFFFFF00-|r Added shift, ctrl, alt interaction for rows which shows all spells, targets or pets when pressed.\n\n|cFFFFFF00-|r Fixed a issue where changing the alpha of a window makes it disappear on the next logon.\n\n|cFFFFFF00-|r Added a option for auto transparency to ignore rows.\n\n|cFFFFFF00-|r Added option to be able to set shadow on the attribute text.\n\n|cFFFFFF00-|r Fixed a issue with window snap where disabled statusbar makes a gap between the windows.\n\n|cFFFFFF00-|r Added a hidden menu on the top left corner (experimental).\n\n|cFFFFFF00v1.12.3|r\n\n|cFFFFFF00-|r - Fixed 'Healing Per Second' which wasn't working at all.\n\n|cFFFFFF00-|r - Fixed the percent amount for target of damage done where sometimes it pass 100%.\n\n|cFFFFFF00-|r - Changes on Skins: Minimalistic and Elm UI Frame Style. Its necessary re-apply.\n\n|cFFFFFF00-|r - Added more cooldowns and spells for Monk tank over avoidance panel.\n\n|cFFFFFF00-|r - Player avatar now is also shown on the Player Details window.\n\n|cFFFFFF00-|r - Leaving empty the the icon file box, make details use no icons on bars." + Loc ["STRING_VERSION_LOG"] = "|cFFFFFF00a1.16.0 - a1.16.1 - a1.16.3 (|cFFFFCC00Jun 13, 2014|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Mode menu now have a sub menu for raid plugins.\n\n|cFFFFFF00-|r Red and Green colors under comparison frame has been inverted.\n\n|cFFFFFF00-|r Fixed some report issues with dps and hps, also almost all reports now have guide lines.\n\n|cFFFFFF00-|r Pet dispell and interrupt count also for its owner as well.\n\n|cFFFFFF00-|r Few fixes on comparison panel over Player Details Window.\n\n|cFFFFFF00-|r Added option to be able to save the windows size and position within the profile.\n\n|cFFFFFF00-|r Added performance profile settings.\n\n|cFFFFFF00-|r Added auto switch based on group roles also a switch for wipe.\n\n|cFFFFFF00-|r Fixed a bug where sometimes all non boss segments was considered boss encounters.\n\n|cFFFFFF00v1.15.4 (|cFFFFCC00Jun 06, 2014|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Added a compare tab under Player Details Window:\nThis new tab showns up when there is too characters with the same class and spec.\nIts useful to compare skills used, uptimes and targets.\n\n|cFFFFFF00-|r Few improvements on Default and ElvUI skins.\n\n|cFFFFFF00-|r Added a button for auto align two windows within right chat window when ElvUI skin is active.\n\n|cFFFFFF00-|r Fixed problem with Damage -> Enemies display.\n\n|cFFFFFF00-|r Fixed report Player Detail Window report buttons.\n\n|cFFFFFF00-|r Fixed some report lines where the numbers wasnt properly formatted.\n\n|cFFFFFF00-|r Fixed a rare bug where the owner of some pets wasnt detected.\n\n|cFFFFFF00-|r Fixed issue in dungeons where capture data get paused after a boss kill.\n\n|cFFFFFF00-|r Fixed issue with Encounter Details showing its icon for dungeons bosses.\n\n|cFFFFFF00-|r Fixed a rare bug where the capture of damage stops after erasing a trash segment.\n\n|cFFFFFF00v1.15.0 - v1.15.3 - v1.15.3b (|cFFFFCC00Jun 03, 2014|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Emergencial fix for death logs which sometimes was breaking the addon data capture.\n\n|cFFFFFF00-|r Fixed window alerts which was showing behind the bars.\n\n|cFFFFFF00-|r Fixed death log issue with friendly fire hits.\n\n|cFFFFFF00-|r Fixed a issue where Details! windows wasn't hidden when a pet battle starts.\n\n|cFFFFFF00-|r Fixed a issue with segments menu when a window is placed on the right side of the screen.\n\n|cFFFFFF00-|r Damage -> Enemies now also show neutral creatures.\n\n|cFFFFFF00-|r Added support to dungeons, bosses and trash mobs are now recognized.\n\n|cFFFFFF00-|r Added target information for each spell in Player Detail Window.\n\n|cFFFFFF00-|r Added options for change the location of tooltips.\n\n|cFFFFFF00-|r Added options for change the Overall Data functionality.\n\n|cFFFFFF00-|r Added tooltips for lock and detach buttons.\n\n|cFFFFFF00-|r Added new row texture: Details Vidro.\n\n|cFFFFFF00-|r Revamp on death log tooltips.\n\n|cFFFFFF00-|r Improved the visual effect for the instance which current moving window can snap to.\n\n|cFFFFFF00v1.14.5 - 1.14.6 (|cFFFFCC00May 24, 2014|r|cFFFFFF00):|r\n\n|cFFFFFF00-|r Added option for lock segments display, so, when a segment is chosen, the other windows also change it.\n\n|cFFFFFF00-|r Added option for show the total amount of spells, targets and pets in tooltips.\n\n|cFFFFFF00-|r Finished another revamp on options panel.\n\n|cFFFFFF00-|r Now its possible open more then 1 Raid Plugins at once on diferent windows.\n\n|cFFFFFF00-|r Added a large text editor for make changes on custom texts.\n\n|cFFFFFF00-|r Added new option for enable borders on the bars.\n\n|cFFFFFF00-|r Added Death Barrier as a absorb spell.\n\n|cFFFFFF00-|r Fixed a bug on overheal tooltip where was showing the Hps instead of overheal.\n\n|cFFFFFF00v1.14.0 - v1.14.0b (|cFFFFCC00May 17, 2014|r|cFFFFFF00):\n\n|cFFFFFF00-|r Added a new tab on options panel for tooltip configuration.\n\n|cFFFFFF00-|r Added a new tab on options panel for broker config.\n\n|cFFFFFF00-|r Added new abbreviation method called comma.\n\n|cFFFFFF00-|r All instances now have a delete button.\n\n|cFFFFFF00-|r Full re-write on the instance, delete and close buttons.\n\n|cFFFFFF00-|r HotCorners now sort icons according with most used.\n\n|cFFFFFF00-|r Few changes on all skins in order to fit on the new right menu buttons.\n\n|cFFFFFF00-|r Added Horde avatars.\n\n|cFFFFFF00-|r Fixed issue where shortcut panel shows below thw windows when its in Dialog strata.\n\n|cFFFFFF00v1.13.8 - v1.13.8a (|cFFFFCC00May 09, 2014|r|cFFFFFF00):\n\n|cFFFFFF00-|r Fixed issue with Vanguard where it wasn't showing debuffs stacks on the tanks if you are a healer os dps.\n\n|cFFFFFF00-|r Added option for put stretch button on the fullscreen strata which makes it always on top of others frames.\n\n|cFFFFFF00-|r Added background and dialog stratas.\n\n|cFFFFFF00-|r Added option for percentage: follow the combat totals or the first player total.\n\n|cFFFFFF00-|r Added option for show or hide the left buttons on menu bar.\n\n|cFFFFFF00-|r Added option for change the left buttons size in the menu bar.\n\n|cFFFFFF00-|r Added option for delete a instance.\n\n|cFFFFFF00-|r Instance Segment Mini display now is more accuracy about telling the enemy in the segment.\n\n|cFFFFFF00-|r Player Details Window now show all pet abilities instead of just the total pet damage.\n\n|cFFFFFF00-|r Rework done on report texts, now the title is more shorter and also format Dps and Hps numbers.\n\n|cFFFFFF00-|r Simple Gray and again ElvUI skins got some rework.\n\n|cFFFFFF00-|r Lib HotCorner now is data broker based and shows up all broker plugins in the bar.\n\n|cFFFFFF00v1.13.5 / v1.13.5a (|cFFFFCC00May 02, 2014|r|cFFFFFF00):|r\n\n|cFFFFFF00-|r Added keybinds to reset segments and scroll up/down.\n\n|cFFFFFF00-|r Added Spell Customization options where icon and the name of a spell can be changed.\n\n|cFFFFFF00-|r Added option to change the micro displays side, now it can be shown on the window top side.\n\n|cFFFFFF00-|r Micro Displays, also, should now give less problems and be more dynamic.\n\n|cFFFFFF00-|r Added options to change the transparency when out of combat and out of a group.\n\n|cFFFFFF00-|r Added and Still under development the panel for create data captures for charts.\n\n|cFFFFFF00-|r Fixed a issue with flat skin where the close button was just too big.\n\n|cFFFFFF00v1.13.0 (|cFFFFCC00Apr 25, 2014|r|cFFFFFF00):|r\n\n|cFFFFFF00-|r Added four more abbreviation types.\n\n|cFFFFFF00-|r Fixed issue where the instance menu wasnt respecting the amount limit of instances.\n\n|cFFFFFF00-|r Added options for cutomize the right text of a row.\n\n|cFFFFFF00-|r Added a option to be able to chance the framestrata of an window.\n\n|cFFFFFF00-|r Added shift, ctrl, alt interaction for rows which shows all spells, targets or pets when pressed.\n\n|cFFFFFF00-|r Fixed a issue where changing the alpha of a window makes it disappear on the next logon.\n\n|cFFFFFF00-|r Added a option for auto transparency to ignore rows.\n\n|cFFFFFF00-|r Added option to be able to set shadow on the attribute text.\n\n|cFFFFFF00-|r Fixed a issue with window snap where disabled statusbar makes a gap between the windows.\n\n|cFFFFFF00-|r Added a hidden menu on the top left corner (experimental).\n\n|cFFFFFF00v1.12.3 (|cFFFFCC00Apr 18, 2014|r|cFFFFFF00):|r\n\n|cFFFFFF00-|r - Fixed 'Healing Per Second' which wasn't working at all.\n\n|cFFFFFF00-|r - Fixed the percent amount for target of damage done where sometimes it pass 100%.\n\n|cFFFFFF00-|r - Changes on Skins: 'Minimalistic' and 'Elm UI Frame Style'. It's necessary re-apply.\n\n|cFFFFFF00-|r - Added more cooldowns and spells for Monk tank over avoidance panel.\n\n|cFFFFFF00-|r - Player avatar now is also shown on the Player Details window.\n\n|cFFFFFF00-|r - Leaving empty the the icon file box, make details use no icons on bars." Loc ["STRING_DETAILS1"] = "|cffffaeaeDetalhes:|r " --> color and details name diff --git a/startup.lua b/startup.lua index 410480ee..a9ed0e55 100644 --- a/startup.lua +++ b/startup.lua @@ -223,6 +223,10 @@ function _G._detalhes:Start() self.listener:RegisterEvent ("ENCOUNTER_START") self.listener:RegisterEvent ("ENCOUNTER_END") + self.listener:RegisterEvent ("START_TIMER") + --self.listener:RegisterEvent ("ARENA_PREP_OPPONENT_SPECIALIZATIONS") + --self.listener:RegisterEvent ("ARENA_OPPONENT_UPDATE") + self.listener:RegisterEvent ("PET_BATTLE_OPENING_START") self.listener:RegisterEvent ("PET_BATTLE_CLOSE")