- Fixed the healing done problem with Priest's Spirit of Redemption.

- Fixed avoidance by absorb when the hit missed was a multistrike hit.
- Fixed a script time out problem when erasing data while in combat.
- Fixed bug with interrupt tooltip when the player have a pet.
This commit is contained in:
tercio
2014-10-26 18:30:17 -02:00
parent 25c2528741
commit b16c61bc1f
5 changed files with 97 additions and 76 deletions
+9 -8
View File
File diff suppressed because one or more lines are too long
+68 -61
View File
@@ -672,26 +672,28 @@ function _detalhes:BaseFrameSnap()
--print ("DEBUG instancia " .. snap_to .. " lado "..lado)
local instancia_alvo = _detalhes.tabela_instancias [snap_to]
if (lado == 1) then --> a esquerda
instancia_alvo.baseframe:SetPoint ("TOPRIGHT", my_baseframe, "TOPLEFT")
elseif (lado == 2) then --> em baixo
local statusbar_y_mod = 0
if (not self.show_statusbar) then
statusbar_y_mod = 14
end
instancia_alvo.baseframe:SetPoint ("TOPLEFT", my_baseframe, "BOTTOMLEFT", 0, -34 + statusbar_y_mod)
elseif (lado == 3) then --> a direita
instancia_alvo.baseframe:SetPoint ("BOTTOMLEFT", my_baseframe, "BOTTOMRIGHT")
elseif (lado == 4) then --> em cima
local statusbar_y_mod = 0
if (not instancia_alvo.show_statusbar) then
statusbar_y_mod = -14
end
instancia_alvo.baseframe:SetPoint ("BOTTOMLEFT", my_baseframe, "TOPLEFT", 0, 34 + statusbar_y_mod)
if (instancia_alvo.ativa and instancia_alvo.baseframe) then
if (lado == 1) then --> a esquerda
instancia_alvo.baseframe:SetPoint ("TOPRIGHT", my_baseframe, "TOPLEFT")
elseif (lado == 2) then --> em baixo
local statusbar_y_mod = 0
if (not self.show_statusbar) then
statusbar_y_mod = 14
end
instancia_alvo.baseframe:SetPoint ("TOPLEFT", my_baseframe, "BOTTOMLEFT", 0, -34 + statusbar_y_mod)
elseif (lado == 3) then --> a direita
instancia_alvo.baseframe:SetPoint ("BOTTOMLEFT", my_baseframe, "BOTTOMRIGHT")
elseif (lado == 4) then --> em cima
local statusbar_y_mod = 0
if (not instancia_alvo.show_statusbar) then
statusbar_y_mod = -14
end
instancia_alvo.baseframe:SetPoint ("BOTTOMLEFT", my_baseframe, "TOPLEFT", 0, 34 + statusbar_y_mod)
end
end
end
@@ -721,30 +723,33 @@ function _detalhes:BaseFrameSnap()
end
--> fazer os setpoints
if (lado_reverso == 1) then --> a esquerda
instancia_alvo.baseframe:SetPoint ("BOTTOMLEFT", instancia.baseframe, "BOTTOMRIGHT")
elseif (lado_reverso == 2) then --> em baixo
if (instancia_alvo.ativa and instancia_alvo.baseframe) then
local statusbar_y_mod = 0
if (not instancia_alvo.show_statusbar) then
statusbar_y_mod = -14
if (lado_reverso == 1) then --> a esquerda
instancia_alvo.baseframe:SetPoint ("BOTTOMLEFT", instancia.baseframe, "BOTTOMRIGHT")
elseif (lado_reverso == 2) then --> em baixo
local statusbar_y_mod = 0
if (not instancia_alvo.show_statusbar) then
statusbar_y_mod = -14
end
instancia_alvo.baseframe:SetPoint ("BOTTOMLEFT", instancia.baseframe, "TOPLEFT", 0, 34 + statusbar_y_mod) -- + (statusbar_y_mod*-1)
elseif (lado_reverso == 3) then --> a direita
instancia_alvo.baseframe:SetPoint ("TOPRIGHT", instancia.baseframe, "TOPLEFT")
elseif (lado_reverso == 4) then --> em cima
local statusbar_y_mod = 0
if (not instancia.show_statusbar) then
statusbar_y_mod = 14
end
instancia_alvo.baseframe:SetPoint ("TOPLEFT", instancia.baseframe, "BOTTOMLEFT", 0, -34 + statusbar_y_mod)
end
instancia_alvo.baseframe:SetPoint ("BOTTOMLEFT", instancia.baseframe, "TOPLEFT", 0, 34 + statusbar_y_mod) -- + (statusbar_y_mod*-1)
elseif (lado_reverso == 3) then --> a direita
instancia_alvo.baseframe:SetPoint ("TOPRIGHT", instancia.baseframe, "TOPLEFT")
elseif (lado_reverso == 4) then --> em cima
local statusbar_y_mod = 0
if (not instancia.show_statusbar) then
statusbar_y_mod = 14
end
instancia_alvo.baseframe:SetPoint ("TOPLEFT", instancia.baseframe, "BOTTOMLEFT", 0, -34 + statusbar_y_mod)
end
end
end
@@ -758,28 +763,30 @@ function _detalhes:BaseFrameSnap()
if (snap_to > instancia.meu_id and snap_to ~= self.meu_id) then
local instancia_alvo = _detalhes.tabela_instancias [snap_to]
if (lado == 1) then --> a esquerda
instancia_alvo.baseframe:SetPoint ("TOPRIGHT", instancia.baseframe, "TOPLEFT")
if (instancia_alvo.ativa and instancia_alvo.baseframe) then
if (lado == 1) then --> a esquerda
instancia_alvo.baseframe:SetPoint ("TOPRIGHT", instancia.baseframe, "TOPLEFT")
elseif (lado == 2) then --> em baixo
local statusbar_y_mod = 0
if (not instancia.show_statusbar) then
statusbar_y_mod = 14
end
instancia_alvo.baseframe:SetPoint ("TOPLEFT", instancia.baseframe, "BOTTOMLEFT", 0, -34 + statusbar_y_mod)
elseif (lado == 3) then --> a direita
instancia_alvo.baseframe:SetPoint ("BOTTOMLEFT", instancia.baseframe, "BOTTOMRIGHT")
elseif (lado == 4) then --> em cima
elseif (lado == 2) then --> em baixo
local statusbar_y_mod = 0
if (not instancia.show_statusbar) then
statusbar_y_mod = 14
local statusbar_y_mod = 0
if (not instancia_alvo.show_statusbar) then
statusbar_y_mod = -14
end
instancia_alvo.baseframe:SetPoint ("BOTTOMLEFT", instancia.baseframe, "TOPLEFT", 0, 34 + statusbar_y_mod)
end
instancia_alvo.baseframe:SetPoint ("TOPLEFT", instancia.baseframe, "BOTTOMLEFT", 0, -34 + statusbar_y_mod)
elseif (lado == 3) then --> a direita
instancia_alvo.baseframe:SetPoint ("BOTTOMLEFT", instancia.baseframe, "BOTTOMRIGHT")
elseif (lado == 4) then --> em cima
local statusbar_y_mod = 0
if (not instancia_alvo.show_statusbar) then
statusbar_y_mod = -14
end
instancia_alvo.baseframe:SetPoint ("BOTTOMLEFT", instancia.baseframe, "TOPLEFT", 0, 34 + statusbar_y_mod)
end
end
end
+1 -1
View File
@@ -1807,7 +1807,7 @@ function atributo_misc:ToolTipInterrupt (instancia, numero, barra)
quantidade [nome] = 1
local my_self = instancia.showing[class_type]:PegarCombatente (nil, nome)
if (my_self) then
if (my_self and my_self.interrupt) then
totais [#totais+1] = {nome, my_self.interrupt}
end
else
+5 -1
View File
@@ -308,7 +308,11 @@ function historico:resetar()
_table_wipe (_detalhes.cache_healing_group)
_detalhes:UpdateParserGears()
collectgarbage()
if (not InCombatLockdown() and not UnitAffectingCombat ("player")) then
collectgarbage()
else
_detalhes.schedule_hard_garbage_collect = true
end
_detalhes:InstanciaCallFunction (_detalhes.AtualizaSegmentos) -- atualiza o instancia.showing para as novas tabelas criadas
_detalhes:InstanciaCallFunction (_detalhes.AtualizaSoloMode_AfertReset) -- verifica se precisa zerar as tabela da janela solo mode
+14 -5
View File
@@ -494,15 +494,15 @@
return spell_damage_func (spell, alvo_serial, alvo_name, alvo_flags, amount, who_name, resisted, blocked, absorbed, critical, glacing, token, multistrike, isoffhand)
end
function parser:swingmissed (token, time, who_serial, who_name, who_flags, alvo_serial, alvo_name, alvo_flags, missType, isOffHand, amountMissed)
return parser:missed (token, time, who_serial, who_name, who_flags, alvo_serial, alvo_name, alvo_flags, 1, "Corpo-a-Corpo", 00000001, missType, isOffHand, amountMissed)
function parser:swingmissed (token, time, who_serial, who_name, who_flags, alvo_serial, alvo_name, alvo_flags, missType, isOffHand, multistrike, amountMissed) --, isOffHand, multistrike, amountMissed, arg1
return parser:missed (token, time, who_serial, who_name, who_flags, alvo_serial, alvo_name, alvo_flags, 1, "Corpo-a-Corpo", 00000001, missType, isOffHand, multistrike, amountMissed) --, isOffHand, multistrike, amountMissed, arg1
end
function parser:rangemissed (token, time, who_serial, who_name, who_flags, alvo_serial, alvo_name, alvo_flags, spellid, spellname, spelltype, missType, isOffHand, amountMissed)
return parser:missed (token, time, who_serial, who_name, who_flags, alvo_serial, alvo_name, alvo_flags, 2, "Tiro-Automático", 00000001, missType, isOffHand, amountMissed)
function parser:rangemissed (token, time, who_serial, who_name, who_flags, alvo_serial, alvo_name, alvo_flags, spellid, spellname, spelltype, missType, isOffHand, multistrike, amountMissed) --, isOffHand, multistrike, amountMissed, arg1
return parser:missed (token, time, who_serial, who_name, who_flags, alvo_serial, alvo_name, alvo_flags, 2, "Tiro-Automático", 00000001, missType, isOffHand, multistrike, amountMissed) --, isOffHand, multistrike, amountMissed, arg1
end
function parser:missed (token, time, who_serial, who_name, who_flags, alvo_serial, alvo_name, alvo_flags, spellid, spellname, spelltype, missType, isOffHand, amountMissed, arg1, arg2)
function parser:missed (token, time, who_serial, who_name, who_flags, alvo_serial, alvo_name, alvo_flags, spellid, spellname, spelltype, missType, isOffHand, multistrike, amountMissed, arg1)
--print (spellname, spelltype, missType, isOffHand, amountMissed, arg1, arg2)
@@ -625,6 +625,7 @@
[142862] = true, --Ancient Barrier Malkorok
[114556] = true, --Purgatory (DK)
[115069] = true, -- Stance of the Sturdy Ox
[20711] = true, -- Spirit of Redemption (Priest)
}
function parser:heal_absorb (token, time, who_serial, who_name, who_flags, alvo_serial, alvo_name, alvo_flags, spellid, spellname, spellschool, owner_serial, owner_name, owner_flags, owner_flags2, shieldid, shieldname, shieldtype, amount)
@@ -2929,6 +2930,14 @@
_detalhes.historico:adicionar_overall (_detalhes.tabela_vigente)
end
if (_detalhes.schedule_hard_garbage_collect) then
if (_detalhes.debug) then
_detalhes:Msg ("(debug) found schedule collectgarbage().")
end
_detalhes.schedule_hard_garbage_collect = false
collectgarbage()
end
for index, instancia in ipairs (_detalhes.tabela_instancias) do
if (instancia.ativa) then
instancia:SetCombatAlpha (nil, nil, true)