- fixed some problems with buff uptime data save on logout.

- avoidance now works only with players.
This commit is contained in:
Tercio
2013-10-25 16:34:05 -02:00
parent 66e7963af4
commit ae007953e5
17 changed files with 112 additions and 22 deletions
+1 -1
View File
@@ -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.5.1"
_detalhes.userversion = "v1.5.2"
_detalhes.version = "Alpha 009"
_detalhes.realversion = 9
+2 -1
View File
@@ -259,7 +259,8 @@ function _detalhes.refresh:r_combate (tabela_combate, shadow)
end
function _detalhes.clear:c_combate (tabela_combate)
tabela_combate.__index = {}
--tabela_combate.__index = {}
tabela_combate.__index = nil
tabela_combate.__call = {}
tabela_combate._combat_table = nil
tabela_combate.shadow = nil
+2 -3
View File
@@ -75,8 +75,6 @@ function atributo_damage:NovaTabela (serial, nome, link)
damage_taken = 0, --> total de dano que este jogador levou
damage_from = {}, --> armazena os nomes que deram dano neste jogador
avoidance = {["DODGE"] = 0, ["PARRY"] = 0, ["HITS"] = 0}, --> avoidance
dps_started = false,
last_event = 0,
@@ -2240,7 +2238,8 @@ function _detalhes.refresh:r_atributo_damage (este_jogador, shadow)
end
function _detalhes.clear:c_atributo_damage (este_jogador)
este_jogador.__index = {}
--este_jogador.__index = {}
este_jogador.__index = nil
este_jogador.shadow = nil
este_jogador.links = nil
este_jogador.minha_barra = nil
+2 -1
View File
@@ -270,7 +270,8 @@ function _detalhes.refresh:r_habilidade_dano (habilidade, shadow) --recebeu o co
end
function _detalhes.clear:c_habilidade_dano (habilidade)
habilidade.__index = {}
--habilidade.__index = {}
habilidade.__index = nil
habilidade.shadow = nil
_detalhes.clear:c_container_combatentes (habilidade.targets)
+2 -1
View File
@@ -885,7 +885,8 @@ function _detalhes.refresh:r_atributo_energy (este_jogador, shadow)
end
function _detalhes.clear:c_atributo_energy (este_jogador)
este_jogador.__index = {}
--este_jogador.__index = {}
este_jogador.__index = nil
este_jogador.shadow = nil
este_jogador.links = nil
este_jogador.minha_barra = nil
+1
View File
@@ -85,6 +85,7 @@ function _detalhes.refresh:r_habilidade_e_energy (habilidade, shadow) --recebeu
end
function _detalhes.clear:c_habilidade_e_energy (habilidade)
--habilidade.__index = {}
habilidade.__index = {}
habilidade.shadow = nil
+2 -1
View File
@@ -1596,7 +1596,8 @@ function _detalhes.refresh:r_atributo_heal (este_jogador, shadow)
end
function _detalhes.clear:c_atributo_heal (este_jogador)
este_jogador.__index = {}
--este_jogador.__index = {}
este_jogador.__index = nil
este_jogador.shadow = nil
este_jogador.links = nil
este_jogador.minha_barra = nil
+2 -1
View File
@@ -128,7 +128,8 @@ function _detalhes.refresh:r_habilidade_cura (habilidade, shadow)
end
function _detalhes.clear:c_habilidade_cura (habilidade)
habilidade.__index = {}
--habilidade.__index = {}
habilidade.__index = nil
habilidade.shadow = nil
_detalhes.clear:c_container_combatentes (habilidade.targets)
+22 -1
View File
@@ -1625,6 +1625,13 @@ function _detalhes.refresh:r_atributo_misc (este_jogador, shadow)
_detalhes.refresh:r_container_combatentes (este_jogador.interrupt_targets, shadow.interrupt_targets)
_detalhes.refresh:r_container_habilidades (este_jogador.interrupt_spell_tables, shadow.interrupt_spell_tables)
end
--> refresh buff uptime
if (este_jogador.buff_uptime_targets) then
_detalhes.refresh:r_container_combatentes (este_jogador.buff_uptime_targets, shadow.buff_uptime_targets)
_detalhes.refresh:r_container_habilidades (este_jogador.buff_uptime_spell_tables, shadow.buff_uptime_spell_tables)
end
--> refresh cooldowns defensive
if (este_jogador.cooldowns_defensive_targets) then
_detalhes.refresh:r_container_combatentes (este_jogador.cooldowns_defensive_targets, shadow.cooldowns_defensive_targets)
@@ -1655,12 +1662,19 @@ function _detalhes.refresh:r_atributo_misc (este_jogador, shadow)
_detalhes.refresh:r_container_combatentes (este_jogador.interrupt_targets, -1)
_detalhes.refresh:r_container_habilidades (este_jogador.interrupt_spell_tables, -1)
end
--> refresh cooldowns defensive
if (este_jogador.cooldowns_defensive_targets) then
_detalhes.refresh:r_container_combatentes (este_jogador.cooldowns_defensive_targets, -1)
_detalhes.refresh:r_container_habilidades (este_jogador.cooldowns_defensive_spell_tables, -1)
end
--> refresh buff uptime
if (este_jogador.buff_uptime_targets) then
_detalhes.refresh:r_container_combatentes (este_jogador.buff_uptime_targets, -1)
_detalhes.refresh:r_container_habilidades (este_jogador.buff_uptime_spell_tables, -1)
end
--> refresh ressers
if (este_jogador.ress_targets) then
_detalhes.refresh:r_container_combatentes (este_jogador.ress_targets, -1)
@@ -1683,7 +1697,8 @@ end
function _detalhes.clear:c_atributo_misc (este_jogador)
este_jogador.__index = {}
--este_jogador.__index = {}
este_jogador.__index = nil
este_jogador.shadow = nil
este_jogador.links = nil
este_jogador.minha_barra = nil
@@ -1692,11 +1707,17 @@ function _detalhes.clear:c_atributo_misc (este_jogador)
_detalhes.clear:c_container_combatentes (este_jogador.interrupt_targets)
_detalhes.clear:c_container_habilidades (este_jogador.interrupt_spell_tables)
end
if (este_jogador.cooldowns_defensive_targets) then
_detalhes.clear:c_container_combatentes (este_jogador.cooldowns_defensive_targets)
_detalhes.clear:c_container_habilidades (este_jogador.cooldowns_defensive_spell_tables)
end
if (este_jogador.buff_uptime_targets) then
_detalhes.clear:c_container_combatentes (este_jogador.buff_uptime_targets)
_detalhes.clear:c_container_habilidades (este_jogador.buff_uptime_spell_tables)
end
if (este_jogador.ress_targets) then
_detalhes.clear:c_container_combatentes (este_jogador.ress_targets)
_detalhes.clear:c_container_habilidades (este_jogador.ress_spell_tables)
+2 -1
View File
@@ -195,7 +195,8 @@ function _detalhes.refresh:r_habilidade_misc (habilidade, shadow) --recebeu o co
end
function _detalhes.clear:c_habilidade_misc (habilidade)
habilidade.__index = {}
--habilidade.__index = {}
habilidade.__index = nil
habilidade.shadow = nil
_detalhes.clear:c_container_combatentes (habilidade.targets)
+2 -1
View File
@@ -40,7 +40,8 @@ end
function _detalhes.clear:c_alvo_da_habilidade (este_alvo)
este_alvo.shadow = nil
este_alvo.__index = {}
--este_alvo.__index = {}
este_alvo.__index = nil
end
alvo_da_habilidade.__sub = function (tabela1, tabela2)
+5 -1
View File
@@ -274,6 +274,9 @@ function container_combatentes:PegarCombatente (serial, nome, flag, criar, isOwn
end
end
if (novo_objeto.grupo) then
novo_objeto.avoidance = {["DODGE"] = 0, ["PARRY"] = 0, ["HITS"] = 0} --> avoidance
end
elseif (self.tipo == container_heal) then --> CONTAINER HEALING
@@ -486,7 +489,8 @@ function _detalhes.refresh:r_container_combatentes (container, shadow)
end
function _detalhes.clear:c_container_combatentes (container)
container.__index = {}
--container.__index = {}
container.__index = nil
container.shadow = nil
container._NameIndexTable = nil
container.need_refresh = nil
+2 -1
View File
@@ -123,7 +123,8 @@ function _detalhes.refresh:r_container_habilidades (container, shadow)
end
function _detalhes.clear:c_container_habilidades (container)
container.__index = {}
--container.__index = {}
container.__index = nil
container.shadow = nil
container.funcao_de_criacao = nil
end
+13 -2
View File
@@ -434,7 +434,7 @@
--> 'avoider'
--> using this method means avoidance of pets will not be tracked
local TargetActor = damage_cache [alvo_name]
if (TargetActor) then
if (TargetActor and TargetActor.grupo) then
local missTable = TargetActor.avoidance [missType]
if (missTable) then
TargetActor.avoidance [missType] = missTable +1
@@ -2214,6 +2214,16 @@
end
end
--"ENVIRONMENTAL_DAMAGE" --> damage aplied by enviorement like lava.
--SPELL_PERIODIC_MISSED --> need research
--DAMAGE_SHIELD_MISSED --> need research
--SPELL_EXTRA_ATTACKS --> need research
--SPELL_DRAIN --> need research
--SPELL_LEECH --> need research
--SPELL_PERIODIC_DRAIN --> need research
--SPELL_PERIODIC_LEECH --> need research
--SPELL_DISPEL_FAILED --> need research
function _detalhes:CaptureEnable (capture_type)
capture_type = string.lower (capture_type)
@@ -2229,7 +2239,8 @@
token_list ["RANGE_MISSED"] = parser.rangemissed
token_list ["SWING_MISSED"] = parser.swingmissed
token_list ["SPELL_MISSED"] = parser.missed
elseif (capture_type == "heal") then
token_list ["SPELL_HEAL"] = parser.heal
token_list ["SPELL_PERIODIC_HEAL"] = parser.heal
+50 -4
View File
@@ -50,14 +50,60 @@ function _detalhes:CreateOrOpenNewsWindow()
titulo:SetPoint ("center", frame, "center")
titulo:SetPoint ("top", frame, "top", 0, -18)
local frame_upper = CreateFrame ("scrollframe", nil, frame)
local frame_lower = CreateFrame ("frame", nil, frame_upper)
frame_lower:SetSize (380, 390)
frame_upper:SetPoint ("topleft", frame, "topleft", 85, -100)
frame_upper:SetWidth (395)
frame_upper:SetHeight (370)
frame_upper:SetBackdrop({
bgFile = "Interface\\Tooltips\\UI-Tooltip-Background",
tile = true, tileSize = 16,
insets = {left = 1, right = 1, top = 0, bottom = 1},})
frame_upper:SetBackdropColor (.1, .1, .1, .3)
frame_upper:SetScrollChild (frame_lower)
local slider = CreateFrame ("slider", nil, frame)
slider.bg = slider:CreateTexture (nil, "background")
slider.bg:SetAllPoints (true)
slider.bg:SetTexture (0, 0, 0, 0.5)
slider.thumb = slider:CreateTexture (nil, "OVERLAY")
slider.thumb:SetTexture ("Interface\\Buttons\\UI-ScrollBar-Knob")
slider.thumb:SetSize (25, 25)
slider:SetThumbTexture (slider.thumb)
slider:SetOrientation ("vertical");
slider:SetSize (16, 369)
slider:SetPoint ("topleft", frame_upper, "topright")
slider:SetMinMaxValues (0, 1000)
slider:SetValue(0)
slider:SetScript("OnValueChanged", function (self)
frame_upper:SetVerticalScroll (self:GetValue())
end)
frame_upper:EnableMouseWheel (true)
frame_upper:SetScript("OnMouseWheel", function (self, delta)
local current = slider:GetValue()
if (IsShiftKeyDown() and (delta > 0)) then
slider:SetValue(0)
elseif (IsShiftKeyDown() and (delta < 0)) then
slider:SetValue (1000)
elseif ((delta < 0) and (current < 1000)) then
slider:SetValue (current + 20)
elseif ((delta > 0) and (current > 1)) then
slider:SetValue (current - 20)
end
end)
--> text box
local texto = frame:CreateFontString ("DetailsNewsWindowText", "overlay", "GameFontNormal")
texto:SetPoint ("topleft", frame, "topleft", 100, -100)
local texto = frame_lower:CreateFontString ("DetailsNewsWindowText", "overlay", "GameFontNormal")
texto:SetPoint ("topleft", frame_lower, "topleft")
texto:SetJustifyH ("left")
texto:SetJustifyV ("top")
texto:SetTextColor (1, 1, 1)
texto:SetWidth (400)
texto:SetHeight (500)
texto:SetWidth (380)
texto:SetHeight (1000)
function frame:Title (title)
titulo:SetText (title or "")
+1 -1
View File
@@ -3,7 +3,7 @@ if not Loc then return end
--------------------------------------------------------------------------------------------------------------------------------------------
Loc ["STRING_VERSION_LOG"] = "Details! v1.5.0 / v1.5.1:\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|cFFFFFF00-|r Fixed a issue with report data were sometimes wasn't working."
Loc ["STRING_VERSION_LOG"] = "|cFFFFFF00v1.5.2|r\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
+1 -1
View File
@@ -3,7 +3,7 @@ if not Loc then return end
--------------------------------------------------------------------------------------------------------------------------------------------
Loc ["STRING_VERSION_LOG"] = "Details! v1.5.0 / v1.5.1:\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.5.2|r\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