- 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:
+40
-46
@@ -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
@@ -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
|
||||
|
||||
@@ -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 "), "")
|
||||
|
||||
@@ -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
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user