- Chart Viewer (plugin): has been revamped and now it's less complicated to use.

- Time Line (plugin): added options to change the background color and scale.
- Raid Check (plugin): its window is now 'always on top'.
- Accuracy adjustments on overheal of Divine Aegis and Illuminated Healing.
- Removed healthstone from cooldown list, added Nature's Vigil.
- Enemies display now shows damage taken instead of damage done.
- Tooltip for enemies display now also show damage and healing done by the enemy.
- Added an option under miscellaneous to show neutral and hostile creatures on damage taken display.
- Added an option to ignore nicknames and always use character names.
- Enabling the display icon on title bar now makes the title text automatically move slightly to right.
- Fixed issue with skin changing when the window has the statusbar enabled.
This commit is contained in:
Tercio
2015-02-11 22:02:33 -02:00
parent 1b08512cae
commit dd3451f99f
12 changed files with 505 additions and 164 deletions
+40 -46
View File
@@ -498,11 +498,17 @@
-- update tooltip function--
if (self.id) then
--if (self.id == 1) then
-- self.classe = 1
--end
local school_color = _detalhes.school_colors [self.classe]
if (not school_color) then
school_color = _detalhes.school_colors ["unknown"]
end
actor_class_color_r, actor_class_color_g, actor_class_color_b = _unpack (school_color)
else
actor_class_color_r, actor_class_color_g, actor_class_color_b = self:GetBarColor()
end
@@ -1501,7 +1507,12 @@
desc = Loc ["STRING_CUSTOM_DTBS_DESC"],
source = false,
target = false,
script_version = 13,
script_version = 20,
on_shift_click = [[
local row, object, instance = ...
local spellname, _, spellicon = _detalhes.GetSpellInfo (object.id)
_detalhes:OpenAuraPanel (object.id, spellname, spellicon)
]],
script = [[
--> get the parameters passed
local combat, instance_container, instance = ...
@@ -1527,52 +1538,29 @@
if (source) then
local AllSpells = source:GetSpellList()
for spellid, spell in pairs (AllSpells) do
local on_player = spell.targets [character.nome]
if (not source:IsPlayer()) then
local AllSpells = source:GetSpellList()
for spellid, spell in pairs (AllSpells) do
local on_player = spell.targets [character.nome]
if (on_player and on_player >= 1) then
instance_container:AddValue (spell, on_player)
total = total + on_player
local value = instance_container:GetValue (spell)
if (value > top) then
top = value
end
if (not NoRepeat [spellid]) then
amount = amount + 1
NoRepeat [spellid] = true
end
end
end
else -------------
if (on_player and on_player >= 1) then
instance_container:AddValue (spell, on_player)
total = total + on_player
local value = instance_container:GetValue (spell)
if (value > top) then
top = value
end
if (not NoRepeat [spellid]) then
amount = amount + 1
NoRepeat [spellid] = true
end
end
end
-------------
local friendlyfire = source.friendlyfire [character.nome]
if (friendlyfire and friendlyfire.total >= 1) then
for _spellid, _on_player in pairs (friendlyfire.spells) do
local _spellname = GetSpellInfo (_spellid)
local _object
local _index = instance_container._NameIndexTable [_spellname]
if (_index) then
_object = instance_container._ActorTable [_index]
else
_object = {id = _spellid, spellschool = 1}
end
instance_container:AddValue (_object, _on_player)
total = total + _on_player
local _value = instance_container:GetValue (_object)
if (_value > top) then
top = _value
end
if (not NoRepeat [_spellid]) then
amount = amount + 1
NoRepeat [_spellid] = true
end
end
end
------------
end -----------
end
end
end
@@ -1660,6 +1648,12 @@
GameCooltip:AddIcon ("Interface\\AddOns\\Details\\images\\classes_small_alpha", 1, 1, 14, 14, 0.25, 0.49609375, 0.75, 1)
end
end
if (WeakAuras) then
GameCooltip:AddLine (" ")
GameCooltip:AddLine ("Shift Click: Create WeakAura")
GameCooltip:AddStatusBar (100, 1, 0, 0, 0, 0.6, true, bar_background)
end
]],
}
+32 -10
View File
@@ -157,6 +157,7 @@
[31216] = true, --mirror image
[53006] = true, --spirit link totem
[63508] = true, --xuen
[73967] = true, --xuen
}
-- Night-Twisted Brute - Creature-0-3024-1228-19402-85241-00001E2097
@@ -473,12 +474,13 @@
function atributo_damage:ReportSingleFragsLine (frag, instancia)
local barra = instancia.barras [frag.minha_barra]
local reportar = {"Details! " .. Loc ["STRING_ATTRIBUTE_DAMAGE_TAKEN"].. ": " .. frag [1]} --> localize-me
for i = 1, GameCooltip:GetNumLines() do
local reportar = {"Details!: " .. frag [1] .. " - " .. Loc ["STRING_ATTRIBUTE_DAMAGE_TAKEN"]}
for i = 2, GameCooltip:GetNumLines()-2 do
local texto_left, texto_right = GameCooltip:GetText (i)
if (texto_left and texto_right) then
texto_left = texto_left:gsub (("|T(.*)|t "), "")
reportar [#reportar+1] = ""..texto_left.." "..texto_right..""
reportar [#reportar+1] = "" .. texto_left .. " ....... " .. texto_right
end
end
@@ -575,12 +577,12 @@
function atributo_damage:ReportSingleVoidZoneLine (actor, instancia)
local barra = instancia.barras [actor.minha_barra]
local reportar = {"Details! " .. Loc ["STRING_ATTRIBUTE_DAMAGE_DEBUFFS_REPORT"] .. ": " .. actor.nome} --> localize-me
for i = 1, GameCooltip:GetNumLines() do
local reportar = {"Details!: " .. actor.nome .. " - " .. Loc ["STRING_ATTRIBUTE_DAMAGE_DEBUFFS_REPORT"]}
for i = 2, GameCooltip:GetNumLines()-2 do
local texto_left, texto_right = GameCooltip:GetText (i)
if (texto_left and texto_right) then
texto_left = texto_left:gsub (("|T(.*)|t "), "")
reportar [#reportar+1] = ""..texto_left.." "..texto_right..""
reportar [#reportar+1] = "" .. texto_left .. " ..... " .. texto_right
end
end
@@ -830,6 +832,9 @@ function atributo_damage:RefreshWindow (instancia, tabela_do_combate, forcar, ex
keyName = "last_dps"
elseif (sub_atributo == 3) then --> TAMAGE TAKEN
keyName = "damage_taken"
if (_detalhes.damage_taken_everything) then
modo = modo_ALL
end
elseif (sub_atributo == 4) then --> FRIENDLY FIRE
keyName = "friendlyfire_total"
elseif (sub_atributo == 5) then --> FRAGS
@@ -1027,7 +1032,7 @@ function atributo_damage:RefreshWindow (instancia, tabela_do_combate, forcar, ex
total = index
if (exportar) then
return vtable
return voidzone_damage_total, "damage", instancia.top, total, vtable
end
if (total < 1) then
@@ -2350,6 +2355,7 @@ function atributo_damage:MontaDetalhes (spellid, barra)
return self:MontaDetalhesDamageDone (spellid, barra)
end
return self:MontaDetalhesEnemy (spellid, barra)
--return self:MontaDetalhesDamageDone (spellid, barra)
end
end
@@ -2557,11 +2563,13 @@ end
row.textura:SetValue (value/max*100)
end
--end
row.texto_esquerdo:SetText (index .. ". " .. name)
--> seta o texto da direita
row.texto_esquerdo.text = row.texto_esquerdo:GetText()
row.texto_direita:SetText (value_formated .. " (" .. _cstr ("%.1f", percent) .."%)")
row.texto_esquerdo:SetSize (row:GetWidth() - row.texto_direita:GetStringWidth() - 40, 15)
--> seta o icone
if (icon) then
row.icone:SetTexture (icon)
@@ -2691,7 +2699,7 @@ function atributo_damage:MontaInfoDamageDone()
end
self:FocusLock (barra, tabela[1])
end
--> TOP INIMIGOS
@@ -2927,6 +2935,20 @@ function atributo_damage:MontaDetalhesEnemy (spellid, barra)
local container = info.instancia.showing[1]
local barras = info.barras3
local instancia = info.instancia
local other_actor = barra.other_actor
if (other_actor) then
self = other_actor
end
if (barra.texto_esquerdo:IsTruncated()) then
_detalhes:CooltipPreset (2)
GameCooltip:SetOption ("FixedWidth", nil)
GameCooltip:AddLine (barra.texto_esquerdo.text)
GameCooltip:SetOwner (barra, "bottomleft", "topleft", 5, -10)
GameCooltip:ShowCooltip()
end
local spell = self.spells:PegaHabilidade (spellid)
local targets = spell.targets
+2 -2
View File
@@ -182,8 +182,8 @@ end
function atributo_heal:ReportSingleDamagePreventedLine (actor, instancia)
local barra = instancia.barras [actor.minha_barra]
local reportar = {"Details! " .. Loc ["STRING_ATTRIBUTE_HEAL_PREVENT"].. ": " .. actor.nome} --> localize-me
for i = 1, GameCooltip:GetNumLines() do
local reportar = {"Details!: " .. actor.nome .. " - " .. Loc ["STRING_ATTRIBUTE_HEAL_PREVENT"]}
for i = 2, GameCooltip:GetNumLines()-2 do
local texto_left, texto_right = GameCooltip:GetText (i)
if (texto_left and texto_right) then
texto_left = texto_left:gsub (("|T(.*)|t "), "")
+8 -2
View File
@@ -2705,9 +2705,8 @@ function _detalhes:monta_relatorio (este_relatorio, custom)
local atributo = self.atributo
local container = self.showing [atributo]._ActorTable
--print ("amt: ",#container)
if (atributo == 1) then --> damage
if (self.sub_atributo == 5) then --> frags
local frags = self.showing.frags
local reportarFrags = {}
@@ -2716,7 +2715,14 @@ function _detalhes:monta_relatorio (este_relatorio, custom)
reportarFrags [#reportarFrags+1] = {frag = tostring (amount), nome = name}
end
container = reportarFrags
container_amount = #reportarFrags
keyName = "frag"
elseif (self.sub_atributo == 7) then --> auras e voidzones
total, keyName, first, container_amount, container = _detalhes.atributo_damage:RefreshWindow (self, self.showing, true, true)
else
total, keyName, first, container_amount = _detalhes.atributo_damage:RefreshWindow (self, self.showing, true, true)
if (self.sub_atributo == 1) then
+52 -39
View File
@@ -207,11 +207,12 @@ function _detalhes:ToolTipDead (instancia, morte, esta_barra, keydown)
if (overkill > 0) then
amount = amount - overkill
overkill = " (" .. _detalhes:ToK (overkill) .. " |cFFFF8800overkill|r)"
GameCooltip:AddLine ("" .. _cstr ("%.1f", time - hora_da_morte) .. "s |cFFFFFF00" .. spellname .. "|r (|cFFC6B0D9" .. source .. "|r)", "-" .. _detalhes:ToK (amount) .. overkill .. " (" .. hp .. "%)", 1, "white", "white")
else
overkill = ""
GameCooltip:AddLine ("" .. _cstr ("%.1f", time - hora_da_morte) .. "s " .. spellname .. " (|cFFC6B0D9" .. source .. "|r)", "-" .. _detalhes:ToK (amount) .. overkill .. " (" .. hp .. "%)", 1, "white", "white")
end
GameCooltip:AddLine ("" .. _cstr ("%.1f", time - hora_da_morte) .. "s " .. spellname .. " (" .. source .. ")", "-" .. _detalhes:ToK (amount) .. overkill .. " (" .. hp .. "%)", 1, "white", "white")
GameCooltip:AddIcon (spellicon)
if (event [9]) then
@@ -223,7 +224,7 @@ function _detalhes:ToolTipDead (instancia, morte, esta_barra, keydown)
end
else
--> heal
GameCooltip:AddLine ("" .. _cstr ("%.1f", time - hora_da_morte) .. "s " .. spellname .. " (" .. source .. ")", "+" .. _detalhes:ToK (amount) .. " (" .. hp .. "%)", 1, "white", "white")
GameCooltip:AddLine ("" .. _cstr ("%.1f", time - hora_da_morte) .. "s " .. spellname .. " (|cFFC6B0D9" .. source .. "|r)", "+" .. _detalhes:ToK (amount) .. " (" .. hp .. "%)", 1, "white", "white")
GameCooltip:AddIcon (spellicon)
GameCooltip:AddStatusBar (hp, 1, "green", true)
@@ -381,41 +382,50 @@ end
function atributo_misc:ReportSingleCooldownLine (misc_actor, instancia)
local barra = misc_actor.minha_barra
local reportar = {"Details! " .. Loc ["STRING_REPORT_SINGLE_COOLDOWN"] .. " " .. barra.texto_esquerdo:GetText()} --> localize-me
reportar [#reportar+1] = "> " .. Loc ["STRING_SPELLS"] .. ":"
local reportar = {"Details!: " .. misc_actor.nome .. " - " .. Loc ["STRING_ATTRIBUTE_MISC_DEFENSIVE_COOLDOWNS"]}
for i = 1, GameCooltip:GetNumLines() do
local texto_left, texto_right = GameCooltip:GetText (i)
local meu_total = _math_floor (misc_actor.cooldowns_defensive)
local cooldowns = misc_actor.cooldowns_defensive_spells._ActorTable
local cooldowns_used = {}
for spellid, spell in _pairs (cooldowns) do
cooldowns_used [#cooldowns_used+1] = {spellid, spell.counter, spell}
end
_table_sort (cooldowns_used, _detalhes.Sort2)
for i, spell in _ipairs (cooldowns_used) do
if (texto_left and texto_right) then
texto_left = texto_left:gsub (("|T(.*)|t "), "")
reportar [#reportar+1] = " "..texto_left.." "..texto_right..""
elseif (i ~= 1) then
reportar [#reportar+1] = "> " .. Loc ["STRING_TARGETS"] .. ":"
local spelllink = GetSpellLink (spell [1])
reportar [#reportar+1] = spelllink .. ": " .. spell [2]
for target_name, amount in _pairs (spell[3].targets) do
if (target_name ~= misc_actor.nome and target_name ~= Loc ["STRING_RAID_WIDE"] and amount > 0) then
reportar [#reportar+1] = " -" .. target_name .. ": " .. amount
end
end
end
return _detalhes:Reportar (reportar, {_no_current = true, _no_inverse = true, _custom = true})
end
function atributo_misc:ReportSingleBuffUptimeLine (misc_actor, instancia)
local barra = misc_actor.minha_barra
local reportar = {"Details! " .. Loc ["STRING_REPORT_SINGLE_BUFFUPTIME"] .. " " .. barra.texto_esquerdo:GetText()} --> localize-me
reportar [#reportar+1] = "> " .. Loc ["STRING_SPELLS"] .. ":"
local reportar = {"Details!: " .. misc_actor.nome .. " - " .. Loc ["STRING_ATTRIBUTE_MISC_BUFF_UPTIME"]}
for i = 1, GameCooltip:GetNumLines() do
local texto_left, texto_right = GameCooltip:GetText (i)
local buffs = {}
local combat_time = instancia.showing:GetCombatTime()
for spellid, spell in _pairs (misc_actor.buff_uptime_spells._ActorTable) do
buffs [#buffs+1] = {spellid, spell.uptime, spell}
end
_table_sort (buffs, _detalhes.Sort2)
for i, spell in _ipairs (buffs) do
local spelllink = GetSpellLink (spell [1])
local m, s = _math_floor (spell [2] / 60), _math_floor (spell [2] % 60)
if (texto_left and texto_right) then
texto_left = texto_left:gsub (("|T(.*)|t "), "")
reportar [#reportar+1] = " "..texto_left.." "..texto_right..""
elseif (i ~= 1) then
reportar [#reportar+1] = "> " .. Loc ["STRING_TARGETS"] .. ":"
end
reportar [#reportar+1] = spelllink .. ": " .. m .. "m " .. s .. "s (" .. _cstr ("%.1f", spell [2] / combat_time * 100) .. "%)"
end
return _detalhes:Reportar (reportar, {_no_current = true, _no_inverse = true, _custom = true})
@@ -423,23 +433,26 @@ end
function atributo_misc:ReportSingleDebuffUptimeLine (misc_actor, instancia)
local barra = misc_actor.minha_barra
local reportar = {"Details!: " .. misc_actor.nome .. " - " .. Loc ["STRING_ATTRIBUTE_MISC_DEBUFF_UPTIME"]}
local reportar = {"Details! " .. Loc ["STRING_REPORT_SINGLE_DEBUFFUPTIME"] .. " " .. barra.texto_esquerdo:GetText()} --> localize-me
reportar [#reportar+1] = "> " .. Loc ["STRING_SPELLS"] .. ":"
local debuffs = {}
local combat_time = instancia.showing:GetCombatTime()
for i = 1, GameCooltip:GetNumLines() do
local texto_left, texto_right = GameCooltip:GetText (i)
if (texto_left and texto_right) then
texto_left = texto_left:gsub (("|T(.*)|t "), "")
reportar [#reportar+1] = " "..texto_left.." "..texto_right..""
elseif (i ~= 1) then
reportar [#reportar+1] = "> " .. Loc ["STRING_TARGETS"] .. ":"
end
for spellid, spell in _pairs (misc_actor.debuff_uptime_spells._ActorTable) do
debuffs [#debuffs+1] = {spellid, spell.uptime, spell}
end
return _detalhes:Reportar (reportar, {_no_current = true, _no_inverse = true, _custom = true})
_table_sort (debuffs, _detalhes.Sort2)
for i, spell in _ipairs (debuffs) do
local spelllink = GetSpellLink (spell [1])
local m, s = _math_floor (spell [2] / 60), _math_floor (spell [2] % 60)
reportar [#reportar+1] = spelllink .. ": " .. m .. "m " .. s .. "s (" .. _cstr ("%.1f", spell [2] / combat_time * 100) .. "%)"
end
return _detalhes:Reportar (reportar, {_no_current = true, _no_inverse = true, _custom = true})
end
function atributo_misc:DeadAtualizarBarra (morte, qual_barra, colocacao, instancia)