- added support to skins, change over options panel.
This commit is contained in:
@@ -8,7 +8,7 @@
|
||||
|
||||
_ = nil
|
||||
_detalhes = LibStub("AceAddon-3.0"):NewAddon("_detalhes", "AceTimer-3.0", "AceComm-3.0", "AceSerializer-3.0", "NickTag-1.0")
|
||||
_detalhes.userversion = "v1.6.5"
|
||||
_detalhes.userversion = "v1.6.7"
|
||||
_detalhes.version = "Alpha 010"
|
||||
_detalhes.realversion = 10
|
||||
|
||||
@@ -59,6 +59,32 @@ do
|
||||
--> ignored pets
|
||||
_detalhes.pets_ignored = {}
|
||||
_detalhes.pets_no_owner = {}
|
||||
--> armazena as skins disponíveis para as janelas
|
||||
_detalhes.skins = {["Default Skin"] = {file = "default_skin", author = "Details!", version = "1.0", site = "unknown", desc = "default skin for Details!", can_change_alpha_head = false, icon_anchor_main = {-1, 1}, icon_anchor_plugins = {-9, -7}, icon_plugins_size = {19, 19}}}
|
||||
_detalhes.skin_path = "Interface\\AddOns\\Details\\images\\skins\\"
|
||||
|
||||
-- temporariamente aqui, precisa migrar para um arquivo separado
|
||||
function _detalhes:InstallSkin (skin_name, skin_table)
|
||||
if (not skin_name) then
|
||||
return false -- sem nome
|
||||
elseif (_detalhes.skins [skin_name]) then
|
||||
return false -- ja existe
|
||||
end
|
||||
|
||||
if (not skin_table.file) then
|
||||
return false -- sem arquivo
|
||||
end
|
||||
|
||||
skin_table.author = skin_table.author or ""
|
||||
skin_table.version = skin_table.version or ""
|
||||
skin_table.site = skin_table.site or ""
|
||||
skin_table.desc = skin_table.desc or ""
|
||||
|
||||
_detalhes.skins [skin_name] = skin_table
|
||||
return true
|
||||
end
|
||||
|
||||
_detalhes:InstallSkin ("Flat Color", {file = "flat_skin", author = "Details!", version = "1.0", site = "unknown", desc = "a flat skin", can_change_alpha_head = true, icon_anchor_main = {-1, -5}, icon_anchor_plugins = {-7, -13}, icon_plugins_size = {19, 18}})
|
||||
|
||||
--> Plugins
|
||||
--> raid -------------------------------------------------------------------
|
||||
|
||||
@@ -445,8 +445,8 @@ function _detalhes:agrupar_janelas (lados)
|
||||
self.snap [4] = esta_instancia.meu_id
|
||||
esta_instancia.snap [2] = self.meu_id
|
||||
|
||||
esta_instancia.baseframe.rodape.StatusBarLeftAnchor:SetPoint ("left", esta_instancia.baseframe.rodape.top_bg, "left", 25, 10)
|
||||
esta_instancia.baseframe.rodape.StatusBarCenterAnchor:SetPoint ("center", esta_instancia.baseframe.rodape.top_bg, "center", 20, 10)
|
||||
esta_instancia.baseframe.rodape.StatusBarLeftAnchor:SetPoint ("left", esta_instancia.baseframe.rodape.top_bg, "left", 25, 58)
|
||||
esta_instancia.baseframe.rodape.StatusBarCenterAnchor:SetPoint ("center", esta_instancia.baseframe.rodape.top_bg, "center", 20, 58)
|
||||
esta_instancia.baseframe.rodape.esquerdo:SetTexture ("Interface\\AddOns\\Details\\images\\bar_down_left_snap")
|
||||
esta_instancia.baseframe.rodape.esquerdo.have_snap = true
|
||||
|
||||
@@ -476,9 +476,9 @@ function _detalhes:agrupar_janelas (lados)
|
||||
self.snap [2] = esta_instancia.meu_id
|
||||
esta_instancia.snap [4] = self.meu_id
|
||||
|
||||
self.baseframe.rodape.StatusBarLeftAnchor:SetPoint ("left", self.baseframe.rodape.top_bg, "left", 25, 10)
|
||||
self.baseframe.rodape.StatusBarCenterAnchor:SetPoint ("center", self.baseframe.rodape.top_bg, "center", 20, 10)
|
||||
self.baseframe.rodape.esquerdo:SetTexture ("Interface\\AddOns\\Details\\images\\bar_down_left_snap")
|
||||
self.baseframe.rodape.StatusBarLeftAnchor:SetPoint ("left", self.baseframe.rodape.top_bg, "left", 25, 58)
|
||||
self.baseframe.rodape.StatusBarCenterAnchor:SetPoint ("center", self.baseframe.rodape.top_bg, "center", 20, 58)
|
||||
self.baseframe.rodape.esquerdo:SetTexture ([[Interface\AddOns\Details\images\bar_down_left_snap]])
|
||||
self.baseframe.rodape.esquerdo.have_snap = true
|
||||
end
|
||||
|
||||
@@ -558,8 +558,8 @@ function _detalhes:Desagrupar (instancia, lado)
|
||||
end
|
||||
|
||||
if (index == 2) then -- index é o codigo do snap
|
||||
esta_instancia.baseframe.rodape.StatusBarLeftAnchor:SetPoint ("left", esta_instancia.baseframe.rodape.top_bg, "left", 5, 10)
|
||||
esta_instancia.baseframe.rodape.StatusBarCenterAnchor:SetPoint ("center", esta_instancia.baseframe.rodape.top_bg, "center", 0, 10)
|
||||
esta_instancia.baseframe.rodape.StatusBarLeftAnchor:SetPoint ("left", esta_instancia.baseframe.rodape.top_bg, "left", 5, 58)
|
||||
esta_instancia.baseframe.rodape.StatusBarCenterAnchor:SetPoint ("center", esta_instancia.baseframe.rodape.top_bg, "center", 0, 58)
|
||||
esta_instancia.baseframe.rodape.esquerdo:SetTexture ("Interface\\AddOns\\Details\\images\\bar_down_left")
|
||||
esta_instancia.baseframe.rodape.esquerdo.have_snap = nil
|
||||
end
|
||||
@@ -569,6 +569,7 @@ function _detalhes:Desagrupar (instancia, lado)
|
||||
end
|
||||
|
||||
gump:Fade (instancia.botao_separar, 1)
|
||||
|
||||
instancia.verticalSnap = false
|
||||
instancia.horizontalSnap = false
|
||||
return
|
||||
@@ -635,6 +636,8 @@ end
|
||||
|
||||
nova_instancia.meu_id = ID
|
||||
|
||||
nova_instancia.skin = "Default Skin"
|
||||
|
||||
nova_instancia.barras = {} --container que irá armazenar todas as barras
|
||||
nova_instancia.barraS = {nil, nil} --de x até x são as barras que estão sendo mostradas na tela
|
||||
nova_instancia.rolagem = false --barra de rolagem não esta sendo mostrada
|
||||
@@ -785,6 +788,8 @@ end
|
||||
--> search key: ~restaura
|
||||
function _detalhes:RestauraJanela (index, temp)
|
||||
|
||||
self.skin = self.skin or "Default Skin"
|
||||
|
||||
self.bg_alpha = self.bg_alpha or _detalhes.default_bg_alpha
|
||||
self.bg_r = self.bg_r or _detalhes.default_bg_color
|
||||
self.bg_g = self.bg_g or _detalhes.default_bg_color
|
||||
@@ -954,6 +959,8 @@ function _detalhes:RestauraJanela (index, temp)
|
||||
|
||||
self.iniciada = true
|
||||
self:AtivarInstancia (temp)
|
||||
|
||||
self:ChangeSkin()
|
||||
end
|
||||
------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -1506,53 +1513,53 @@ end
|
||||
-- o modo é apenas afetado na hora de mostrar o que na tabela
|
||||
|
||||
function _detalhes:ChangeIcon (icon)
|
||||
|
||||
local skin = _detalhes.skins [self.skin]
|
||||
|
||||
if (icon) then
|
||||
|
||||
--> plugin chamou uma troca de icone
|
||||
self.baseframe.cabecalho.atributo_icon:SetTexture (icon)
|
||||
self.baseframe.cabecalho.atributo_icon:SetTexCoord (5/64, 60/64, 3/64, 62/64)
|
||||
self.baseframe.cabecalho.atributo_icon:SetWidth (19)
|
||||
self.baseframe.cabecalho.atributo_icon:SetHeight (20)
|
||||
self.baseframe.cabecalho.atributo_icon:SetPoint ("TOPRIGHT", self.baseframe.cabecalho.ball_point, "TOPRIGHT", -11, -6)
|
||||
|
||||
local icon_size = skin.icon_plugins_size
|
||||
self.baseframe.cabecalho.atributo_icon:SetWidth (icon_size[1])
|
||||
self.baseframe.cabecalho.atributo_icon:SetHeight (icon_size[2])
|
||||
local icon_anchor = skin.icon_anchor_plugins
|
||||
self.baseframe.cabecalho.atributo_icon:SetPoint ("TOPRIGHT", self.baseframe.cabecalho.ball_point, "TOPRIGHT", icon_anchor[1], icon_anchor[2])
|
||||
|
||||
elseif (self.modo == modo_alone) then --> solo
|
||||
-- o icone é alterado pelo próprio plugin
|
||||
|
||||
--[[
|
||||
self.baseframe.cabecalho.atributo_icon:SetTexture ("Interface\\AddOns\\Details\\images\\icon_mainwindow2")
|
||||
self.baseframe.cabecalho.atributo_icon:SetTexCoord (32/256 * (1-1), 32/256 * 1, 0, 1) --> solo é o primeiro icone
|
||||
self.baseframe.cabecalho.atributo_icon:SetPoint ("TOPRIGHT", self.baseframe.cabecalho.ball_point, "TOPRIGHT", -1, 1)
|
||||
self.baseframe.cabecalho.atributo_icon:SetWidth (30)
|
||||
self.baseframe.cabecalho.atributo_icon:SetHeight (30)
|
||||
--]]
|
||||
--print ("Icon Changed 1")
|
||||
|
||||
--_detalhes.SoloTables.Menu [INDEX] [2]
|
||||
|
||||
elseif (self.modo == modo_grupo or self.modo == modo_all) then --> grupo
|
||||
|
||||
if (self.atributo == 5) then
|
||||
--> custom
|
||||
local icon = _detalhes.custom [self.sub_atributo].icon
|
||||
self.baseframe.cabecalho.atributo_icon:SetTexture (icon)
|
||||
self.baseframe.cabecalho.atributo_icon:SetTexCoord (5/64, 60/64, 3/64, 62/64)
|
||||
self.baseframe.cabecalho.atributo_icon:SetWidth (20)
|
||||
self.baseframe.cabecalho.atributo_icon:SetHeight (20)
|
||||
self.baseframe.cabecalho.atributo_icon:SetPoint ("TOPRIGHT", self.baseframe.cabecalho.ball_point, "TOPRIGHT", -10, -5)
|
||||
|
||||
local icon_size = skin.icon_plugins_size
|
||||
self.baseframe.cabecalho.atributo_icon:SetWidth (icon_size[1])
|
||||
self.baseframe.cabecalho.atributo_icon:SetHeight (icon_size[2])
|
||||
local icon_anchor = skin.icon_anchor_plugins
|
||||
self.baseframe.cabecalho.atributo_icon:SetPoint ("TOPRIGHT", self.baseframe.cabecalho.ball_point, "TOPRIGHT", icon_anchor[1], icon_anchor[2])
|
||||
else
|
||||
self.baseframe.cabecalho.atributo_icon:SetTexture ("Interface\\AddOns\\Details\\images\\icon_mainwindow")
|
||||
self.baseframe.cabecalho.atributo_icon:SetTexCoord (32/256 * (self.atributo-1), 32/256 * self.atributo, 0, 1)
|
||||
self.baseframe.cabecalho.atributo_icon:SetPoint ("TOPRIGHT", self.baseframe.cabecalho.ball_point, "TOPRIGHT", -1, 1)
|
||||
self.baseframe.cabecalho.atributo_icon:SetWidth (30)
|
||||
self.baseframe.cabecalho.atributo_icon:SetHeight (30)
|
||||
--> normal
|
||||
local half = 0.00048828125
|
||||
local size = 0.03125
|
||||
self.baseframe.cabecalho.atributo_icon:SetTexture (_detalhes.skin_path .. skin.file)
|
||||
self.baseframe.cabecalho.atributo_icon:SetTexCoord ( (0.03125 * (self.atributo-1)) + half, (0.03125 * self.atributo) - half, 0.35693359375, 0.38720703125)
|
||||
|
||||
local icon_anchor = skin.icon_anchor_main
|
||||
self.baseframe.cabecalho.atributo_icon:SetPoint ("TOPRIGHT", self.baseframe.cabecalho.ball_point, "TOPRIGHT", icon_anchor[1], icon_anchor[2])
|
||||
|
||||
self.baseframe.cabecalho.atributo_icon:SetWidth (32)
|
||||
self.baseframe.cabecalho.atributo_icon:SetHeight (32)
|
||||
end
|
||||
|
||||
elseif (self.modo == modo_raid) then --> raid
|
||||
--[[
|
||||
self.baseframe.cabecalho.atributo_icon:SetTexture ("Interface\\AddOns\\Details\\images\\icon_mainwindow2")
|
||||
self.baseframe.cabecalho.atributo_icon:SetTexCoord (32/256 * (2-1), 32/256 * 2, 0, 1) --> solo é o primeiro icone
|
||||
self.baseframe.cabecalho.atributo_icon:SetPoint ("TOPRIGHT", self.baseframe.cabecalho.ball_point, "TOPRIGHT", -1, 1)
|
||||
self.baseframe.cabecalho.atributo_icon:SetWidth (30)
|
||||
self.baseframe.cabecalho.atributo_icon:SetHeight (30)
|
||||
--]]
|
||||
-- o icone é alterado pelo próprio plugin
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -977,6 +977,26 @@ end
|
||||
|
||||
local UnitReaction = UnitReaction
|
||||
|
||||
function _detalhes:CloseEnemyDebuffsUptime()
|
||||
local combat = _detalhes.tabela_vigente
|
||||
local misc_container = combat [4]._ActorTable
|
||||
|
||||
for _, actor in _ipairs (misc_container) do
|
||||
if (actor.boss_debuff) then
|
||||
for index, target in _ipairs (actor.debuff_uptime_targets._ActorTable) do
|
||||
if (target.actived and target.actived_at) then
|
||||
target.uptime = target.uptime + _detalhes._tempo - target.actived_at
|
||||
actor.debuff_uptime = actor.debuff_uptime + _detalhes._tempo - target.actived_at
|
||||
target.actived = false
|
||||
target.actived_at = nil
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
return
|
||||
end
|
||||
|
||||
function _detalhes:CatchRaidDebuffUptime (in_or_out) -- "DEBUFF_UPTIME_IN"
|
||||
|
||||
if (in_or_out == "DEBUFF_UPTIME_OUT") then
|
||||
@@ -988,7 +1008,7 @@ function _detalhes:CatchRaidDebuffUptime (in_or_out) -- "DEBUFF_UPTIME_IN"
|
||||
for spellid, spell in _pairs (actor.debuff_uptime_spell_tables._ActorTable) do
|
||||
if (spell.actived and spell.actived_at) then
|
||||
spell.uptime = spell.uptime + _detalhes._tempo - spell.actived_at
|
||||
actor.debuff_uptime = actor.debuff_uptime + _detalhes._tempo - spell.actived_at --> token = actor misc object
|
||||
actor.debuff_uptime = actor.debuff_uptime + _detalhes._tempo - spell.actived_at
|
||||
spell.actived = false
|
||||
spell.actived_at = nil
|
||||
end
|
||||
@@ -1030,7 +1050,8 @@ function _detalhes:CatchRaidDebuffUptime (in_or_out) -- "DEBUFF_UPTIME_IN"
|
||||
|
||||
for raidIndex = 1, _GetNumGroupMembers()-1 do
|
||||
local his_target = _UnitGUID ("party"..raidIndex.."target")
|
||||
if (his_target and not checked [his_target] and UnitReaction ("party"..raidIndex.."target", "player") <= 4) then
|
||||
local rect = UnitReaction ("party"..raidIndex.."target", "player")
|
||||
if (his_target and not checked [his_target] and rect and rect <= 4) then
|
||||
|
||||
checked [his_target] = true
|
||||
|
||||
@@ -1049,8 +1070,8 @@ function _detalhes:CatchRaidDebuffUptime (in_or_out) -- "DEBUFF_UPTIME_IN"
|
||||
end
|
||||
|
||||
local his_target = _UnitGUID ("playertarget")
|
||||
|
||||
if (his_target and not checked [his_target] and UnitReaction ("playertarget", "player") <= 4) then
|
||||
local rect = UnitReaction ("playertarget", "player")
|
||||
if (his_target and not checked [his_target] and rect and rect <= 4) then
|
||||
for debuffIndex = 1, 40 do
|
||||
local name, _, _, _, _, _, _, unitCaster, _, _, spellid = UnitDebuff ("playertarget", debuffIndex)
|
||||
if (name and unitCaster) then
|
||||
@@ -1862,6 +1883,10 @@ local sub_list = {"cc_break", "ress", "interrupt", "cooldowns_defensive", "dispe
|
||||
--> cria e soma o valor do total
|
||||
local alvo_shadow = shadow [container]:PegarCombatente (nil, alvo.nome, nil, true)
|
||||
alvo_shadow.total = alvo_shadow.total + alvo.total
|
||||
if (alvo.uptime) then --> boss debuff
|
||||
alvo_shadow.uptime = alvo_shadow.uptime + alvo.uptime
|
||||
alvo_shadow.activedamt = alvo_shadow.activedamt + alvo.activedamt
|
||||
end
|
||||
--> refresh no alvo
|
||||
_detalhes.refresh:r_alvo_da_habilidade (alvo, shadow [container])
|
||||
end
|
||||
@@ -1916,6 +1941,9 @@ local sub_list = {"cc_break", "ress", "interrupt", "cooldowns_defensive", "dispe
|
||||
--> soma o total (captura de dados)
|
||||
shadow.debuff_uptime = shadow.debuff_uptime + actor.debuff_uptime
|
||||
--> copia o container de alvos (captura de dados)
|
||||
if (actor.boss_debuff) then
|
||||
actor.debuff_uptime_targets.tipo = _detalhes.container_type.CONTAINER_ENEMYDEBUFFTARGET_CLASS
|
||||
end
|
||||
somar_alvos ("debuff_uptime_targets", shadow)
|
||||
--> copia o container de habilidades (captura de dados)
|
||||
somar_habilidades ("debuff_uptime_spell_tables", shadow)
|
||||
@@ -2306,6 +2334,10 @@ atributo_misc.__add = function (tabela1, tabela2)
|
||||
for index, alvo in _ipairs (tabela2.debuff_uptime_targets._ActorTable) do
|
||||
local alvo_tabela1 = tabela1.debuff_uptime_targets:PegarCombatente (nil, alvo.nome, nil, true)
|
||||
alvo_tabela1.total = alvo_tabela1.total + alvo.total
|
||||
if (alvo.uptime) then --> boss debuff
|
||||
alvo_tabela1.uptime = alvo_tabela1.uptime + alvo.uptime
|
||||
alvo_tabela1.activedamt = alvo_tabela1.activedamt + alvo.activedamt
|
||||
end
|
||||
end
|
||||
|
||||
for spellid, habilidade in _pairs (tabela2.debuff_uptime_spell_tables._ActorTable) do
|
||||
@@ -2557,6 +2589,10 @@ atributo_misc.__sub = function (tabela1, tabela2)
|
||||
for index, alvo in _ipairs (tabela2.debuff_uptime_targets._ActorTable) do
|
||||
local alvo_tabela1 = tabela1.debuff_uptime_targets:PegarCombatente (nil, alvo.nome, nil, true)
|
||||
alvo_tabela1.total = alvo_tabela1.total - alvo.total
|
||||
if (alvo.uptime) then --> boss debuff
|
||||
alvo_tabela1.uptime = alvo_tabela1.uptime - alvo.uptime
|
||||
alvo_tabela1.activedamt = alvo_tabela1.activedamt - alvo.activedamt
|
||||
end
|
||||
end
|
||||
|
||||
for spellid, habilidade in _pairs (tabela2.debuff_uptime_spell_tables._ActorTable) do
|
||||
|
||||
@@ -19,6 +19,7 @@ local container_energy = _detalhes.container_type.CONTAINER_ENERGY_CLASS
|
||||
local container_energy_target = _detalhes.container_type.CONTAINER_ENERGYTARGET_CLASS
|
||||
local container_misc = _detalhes.container_type.CONTAINER_MISC_CLASS
|
||||
local container_misc_target = _detalhes.container_type.CONTAINER_MISCTARGET_CLASS
|
||||
local container_enemydebufftarget_target = _detalhes.container_type.CONTAINER_ENEMYDEBUFFTARGET_CLASS
|
||||
|
||||
--api locals
|
||||
local _UnitClass = UnitClass
|
||||
@@ -386,7 +387,16 @@ function container_combatentes:PegarCombatente (serial, nome, flag, criar, isOwn
|
||||
|
||||
if (shadow_objeto) then
|
||||
novo_objeto.shadow = shadow_objeto
|
||||
--shadow_objeto.flag = details_flag
|
||||
end
|
||||
|
||||
elseif (self.tipo == container_enemydebufftarget_target) then
|
||||
|
||||
novo_objeto.uptime = 0
|
||||
novo_objeto.actived = false
|
||||
novo_objeto.activedamt = 0
|
||||
|
||||
if (shadow_objeto) then
|
||||
novo_objeto.shadow = shadow_objeto
|
||||
end
|
||||
|
||||
elseif (self.tipo == container_misc_target) then --> CONTAINER ALVOS DO MISC
|
||||
@@ -447,6 +457,9 @@ function container_combatentes:FuncaoDeCriacao (tipo)
|
||||
elseif (tipo == container_friendlyfire) then
|
||||
return atributo_damage.FF_funcao_de_criacao
|
||||
|
||||
elseif (tipo == container_enemydebufftarget_target) then
|
||||
return alvo_da_habilidade.NovaTabela
|
||||
|
||||
elseif (tipo == container_energy) then
|
||||
return atributo_energy.NovaTabela
|
||||
|
||||
|
||||
@@ -296,6 +296,7 @@
|
||||
|
||||
_detalhes:CatchRaidBuffUptime ("BUFF_UPTIME_OUT")
|
||||
_detalhes:CatchRaidDebuffUptime ("DEBUFF_UPTIME_OUT")
|
||||
--_detalhes:CloseEnemyDebuffsUptime()
|
||||
|
||||
--> pega a zona do jogador e vê se foi uma luta contra um Boss -- identifica se a luta foi com um boss
|
||||
if (not _detalhes.tabela_vigente.is_boss) then
|
||||
|
||||
+141
-1
@@ -86,7 +86,8 @@
|
||||
|
||||
local container_damage_target = _detalhes.container_type.CONTAINER_DAMAGETARGET_CLASS
|
||||
local container_misc = _detalhes.container_type.CONTAINER_MISC_CLASS
|
||||
|
||||
local container_enemydebufftarget_target = _detalhes.container_type.CONTAINER_ENEMYDEBUFFTARGET_CLASS
|
||||
|
||||
local OBJECT_TYPE_PLAYER = 0x00000400
|
||||
local OBJECT_TYPE_PETS = 0x00003000
|
||||
local AFFILIATION_GROUP = 0x00000007
|
||||
@@ -744,6 +745,9 @@
|
||||
if (raid_members_cache [who_serial]) then
|
||||
--> call record debuffs uptime
|
||||
--[[not tail call, need to fix this]] parser:add_debuff_uptime (token, time, who_serial, who_name, who_flags, alvo_serial, alvo_name, alvo_flags, spellid, spellname, "DEBUFF_UPTIME_IN")
|
||||
|
||||
--elseif (raid_members_cache [alvo_serial] and _bit_band (who_flags, 0x00000040) ~= 0) then --> alvo é da raide e o caster é inimigo
|
||||
--[[not tail call, need to fix this]] --parser:add_bad_debuff_uptime (token, time, who_serial, who_name, who_flags, alvo_serial, alvo_name, alvo_flags, spellid, spellname, "DEBUFF_UPTIME_IN")
|
||||
end
|
||||
end
|
||||
|
||||
@@ -886,6 +890,8 @@
|
||||
if (raid_members_cache [who_serial]) then
|
||||
--> call record debuffs uptime
|
||||
--[[not tail call, need to fix this]] parser:add_debuff_uptime (token, time, who_serial, who_name, who_flags, alvo_serial, alvo_name, alvo_flags, spellid, spellname, "DEBUFF_UPTIME_REFRESH")
|
||||
--elseif (raid_members_cache [alvo_serial] and _bit_band (who_flags, 0x00000040) ~= 0) then --> alvo é da raide e o caster é inimigo
|
||||
--[[not tail call, need to fix this]] --parser:add_bad_debuff_uptime (token, time, who_serial, who_name, who_flags, alvo_serial, alvo_name, alvo_flags, spellid, spellname, "DEBUFF_UPTIME_REFRESH")
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1007,6 +1013,8 @@
|
||||
if (raid_members_cache [who_serial]) then
|
||||
--> call record debuffs uptime
|
||||
--[[not tail call, need to fix this]] parser:add_debuff_uptime (token, time, who_serial, who_name, who_flags, alvo_serial, alvo_name, alvo_flags, spellid, spellname, "DEBUFF_UPTIME_OUT")
|
||||
--elseif (raid_members_cache [alvo_serial] and _bit_band (who_flags, 0x00000040) ~= 0) then --> alvo é da raide e o caster é inimigo
|
||||
--[[not tail call, need to fix this]] --parser:add_bad_debuff_uptime (token, time, who_serial, who_name, who_flags, alvo_serial, alvo_name, alvo_flags, spellid, spellname, "DEBUFF_UPTIME_OUT")
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1051,6 +1059,138 @@
|
||||
--> MISC search key: ~buffuptime ~buffsuptime |
|
||||
-----------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
function parser:add_bad_debuff_uptime (token, time, who_serial, who_name, who_flags, alvo_serial, alvo_name, alvo_flags, spellid, spellname, in_out)
|
||||
|
||||
if (not alvo_name) then
|
||||
--> no target name, just quit
|
||||
return
|
||||
elseif (not who_name) then
|
||||
--> no actor name, use spell name instead
|
||||
who_name = "[*] "..spellname
|
||||
end
|
||||
|
||||
------------------------------------------------------------------------------------------------
|
||||
--> get actors
|
||||
--> nome do debuff será usado para armazenar o nome do ator
|
||||
local este_jogador = misc_cache [spellname]
|
||||
if (not este_jogador) then --> pode ser um desconhecido ou um pet
|
||||
este_jogador = _current_misc_container:PegarCombatente (who_serial, spellname, who_flags, true)
|
||||
misc_cache [spellname] = este_jogador
|
||||
end
|
||||
local shadow = este_jogador.shadow
|
||||
|
||||
------------------------------------------------------------------------------------------------
|
||||
--> build containers on the fly
|
||||
|
||||
if (not este_jogador.debuff_uptime) then
|
||||
este_jogador.boss_debuff = true
|
||||
este_jogador.owner = who_name
|
||||
este_jogador.debuff_uptime = 0
|
||||
este_jogador.debuff_uptime_spell_tables = container_habilidades:NovoContainer (container_misc)
|
||||
este_jogador.debuff_uptime_targets = container_combatentes:NovoContainer (container_enemydebufftarget_target)
|
||||
|
||||
if (not shadow.debuff_uptime_targets) then
|
||||
shadow.boss_debuff = true
|
||||
shadow.owner = who_name
|
||||
shadow.debuff_uptime = 0
|
||||
shadow.debuff_uptime_spell_tables = container_habilidades:NovoContainer (container_misc)
|
||||
shadow.debuff_uptime_targets = container_combatentes:NovoContainer (container_enemydebufftarget_target)
|
||||
end
|
||||
|
||||
este_jogador.debuff_uptime_targets.shadow = shadow.debuff_uptime_targets
|
||||
este_jogador.debuff_uptime_spell_tables.shadow = shadow.debuff_uptime_spell_tables
|
||||
end
|
||||
|
||||
------------------------------------------------------------------------------------------------
|
||||
--> add amount
|
||||
|
||||
--> update last event
|
||||
este_jogador.last_event = _tempo
|
||||
|
||||
--> actor target
|
||||
local este_alvo = este_jogador.debuff_uptime_targets._NameIndexTable [alvo_name]
|
||||
if (not este_alvo) then
|
||||
este_alvo = este_jogador.debuff_uptime_targets:PegarCombatente (alvo_serial, alvo_name, alvo_flags, true)
|
||||
else
|
||||
este_alvo = este_jogador.debuff_uptime_targets._ActorTable [este_alvo]
|
||||
end
|
||||
|
||||
if (in_out == "DEBUFF_UPTIME_IN") then
|
||||
este_alvo.actived = true
|
||||
este_alvo.activedamt = este_alvo.activedamt + 1
|
||||
if (este_alvo.actived_at and este_alvo.actived) then
|
||||
este_alvo.uptime = este_alvo.uptime + _tempo - este_alvo.actived_at
|
||||
este_jogador.debuff_uptime = este_jogador.debuff_uptime + _tempo - este_alvo.actived_at
|
||||
end
|
||||
este_alvo.actived_at = _tempo
|
||||
|
||||
--> shadows
|
||||
este_alvo = este_alvo.shadow
|
||||
este_jogador = este_jogador.shadow
|
||||
|
||||
este_alvo.actived = true
|
||||
este_alvo.activedamt = este_alvo.activedamt + 1
|
||||
if (este_alvo.actived_at and este_alvo.actived) then
|
||||
este_alvo.uptime = este_alvo.uptime + _tempo - este_alvo.actived_at
|
||||
este_jogador.debuff_uptime = este_jogador.debuff_uptime + _tempo - este_alvo.actived_at
|
||||
end
|
||||
este_alvo.actived_at = _tempo
|
||||
|
||||
elseif (in_out == "DEBUFF_UPTIME_REFRESH") then
|
||||
if (este_alvo.actived_at and este_alvo.actived) then
|
||||
este_alvo.uptime = este_alvo.uptime + _tempo - este_alvo.actived_at
|
||||
este_jogador.debuff_uptime = este_jogador.debuff_uptime + _tempo - este_alvo.actived_at
|
||||
end
|
||||
este_alvo.actived_at = _tempo
|
||||
este_alvo.actived = true
|
||||
|
||||
--> shadows
|
||||
este_alvo = este_alvo.shadow
|
||||
este_jogador = este_jogador.shadow
|
||||
|
||||
if (este_alvo.actived_at and este_alvo.actived) then
|
||||
este_alvo.uptime = este_alvo.uptime + _tempo - este_alvo.actived_at
|
||||
este_jogador.debuff_uptime = este_jogador.debuff_uptime + _tempo - este_alvo.actived_at
|
||||
end
|
||||
este_alvo.actived_at = _tempo
|
||||
este_alvo.actived = true
|
||||
|
||||
elseif (in_out == "DEBUFF_UPTIME_OUT") then
|
||||
if (este_alvo.actived_at and este_alvo.actived) then
|
||||
este_alvo.uptime = este_alvo.uptime + _detalhes._tempo - este_alvo.actived_at
|
||||
este_jogador.debuff_uptime = este_jogador.debuff_uptime + _tempo - este_alvo.actived_at --> token = actor misc object
|
||||
end
|
||||
|
||||
este_alvo.activedamt = este_alvo.activedamt - 1
|
||||
|
||||
if (este_alvo.activedamt == 0) then
|
||||
este_alvo.actived = false
|
||||
este_alvo.actived_at = nil
|
||||
else
|
||||
este_alvo.actived_at = _tempo
|
||||
end
|
||||
|
||||
--> shadows
|
||||
este_alvo = este_alvo.shadow
|
||||
este_jogador = este_jogador.shadow
|
||||
|
||||
if (este_alvo.actived_at and este_alvo.actived) then
|
||||
este_alvo.uptime = este_alvo.uptime + _detalhes._tempo - este_alvo.actived_at
|
||||
este_jogador.debuff_uptime = este_jogador.debuff_uptime + _tempo - este_alvo.actived_at --> token = actor misc object
|
||||
end
|
||||
|
||||
este_alvo.activedamt = este_alvo.activedamt - 1
|
||||
|
||||
if (este_alvo.activedamt == 0) then
|
||||
este_alvo.actived = false
|
||||
este_alvo.actived_at = nil
|
||||
else
|
||||
este_alvo.actived_at = _tempo
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
function parser:add_debuff_uptime (token, time, who_serial, who_name, who_flags, alvo_serial, alvo_name, alvo_flags, spellid, spellname, in_out)
|
||||
------------------------------------------------------------------------------------------------
|
||||
--> early checks and fixes
|
||||
|
||||
@@ -96,6 +96,7 @@ do
|
||||
CONTAINER_ENERGY_CLASS = 7,
|
||||
CONTAINER_ENERGYTARGET_CLASS = 8,
|
||||
CONTAINER_MISC_CLASS = 9,
|
||||
CONTAINER_MISCTARGET_CLASS = 10
|
||||
CONTAINER_MISCTARGET_CLASS = 10,
|
||||
CONTAINER_ENEMYDEBUFFTARGET_CLASS = 11
|
||||
}
|
||||
end
|
||||
|
||||
@@ -1351,12 +1351,34 @@ function _detalhes:OpenOptionsWindow (instance)
|
||||
_detalhes.remove_realm_from_name = value
|
||||
end
|
||||
|
||||
--------SKINS
|
||||
g:NewLabel (window, _, "$parentSkinLabel", "skinLabel", "select skin")
|
||||
window.skinLabel:SetPoint (510, -100)
|
||||
--
|
||||
local onSelectSkin = function (_, instance, skin_name)
|
||||
instance:ChangeSkin (skin_name)
|
||||
end
|
||||
|
||||
local buildSkinMenu = function()
|
||||
local skinOptions = {}
|
||||
for skin_name, skin_table in pairs (_detalhes.skins) do
|
||||
skinOptions [#skinOptions+1] = {value = skin_name, label = skin_name, onclick = onSelectSkin, icon = "Interface\\GossipFrame\\TabardGossipIcon", desc = skin_table.desc}
|
||||
end
|
||||
return skinOptions
|
||||
end
|
||||
|
||||
g:NewDropDown (window, _, "$parentSkinDropdown", "skinDropdown", 120, 20, buildSkinMenu, 1) -- func, default
|
||||
window.skinDropdown:SetPoint ("left", window.skinLabel, "right", 2)
|
||||
|
||||
end
|
||||
|
||||
|
||||
----------------------------------------------------------------------------------------
|
||||
--> Show
|
||||
|
||||
_G.DetailsOptionsWindowSkinDropdown.MyObject:SetFixedParameter (instance)
|
||||
_G.DetailsOptionsWindowSkinDropdown.MyObject:Select (instance.skin)
|
||||
|
||||
_G.DetailsOptionsWindowTextureDropdown.MyObject:SetFixedParameter (instance)
|
||||
_G.DetailsOptionsWindowRowBackgroundTextureDropdown.MyObject:SetFixedParameter (instance)
|
||||
_G.DetailsOptionsWindowTextureDropdown.MyObject:Select (instance.barrasInfo.textureName)
|
||||
|
||||
+246
-181
@@ -35,7 +35,6 @@ local modo_grupo = _detalhes._detalhes_props["MODO_GROUP"]
|
||||
local modo_all = _detalhes._detalhes_props["MODO_ALL"]
|
||||
|
||||
local gump_fundo_backdrop = {
|
||||
--bgFile = "Interface\\Tooltips\\UI-Tooltip-Background", tile = true, tileSize = 16,
|
||||
bgFile = "Interface\\AddOns\\Details\\images\\background", tile = true, tileSize = 16,
|
||||
insets = {left = 0, right = 0, top = 0, bottom = 0}}
|
||||
|
||||
@@ -52,6 +51,36 @@ function _detalhes:ScheduleUpdate (instancia)
|
||||
instancia.showing [instancia.atributo].need_refresh = true
|
||||
end
|
||||
end
|
||||
|
||||
--> skins TCoords
|
||||
|
||||
-- 0.00048828125
|
||||
|
||||
local DEFAULT_SKIN = _detalhes.skin_path .. _detalhes.skins ["Default Skin"].file
|
||||
|
||||
local COORDS_LEFT_BALL = {0.15673828125, 0.28076171875, 0.08251953125, 0.20654296875} -- x1 160 y1 84 x2 288 y2 212
|
||||
local COORDS_LEFT_CONNECTOR = {0.29541015625, 0.30224609375, 0.08251953125, 0.20654296875} --302 84 310 212
|
||||
local COORDS_TOP_BACKGROUND = {0.15673828125, 0.65576171875, 0.22314453125, 0.34716796875} -- 160 228 672 356
|
||||
local COORDS_RIGHT_BALL = {0.31591796875, 0.43994140625, 0.08251953125, 0.20654296875} --324 84 452 212
|
||||
|
||||
local COORDS_LEFT_SIDE_BAR = {0.76611328125, 0.82861328125, 0.00244140625, 0.50244140625} -- 784 2 849 515
|
||||
local COORDS_RIGHT_SIDE_BAR = {0.70068359375, 0.76318359375, 0.00244140625, 0.50244140625} -- 717 2 782 515
|
||||
|
||||
local COORDS_SLIDER_TOP = {0.00146484375, 0.03173828125, 0.00244140625, 0.03271484375} -- 1 2 33 34
|
||||
local COORDS_SLIDER_MIDDLE = {0.00146484375, 0.03173828125, 0.03955078125, 0.10107421875} -- 1 40 33 104
|
||||
local COORDS_SLIDER_DOWN = {0.00146484375, 0.03173828125, 0.11767578125, 0.14794921875} -- 1 120 33 152
|
||||
|
||||
local COORDS_STRETCH = {0.00146484375, 0.03173828125, 0.21435546875, 0.22900390625} -- 1 219 33 235
|
||||
local COORDS_RESIZE_RIGHT = {0.00146484375, 0.01611328125, 0.24560546875, 0.26025390625} -- 1 251 17 267
|
||||
local COORDS_RESIZE_LEFT = {0.02001953125, 0.03271484375, 0.24560546875, 0.26025390625} -- 20 251 34 267
|
||||
|
||||
local COORDS_UNLOCK_BUTTON = {0.00146484375, 0.01611328125, 0.27197265625, 0.28662109375} -- 1 278 17 294
|
||||
|
||||
local COORDS_BOTTOM_BACKGROUND = {0.15673828125, 0.65576171875, 0.35400390625, 0.47802734375} -- 160 362 672 490
|
||||
local COORDS_PIN_LEFT = {0.00146484375, 0.03173828125, 0.30126953125, 0.33154296875} -- 1 308 33 340
|
||||
local COORDS_PIN_RIGHT = {0.03564453125, 0.06591796875, 0.30126953125, 0.33154296875} -- 36 308 68 340
|
||||
|
||||
-- icones: 365 = 0.35693359375 // 397 = 0.38720703125
|
||||
|
||||
function _detalhes:AtualizarScrollBar (x)
|
||||
|
||||
@@ -260,6 +289,9 @@ local function resize_fade (instancia, modo)
|
||||
if (_string_lower (modo) == "out") then
|
||||
for _, instancia_id in _pairs (instancia.snap) do
|
||||
if (instancia_id) then
|
||||
instancia.botao_separar.texture:Show()
|
||||
instancia.botao_separar.texture:SetTexCoord (unpack (COORDS_UNLOCK_BUTTON))
|
||||
gump:Fade (instancia.botao_separar.texture, modo, 1.0)
|
||||
gump:Fade (instancia.botao_separar, modo, 1.0)
|
||||
break
|
||||
end
|
||||
@@ -349,7 +381,7 @@ local movement_onupdate = function (self, elapsed)
|
||||
|
||||
tempo_movendo = 1
|
||||
else
|
||||
BaseFrame:SetScript ("OnUpdate", nil)
|
||||
self:SetScript ("OnUpdate", nil)
|
||||
tempo_movendo = 1
|
||||
end
|
||||
|
||||
@@ -1028,6 +1060,7 @@ local function resize_scripts (resizer, instancia, ScrollBar, side, baseframe)
|
||||
resizer:SetScript ("OnEnter", function(self)
|
||||
if (instancia.modo ~= _detalhes._detalhes_props["MODO_ALONE"] and not instancia.baseframe.isLocked) then
|
||||
gump:Fade (self, "out", 0.1)
|
||||
self.texture:SetBlendMode ("ADD")
|
||||
self.mostrando = true
|
||||
|
||||
_G.GameCooltip:Reset()
|
||||
@@ -1039,12 +1072,13 @@ local function resize_scripts (resizer, instancia, ScrollBar, side, baseframe)
|
||||
|
||||
end
|
||||
end)
|
||||
|
||||
|
||||
resizer:SetScript ("OnLeave", function(self)
|
||||
if (not self.movendo) then
|
||||
gump:Fade (self, -1, 3.0)
|
||||
end
|
||||
|
||||
self.texture:SetBlendMode ("BLEND")
|
||||
_detalhes.popup:ShowMe (false)
|
||||
|
||||
self.mostrando = false
|
||||
@@ -1722,35 +1756,39 @@ function gump:CriaJanelaPrincipal (ID, instancia, criando)
|
||||
SwitchButton:SetFrameLevel (BackGroundDisplay:GetFrameLevel()+1)
|
||||
|
||||
local ScrollBar = _CreateFrame ("Slider", "Details_ScrollBar"..ID, BackGroundDisplay) --> scroll
|
||||
--ScrollBar:SetFrameLevel (BaseFrame:GetFrameLevel()+5)
|
||||
|
||||
-- textura da scroll bar
|
||||
-------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
--> scroll image-node up
|
||||
BaseFrame.scroll_up = BackGroundDisplay:CreateTexture (nil, "BACKGROUND")
|
||||
BaseFrame.scroll_up:SetPoint ("TOPLEFT", BackGroundDisplay, "TOPRIGHT", 0, 0)
|
||||
--BaseFrame.scroll_up:SetTexture ("Interface\\AddOns\\Details\\images\\scroll_up")
|
||||
BaseFrame.scroll_up:SetTexture ("Interface\\AddOns\\Details\\images\\scrollbar")
|
||||
BaseFrame.scroll_up:SetTexture (DEFAULT_SKIN)
|
||||
BaseFrame.scroll_up:SetTexCoord (unpack (COORDS_SLIDER_TOP))
|
||||
BaseFrame.scroll_up:SetWidth (32)
|
||||
BaseFrame.scroll_up:SetHeight (32)
|
||||
BaseFrame.scroll_up:SetTexCoord (0, 1, 0, 0.25)
|
||||
--BaseFrame.scroll_up:SetTexture ("Interface\\AddOns\\Details\\images\\scrollbar")
|
||||
--BaseFrame.scroll_up:SetTexCoord (0, 1, 0, 0.25)
|
||||
|
||||
--> scroll image-node down
|
||||
BaseFrame.scroll_down = BackGroundDisplay:CreateTexture (nil, "BACKGROUND")
|
||||
BaseFrame.scroll_down:SetPoint ("BOTTOMLEFT", BackGroundDisplay, "BOTTOMRIGHT", 0, 0)
|
||||
BaseFrame.scroll_down:SetTexture ("Interface\\AddOns\\Details\\images\\scrollbar")
|
||||
BaseFrame.scroll_down:SetTexture (DEFAULT_SKIN)
|
||||
BaseFrame.scroll_down:SetTexCoord (unpack (COORDS_SLIDER_DOWN))
|
||||
BaseFrame.scroll_down:SetWidth (32)
|
||||
BaseFrame.scroll_down:SetHeight (32)
|
||||
BaseFrame.scroll_down:SetTexCoord (0, 1, 0.751, 1)
|
||||
--BaseFrame.scroll_down:SetTexture ("Interface\\AddOns\\Details\\images\\scrollbar")
|
||||
--BaseFrame.scroll_down:SetTexCoord (0, 1, 0.751, 1)
|
||||
|
||||
--> scroll image-node middle
|
||||
BaseFrame.scroll_middle = BackGroundDisplay:CreateTexture (nil, "BACKGROUND")
|
||||
BaseFrame.scroll_middle:SetPoint ("TOP", BaseFrame.scroll_up, "BOTTOM", 0, 8)
|
||||
BaseFrame.scroll_middle:SetPoint ("BOTTOM", BaseFrame.scroll_down, "TOP", 0, -11)
|
||||
BaseFrame.scroll_middle:SetTexture ("Interface\\AddOns\\Details\\images\\scrollbar")
|
||||
BaseFrame.scroll_middle:SetTexture (DEFAULT_SKIN)
|
||||
BaseFrame.scroll_middle:SetTexCoord (unpack (COORDS_SLIDER_MIDDLE))
|
||||
BaseFrame.scroll_middle:SetWidth (32)
|
||||
BaseFrame.scroll_middle:SetHeight (64)
|
||||
BaseFrame.scroll_middle:SetTexCoord (0, 1, 0.251, 0.75)
|
||||
--BaseFrame.scroll_middle:SetTexCoord (0, 1, 0.251, 0.75)
|
||||
--BaseFrame.scroll_middle:SetTexture ("Interface\\AddOns\\Details\\images\\scrollbar")
|
||||
|
||||
--> três botões scroll up, down, window strech
|
||||
BaseFrame.button_up = _CreateFrame ("Button", nil, BackGroundDisplay)
|
||||
@@ -1761,11 +1799,16 @@ function gump:CriaJanelaPrincipal (ID, instancia, criando)
|
||||
BaseFrame.button_stretch:SetPoint ("RIGHT", BaseFrame, "RIGHT", -27, 0)
|
||||
BaseFrame.button_stretch:SetFrameStrata ("FULLSCREEN")
|
||||
|
||||
local stretch_texture = BaseFrame.button_stretch:CreateTexture (nil, "overlay")
|
||||
stretch_texture:SetTexture (DEFAULT_SKIN)
|
||||
stretch_texture:SetTexCoord (unpack (COORDS_STRETCH))
|
||||
stretch_texture:SetWidth (32)
|
||||
stretch_texture:SetHeight (16)
|
||||
stretch_texture:SetAllPoints (BaseFrame.button_stretch)
|
||||
BaseFrame.button_stretch.texture = stretch_texture
|
||||
|
||||
BaseFrame.button_stretch:SetWidth (32)
|
||||
BaseFrame.button_stretch:SetHeight (16)
|
||||
BaseFrame.button_stretch:SetNormalTexture ("Interface\\AddOns\\Details\\images\\grab")
|
||||
BaseFrame.button_stretch:SetPushedTexture ("Interface\\AddOns\\Details\\images\\grab_over")
|
||||
BaseFrame.button_stretch:SetDisabledTexture ("Interface\\AddOns\\Details\\images\\grab")
|
||||
gump:Fade (BaseFrame.button_stretch, -1)
|
||||
|
||||
BaseFrame.button_stretch:Show()
|
||||
@@ -1832,7 +1875,6 @@ function gump:CriaJanelaPrincipal (ID, instancia, criando)
|
||||
|
||||
BaseFrame:SetBackdrop (gump_fundo_backdrop)
|
||||
BaseFrame:SetBackdropColor (instancia.bg_r, instancia.bg_g, instancia.bg_b, instancia.bg_alpha)
|
||||
--BaseFrame:SetBackdropColor (0, 0, 0, 1)
|
||||
|
||||
-- fundo
|
||||
-------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
@@ -1879,8 +1921,15 @@ function gump:CriaJanelaPrincipal (ID, instancia, criando)
|
||||
------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
BaseFrame.resize_direita = _CreateFrame ("Button", "Details_Resize_Direita"..ID, BaseFrame)
|
||||
BaseFrame.resize_direita:SetNormalTexture ("Interface\\AddOns\\Details\\images\\ResizeGripD")
|
||||
BaseFrame.resize_direita:SetHighlightTexture ("Interface\\AddOns\\Details\\images\\ResizeGripD")
|
||||
|
||||
local resize_direita_texture = BaseFrame.resize_direita:CreateTexture (nil, "overlay")
|
||||
resize_direita_texture:SetWidth (16)
|
||||
resize_direita_texture:SetHeight (16)
|
||||
resize_direita_texture:SetTexture (DEFAULT_SKIN)
|
||||
resize_direita_texture:SetTexCoord (unpack (COORDS_RESIZE_RIGHT))
|
||||
resize_direita_texture:SetAllPoints (BaseFrame.resize_direita)
|
||||
BaseFrame.resize_direita.texture = resize_direita_texture
|
||||
|
||||
BaseFrame.resize_direita:SetWidth (16)
|
||||
BaseFrame.resize_direita:SetHeight (16)
|
||||
BaseFrame.resize_direita:SetPoint ("BOTTOMRIGHT", BaseFrame, "BOTTOMRIGHT", 0, 0)
|
||||
@@ -1918,8 +1967,17 @@ function gump:CriaJanelaPrincipal (ID, instancia, criando)
|
||||
--]]
|
||||
|
||||
BaseFrame.resize_esquerda = _CreateFrame ("Button", "Details_Resize_Esquerda"..ID, BaseFrame)
|
||||
BaseFrame.resize_esquerda:SetNormalTexture ("Interface\\AddOns\\Details\\images\\ResizeGripL")
|
||||
BaseFrame.resize_esquerda:SetHighlightTexture ("Interface\\AddOns\\Details\\images\\ResizeGripL")
|
||||
|
||||
local resize_esquerda_texture = BaseFrame.resize_esquerda:CreateTexture (nil, "overlay")
|
||||
resize_esquerda_texture:SetWidth (16)
|
||||
resize_esquerda_texture:SetHeight (16)
|
||||
resize_esquerda_texture:SetTexture (DEFAULT_SKIN)
|
||||
resize_esquerda_texture:SetTexCoord (unpack (COORDS_RESIZE_LEFT))
|
||||
resize_esquerda_texture:SetAllPoints (BaseFrame.resize_esquerda)
|
||||
BaseFrame.resize_esquerda.texture = resize_esquerda_texture
|
||||
|
||||
--BaseFrame.resize_esquerda:SetNormalTexture ("Interface\\AddOns\\Details\\images\\ResizeGripL")
|
||||
--BaseFrame.resize_esquerda:SetHighlightTexture ("Interface\\AddOns\\Details\\images\\ResizeGripL")
|
||||
BaseFrame.resize_esquerda:SetWidth (16)
|
||||
BaseFrame.resize_esquerda:SetHeight (16)
|
||||
BaseFrame.resize_esquerda:SetPoint ("BOTTOMLEFT", BaseFrame, "BOTTOMLEFT", 0, 0)
|
||||
@@ -1969,18 +2027,24 @@ function gump:CriaJanelaPrincipal (ID, instancia, criando)
|
||||
|
||||
--> barra borda esquerda lateral
|
||||
BaseFrame.barra_esquerda = BaseFrame.cabecalho.fechar:CreateTexture (nil, "ARTWORK")
|
||||
BaseFrame.barra_esquerda:SetTexture ("Interface\\AddOns\\Details\\images\\bar_main_leftright")
|
||||
BaseFrame.barra_esquerda:SetTexCoord (0.5, 1, 0, 1)
|
||||
BaseFrame.barra_esquerda:SetWidth (16)
|
||||
BaseFrame.barra_esquerda:SetPoint ("TOPLEFT", BaseFrame, "TOPLEFT", -8, 0)
|
||||
BaseFrame.barra_esquerda:SetPoint ("BOTTOMLEFT", BaseFrame, "BOTTOMLEFT", -8, -14)
|
||||
--BaseFrame.barra_esquerda:SetTexture ("Interface\\AddOns\\Details\\images\\bar_main_leftright")
|
||||
--BaseFrame.barra_esquerda:SetTexCoord (0.5, 1, 0, 1)
|
||||
BaseFrame.barra_esquerda:SetTexture (DEFAULT_SKIN)
|
||||
BaseFrame.barra_esquerda:SetTexCoord (unpack (COORDS_LEFT_SIDE_BAR))
|
||||
BaseFrame.barra_esquerda:SetWidth (64)
|
||||
BaseFrame.barra_esquerda:SetHeight (512)
|
||||
BaseFrame.barra_esquerda:SetPoint ("TOPLEFT", BaseFrame, "TOPLEFT", -56, 0)
|
||||
BaseFrame.barra_esquerda:SetPoint ("BOTTOMLEFT", BaseFrame, "BOTTOMLEFT", -56, -14)
|
||||
|
||||
BaseFrame.barra_direita = BaseFrame.cabecalho.fechar:CreateTexture (nil, "ARTWORK")
|
||||
BaseFrame.barra_direita:SetTexture ("Interface\\AddOns\\Details\\images\\bar_main_leftright")
|
||||
BaseFrame.barra_direita:SetTexCoord (0, 0.5, 0, 1)
|
||||
BaseFrame.barra_direita:SetWidth (16)
|
||||
BaseFrame.barra_direita:SetPoint ("TOPRIGHT", BaseFrame, "TOPRIGHT", 8, 0)
|
||||
BaseFrame.barra_direita:SetPoint ("BOTTOMRIGHT", BaseFrame, "BOTTOMRIGHT", 8, -14)
|
||||
--BaseFrame.barra_direita:SetTexture ("Interface\\AddOns\\Details\\images\\bar_main_leftright")
|
||||
--BaseFrame.barra_direita:SetTexCoord (0, 0.5, 0, 1)
|
||||
BaseFrame.barra_direita:SetTexture (DEFAULT_SKIN)
|
||||
BaseFrame.barra_direita:SetTexCoord (unpack (COORDS_RIGHT_SIDE_BAR))
|
||||
BaseFrame.barra_direita:SetWidth (64)
|
||||
BaseFrame.barra_direita:SetHeight (512)
|
||||
BaseFrame.barra_direita:SetPoint ("TOPRIGHT", BaseFrame, "TOPRIGHT", 56, 0)
|
||||
BaseFrame.barra_direita:SetPoint ("BOTTOMRIGHT", BaseFrame, "BOTTOMRIGHT", 56, -14)
|
||||
|
||||
|
||||
--chama função para criar o rodapé
|
||||
@@ -1991,11 +2055,17 @@ function gump:CriaJanelaPrincipal (ID, instancia, criando)
|
||||
------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
-- BETA -- botão de separar as instâncias que estão agrupadas
|
||||
instancia.botao_separar = gump:NewDetailsButton (BaseFrame.cabecalho.fechar, _, instancia, instancia.Desagrupar, instancia, -1, 13, 13,
|
||||
"Interface\\AddOns\\Details\\images\\cadeado", "Interface\\AddOns\\Details\\images\\cadeado", "Interface\\AddOns\\Details\\images\\cadeado", "Interface\\AddOns\\Details\\images\\cadeado")
|
||||
instancia.botao_separar = gump:NewDetailsButton (BaseFrame.cabecalho.fechar, _, instancia, instancia.Desagrupar, instancia, -1, 13, 13)
|
||||
instancia.botao_separar:SetPoint ("BOTTOM", BaseFrame.resize_direita, "TOP", -1, 0)
|
||||
instancia.botao_separar:SetFrameLevel (BaseFrame:GetFrameLevel() + 5)
|
||||
|
||||
|
||||
local cadeado_texture = instancia.botao_separar:CreateTexture (nil, "overlay")
|
||||
cadeado_texture:SetTexture (DEFAULT_SKIN)
|
||||
cadeado_texture:SetTexCoord (unpack (COORDS_UNLOCK_BUTTON))
|
||||
cadeado_texture:SetAllPoints (instancia.botao_separar)
|
||||
instancia.botao_separar.texture = cadeado_texture
|
||||
BaseFrame.unlock_texture = cadeado_texture
|
||||
|
||||
gump:Fade (instancia.botao_separar, "in", 3.0)
|
||||
|
||||
resize_scripts (BaseFrame.resize_direita, instancia, ScrollBar, ">", BaseFrame)
|
||||
@@ -2015,7 +2085,8 @@ function gump:CriaJanelaPrincipal (ID, instancia, criando)
|
||||
instancia.h_cima:SetTexture ("Interface\\AddOns\\Details\\images\\highlight_updown")
|
||||
instancia.h_cima:SetTexCoord (0, 1, 0.5, 1)
|
||||
instancia.h_cima:SetPoint ("topleft", BaseFrame.cabecalho.top_bg, "bottomleft", -10, 37)
|
||||
instancia.h_cima:SetPoint ("topright", BaseFrame.cabecalho.ball_r, "bottomright", -33, 37)
|
||||
--instancia.h_cima:SetPoint ("topright", BaseFrame.cabecalho.ball_r, "bottomright", -33, 37)
|
||||
instancia.h_cima:SetPoint ("topright", BaseFrame.cabecalho.ball_r, "bottomright", -97, 37)
|
||||
--instancia.h_cima:Hide()
|
||||
instancia.h_cima = fcima
|
||||
--
|
||||
@@ -2042,8 +2113,8 @@ function gump:CriaJanelaPrincipal (ID, instancia, criando)
|
||||
instancia.h_esquerda = fesquerda:CreateTexture (nil, "OVERLAY")
|
||||
instancia.h_esquerda:SetTexture ("Interface\\AddOns\\Details\\images\\highlight_leftright")
|
||||
instancia.h_esquerda:SetTexCoord (0.5, 1, 0, 1)
|
||||
instancia.h_esquerda:SetPoint ("topleft", BaseFrame.barra_esquerda, "topleft", -8, 0)
|
||||
instancia.h_esquerda:SetPoint ("bottomleft", BaseFrame.barra_esquerda, "bottomleft", -8, 0)
|
||||
instancia.h_esquerda:SetPoint ("topleft", BaseFrame.barra_esquerda, "topleft", 40, 0)
|
||||
instancia.h_esquerda:SetPoint ("bottomleft", BaseFrame.barra_esquerda, "bottomleft", 40, 0)
|
||||
--instancia.h_esquerda:Hide()
|
||||
instancia.h_esquerda = fesquerda
|
||||
--
|
||||
@@ -2077,99 +2148,10 @@ function gump:CriaJanelaPrincipal (ID, instancia, criando)
|
||||
instancia.locs = CProps
|
||||
end
|
||||
|
||||
--> background shadow color debug
|
||||
--[[
|
||||
local white_frame = _CreateFrame ("Frame", "DetailsWhiteFrame", _UIParent)
|
||||
white_frame:SetFrameStrata ("LOW")
|
||||
white_frame:SetFrameLevel (0)
|
||||
|
||||
white_frame:SetSize (400, 250)
|
||||
white_frame:SetPoint ("topleft", BaseFrame.cabecalho.ball, "topleft")
|
||||
white_frame:SetBackdrop({
|
||||
bgFile = "Interface\\Tooltips\\UI-Tooltip-Background",
|
||||
tile = true, tileSize = 16,
|
||||
insets = {left = 1, right = 1, top = 0, bottom = 1},})
|
||||
white_frame:SetBackdropColor (255/255, 255/255, 255/255, 1)
|
||||
local white_texture = white_frame:CreateTexture (nil, "artwork")
|
||||
white_texture:SetAllPoints (white_frame)
|
||||
white_texture:SetTexture (1, 1, 1, 1)
|
||||
white_frame:Show()
|
||||
--]]
|
||||
|
||||
return BaseFrame, BackGroundFrame, BackGroundDisplay, ScrollBar
|
||||
|
||||
end
|
||||
|
||||
function gump:CreateSplitBars (barra, instancia)
|
||||
|
||||
barra.split = {}
|
||||
local size = barra:GetHeight()
|
||||
|
||||
--> barra superior
|
||||
barra.split.barra = _CreateFrame ("StatusBar", nil, barra)
|
||||
barra.split.barra:SetFrameLevel (barra.statusbar:GetFrameLevel()+2)
|
||||
barra.split.barra:SetAllPoints (barra)
|
||||
barra.split.barra:SetMinMaxValues (0, 100)
|
||||
barra.split.barra:SetValue (100)
|
||||
|
||||
barra.split.barra.textura = barra.split.barra:CreateTexture (nil, "ARTWORK")
|
||||
barra.split.barra.textura:SetHorizTile (false)
|
||||
barra.split.barra.textura:SetVertTile (false)
|
||||
barra.split.barra.textura:SetTexture ([[Interface\PaperDollInfoFrame\UI-Character-Skills-Bar]])
|
||||
barra.split.barra:SetStatusBarColor (1, 1, 1, 1)
|
||||
barra.split.barra:SetStatusBarTexture (barra.split.barra.textura)
|
||||
|
||||
barra.split.barra.icone = barra.split.barra:CreateTexture (nil, "OVERLAY")
|
||||
barra.split.barra.icone:SetPoint ("left", barra.split.barra, "left")
|
||||
barra.split.barra.icone:SetHeight (size)
|
||||
barra.split.barra.icone:SetWidth (size)
|
||||
barra.split.barra.icone:SetTexture ("Interface\\AddOns\\Details\\images\\classes_small")
|
||||
barra.split.barra.icone:SetTexCoord (.75, 1, .75, 1)
|
||||
|
||||
barra.split.barra.texto = barra.split.barra:CreateFontString (nil, "OVERLAY", "GameFontHighlight")
|
||||
barra.split.barra.texto:SetPoint ("left", barra.split.barra.icone, "right", 3, 0)
|
||||
barra.split.barra.texto:SetJustifyH ("left")
|
||||
barra.split.barra.texto:SetNonSpaceWrap (true)
|
||||
|
||||
instancia:SetFontSize (barra.split.barra.texto, size*0.75)
|
||||
_detalhes.font_pool:add (barra.split.barra.texto)
|
||||
|
||||
--> barra inferior
|
||||
barra.split.background = _CreateFrame ("StatusBar", nil, barra)
|
||||
barra.split.background:SetAllPoints (barra)
|
||||
barra.split.background:SetFrameLevel (barra.statusbar:GetFrameLevel()+1)
|
||||
barra.split.background:SetMinMaxValues (0, 100)
|
||||
barra.split.background:SetValue (100)
|
||||
|
||||
barra.split.background.textura = barra.split.background:CreateTexture (nil, "ARTWORK")
|
||||
barra.split.background.textura:SetHorizTile (false)
|
||||
barra.split.background.textura:SetVertTile (false)
|
||||
barra.split.background.textura:SetTexture ([[Interface\PaperDollInfoFrame\UI-Character-Skills-Bar]])
|
||||
barra.split.background:SetStatusBarColor (1, 1, 1, 1)
|
||||
barra.split.background:SetStatusBarTexture (barra.split.background.textura)
|
||||
|
||||
barra.split.background.icone = barra.split.barra:CreateTexture (nil, "OVERLAY")
|
||||
barra.split.background.icone:SetPoint ("right", barra.split.background, "right")
|
||||
barra.split.background.icone:SetHeight (size)
|
||||
barra.split.background.icone:SetWidth (size)
|
||||
barra.split.background.icone:SetTexture ("Interface\\AddOns\\Details\\images\\classes_small")
|
||||
barra.split.background.icone:SetTexCoord (.75, 1, .75, 1)
|
||||
|
||||
barra.split.background.texto = barra.split.barra:CreateFontString (nil, "OVERLAY", "GameFontHighlight")
|
||||
barra.split.background.texto:SetPoint ("right", barra.split.background.icone, "left", -3, 0)
|
||||
barra.split.background.texto:SetJustifyH ("right")
|
||||
barra.split.background.texto:SetNonSpaceWrap (true)
|
||||
|
||||
instancia:SetFontSize (barra.split.background.texto, size*0.75)
|
||||
_detalhes.font_pool:add (barra.split.background.texto)
|
||||
|
||||
barra.split.div = barra.split.barra:CreateTexture (nil, "OVERLAY")
|
||||
barra.split.div:SetTexture ("Interface\\AddOns\\Details\\images\\bar_detalhes2_end")
|
||||
barra.split.div:SetHeight (size)
|
||||
barra.split.div:SetWidth (10)
|
||||
|
||||
end
|
||||
|
||||
--> Alias
|
||||
function gump:NewRow (instancia, index)
|
||||
return gump:CriaNovaBarra (instancia, index)
|
||||
@@ -2185,6 +2167,7 @@ function gump:CriaNovaBarra (instancia, index)
|
||||
y = y*-1
|
||||
|
||||
esta_barra:SetPoint ("TOPLEFT", BaseFrame, "TOPLEFT", instancia.barrasInfo.espaco.esquerda, y)
|
||||
|
||||
esta_barra:SetHeight (instancia.barrasInfo.altura) --> altura determinada pela instância
|
||||
esta_barra:SetWidth (BaseFrame:GetWidth()+instancia.barrasInfo.espaco.direita)
|
||||
|
||||
@@ -2441,6 +2424,8 @@ function _detalhes:InstanceColor (red, green, blue, alpha)
|
||||
red, green, blue, alpha = gump:ParseColors (red)
|
||||
end
|
||||
|
||||
local skin = _detalhes.skins [self.skin]
|
||||
|
||||
self.baseframe.rodape.esquerdo:SetVertexColor (red, green, blue)
|
||||
self.baseframe.rodape.esquerdo:SetAlpha (alpha)
|
||||
self.baseframe.rodape.direita:SetVertexColor (red, green, blue)
|
||||
@@ -2451,7 +2436,9 @@ function _detalhes:InstanceColor (red, green, blue, alpha)
|
||||
self.baseframe.cabecalho.ball_r:SetVertexColor (red, green, blue)
|
||||
self.baseframe.cabecalho.ball_r:SetAlpha (alpha)
|
||||
self.baseframe.cabecalho.ball:SetVertexColor (red, green, blue)
|
||||
self.baseframe.cabecalho.ball:SetAlpha (alpha)
|
||||
if (skin.can_change_alpha_head) then
|
||||
self.baseframe.cabecalho.ball:SetAlpha (alpha)
|
||||
end
|
||||
self.baseframe.cabecalho.emenda:SetVertexColor (red, green, blue)
|
||||
self.baseframe.cabecalho.emenda:SetAlpha (alpha)
|
||||
self.baseframe.cabecalho.top_bg:SetVertexColor (red, green, blue)
|
||||
@@ -2471,41 +2458,42 @@ function gump:CriaRodape (BaseFrame, instancia)
|
||||
|
||||
--> esquerdo
|
||||
BaseFrame.rodape.esquerdo = BaseFrame.cabecalho.fechar:CreateTexture (nil, "OVERLAY")
|
||||
BaseFrame.rodape.esquerdo:SetPoint ("TOPRIGHT", BaseFrame, "BOTTOMLEFT", 48, 0)
|
||||
BaseFrame.rodape.esquerdo:SetTexture ("Interface\\AddOns\\Details\\images\\bar_down_left")
|
||||
BaseFrame.rodape.esquerdo:SetPoint ("TOPRIGHT", BaseFrame, "BOTTOMLEFT", 16, 0)
|
||||
BaseFrame.rodape.esquerdo:SetTexture (DEFAULT_SKIN)
|
||||
BaseFrame.rodape.esquerdo:SetTexCoord (unpack (COORDS_PIN_LEFT))
|
||||
BaseFrame.rodape.esquerdo:SetWidth (32)
|
||||
BaseFrame.rodape.esquerdo:SetHeight (32)
|
||||
--BaseFrame.rodape.esquerdo:SetTexture ("Interface\\AddOns\\Details\\images\\bar_down_left")
|
||||
|
||||
--> direito
|
||||
BaseFrame.rodape.direita = BaseFrame.cabecalho.fechar:CreateTexture (nil, "OVERLAY")
|
||||
BaseFrame.rodape.direita:SetPoint ("TOPLEFT", BaseFrame, "BOTTOMRIGHT", -16, 0)
|
||||
BaseFrame.rodape.direita:SetTexture ("Interface\\AddOns\\Details\\images\\bar_down_right")
|
||||
BaseFrame.rodape.direita:SetTexture (DEFAULT_SKIN)
|
||||
BaseFrame.rodape.direita:SetTexCoord (unpack (COORDS_PIN_RIGHT))
|
||||
BaseFrame.rodape.direita:SetWidth (32)
|
||||
BaseFrame.rodape.direita:SetHeight (32)
|
||||
--BaseFrame.rodape.direita:SetTexture ("Interface\\AddOns\\Details\\images\\bar_down_right")
|
||||
|
||||
--> barra centro
|
||||
BaseFrame.rodape.top_bg = BaseFrame:CreateTexture (nil, "BACKGROUND")
|
||||
BaseFrame.rodape.top_bg:SetTexture ("Interface\\AddOns\\Details\\images\\bar_topdown_center")
|
||||
BaseFrame.rodape.top_bg:SetTexCoord (0, 1, 0.5, 1)
|
||||
BaseFrame.rodape.top_bg:SetHeight (32)
|
||||
BaseFrame.rodape.top_bg:SetPoint ("LEFT", BaseFrame.rodape.esquerdo, "RIGHT", -48, 0)
|
||||
BaseFrame.rodape.top_bg:SetPoint ("RIGHT", BaseFrame.rodape.direita, "LEFT", 16, 0)
|
||||
BaseFrame.rodape.top_bg:SetTexture (DEFAULT_SKIN)
|
||||
BaseFrame.rodape.top_bg:SetTexCoord (unpack (COORDS_BOTTOM_BACKGROUND))
|
||||
BaseFrame.rodape.top_bg:SetWidth (512)
|
||||
BaseFrame.rodape.top_bg:SetHeight (128)
|
||||
BaseFrame.rodape.top_bg:SetPoint ("LEFT", BaseFrame.rodape.esquerdo, "RIGHT", -16, -48)
|
||||
BaseFrame.rodape.top_bg:SetPoint ("RIGHT", BaseFrame.rodape.direita, "LEFT", 16, -48)
|
||||
|
||||
local StatusBarLeftAnchor = CreateFrame ("frame", nil, BaseFrame)
|
||||
StatusBarLeftAnchor:SetPoint ("left", BaseFrame.rodape.top_bg, "left", 5, 10)
|
||||
StatusBarLeftAnchor:SetPoint ("left", BaseFrame.rodape.top_bg, "left", 5, 57)
|
||||
StatusBarLeftAnchor:SetWidth (1)
|
||||
StatusBarLeftAnchor:SetHeight (1)
|
||||
BaseFrame.rodape.StatusBarLeftAnchor = StatusBarLeftAnchor
|
||||
|
||||
local StatusBarCenterAnchor = CreateFrame ("frame", nil, BaseFrame)
|
||||
StatusBarCenterAnchor:SetPoint ("center", BaseFrame.rodape.top_bg, "center", 0, 10)
|
||||
StatusBarCenterAnchor:SetPoint ("center", BaseFrame.rodape.top_bg, "center", 0, 57)
|
||||
StatusBarCenterAnchor:SetWidth (1)
|
||||
StatusBarCenterAnchor:SetHeight (1)
|
||||
|
||||
--[[ --create a line showing the center point of window
|
||||
local centerLineGuide = StatusBarCenterAnchor:CreateTexture(nil,"overlay")
|
||||
centerLineGuide:SetWidth (1)
|
||||
centerLineGuide:SetHeight (20)
|
||||
centerLineGuide:SetPoint ("center", StatusBarCenterAnchor, "center")
|
||||
centerLineGuide:SetTexture (1, 1, 1, 1)
|
||||
--]]
|
||||
|
||||
BaseFrame.rodape.StatusBarCenterAnchor = StatusBarCenterAnchor
|
||||
|
||||
--> frame invisível
|
||||
@@ -2594,7 +2582,7 @@ function _detalhes:DefaultIcons (_mode, _segment, _attributes, _report)
|
||||
_thisIcon:SetPoint ("TOPLEFT", self.consolidateFrame, "TOPLEFT", -3, -5)
|
||||
_thisIcon:SetParent (self.consolidateFrame)
|
||||
else
|
||||
_thisIcon:SetPoint ("BOTTOMLEFT", baseToolbar.ball, "BOTTOMRIGHT", 0 + anchors[index][1], 2 + anchors[index][2])
|
||||
_thisIcon:SetPoint ("BOTTOMLEFT", baseToolbar.ball, "BOTTOMRIGHT", 6 + anchors[index][1], 2 + anchors[index][2])
|
||||
_thisIcon:SetParent (self.baseframe)
|
||||
_thisIcon:SetFrameLevel (self.baseframe.UPFrame:GetFrameLevel()+1)
|
||||
end
|
||||
@@ -2919,7 +2907,78 @@ local build_segment_list = function (self, elapsed)
|
||||
|
||||
end
|
||||
|
||||
local botao_fechar_on_enter = function (self)
|
||||
gump:Fade (self:GetParent().button_stretch, "alpha", 0.3)
|
||||
end
|
||||
local botao_fechar_on_leave = function (self)
|
||||
gump:Fade (self:GetParent().button_stretch, -1)
|
||||
end
|
||||
|
||||
function _detalhes:ChangeSkin (skin_name)
|
||||
|
||||
if (not skin_name) then
|
||||
skin_name = self.skin
|
||||
end
|
||||
|
||||
local this_skin = _detalhes.skins [skin_name]
|
||||
|
||||
if (not this_skin) then
|
||||
return false --> throw a msg
|
||||
end
|
||||
|
||||
self.skin = skin_name
|
||||
local skin_file = _detalhes.skin_path .. this_skin.file
|
||||
|
||||
self.baseframe.cabecalho.ball:SetTexture (skin_file) --> bola esquerda
|
||||
self.baseframe.cabecalho.emenda:SetTexture (skin_file) --> emenda que liga a bola a textura do centro
|
||||
self.baseframe.cabecalho.ball_r:SetTexture (skin_file) --> bola direita onde fica o botão de fechar
|
||||
self.baseframe.cabecalho.top_bg:SetTexture (skin_file) --> top background
|
||||
|
||||
self.baseframe.barra_esquerda:SetTexture (skin_file) --> barra lateral
|
||||
self.baseframe.barra_direita:SetTexture (skin_file) --> barra lateral
|
||||
|
||||
self.baseframe.scroll_up:SetTexture (skin_file) --> scrollbar parte de cima
|
||||
self.baseframe.scroll_down:SetTexture (skin_file) --> scrollbar parte de baixo
|
||||
self.baseframe.scroll_middle:SetTexture (skin_file) --> scrollbar parte do meio
|
||||
|
||||
self.baseframe.rodape.top_bg:SetTexture (skin_file) --> rodape top background
|
||||
self.baseframe.rodape.esquerdo:SetTexture (skin_file) --> rodape esquerdo
|
||||
self.baseframe.rodape.direita:SetTexture (skin_file) --> rodape direito
|
||||
|
||||
self.baseframe.button_stretch.texture:SetTexture (skin_file) --> botão de esticar a janela
|
||||
|
||||
self.baseframe.resize_direita.texture:SetTexture (skin_file) --> botão de redimencionar da direita
|
||||
self.baseframe.resize_esquerda.texture:SetTexture (skin_file) --> botão de redimencionar da esquerda
|
||||
|
||||
self.baseframe.unlock_texture:SetTexture (skin_file) --> cadeado
|
||||
|
||||
if (self.modo == 1 or self.modo == 4 or self.atributo == 5) then -- alone e raid
|
||||
local icon_anchor = this_skin.icon_anchor_plugins
|
||||
self.baseframe.cabecalho.atributo_icon:SetPoint ("TOPRIGHT", self.baseframe.cabecalho.ball_point, "TOPRIGHT", icon_anchor[1], icon_anchor[2])
|
||||
if (self.modo == 1) then
|
||||
local plugin_index = _detalhes.SoloTables.Mode
|
||||
if (plugin_index > 0 and _detalhes.SoloTables.Menu [plugin_index]) then
|
||||
self:ChangeIcon (_detalhes.SoloTables.Menu [plugin_index] [2])
|
||||
end
|
||||
elseif (self.modo == 4) then
|
||||
local plugin_index = _detalhes.RaidTables.Mode
|
||||
if (plugin_index and _detalhes.RaidTables.Menu [plugin_index]) then
|
||||
self:ChangeIcon (_detalhes.RaidTables.Menu [plugin_index] [2])
|
||||
end
|
||||
end
|
||||
else
|
||||
local icon_anchor = this_skin.icon_anchor_main --> ancora do icone do canto direito superior
|
||||
self.baseframe.cabecalho.atributo_icon:SetPoint ("TOPRIGHT", self.baseframe.cabecalho.ball_point, "TOPRIGHT", icon_anchor[1], icon_anchor[2])
|
||||
self:ChangeIcon()
|
||||
end
|
||||
|
||||
if (not this_skin.can_change_alpha_head) then
|
||||
self.baseframe.cabecalho.ball:SetAlpha (100)
|
||||
else
|
||||
self.baseframe.cabecalho.ball:SetAlpha (self.color[4])
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
function gump:CriaCabecalho (BaseFrame, instancia)
|
||||
|
||||
@@ -2932,77 +2991,83 @@ function gump:CriaCabecalho (BaseFrame, instancia)
|
||||
BaseFrame.cabecalho.fechar = _CreateFrame ("Button", nil, BaseFrame, "UIPanelCloseButton")
|
||||
BaseFrame.cabecalho.fechar:SetWidth (32)
|
||||
BaseFrame.cabecalho.fechar:SetHeight (32)
|
||||
|
||||
BaseFrame.cabecalho.fechar:SetPoint ("BOTTOMRIGHT", BaseFrame, "TOPRIGHT", 5, -6)
|
||||
BaseFrame.cabecalho.fechar:SetFrameLevel (5) --> altura mais alta que os demais frames
|
||||
BaseFrame.cabecalho.fechar:SetPoint ("BOTTOMRIGHT", BaseFrame, "TOPRIGHT", 5, -6) --> seta o ponto dele fixando no base frame
|
||||
|
||||
BaseFrame.cabecalho.fechar:SetScript ("OnClick", function()
|
||||
BaseFrame.cabecalho.fechar:Disable()
|
||||
instancia:DesativarInstancia()
|
||||
if (_detalhes.opened_windows == 0) then --> não há mais instâncias abertas, então manda msg alertando...
|
||||
--> 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:SetText ("x")
|
||||
BaseFrame.cabecalho.fechar:SetScript ("OnEnter", function (self)
|
||||
gump:Fade (BaseFrame.button_stretch, "alpha", 0.3)
|
||||
end)
|
||||
BaseFrame.cabecalho.fechar:SetScript ("OnLeave", function (self)
|
||||
gump:Fade (BaseFrame.button_stretch, -1)
|
||||
end)
|
||||
|
||||
BaseFrame.cabecalho.fechar:SetFrameLevel (5)
|
||||
BaseFrame.cabecalho.fechar:SetScript ("OnEnter", botao_fechar_on_enter)
|
||||
BaseFrame.cabecalho.fechar:SetScript ("OnLeave", botao_fechar_on_leave)
|
||||
|
||||
--> bola do canto esquedo superior
|
||||
--> bola do canto esquedo superior --> primeiro criar a armação para apoiar as texturas
|
||||
BaseFrame.cabecalho.ball_point = BaseFrame.cabecalho.fechar:CreateTexture (nil, "OVERLAY")
|
||||
BaseFrame.cabecalho.ball_point:SetPoint ("BOTTOMLEFT", BaseFrame, "TOPLEFT", -37, 0)
|
||||
BaseFrame.cabecalho.ball_point:SetWidth (64)
|
||||
BaseFrame.cabecalho.ball_point:SetHeight (32)
|
||||
--BaseFrame.cabecalho.ball_point:SetTexture ("Interface\\AddOns\\Details\\images\\ball_left")
|
||||
|
||||
--> icone do atributo que esta sendo mostrado
|
||||
--> icone do atributo
|
||||
BaseFrame.cabecalho.atributo_icon = _detalhes.listener:CreateTexture (nil, "ARTWORK")
|
||||
BaseFrame.cabecalho.atributo_icon:SetPoint ("TOPRIGHT", BaseFrame.cabecalho.ball_point, "TOPRIGHT", -1, 1)
|
||||
BaseFrame.cabecalho.atributo_icon:SetTexture ("Interface\\AddOns\\Details\\images\\icon_mainwindow")
|
||||
local icon_anchor = _detalhes.skins ["Default Skin"].icon_anchor_main
|
||||
BaseFrame.cabecalho.atributo_icon:SetPoint ("TOPRIGHT", BaseFrame.cabecalho.ball_point, "TOPRIGHT", icon_anchor[1], icon_anchor[2])
|
||||
--BaseFrame.cabecalho.atributo_icon:SetTexture ("Interface\\AddOns\\Details\\images\\icon_mainwindow")
|
||||
BaseFrame.cabecalho.atributo_icon:SetTexture (DEFAULT_SKIN)
|
||||
BaseFrame.cabecalho.atributo_icon:SetWidth (32)
|
||||
BaseFrame.cabecalho.atributo_icon:SetHeight (32)
|
||||
|
||||
--> bola overlay
|
||||
BaseFrame.cabecalho.ball = _detalhes.listener:CreateTexture (nil, "OVERLAY")
|
||||
BaseFrame.cabecalho.ball:SetPoint ("BOTTOMLEFT", BaseFrame, "TOPLEFT", -37, 0)
|
||||
BaseFrame.cabecalho.ball:SetWidth (64)
|
||||
BaseFrame.cabecalho.ball:SetHeight (64)
|
||||
BaseFrame.cabecalho.ball:SetTexture ([[Interface\AddOns\Details\images\ball_left]])
|
||||
BaseFrame.cabecalho.ball:SetPoint ("BOTTOMLEFT", BaseFrame, "TOPLEFT", -107, 0)
|
||||
BaseFrame.cabecalho.ball:SetWidth (128)
|
||||
BaseFrame.cabecalho.ball:SetHeight (128)
|
||||
|
||||
--BaseFrame.cabecalho.ball:SetTexture ([[Interface\AddOns\Details\images\ball_left]])
|
||||
BaseFrame.cabecalho.ball:SetTexture (DEFAULT_SKIN)
|
||||
BaseFrame.cabecalho.ball:SetTexCoord (unpack (COORDS_LEFT_BALL))
|
||||
|
||||
--> emenda
|
||||
BaseFrame.cabecalho.emenda = BaseFrame:CreateTexture (nil, "OVERLAY")
|
||||
BaseFrame.cabecalho.emenda:SetPoint ("bottomright", BaseFrame.cabecalho.ball, "bottomright", 0, 0)
|
||||
BaseFrame.cabecalho.emenda:SetPoint ("bottomleft", BaseFrame.cabecalho.ball, "bottomright")
|
||||
BaseFrame.cabecalho.emenda:SetWidth (8)
|
||||
BaseFrame.cabecalho.emenda:SetHeight (32)
|
||||
BaseFrame.cabecalho.emenda:SetTexture ([[Interface\AddOns\Details\images\emenda_left]])
|
||||
BaseFrame.cabecalho.emenda:SetHeight (128)
|
||||
--BaseFrame.cabecalho.emenda:SetTexture ([[Interface\AddOns\Details\images\emenda_left]])
|
||||
BaseFrame.cabecalho.emenda:SetTexture (DEFAULT_SKIN)
|
||||
BaseFrame.cabecalho.emenda:SetTexCoord (unpack (COORDS_LEFT_CONNECTOR))
|
||||
|
||||
BaseFrame.cabecalho.atributo_icon:Hide()
|
||||
BaseFrame.cabecalho.ball:Hide()
|
||||
|
||||
--> bola do canto direito superior
|
||||
BaseFrame.cabecalho.ball_r = BaseFrame:CreateTexture (nil, "BACKGROUND")
|
||||
BaseFrame.cabecalho.ball_r:SetPoint ("BOTTOMRIGHT", BaseFrame, "TOPRIGHT", 32, 0)
|
||||
BaseFrame.cabecalho.ball_r:SetWidth (64)
|
||||
BaseFrame.cabecalho.ball_r:SetHeight (32)
|
||||
BaseFrame.cabecalho.ball_r:SetTexture ("Interface\\AddOns\\Details\\images\\bar_top_right")
|
||||
|
||||
BaseFrame.cabecalho.ball_r:SetPoint ("BOTTOMRIGHT", BaseFrame, "TOPRIGHT", 96, 0)
|
||||
BaseFrame.cabecalho.ball_r:SetWidth (128)
|
||||
BaseFrame.cabecalho.ball_r:SetHeight (128)
|
||||
--BaseFrame.cabecalho.ball_r:SetTexture ("Interface\\AddOns\\Details\\images\\bar_top_right")
|
||||
BaseFrame.cabecalho.ball_r:SetTexture (DEFAULT_SKIN)
|
||||
BaseFrame.cabecalho.ball_r:SetTexCoord (unpack (COORDS_RIGHT_BALL))
|
||||
|
||||
--> barra centro
|
||||
BaseFrame.cabecalho.top_bg = BaseFrame:CreateTexture (nil, "BACKGROUND")
|
||||
BaseFrame.cabecalho.top_bg:SetPoint ("LEFT", BaseFrame.cabecalho.ball, "RIGHT", -4, -16)
|
||||
--BaseFrame.cabecalho.top_bg:SetPoint ("LEFT", BaseFrame.cabecalho.ball, "RIGHT", -4, 0)
|
||||
BaseFrame.cabecalho.top_bg:SetPoint ("LEFT", BaseFrame.cabecalho.emenda, "RIGHT", 0, 0)
|
||||
BaseFrame.cabecalho.top_bg:SetPoint ("RIGHT", BaseFrame.cabecalho.ball_r, "LEFT")
|
||||
BaseFrame.cabecalho.top_bg:SetTexture ("Interface\\AddOns\\Details\\images\\bar_top_center")
|
||||
BaseFrame.cabecalho.top_bg:SetTexture (DEFAULT_SKIN)
|
||||
BaseFrame.cabecalho.top_bg:SetTexCoord (unpack (COORDS_TOP_BACKGROUND))
|
||||
BaseFrame.cabecalho.top_bg:SetWidth (512)
|
||||
BaseFrame.cabecalho.top_bg:SetHeight (128)
|
||||
--BaseFrame.cabecalho.top_bg:SetTexture ("Interface\\AddOns\\Details\\images\\bar_top_center")
|
||||
|
||||
--BaseFrame.cabecalho.top_bg:SetTexture ("Interface\\AddOns\\Details\\images\\bar_topdown_center")
|
||||
--BaseFrame.cabecalho.top_bg:SetTexCoord (0, 1, 0, 0.49609375)
|
||||
--BaseFrame.cabecalho.top_bg:SetHeight (31)
|
||||
|
||||
--> frame invisível
|
||||
BaseFrame.UPFrame = _CreateFrame ("frame", nil, BaseFrame)
|
||||
BaseFrame.UPFrame:SetPoint ("LEFT", BaseFrame.cabecalho.ball, "RIGHT", 0, -25)
|
||||
BaseFrame.UPFrame:SetPoint ("RIGHT", BaseFrame.cabecalho.ball_r, "LEFT", 0, -25)
|
||||
BaseFrame.UPFrame:SetPoint ("LEFT", BaseFrame.cabecalho.ball, "RIGHT", 0, -53)
|
||||
BaseFrame.UPFrame:SetPoint ("RIGHT", BaseFrame.cabecalho.ball_r, "LEFT", 0, -53)
|
||||
BaseFrame.UPFrame:SetHeight (20)
|
||||
|
||||
BaseFrame.UPFrame:Show()
|
||||
@@ -3598,7 +3663,7 @@ function gump:CriaCabecalho (BaseFrame, instancia)
|
||||
consolidateButton:SetWidth (16)
|
||||
consolidateButton:SetHeight (16)
|
||||
consolidateButton:SetFrameLevel (BaseFrame.UPFrame:GetFrameLevel()+1)
|
||||
consolidateButton:SetPoint ("BOTTOMLEFT", BaseFrame.cabecalho.ball, "BOTTOMRIGHT", -2, 2)
|
||||
consolidateButton:SetPoint ("BOTTOMLEFT", BaseFrame.cabecalho.ball, "BOTTOMRIGHT", 6, 2)
|
||||
|
||||
local normal_texture = consolidateButton:CreateTexture (nil, "overlay")
|
||||
--normal_texture:SetTexture ("Interface\\AddOns\\Details\\images\\consolidate_frame")
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -4,7 +4,7 @@ if not Loc then return end
|
||||
--------------------------------------------------------------------------------------------------------------------------------------------
|
||||
-- \n\n|cFFFFFF00-|r
|
||||
|
||||
Loc ["STRING_VERSION_LOG"] = "|cFFFFFF00v1.6.5|r\n\n|cFFFFFF00-|r Added sub attribute 'Enemies' which shows, of course, only enemies.\n\n|cFFFFFF00-|r Fixed issue with successful spell cast.\n\n|cFFFFFF00v1.6.3|r\n\n|cFFFFFF00-|r data capture now runs 4% faster.\n\n|cFFFFFF00-|r Fixed issue with pets were wasn't uptading owner activity time.\n\n|cFFFFFF00-|r Fixed healing being counted even out of combat.\n\n|cFFFFFF00-|r Fixed some problems with multi-boss encountes like Twin Consorts.\n\n|cFFFFFF00-|r Added options for concatenate trash segments.\n\n|cFFFFFF00-|r Added options for auto remove trash segments. \n\n|cFFFFFF00-|r Added options for change bar height. \n\n|cFFFFFF00-|r Encounter Details now display how many interrupted and successful cast of a boss skill.\n\n|cFFFFFF00v1.6.1|r\n\n|cFFFFFF00-|r Fixed:\n- a issue with debuff uptime.\n- overall data dps and hps for overall data on micro display.\n- many bugs involving sword and book menus.\n- garbage collector erasing actors with interactions with your group members.\n\n|cFFFFFF00-|r overall data now always use the combat data for measure dps and hps.\n\n|cFFFFFF00v1.6.0|r\n\n|cFFFFFF00-|r Added debuff uptime at misc attribute.\n\n|cFFFFFF00-|r Disabled attributes now have a darkness effect over sword menu.\n\n|cFFFFFF00-|r Fixed a issue were sometimes you need to /reload before change a talent.\n\n|cFFFFFF00v1.5.3|r\n\n|cFFFFFF00-|r Fixed a issue with report data during combat lockdown.\n\n|cFFFFFF00-|r Improved pet owner recognition and added a ignore list if couldn't find his owner.\n\n|cFFFFFF00-|r Added an option to display only frags on enemy players.\n\n|cFFFFFF00-|r Added class colors for frags.\n\n|cFFFFFF00v1.5.2|r\n\n|cFFFFFF00-|r Fixed a issue were turning off buff uptime was disabling healing done too.\n\n|cFFFFFF00-|r Avoidance statistics will not be recorded for pets, ungrouped players and monsters.\n\n|cFFFFFF00-|r Fixed a issue were sometimes buff uptime was taking too long to save data on logout.\n\n|cFFFFFF00v1.5.1|r\n\n|cFFFFFF00-|r Fixed a issue with report data were sometimes wasn't working.\n\n|cFFFFFF00v1.5.0|r\n\n|cFFFFFF00-|r Buff Uptime was been implemented over Miscellaneous attribute.\n\n|cFFFFFF00-|r Death Logs now also display cooldowns and last cooldown used.\n\n|cFFFFFF00-|r Added this window showing the latest changes.\n\n|cFFFFFF00-|r Fixed the issue were sometimes the instance stops to update when clicking on the attribute name over sword menu.\n\n|cFFFFFF00-|r Disabling Healing now shutdown the absorbs too, disabling auras doesn't interrupt absorbs any more.\n\n|cFFFFFF00-|r Friendly Fire now only track players which is inside a group.\n\n|cFFFFFF00-|r Fixed a issue were pet damage on target isn't added to owner target.\n\n|cFFFFFF00-|r Fixed a bug were refreshing a cooldown isn't counting.\n\n|cFFFFFF00-|r Added absorbs for shammy and monk 2P tier 16.\n\n|cFFFFFF00-|r Added slash command 'worldboss' and 'updates'.\n\n"
|
||||
Loc ["STRING_VERSION_LOG"] = "|cFFFFFF00v1.6.7|r\n\n- Added support to skins, you can change over options panel.\n\n|cFFFFFF00v1.6.5|r\n\n|cFFFFFF00-|r Added sub attribute 'Enemies' which shows, of course, only enemies.\n\n|cFFFFFF00-|r Fixed issue with successful spell cast.\n\n|cFFFFFF00v1.6.3|r\n\n|cFFFFFF00-|r data capture now runs 4% faster.\n\n|cFFFFFF00-|r Fixed issue with pets were wasn't uptading owner activity time.\n\n|cFFFFFF00-|r Fixed healing being counted even out of combat.\n\n|cFFFFFF00-|r Fixed some problems with multi-boss encountes like Twin Consorts.\n\n|cFFFFFF00-|r Added options for concatenate trash segments.\n\n|cFFFFFF00-|r Added options for auto remove trash segments. \n\n|cFFFFFF00-|r Added options for change bar height. \n\n|cFFFFFF00-|r Encounter Details now display how many interrupted and successful cast of a boss skill.\n\n|cFFFFFF00v1.6.1|r\n\n|cFFFFFF00-|r Fixed:\n- a issue with debuff uptime.\n- overall data dps and hps for overall data on micro display.\n- many bugs involving sword and book menus.\n- garbage collector erasing actors with interactions with your group members.\n\n|cFFFFFF00-|r overall data now always use the combat data for measure dps and hps.\n\n|cFFFFFF00v1.6.0|r\n\n|cFFFFFF00-|r Added debuff uptime at misc attribute.\n\n|cFFFFFF00-|r Disabled attributes now have a darkness effect over sword menu.\n\n|cFFFFFF00-|r Fixed a issue were sometimes you need to /reload before change a talent.\n\n|cFFFFFF00v1.5.3|r\n\n|cFFFFFF00-|r Fixed a issue with report data during combat lockdown.\n\n|cFFFFFF00-|r Improved pet owner recognition and added a ignore list if couldn't find his owner.\n\n|cFFFFFF00-|r Added an option to display only frags on enemy players.\n\n|cFFFFFF00-|r Added class colors for frags.\n\n|cFFFFFF00v1.5.2|r\n\n|cFFFFFF00-|r Fixed a issue were turning off buff uptime was disabling healing done too.\n\n|cFFFFFF00-|r Avoidance statistics will not be recorded for pets, ungrouped players and monsters.\n\n|cFFFFFF00-|r Fixed a issue were sometimes buff uptime was taking too long to save data on logout.\n\n|cFFFFFF00v1.5.1|r\n\n|cFFFFFF00-|r Fixed a issue with report data were sometimes wasn't working.\n\n|cFFFFFF00v1.5.0|r\n\n|cFFFFFF00-|r Buff Uptime was been implemented over Miscellaneous attribute.\n\n|cFFFFFF00-|r Death Logs now also display cooldowns and last cooldown used.\n\n|cFFFFFF00-|r Added this window showing the latest changes.\n\n|cFFFFFF00-|r Fixed the issue were sometimes the instance stops to update when clicking on the attribute name over sword menu.\n\n|cFFFFFF00-|r Disabling Healing now shutdown the absorbs too, disabling auras doesn't interrupt absorbs any more.\n\n|cFFFFFF00-|r Friendly Fire now only track players which is inside a group.\n\n|cFFFFFF00-|r Fixed a issue were pet damage on target isn't added to owner target.\n\n|cFFFFFF00-|r Fixed a bug were refreshing a cooldown isn't counting.\n\n|cFFFFFF00-|r Added absorbs for shammy and monk 2P tier 16.\n\n|cFFFFFF00-|r Added slash command 'worldboss' and 'updates'.\n\n"
|
||||
|
||||
Loc ["STRING_DETAILS1"] = "|cffffaeaeDetails:|r " --> color and details name
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ if not Loc then return end
|
||||
|
||||
--------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
Loc ["STRING_VERSION_LOG"] = "|cFFFFFF00v1.6.5|r\n\n|cFFFFFF00-|r Adicionado o sub atributo 'Inimigos' que mostra, eh claro, somente inimigos.\n\n|cFFFFFF00-|r Corrigido um problema na captura das magias conjuradas.|cFFFFFF00v1.6.3|r\n\n|cFFFFFF00-|r captura de dados agora roda 4% mais rapido.\n\n|cFFFFFF00-|r Corrigido problema onde os ajudantes nao atualizavam o tempo de atividade do dono.\n\n|cFFFFFF00-|r Corrigido problema onde o healing era contado mesmo fora do combate.\n\n|cFFFFFF00-|r Corrigido problema com chefes multiplos como Twin Consorts.\n\n|cFFFFFF00-|r Adicionada opcao para juntar os segmentos de trash mobs.\n\n|cFFFFFF00-|r Adicionada opcao para auto remover os segmentos de trash mobs. \n\n|cFFFFFF00-|r Adicionada opcao para alterar a altura das barras.\n\n|cFFFFFF00-|r Plugin Encounter Details agora mostra quantos cast bem sucedidos as magias interrompidas tiveram.\n\n|cFFFFFF00v1.6.1|r\n\n|cFFFFFF00-|r Corrigido:\n- problema com o tempo de debuffs.\n- dps dos dados gerais e o dps no micro display .\n- varios bugs envolvendo o menu da espada e do livro.\n- o coletor de lixo nao ira mais apagar jogadores com vinculo a membros do grupo.\n\n|cFFFFFF00-|r dados gerais agora sempre ira usar o tempo do combate para medir dps e hps.\n\n|cFFFFFF00v1.6.0|r\n\n|cFFFFFF00-|r Adicionado tempo de debuff no atributo miscelanea.\n\n|cFFFFFF00-|r Atributos desativados agora ficam escurecidos no menu da espada.\n\n|cFFFFFF00-|r Corrigido um problema aonde algumas vezes era necessario dar /reload para trocar um talento.\n\n|cFFFFFF00v1.5.3|r\n\n|cFFFFFF00-|r Corrigido problema ao reportar durante o combate.\n\n|cFFFFFF00-|r Melhorado a reconhecimento dos donos de ajudantes.\n\n|cFFFFFF00-|r Adicionada uma opcao para mostrar apenas frags em cima de jogadores inimigos.\n\n|cFFFFFF00-|r Adicionado cor e icone aos frags.\n\n|cFFFFFF00v1.5.2|r\n\n|cFFFFFF00-|r Corrigido problema onde desativando o tempo dos buffs estava desativando tambem a cura feita.\n\n|cFFFFFF00-|r Estatisticas de Avoidance nao seram mais capturadas para pessoas foram do grupo, monstros ou ajudantes.\n\n|cFFFFFF00-|r Corrigido problema onde as vezes estava demorando muito para salvar o tempo dos buffs ao sair do jogo.\n\n|cFFFFFF00v1.5.1|r\n\n|cFFFFFF00-|r Corrigido problema ao reportar o Dps onde as vezes nao mostrava nenhum jogador.\n\n|cFFFFFF00v1.5.0|r\n\n|cFFFFFF00-|r Buff Uptime foi implementado no atributo miscelanea.\n\n|cFFFFFF00-|r Cooldowns usados agora aparecem nos registros da morte.\n\n|cFFFFFF00-|r Implementado esta janela mostrando as atualizacoes.\n\n|cFFFFFF00-|r Corrigido problema onde algumas vezes clicando no nome do atributo fazia a instancia parar de atualizar.\n\n|cFFFFFF00-|r Desativando a cura agora para as absorcoes tambem. Desligando as Auras nao interrompe as absorcoes. \n\n|cFFFFFF00-|r Fogo Amigo agora conta apenas jogadores dentro do grupo.\n\n|cFFFFFF00-|r Corrigido problema onde o dano feito por um ajudando nao estava contando no alvo do dono.\n\n|cFFFFFF00-|r Corrigido problema onde a atualizacao de um cooldown nao estava sendo contada.\n\n|cFFFFFF00-|r Adicionada as magias de absorcao para 2P tier 16.\n\n|cFFFFFF00-|r Adicionado os comandos de barra 'worldboss' e 'updates'.\n\n|cFFFFFF00-|r Corrigido problema ao reportar onde algumas vezes nao estava funcionando."
|
||||
Loc ["STRING_VERSION_LOG"] = "|cFFFFFF00v1.6.7|r\n\n- Adicionado suporte a skins, troque ela atraves do painel de opcoes.\n\n|cFFFFFF00v1.6.5|r\n\n|cFFFFFF00-|r Adicionado o sub atributo 'Inimigos' que mostra, eh claro, somente inimigos.\n\n|cFFFFFF00-|r Corrigido um problema na captura das magias conjuradas.|cFFFFFF00v1.6.3|r\n\n|cFFFFFF00-|r captura de dados agora roda 4% mais rapido.\n\n|cFFFFFF00-|r Corrigido problema onde os ajudantes nao atualizavam o tempo de atividade do dono.\n\n|cFFFFFF00-|r Corrigido problema onde o healing era contado mesmo fora do combate.\n\n|cFFFFFF00-|r Corrigido problema com chefes multiplos como Twin Consorts.\n\n|cFFFFFF00-|r Adicionada opcao para juntar os segmentos de trash mobs.\n\n|cFFFFFF00-|r Adicionada opcao para auto remover os segmentos de trash mobs. \n\n|cFFFFFF00-|r Adicionada opcao para alterar a altura das barras.\n\n|cFFFFFF00-|r Plugin Encounter Details agora mostra quantos cast bem sucedidos as magias interrompidas tiveram.\n\n|cFFFFFF00v1.6.1|r\n\n|cFFFFFF00-|r Corrigido:\n- problema com o tempo de debuffs.\n- dps dos dados gerais e o dps no micro display .\n- varios bugs envolvendo o menu da espada e do livro.\n- o coletor de lixo nao ira mais apagar jogadores com vinculo a membros do grupo.\n\n|cFFFFFF00-|r dados gerais agora sempre ira usar o tempo do combate para medir dps e hps.\n\n|cFFFFFF00v1.6.0|r\n\n|cFFFFFF00-|r Adicionado tempo de debuff no atributo miscelanea.\n\n|cFFFFFF00-|r Atributos desativados agora ficam escurecidos no menu da espada.\n\n|cFFFFFF00-|r Corrigido um problema aonde algumas vezes era necessario dar /reload para trocar um talento.\n\n|cFFFFFF00v1.5.3|r\n\n|cFFFFFF00-|r Corrigido problema ao reportar durante o combate.\n\n|cFFFFFF00-|r Melhorado a reconhecimento dos donos de ajudantes.\n\n|cFFFFFF00-|r Adicionada uma opcao para mostrar apenas frags em cima de jogadores inimigos.\n\n|cFFFFFF00-|r Adicionado cor e icone aos frags.\n\n|cFFFFFF00v1.5.2|r\n\n|cFFFFFF00-|r Corrigido problema onde desativando o tempo dos buffs estava desativando tambem a cura feita.\n\n|cFFFFFF00-|r Estatisticas de Avoidance nao seram mais capturadas para pessoas foram do grupo, monstros ou ajudantes.\n\n|cFFFFFF00-|r Corrigido problema onde as vezes estava demorando muito para salvar o tempo dos buffs ao sair do jogo.\n\n|cFFFFFF00v1.5.1|r\n\n|cFFFFFF00-|r Corrigido problema ao reportar o Dps onde as vezes nao mostrava nenhum jogador.\n\n|cFFFFFF00v1.5.0|r\n\n|cFFFFFF00-|r Buff Uptime foi implementado no atributo miscelanea.\n\n|cFFFFFF00-|r Cooldowns usados agora aparecem nos registros da morte.\n\n|cFFFFFF00-|r Implementado esta janela mostrando as atualizacoes.\n\n|cFFFFFF00-|r Corrigido problema onde algumas vezes clicando no nome do atributo fazia a instancia parar de atualizar.\n\n|cFFFFFF00-|r Desativando a cura agora para as absorcoes tambem. Desligando as Auras nao interrompe as absorcoes. \n\n|cFFFFFF00-|r Fogo Amigo agora conta apenas jogadores dentro do grupo.\n\n|cFFFFFF00-|r Corrigido problema onde o dano feito por um ajudando nao estava contando no alvo do dono.\n\n|cFFFFFF00-|r Corrigido problema onde a atualizacao de um cooldown nao estava sendo contada.\n\n|cFFFFFF00-|r Adicionada as magias de absorcao para 2P tier 16.\n\n|cFFFFFF00-|r Adicionado os comandos de barra 'worldboss' e 'updates'.\n\n|cFFFFFF00-|r Corrigido problema ao reportar onde algumas vezes nao estava funcionando."
|
||||
|
||||
Loc ["STRING_DETAILS1"] = "|cffffaeaeDetalhes:|r " --> color and details name
|
||||
|
||||
|
||||
Reference in New Issue
Block a user