- 4% parser speed up.
- added options for concatenate trash segments. - added options for auto eliminate trash segments. - added capture for enemy spell cast successful. - added options for bar height. - fixed problem were pets wasn't updating owner activity time. - fixed issue with healing done being computated out of combat. - fixed a bug with twin's encounter on Throne of Thunder. - plugin encounter details now show the amount of interrupted cast / successful cast.
This commit is contained in:
@@ -37,7 +37,7 @@ function habilidade_dano:NovaTabela (id, link, token) --aqui eu n
|
||||
total = 0, --total de dano aplicado por esta habilidade
|
||||
counter = 0, --conta quantas vezes a habilidade foi chamada
|
||||
id = id,
|
||||
--school = 0,
|
||||
successful_casted = 0,
|
||||
|
||||
--> normal
|
||||
n_min = 0,
|
||||
@@ -52,31 +52,21 @@ function habilidade_dano:NovaTabela (id, link, token) --aqui eu n
|
||||
c_dmg = 0,
|
||||
|
||||
--> glacing
|
||||
--g_min = 0, --not sure but, glancing min and max shouldn't be necessary
|
||||
--g_max = 0, --
|
||||
g_amt = 0,
|
||||
g_dmg = 0,
|
||||
|
||||
--> resisted
|
||||
--r_min = 0, --not sure but, resisted min and max shouldn't be necessary
|
||||
--r_max = 0, --
|
||||
r_amt = 0,
|
||||
r_dmg = 0,
|
||||
|
||||
--> blocked
|
||||
--b_min = 0, --not sure but, block min and max shouldn't be necessary
|
||||
--b_max = 0, --
|
||||
b_amt = 0,
|
||||
b_dmg = 0,
|
||||
|
||||
--> obsorved
|
||||
--a_min = 0, --not sure but, absorbed min and max shouldn't be necessary
|
||||
--a_max = 0, --
|
||||
a_amt = 0,
|
||||
a_dmg = 0,
|
||||
|
||||
--crushing = 0, --> this still exists?
|
||||
|
||||
targets = container_combatentes:NovoContainer (container_damage_target)
|
||||
}
|
||||
|
||||
@@ -117,7 +107,6 @@ function habilidade_dano:Add (serial, nome, flag, amount, who_nome, resisted, bl
|
||||
|
||||
self.counter = self.counter + 1
|
||||
|
||||
--local alvo = self.targets:PegarCombatente (serial, nome, flag, true)
|
||||
local alvo = self.targets._NameIndexTable [nome]
|
||||
if (not alvo) then
|
||||
alvo = self.targets:PegarCombatente (serial, nome, flag, true)
|
||||
@@ -128,56 +117,26 @@ function habilidade_dano:Add (serial, nome, flag, amount, who_nome, resisted, bl
|
||||
if (resisted and resisted > 0) then
|
||||
self.r_dmg = self.r_dmg+amount --> tabela.total é o total de dano
|
||||
self.r_amt = self.r_amt+1 --> tabela.total é o total de dano
|
||||
--if (amount > self.r_max) then
|
||||
-- self.r_max = amount
|
||||
--end
|
||||
--if (self.r_min > amount or self.r_min == 0) then
|
||||
-- self.r_min = amount
|
||||
--end
|
||||
end
|
||||
|
||||
if (blocked and blocked > 0) then
|
||||
self.b_dmg = self.b_dmg+amount --> amount é o total de dano
|
||||
self.b_amt = self.b_amt+1 --> amount é o total de dano
|
||||
--if (amount > self.b_max) then
|
||||
-- self.b_max = amount
|
||||
--end
|
||||
--if (self.b_min > amount or self.b_min == 0) then
|
||||
-- self.b_min = amount
|
||||
--end
|
||||
end
|
||||
|
||||
if (absorbed and absorbed > 0) then
|
||||
self.a_dmg = self.a_dmg+amount --> amount é o total de dano
|
||||
self.a_amt = self.a_amt+1 --> amount é o total de dano
|
||||
--if (amount > self.a_max) then
|
||||
-- self.a_max = amount
|
||||
--end
|
||||
--if (self.a_min > amount or self.a_min == 0) then
|
||||
-- self.a_min = amount
|
||||
--end
|
||||
end
|
||||
|
||||
--if (amount and amount > 0) then
|
||||
--if (amount and amount > 0) then
|
||||
|
||||
self.total = self.total + amount
|
||||
|
||||
--alvo:AddQuantidade (amount)
|
||||
alvo.total = alvo.total + amount
|
||||
|
||||
if (glacing) then
|
||||
-- esta_tabela.glacing = {["mim"] = 0, ["max"] = 0, ["total"] = 0, ["dmg"] = 0}
|
||||
self.g_dmg = self.g_dmg+amount --> amount é o total de dano
|
||||
self.g_amt = self.g_amt+1 --> amount é o total de dano
|
||||
--if (amount > self.g_max) then
|
||||
-- self.g_max = amount
|
||||
--end
|
||||
--if (self.g_min > amount or self.g_min == 0) then
|
||||
-- self.g_min = amount
|
||||
--end
|
||||
|
||||
elseif (critical) then
|
||||
--esta_tabela.critico = {["mim"] = 0, ["max"] = 0, ["total"] = 0, ["dmg"] = 0}
|
||||
self.c_dmg = self.c_dmg+amount --> amount é o total de dano
|
||||
self.c_amt = self.c_amt+1 --> amount é o total de dano
|
||||
if (amount > self.c_max) then
|
||||
@@ -187,7 +146,6 @@ function habilidade_dano:Add (serial, nome, flag, amount, who_nome, resisted, bl
|
||||
self.c_min = amount
|
||||
end
|
||||
else
|
||||
--esta_tabela.normal = {["mim"] = 0, ["max"] = 0, ["total"] = 0, ["dmg"] = 0}
|
||||
self.n_dmg = self.n_dmg+amount
|
||||
self.n_amt = self.n_amt+1
|
||||
if (amount > self.n_max) then
|
||||
@@ -276,7 +234,8 @@ end
|
||||
habilidade_dano.__add = function (tabela1, tabela2)
|
||||
tabela1.total = tabela1.total + tabela2.total
|
||||
tabela1.counter = tabela1.counter + tabela2.counter
|
||||
|
||||
tabela1.successful_casted = tabela1.successful_casted + tabela2.successful_casted
|
||||
|
||||
tabela1.n_min = tabela1.n_min + tabela2.n_min
|
||||
tabela1.n_max = tabela1.n_max + tabela2.n_max
|
||||
tabela1.n_amt = tabela1.n_amt + tabela2.n_amt
|
||||
@@ -315,6 +274,7 @@ end
|
||||
habilidade_dano.__sub = function (tabela1, tabela2)
|
||||
tabela1.total = tabela1.total - tabela2.total
|
||||
tabela1.counter = tabela1.counter - tabela2.counter
|
||||
tabela1.successful_casted = tabela1.successful_casted - tabela2.successful_casted
|
||||
|
||||
tabela1.n_min = tabela1.n_min - tabela2.n_min
|
||||
tabela1.n_max = tabela1.n_max - tabela2.n_max
|
||||
|
||||
@@ -860,6 +860,9 @@ function _detalhes:RestauraJanela (index, temp)
|
||||
|
||||
self.consolidate = self.consolidate or false
|
||||
self.icons = self.icons or {true, true, true, true}
|
||||
|
||||
--> teste
|
||||
--self.barrasInfo.altura = 14
|
||||
|
||||
self.barrasInfo.mostrando = 0
|
||||
self.barrasInfo.criadas = 0
|
||||
@@ -970,7 +973,19 @@ function _detalhes:RefreshBars (instance)
|
||||
self = instance
|
||||
end
|
||||
if (self.barras and self.barras[1]) then
|
||||
|
||||
local altura = self.barrasInfo.altura
|
||||
|
||||
for index, row in _ipairs (self.barras) do
|
||||
|
||||
local y = self.barrasInfo.alturaReal * (row.row_id - 1)
|
||||
y = y*-1
|
||||
row:SetPoint ("TOPLEFT", self.baseframe, "TOPLEFT", self.barrasInfo.espaco.esquerda, y)
|
||||
row:SetHeight (altura)
|
||||
row.icone_classe:SetHeight (altura)
|
||||
row.icone_classe:SetWidth (altura)
|
||||
row.icone_terceiro:SetHeight (altura)
|
||||
row.icone_terceiro:SetWidth (altura)
|
||||
|
||||
row.textura:SetTexture (self.barrasInfo.textura)
|
||||
|
||||
@@ -984,8 +999,8 @@ function _detalhes:RefreshBars (instance)
|
||||
row.background:SetVertexColor (r, g, b, c[4])
|
||||
end
|
||||
|
||||
row.texto_esquerdo:SetFont (self.barrasInfo.font or "GameFontHighlight", self.barrasInfo.fontSize or self.barrasInfo.altura*0.75)
|
||||
row.texto_direita:SetFont (self.barrasInfo.font or "GameFontHighlight", self.barrasInfo.fontSize or self.barrasInfo.altura*0.75)
|
||||
row.texto_esquerdo:SetFont (self.barrasInfo.font or "GameFontHighlight", self.barrasInfo.fontSize or altura * 0.75)
|
||||
row.texto_direita:SetFont (self.barrasInfo.font or "GameFontHighlight", self.barrasInfo.fontSize or altura * 0.75)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1005,7 +1005,8 @@ function _detalhes:CatchRaidDebuffUptime (in_or_out) -- "DEBUFF_UPTIME_IN"
|
||||
|
||||
for raidIndex = 1, _GetNumGroupMembers() do
|
||||
local his_target = _UnitGUID ("raid"..raidIndex.."target")
|
||||
if (his_target and not checked [his_target] and UnitReaction ("raid"..raidIndex.."target", "player") <= 4) then
|
||||
local rect = UnitReaction ("raid"..raidIndex.."target", "player")
|
||||
if (his_target and rect and not checked [his_target] and rect <= 4) then
|
||||
|
||||
checked [his_target] = true
|
||||
|
||||
|
||||
@@ -42,6 +42,7 @@ function historico:adicionar (tabela)
|
||||
--> fazer limpeza na tabela
|
||||
|
||||
local _segundo_combate = self.tabelas[2]
|
||||
local _terceiro_combate = self.tabelas[3]
|
||||
|
||||
local container_damage = _segundo_combate [1]
|
||||
local container_heal = _segundo_combate [2]
|
||||
@@ -63,29 +64,58 @@ function historico:adicionar (tabela)
|
||||
end
|
||||
end
|
||||
|
||||
--[[
|
||||
if (self.tabelas[3]) then
|
||||
if (self.tabelas[3].is_trash and self.tabelas[2].is_trash and not self.tabelas[3].is_boss and not self.tabelas[2].is_boss) then
|
||||
--> tabela 2 deve ser deletada e somada a tabela 1
|
||||
if (_detalhes.debug) then
|
||||
detalhes:Msg ("(debug) concatenating two trash segments.")
|
||||
if (_detalhes.trash_auto_remove) then
|
||||
if (_terceiro_combate) then
|
||||
if (_terceiro_combate.is_trash and not _terceiro_combate.is_boss) then
|
||||
_detalhes.tabela_overall = _detalhes.tabela_overall - _terceiro_combate
|
||||
--> verificar novamente a time machine
|
||||
for _, jogador in ipairs (_terceiro_combate [1]._ActorTable) do --> damage
|
||||
if (jogador.timeMachine) then
|
||||
jogador:DesregistrarNaTimeMachine()
|
||||
end
|
||||
end
|
||||
for _, jogador in ipairs (_terceiro_combate [2]._ActorTable) do --> heal
|
||||
if (jogador.timeMachine) then
|
||||
jogador:DesregistrarNaTimeMachine()
|
||||
end
|
||||
end
|
||||
--> remover
|
||||
_table_remove (self.tabelas, 3)
|
||||
_detalhes:SendEvent ("DETAILS_DATA_SEGMENTREMOVED", nil, nil)
|
||||
end
|
||||
|
||||
self.tabelas[2] = self.tabelas[2] + self.tabelas[3]
|
||||
_detalhes.tabela_overall = _detalhes.tabela_overall - self.tabelas[3]
|
||||
|
||||
self.tabelas[2].is_trash = true
|
||||
|
||||
--> remover
|
||||
_table_remove (self.tabelas, 3)
|
||||
_detalhes:SendEvent ("DETAILS_DATA_SEGMENTREMOVED", nil, nil)
|
||||
end
|
||||
|
||||
--> debug
|
||||
--self.tabelas[2] = self.tabelas[2] + self.tabelas[3]
|
||||
--_table_remove (self.tabelas, 3)
|
||||
elseif (_detalhes.trash_concatenate) then
|
||||
|
||||
if (_terceiro_combate) then
|
||||
if (_terceiro_combate.is_trash and _segundo_combate.is_trash and not _terceiro_combate.is_boss and not _segundo_combate.is_boss) then
|
||||
--> tabela 2 deve ser deletada e somada a tabela 1
|
||||
if (_detalhes.debug) then
|
||||
detalhes:Msg ("(debug) concatenating two trash segments.")
|
||||
end
|
||||
|
||||
_segundo_combate = _segundo_combate + _terceiro_combate
|
||||
_detalhes.tabela_overall = _detalhes.tabela_overall - _terceiro_combate
|
||||
|
||||
_segundo_combate.is_trash = true
|
||||
|
||||
--> verificar novamente a time machine
|
||||
for _, jogador in ipairs (_terceiro_combate [1]._ActorTable) do --> damage
|
||||
if (jogador.timeMachine) then
|
||||
jogador:DesregistrarNaTimeMachine()
|
||||
end
|
||||
end
|
||||
for _, jogador in ipairs (_terceiro_combate [2]._ActorTable) do --> heal
|
||||
if (jogador.timeMachine) then
|
||||
jogador:DesregistrarNaTimeMachine()
|
||||
end
|
||||
end
|
||||
--> remover
|
||||
_table_remove (self.tabelas, 3)
|
||||
_detalhes:SendEvent ("DETAILS_DATA_SEGMENTREMOVED", nil, nil)
|
||||
end
|
||||
end
|
||||
end
|
||||
--]]
|
||||
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user