- Improvements on Encounter Details plugin.

This commit is contained in:
Tercio
2015-02-17 17:33:39 -02:00
parent e8027b6f22
commit 4619612c1c
30 changed files with 739 additions and 291 deletions
@@ -197,6 +197,10 @@ local function CreatePluginFrames (data)
--drop last combat table
EncounterDetails.LastSegmentShown = nil
if (DetailsRaidDpsGraph) then
DetailsRaidDpsGraph.combat = nil
end
--wipe emotes
table.wipe (EncounterDetails.boss_emotes_table)
@@ -545,7 +549,6 @@ local function DamageTakenDetails (jogador, barra)
for nome, _ in _pairs (agressores) do --> agressores seria a lista de nomes
local este_agressor = showing._ActorTable[showing._NameIndexTable[nome]]
if (este_agressor) then --> checagem por causa do total e do garbage collector que não limpa os nomes que deram dano
local habilidades = este_agressor.spells._ActorTable
for id, habilidade in _pairs (habilidades) do
--print ("oi - " .. este_agressor.nome)
@@ -763,19 +766,28 @@ end
function EncounterDetails:OpenAndRefresh (_, segment)
local frame = EncounterDetailsFrame --alias
local _combat_object = _combat_object
if (not _combat_object) then
return
end
if (segment) then
--get combat segment, 1 more recently ...25 oldest
_combat_object = EncounterDetails:GetCombat (segment)
EncounterDetails._segment = segment
else
_G [frame:GetName().."SegmentsDropdown"].MyObject:Select (1, true)
EncounterDetails._segment = 1
local historico = _detalhes.tabela_historico.tabelas
for index, combate in ipairs (historico) do
if (combate.is_boss and combate.is_boss.index) then
_G [frame:GetName().."SegmentsDropdown"].MyObject:Select (index)
EncounterDetails._segment = index
_combat_object = combate
break
end
end
end
if (not _combat_object) then
EncounterDetails:Msg ("no combat found.")
return
end
local boss_id
@@ -826,6 +838,8 @@ function EncounterDetails:OpenAndRefresh (_, segment)
if (EncounterDetailsFrame.ShowType == "graph") then
EncounterDetails:BuildDpsGraphic()
elseif (EncounterDetailsFrame.ShowType == "spellsauras") then
--refresh spells and auras
end
EncounterDetails.LastSegmentShown = _combat_object
@@ -848,20 +862,15 @@ function EncounterDetails:OpenAndRefresh (_, segment)
if (file) then
EncounterDetailsFrame.raidbackground:SetTexture (file)
EncounterDetailsFrame.raidbackground:SetTexCoord (L, R, T, B)
EncounterDetailsFrame.raidbackground:SetAlpha (0.8)
else
EncounterDetailsFrame.raidbackground:SetTexture ([[Interface\Glues\LOADINGSCREENS\LoadScreenDungeon]])
EncounterDetailsFrame.raidbackground:SetTexCoord (0, 1, 120/512, 408/512)
EncounterDetailsFrame.raidbackground:SetAlpha (0.8)
end
-------------- set totals on down frame --------------
--[[ data mine:
_combat_object ["totals_grupo"] hold the total [1] damage // [2] heal // [3] [energy_name] energies // [4] [misc_name] miscs --]]
--EncounterDetailsFrame.StatusBar_totaldamage:SetText (Loc ["STRING_TOTAL_DAMAGE"]..": ".. _detalhes:comma_value (_combat_object.totals_grupo[1])) --> [1] total damage
--EncounterDetailsFrame.StatusBar_totalheal:SetText (Loc ["STRING_TOTAL_HEAL"]..": ".. _detalhes:comma_value (_combat_object.totals_grupo[2])) --> [2] total heal
--> Container Overall Damage Taken
--[[ data mine:
combat tables have 4 containers [1] damage [2] heal [3] energy [4] misc each container have 2 tables: ._NameIndexTable and ._ActorTable --]]
@@ -1416,7 +1425,7 @@ function EncounterDetails:OpenAndRefresh (_, segment)
local barra = container.barras [index]
if (not barra) then
barra = EncounterDetails:CreateRow (index, container, 3, 3, -6)
barra = EncounterDetails:CreateRow (index, container, 3, 0, -6)
barra.TTT = "total_interrupt" -- tool tip type
barra.report_text = "Details! ".. Loc ["STRING_INTERRUPT_BY"]
barra:SetBackdrop (backdrop_bar_onleave)
@@ -1590,13 +1599,13 @@ function EncounterDetails:OpenAndRefresh (_, segment)
--> {esta_morte, time, este_jogador.nome, este_jogador.classe, _UnitHealthMax (alvo_name), minutos.."m "..segundos.."s", ["dead"] = true}
local barra = container.barras [index]
if (not barra) then
barra = EncounterDetails:CreateRow (index, container, 3, 0, -4)
barra = EncounterDetails:CreateRow (index, container, 3, 0, 1)
barra.TTT = "morte" -- tool tip type
barra.report_text = "Details! " .. Loc ["STRING_DEAD_LOG"]
_detalhes:SetFontSize (barra.texto_esquerdo, 9)
_detalhes:SetFontSize (barra.texto_direita, 9)
_detalhes:SetFontFace (barra.texto_esquerdo, "Arial Narrow")
barra:SetWidth (160)
barra:SetWidth (169)
end
if (tabela [3]:find ("-")) then
+4 -2
View File
@@ -29,8 +29,10 @@ Loc ["STRING_ADDS"] = "Adds"
Loc ["STRING_INTERRUPTS"] = "Interrupts"
Loc ["STRING_DISPELLS"] = "Dispells"
Loc ["STRING_DEATH_LOG"] = "Death Log"
Loc ["STRING_FIGHT_SUMMARY"] = "fight details"
Loc ["STRING_FIGHT_GRAPHIC"] = "performance charts"
Loc ["STRING_FIGHT_SUMMARY"] = "Encounter Summary"
Loc ["STRING_FIGHT_GRAPHIC"] = "Encounter Charts and Phases"
Loc ["STRING_FIGHT_EMOTES"] = "Encounter Emotes"
Loc ["STRING_FIGHT_SPELLS"] = "Encounter Spells and Auras"
Loc ["STRING_TOOLTIP"] = "Show Encounter Details Window"
Loc ["STRING_LAST_COOLDOWN"] = "last cooldown used"
Loc ["STRING_NOLAST_COOLDOWN"] = "no cooldown used"
File diff suppressed because it is too large Load Diff
Binary file not shown.
@@ -63,6 +63,27 @@ local function CreatePluginFrames (data)
elseif (event == "SHOW") then --> plugin shown, enabled
if (not Vanguard.db.first_run) then
Vanguard.db.first_run = true
local welcome = CreateFrame ("frame", nil, UIParent)
welcome:SetFrameStrata ("TOOLTIP")
welcome:SetPoint ("center", UIParent, "center")
welcome:SetSize (400, 175)
welcome:SetBackdrop ({edgeFile = "Interface\\Buttons\\UI-SliderBar-Border", edgeSize = 8,
bgFile = [[Interface\AddOns\Details\images\background]], tile = true, tileSize = 130, insets = {left = 1, right = 1, top = 5, bottom = 5}})
local str = _detalhes.gump:CreateLabel (welcome, "Welcome to Vanguard!\n\n\n- The green-left bar represents the incoming healing plus absorbs on the tank.\n\n- The red-right tries to calculate the incoming damage taking the total damage suffered by the tank on the last 5 seconds.", nil, nil, "GameFontNormal")
str:SetPoint (15, -15)
str:SetWidth (375)
local close_button = _detalhes.gump:CreateButton (welcome, function() welcome:Hide() end, 86, 16, "Close")
close_button:InstallCustomTexture()
close_button:SetPoint ("center", welcome, "center")
close_button:SetPoint ("bottom", welcome, "bottom", 0, 10)
end
Vanguard.CurrentInstance = Vanguard:GetInstance (Vanguard.instance_id)
VanguardFrame:RegisterEvent ("ROLE_CHANGED_INFORM")
@@ -774,6 +795,7 @@ function Vanguard:OnEvent (_, event, arg1, token, time, who_serial, who_name, wh
tank_block_size = 150,
tank_block_color = {0, 0, 0, 0.8},
tank_block_texture = "Details Serenity",
first_run = false,
}
--> Install