- For some special cases, left click now open the report window and shift+click shows the tooltip content in the window.

- Damage Taken by Spells now are a part of Damage bracket (no more on custom).
- Fixed custom functions for the customized bar left text.
- Improvements on report text format and also reverse option now works as intended.
- Removed the option for report only what is shown in the window.
- Added skins for report panel, the skin follow the skin selected for Player Detail Window.
This commit is contained in:
Tercio
2015-07-13 15:30:16 -03:00
parent 85f0038398
commit b2698005fb
21 changed files with 1564 additions and 994 deletions
+9 -4
View File
File diff suppressed because one or more lines are too long
+30 -344
View File
@@ -197,19 +197,28 @@
local percent_script = _detalhes.custom_function_cache [instance.customName .. "Percent"]
local total_script = _detalhes.custom_function_cache [instance.customName .. "Total"]
local okey
for index, actor in _ipairs (instance_container._ActorTable) do
local percent, ptotal
if (percent_script) then
percent = percent_script (_math_floor (actor.value), top, total, combat, instance)
okey, percent = _pcall (percent_script, _math_floor (actor.value), top, total, combat, instance, actor)
if (not okey) then
_detalhes:Msg ("|cFFFF9900error on custom display function|r:", percent)
return _detalhes:EndRefresh (instance, 0, combat, combat [1])
end
else
percent = _cstr ("%.1f", _math_floor (actor.value) / total * 100)
end
if (total_script) then
local value = total_script (_math_floor (actor.value), top, total, combat, instance)
local value = _pcall (total_script, _math_floor (actor.value), top, total, combat, instance, actor)
if (type (value) == "number") then
ptotal = SelectedToKFunction (_, value)
okey, ptotal = SelectedToKFunction (_, value)
if (not okey) then
_detalhes:Msg ("|cFFFF9900error on custom display function|r:", ptotal)
return _detalhes:EndRefresh (instance, 0, combat, combat [1])
end
else
ptotal = value
end
@@ -472,10 +481,15 @@
self.minha_barra = row
local percent
local okey
if (percent_script) then
--local value, top, total, combat, instance = ...
percent = percent_script (self.value, top, total, combat, instance)
okey, percent = _pcall (percent_script, self.value, top, total, combat, instance, self)
if (not okey) then
_detalhes:Msg ("|cFFFF9900error on custom display function|r:", percent)
return _detalhes:EndRefresh (instance, 0, combat, combat [1])
end
else
if (percentage_type == 1) then
percent = _cstr ("%.1f", self.value / total * 100)
@@ -491,7 +505,11 @@
end
if (total_script) then
local value = total_script (self.value, top, total, combat, instance)
local okey, value = _pcall (total_script, self.value, top, total, combat, instance, self)
if (not okey) then
_detalhes:Msg ("|cFFFF9900error on custom display function|r:", value)
return _detalhes:EndRefresh (instance, 0, combat, combat [1])
end
if (type (value) == "number") then
row.texto_direita:SetText (SelectedToKFunction (_, value) .. bars_brackets[1] .. percent .. bars_brackets[2])
else
@@ -905,6 +923,10 @@
--> get the custom object
local custom_object = instance:GetCustomObject()
if (custom_object.notooltip) then
return
end
--> get the actor
local actor = self.my_actor
@@ -920,11 +942,9 @@
end
if (actor.id) then
_detalhes:AddTooltipSpellHeaderText (select (1, _GetSpellInfo (actor.id)), "yellow", 1, 0, 0, 0)
GameCooltip:AddIcon (select (3, _GetSpellInfo (actor.id)), 1, 1, 14, 14, 0.90625, 0.109375, 0.15625, 0.875)
_detalhes:AddTooltipSpellHeaderText (select (1, _GetSpellInfo (actor.id)), "yellow", 1, select (3, _GetSpellInfo (actor.id)), 0.90625, 0.109375, 0.15625, 0.875)
else
_detalhes:AddTooltipSpellHeaderText (custom_object:GetName(), "yellow", 1, 0, 0, 0)
GameCooltip:AddIcon (custom_object:GetIcon(), 1, 1, 14, 14, 0.90625, 0.109375, 0.15625, 0.875)
_detalhes:AddTooltipSpellHeaderText (custom_object:GetName(), "yellow", 1, custom_object:GetIcon(), 0.90625, 0.109375, 0.15625, 0.875)
end
--GameCooltip:AddStatusBar (100, 1, r, g, b, 1)
@@ -1556,339 +1576,6 @@
end
---------------------------------------
local DamageTakenBySpell = {
name = Loc ["STRING_CUSTOM_DTBS"],
icon = [[Interface\ICONS\spell_mage_infernoblast]],
attribute = false,
spellid = false,
author = "Details!",
desc = Loc ["STRING_CUSTOM_DTBS_DESC"],
source = false,
target = false,
script_version = 30,
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 = ...
--> declade the values to return
local total, top, amount = 0, 0, 0
--> get a list of all damage actors
local AllDamageCharacters = combat:GetActorList (DETAILS_ATTRIBUTE_DAMAGE)
--> no amount increase for repeated spells
local NoRepeat = {}
--> do a loop amoung the actors
for index, character in ipairs (AllDamageCharacters) do
--> is the actor a player?
if (character:IsPlayer()) then
local taken_from = character.damage_from
for source_name, _ in pairs (taken_from) do
local source = combat (1, source_name)
if (source) then
--> came from an enemy
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
elseif (source:IsGroupPlayer()) then -- friendly fire
local AllSpells = source.friendlyfire [character.nome] and source.friendlyfire [character.nome].spells
for spellid, on_player in pairs (AllSpells) do
if (on_player and on_player >= 1) then
local spellname = select (1, GetSpellInfo(spellid))
local TEMP_SPELL_OBJECT = _G ["DetailsDamageTakenBySpellTemp"..spellid]
if (not TEMP_SPELL_OBJECT) then
TEMP_SPELL_OBJECT = {}
_G ["DetailsDamageTakenBySpellTemp"..spellid] = TEMP_SPELL_OBJECT
end
TEMP_SPELL_OBJECT.id = spellid
TEMP_SPELL_OBJECT.spellschool = 1
instance_container:AddValue (TEMP_SPELL_OBJECT, on_player)
total = total + on_player
local value = instance_container:GetValue (TEMP_SPELL_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
end
return total, top, amount
]],
tooltip = [[
--get the parameters passed
local actor, combat, instance = ...
local Loc = LibStub ("AceLocale-3.0"):GetLocale ( "Details" )
local GameCooltip = GameCooltip
local from_spell = actor.id
local from_spellname
if (from_spell) then
from_spellname = select (1, GetSpellInfo (actor.id))
end
--> get a list of all damage actors
local AllDamageCharacters = combat:GetActorList (DETAILS_ATTRIBUTE_DAMAGE)
--> hold the targets
local Targets = {}
local total = 0
local top = 0
local is_custom_spell = false
for _, spellcustom in ipairs (_detalhes.savedCustomSpells) do
if (spellcustom[1] == from_spell) then
is_custom_spell = true
end
end
for index, character in ipairs (AllDamageCharacters) do
if (is_custom_spell) then
for playername, ff_table in pairs (character.friendlyfire) do
if (ff_table.spells [from_spell]) then
local damage_actor = combat (1, playername)
local heal_actor = combat (2, playername)
if ((damage_actor or heal_actor) and ( (damage_actor and damage_actor:IsPlayer()) or (heal_actor and heal_actor:IsPlayer()))) then
local got
for index, t in ipairs (Targets) do
if (t[1] == playername) then
t[2] = t[2] + ff_table.spells [from_spell]
if (t[2] > top) then
top = t[2]
end
got = true
break
end
end
if (not got) then
Targets [#Targets+1] = {playername, ff_table.spells [from_spell]}
if (ff_table.spells [from_spell] > top) then
top = ff_table.spells [from_spell]
end
end
end
end
end
else
for playername, ff_table in pairs (character.friendlyfire) do
for spellid, amount in pairs (ff_table.spells) do
local spellname = select (1, GetSpellInfo (spellid))
if (spellname == from_spellname) then
local damage_actor = combat (1, playername)
local heal_actor = combat (2, playername)
if ((damage_actor or heal_actor) and ( (damage_actor and damage_actor:IsPlayer()) or (heal_actor and heal_actor:IsPlayer()))) then
local got
for index, t in ipairs (Targets) do
if (t[1] == playername) then
t[2] = t[2] + amount
if (t[2] > top) then
top = t[2]
end
got = true
break
end
end
if (not got) then
Targets [#Targets+1] = {playername, amount}
if (amount > top) then
top = amount
end
end
end
end
end
end
end
--> search actors which used the spell shown in the bar
local spell = character.spells._ActorTable [from_spell]
if (spell) then
for targetname, amount in pairs (spell.targets) do
local got = false
local damage_actor = combat (1, targetname)
local heal_actor = combat (2, targetname)
if ( (damage_actor or heal_actor) and ( (damage_actor and damage_actor:IsPlayer()) or (heal_actor and heal_actor:IsPlayer()) ) ) then
for index, t in ipairs (Targets) do
if (t[1] == targetname) then
t[2] = t[2] + amount
if (t[2] > top) then
top = t[2]
end
got = true
break
end
end
if (not got) then
Targets [#Targets+1] = {targetname, amount}
if (amount > top) then
top = amount
end
end
-- else
-- for index, t in ipairs (Targets) do
-- if (t[1] == Loc ["STRING_TARGETS_OTHER1"]) then
-- t[2] = t[2] + amount
-- got = true
--print (damage_actor and damage_actor.nome, heal_actor and heal_actor.nome)
-- break
-- end
-- end
-- if (not got) then
-- Targets [#Targets+1] = {Loc ["STRING_TARGETS_OTHER1"], amount}
-- end
end
end
end
if (not is_custom_spell) then
for spellid, spell in pairs (character.spells._ActorTable) do
if (spellid ~= from_spell) then
local spellname = select (1, GetSpellInfo (spellid))
if (spellname == from_spellname) then
for targetname, amount in pairs (spell.targets) do
local got = false
local damage_actor = combat (1, targetname)
local heal_actor = combat (2, targetname)
if ( (damage_actor or heal_actor) and ( (damage_actor and damage_actor:IsPlayer()) or (heal_actor and heal_actor:IsPlayer()) ) ) then
for index, t in ipairs (Targets) do
if (t[1] == targetname) then
t[2] = t[2] + amount
if (t[2] > top) then
top = t[2]
end
got = true
break
end
end
if (not got) then
Targets [#Targets+1] = {targetname, amount}
if (amount > top) then
top = amount
end
end
end
end
end
end
end
end
end
table.sort (Targets, _detalhes.Sort2)
GameCooltip:SetOption ("StatusBarTexture", "Interface\\AddOns\\Details\\images\\bar_serenity")
--local bar_background = {value = 100, color = {0.1, 0.1, 0.1, 0.9}, texture = "Interface\\AddOns\\Details\\images\\bar_background"}
local bar_background = DETAILS_DTBS_BACKGROUND
if (not bar_background) then
local color = {0.1960, 0.1960, 0.1960, 0.9097}
DETAILS_DTBS_BACKGROUND = {value = 100, color = color, texture = "Interface\\AddOns\\Details\\images\\bar_background2"}
bar_background = DETAILS_DTBS_BACKGROUND
end
for index, t in ipairs (Targets) do
GameCooltip:AddLine (_detalhes:GetOnlyName(t[1]), _detalhes:ToK (t[2]))
local class, _, _, _, _, r, g, b = _detalhes:GetClass (t[1])
GameCooltip:AddStatusBar (t[2]/top*100, 1, r, g, b, 0.8, false, bar_background)
if (class) then
local texture, l, r, t, b = _detalhes:GetClassIcon (class)
GameCooltip:AddIcon ("Interface\\AddOns\\Details\\images\\classes_small_alpha", 1, 1, 14, 14, l, r, t, b)
elseif (t[1] == Loc ["STRING_TARGETS_OTHER1"]) then
GameCooltip:AddIcon ("Interface\\AddOns\\Details\\images\\classes_small_alpha", 1, 1, 14, 14, 0.25, 0.49609375, 0.75, 1)
end
end
local aura = ""
if (WeakAuras) then
aura = "|cFFffa200Shift Click|r: Create Aura"
end
GameCooltip:AddLine (" ")
GameCooltip:AddLine ("|cFFffa200Click|r: Report Results", aura, 1, "white", "white")
GameCooltip:AddStatusBar (100, 1, 0, 0, 0, 0.2, false, bar_background)
GameCooltip:SetOption ("YSpacingMod", -1)
]],
}
local have = false
for _, custom in ipairs (self.custom) do
if (custom.name == Loc ["STRING_CUSTOM_DTBS"] and (custom.script_version and custom.script_version >= DamageTakenBySpell.script_version) ) then
have = true
break
end
end
if (not have) then
setmetatable (DamageTakenBySpell, _detalhes.atributo_custom)
DamageTakenBySpell.__index = _detalhes.atributo_custom
for i, custom in ipairs (self.custom) do
if (custom.name == Loc ["STRING_CUSTOM_DTBS"]) then
table.remove (self.custom, i)
tinsert (self.custom, i, DamageTakenBySpell)
have = true
end
end
if (not have) then
self.custom [#self.custom+1] = DamageTakenBySpell
end
end
----------------------------------------------------------------------------------------------------------------------------------------------------
--doas
@@ -1945,11 +1632,10 @@
table.sort (targets, _detalhes.Sort2)
_detalhes:AddTooltipSpellHeaderText ("Targets", "yellow", r, g, b, #targets)
_detalhes:AddTooltipSpellHeaderText ("Targets", "yellow", #targets)
local class, _, _, _, _, r, g, b = _detalhes:GetClass (actor.nome)
GameCooltip:AddStatusBar (100, 1, r, g, b, 1)
for index, target in ipairs (targets) do
GameCooltip:AddLine (target[1], target [2])
_detalhes:AddTooltipBackgroundStatusbar()
+1057 -139
View File
File diff suppressed because it is too large Load Diff
+7 -9
View File
@@ -817,7 +817,7 @@ function atributo_energy:RefreshBarra (esta_barra, instancia, from_resize)
if (self.enemy) then
if (self.arena_enemy) then
if (UsingCustomLeftText) then
esta_barra.texto_esquerdo:SetText (_string_replace (instancia.row_info.textL_custom_text, esta_barra.colocacao, self.displayName, "|TInterface\\LFGFRAME\\UI-LFG-ICON-ROLES:" .. instancia.row_info.height .. ":" .. instancia.row_info.height .. ":0:0:256:256:" .. _detalhes.role_texcoord [self.role or "NONE"] .. "|t"))
esta_barra.texto_esquerdo:SetText (_string_replace (instancia.row_info.textL_custom_text, esta_barra.colocacao, self.displayName, "|TInterface\\LFGFRAME\\UI-LFG-ICON-ROLES:" .. instancia.row_info.height .. ":" .. instancia.row_info.height .. ":0:0:256:256:" .. _detalhes.role_texcoord [self.role or "NONE"] .. "|t", self, instancia.showing))
else
esta_barra.texto_esquerdo:SetText (bar_number .. "|TInterface\\LFGFRAME\\UI-LFG-ICON-ROLES:" .. instancia.row_info.height .. ":" .. instancia.row_info.height .. ":0:0:256:256:" .. _detalhes.role_texcoord [self.role or "NONE"] .. "|t" .. self.displayName)
end
@@ -825,13 +825,13 @@ function atributo_energy:RefreshBarra (esta_barra, instancia, from_resize)
else
if (_detalhes.faction_against == "Horde") then
if (UsingCustomLeftText) then
esta_barra.texto_esquerdo:SetText (_string_replace (instancia.row_info.textL_custom_text, esta_barra.colocacao, self.displayName, "|TInterface\\AddOns\\Details\\images\\icones_barra:"..instancia.row_info.height..":"..instancia.row_info.height..":0:0:256:32:0:32:0:32|t"))
esta_barra.texto_esquerdo:SetText (_string_replace (instancia.row_info.textL_custom_text, esta_barra.colocacao, self.displayName, "|TInterface\\AddOns\\Details\\images\\icones_barra:"..instancia.row_info.height..":"..instancia.row_info.height..":0:0:256:32:0:32:0:32|t", self, instancia.showing))
else
esta_barra.texto_esquerdo:SetText (bar_number .. "|TInterface\\AddOns\\Details\\images\\icones_barra:"..instancia.row_info.height..":"..instancia.row_info.height..":0:0:256:32:0:32:0:32|t"..self.displayName) --seta o texto da esqueda -- HORDA
end
else
if (UsingCustomLeftText) then
esta_barra.texto_esquerdo:SetText (_string_replace (instancia.row_info.textL_custom_text, esta_barra.colocacao, self.displayName, "|TInterface\\AddOns\\Details\\images\\icones_barra:"..instancia.row_info.height..":"..instancia.row_info.height..":0:0:256:32:32:64:0:32|t"))
esta_barra.texto_esquerdo:SetText (_string_replace (instancia.row_info.textL_custom_text, esta_barra.colocacao, self.displayName, "|TInterface\\AddOns\\Details\\images\\icones_barra:"..instancia.row_info.height..":"..instancia.row_info.height..":0:0:256:32:32:64:0:32|t", self, instancia.showing))
else
esta_barra.texto_esquerdo:SetText (bar_number .. "|TInterface\\AddOns\\Details\\images\\icones_barra:"..instancia.row_info.height..":"..instancia.row_info.height..":0:0:256:32:32:64:0:32|t"..self.displayName) --seta o texto da esqueda -- ALLY
end
@@ -844,13 +844,13 @@ function atributo_energy:RefreshBarra (esta_barra, instancia, from_resize)
else
if (self.arena_ally) then
if (UsingCustomLeftText) then
esta_barra.texto_esquerdo:SetText (_string_replace (instancia.row_info.textL_custom_text, esta_barra.colocacao, self.displayName, "|TInterface\\LFGFRAME\\UI-LFG-ICON-ROLES:" .. instancia.row_info.height .. ":" .. instancia.row_info.height .. ":0:0:256:256:" .. _detalhes.role_texcoord [self.role or "NONE"] .. "|t"))
esta_barra.texto_esquerdo:SetText (_string_replace (instancia.row_info.textL_custom_text, esta_barra.colocacao, self.displayName, "|TInterface\\LFGFRAME\\UI-LFG-ICON-ROLES:" .. instancia.row_info.height .. ":" .. instancia.row_info.height .. ":0:0:256:256:" .. _detalhes.role_texcoord [self.role or "NONE"] .. "|t", self, instancia.showing))
else
esta_barra.texto_esquerdo:SetText (bar_number .. "|TInterface\\LFGFRAME\\UI-LFG-ICON-ROLES:" .. instancia.row_info.height .. ":" .. instancia.row_info.height .. ":0:0:256:256:" .. _detalhes.role_texcoord [self.role or "NONE"] .. "|t" .. self.displayName)
end
else
if (UsingCustomLeftText) then
esta_barra.texto_esquerdo:SetText (_string_replace (instancia.row_info.textL_custom_text, esta_barra.colocacao, self.displayName, ""))
esta_barra.texto_esquerdo:SetText (_string_replace (instancia.row_info.textL_custom_text, esta_barra.colocacao, self.displayName, "", self, instancia.showing))
else
esta_barra.texto_esquerdo:SetText (bar_number .. self.displayName) --seta o texto da esqueda
end
@@ -967,8 +967,7 @@ function atributo_energy:ToolTipRegenRecebido (instancia, numero, barra, keydown
i = i - 1
_table_sort (energy_tooltips_table, _detalhes.Sort2)
_detalhes:AddTooltipSpellHeaderText (Loc ["STRING_SPELLS"], headerColor, r, g, b, i)
GameCooltip:AddIcon ([[Interface\HELPFRAME\ReportLagIcon-Spells]], 1, 1, 14, 14, 0.21875, 0.78125, 0.21875, 0.78125)
_detalhes:AddTooltipSpellHeaderText (Loc ["STRING_SPELLS"], headerColor, i, [[Interface\HELPFRAME\ReportLagIcon-Spells]], 0.21875, 0.78125, 0.21875, 0.78125)
local ismaximized = false
if (keydown == "shift" or TooltipMaximizedMethod == 2 or TooltipMaximizedMethod == 3) then
@@ -1030,8 +1029,7 @@ function atributo_energy:ToolTipRegenRecebido (instancia, numero, barra, keydown
i = i - 1
_table_sort (energy_tooltips_table, _detalhes.Sort2)
_detalhes:AddTooltipSpellHeaderText (Loc ["STRING_PLAYERS"], headerColor, r, g, b, i)
GameCooltip:AddIcon ([[Interface\HELPFRAME\HelpIcon-HotIssues]], 1, 1, 14, 14, 0.21875, 0.78125, 0.21875, 0.78125)
_detalhes:AddTooltipSpellHeaderText (Loc ["STRING_PLAYERS"], headerColor, i, [[Interface\HELPFRAME\HelpIcon-HotIssues]], 0.21875, 0.78125, 0.21875, 0.78125)
local ismaximized = false
if (keydown == "ctrl" or TooltipMaximizedMethod == 2 or TooltipMaximizedMethod == 4) then
+9 -15
View File
@@ -928,7 +928,7 @@ function atributo_heal:RefreshBarra (esta_barra, instancia, from_resize)
if (self.enemy) then
if (self.arena_enemy) then
if (UsingCustomLeftText) then
esta_barra.texto_esquerdo:SetText (_string_replace (instancia.row_info.textL_custom_text, esta_barra.colocacao, self.displayName, "|TInterface\\LFGFRAME\\UI-LFG-ICON-ROLES:" .. instancia.row_info.height .. ":" .. instancia.row_info.height .. ":0:0:256:256:" .. _detalhes.role_texcoord [self.role or "NONE"] .. "|t"))
esta_barra.texto_esquerdo:SetText (_string_replace (instancia.row_info.textL_custom_text, esta_barra.colocacao, self.displayName, "|TInterface\\LFGFRAME\\UI-LFG-ICON-ROLES:" .. instancia.row_info.height .. ":" .. instancia.row_info.height .. ":0:0:256:256:" .. _detalhes.role_texcoord [self.role or "NONE"] .. "|t", self, instancia.showing))
else
esta_barra.texto_esquerdo:SetText (bar_number .. "|TInterface\\LFGFRAME\\UI-LFG-ICON-ROLES:" .. instancia.row_info.height .. ":" .. instancia.row_info.height .. ":0:0:256:256:" .. _detalhes.role_texcoord [self.role or "NONE"] .. "|t" .. self.displayName)
end
@@ -936,13 +936,13 @@ function atributo_heal:RefreshBarra (esta_barra, instancia, from_resize)
else
if (_detalhes.faction_against == "Horde") then
if (UsingCustomLeftText) then
esta_barra.texto_esquerdo:SetText (_string_replace (instancia.row_info.textL_custom_text, esta_barra.colocacao, self.displayName, "|TInterface\\AddOns\\Details\\images\\icones_barra:"..instancia.row_info.height..":"..instancia.row_info.height..":0:0:256:32:0:32:0:32|t"))
esta_barra.texto_esquerdo:SetText (_string_replace (instancia.row_info.textL_custom_text, esta_barra.colocacao, self.displayName, "|TInterface\\AddOns\\Details\\images\\icones_barra:"..instancia.row_info.height..":"..instancia.row_info.height..":0:0:256:32:0:32:0:32|t", self, instancia.showing))
else
esta_barra.texto_esquerdo:SetText (bar_number .. "|TInterface\\AddOns\\Details\\images\\icones_barra:"..instancia.row_info.height..":"..instancia.row_info.height..":0:0:256:32:0:32:0:32|t"..self.displayName) --seta o texto da esqueda -- HORDA
end
else
if (UsingCustomLeftText) then
esta_barra.texto_esquerdo:SetText (_string_replace (instancia.row_info.textL_custom_text, esta_barra.colocacao, self.displayName, "|TInterface\\AddOns\\Details\\images\\icones_barra:"..instancia.row_info.height..":"..instancia.row_info.height..":0:0:256:32:32:64:0:32|t"))
esta_barra.texto_esquerdo:SetText (_string_replace (instancia.row_info.textL_custom_text, esta_barra.colocacao, self.displayName, "|TInterface\\AddOns\\Details\\images\\icones_barra:"..instancia.row_info.height..":"..instancia.row_info.height..":0:0:256:32:32:64:0:32|t", self, instancia.showing))
else
esta_barra.texto_esquerdo:SetText (bar_number .. "|TInterface\\AddOns\\Details\\images\\icones_barra:"..instancia.row_info.height..":"..instancia.row_info.height..":0:0:256:32:32:64:0:32|t"..self.displayName) --seta o texto da esqueda -- ALLY
end
@@ -955,13 +955,13 @@ function atributo_heal:RefreshBarra (esta_barra, instancia, from_resize)
else
if (self.arena_ally) then
if (UsingCustomLeftText) then
esta_barra.texto_esquerdo:SetText (_string_replace (instancia.row_info.textL_custom_text, esta_barra.colocacao, self.displayName, "|TInterface\\LFGFRAME\\UI-LFG-ICON-ROLES:" .. instancia.row_info.height .. ":" .. instancia.row_info.height .. ":0:0:256:256:" .. _detalhes.role_texcoord [self.role or "NONE"] .. "|t"))
esta_barra.texto_esquerdo:SetText (_string_replace (instancia.row_info.textL_custom_text, esta_barra.colocacao, self.displayName, "|TInterface\\LFGFRAME\\UI-LFG-ICON-ROLES:" .. instancia.row_info.height .. ":" .. instancia.row_info.height .. ":0:0:256:256:" .. _detalhes.role_texcoord [self.role or "NONE"] .. "|t", self, instancia.showing))
else
esta_barra.texto_esquerdo:SetText (bar_number .. "|TInterface\\LFGFRAME\\UI-LFG-ICON-ROLES:" .. instancia.row_info.height .. ":" .. instancia.row_info.height .. ":0:0:256:256:" .. _detalhes.role_texcoord [self.role or "NONE"] .. "|t" .. self.displayName)
end
else
if (UsingCustomLeftText) then
esta_barra.texto_esquerdo:SetText (_string_replace (instancia.row_info.textL_custom_text, esta_barra.colocacao, self.displayName, ""))
esta_barra.texto_esquerdo:SetText (_string_replace (instancia.row_info.textL_custom_text, esta_barra.colocacao, self.displayName, "", self, instancia.showing))
else
esta_barra.texto_esquerdo:SetText (bar_number .. self.displayName) --seta o texto da esqueda
end
@@ -1068,9 +1068,7 @@ function atributo_heal:ToolTip_HealingTaken (instancia, numero, barra, keydown)
end
end
_detalhes:AddTooltipSpellHeaderText (Loc ["STRING_FROM"], headerColor, r, g, b, #meus_curadores)
GameCooltip:AddIcon ([[Interface\TUTORIALFRAME\UI-TutorialFrame-LevelUp]], 1, 1, 14, 14, 0.10546875, 0.89453125, 0.05859375, 0.6796875)
_detalhes:AddTooltipSpellHeaderText (Loc ["STRING_FROM"], headerColor, #meus_curadores, [[Interface\TUTORIALFRAME\UI-TutorialFrame-LevelUp]], 0.10546875, 0.89453125, 0.05859375, 0.6796875)
_detalhes:AddTooltipHeaderStatusbar (r, g, b, barAlha)
local ismaximized = false
@@ -1161,8 +1159,7 @@ function atributo_heal:ToolTip_HealingDone (instancia, numero, barra, keydown)
_table_sort (ActorHealingTargets, _detalhes.Sort2)
--> Mostra as habilidades no tooltip
_detalhes:AddTooltipSpellHeaderText (Loc ["STRING_SPELLS"], headerColor, r, g, b, #ActorHealingTable)
GameCooltip:AddIcon ([[Interface\RAIDFRAME\Raid-Icon-Rez]], 1, 1, 14, 14, 0.109375, 0.890625, 0.0625, 0.90625)
_detalhes:AddTooltipSpellHeaderText (Loc ["STRING_SPELLS"], headerColor, #ActorHealingTable, [[Interface\RAIDFRAME\Raid-Icon-Rez]], 0.109375, 0.890625, 0.0625, 0.90625)
local ismaximized = false
if (keydown == "shift" or TooltipMaximizedMethod == 2 or TooltipMaximizedMethod == 3) then
@@ -1215,8 +1212,7 @@ function atributo_heal:ToolTip_HealingDone (instancia, numero, barra, keydown)
if (instancia.sub_atributo == 1) then -- 1 or 2 -> healing done or hps
_detalhes:AddTooltipSpellHeaderText (Loc ["STRING_TARGETS"], headerColor, r, g, b, #ActorHealingTargets)
GameCooltip:AddIcon ([[Interface\TUTORIALFRAME\UI-TutorialFrame-LevelUp]], 1, 1, 14, 14, 0.10546875, 0.89453125, 0.05859375, 0.6796875)
_detalhes:AddTooltipSpellHeaderText (Loc ["STRING_TARGETS"], headerColor, #ActorHealingTargets, [[Interface\TUTORIALFRAME\UI-TutorialFrame-LevelUp]], 0.10546875, 0.89453125, 0.05859375, 0.6796875)
local ismaximized = false
if (keydown == "ctrl" or TooltipMaximizedMethod == 2 or TooltipMaximizedMethod == 4) then
@@ -1328,9 +1324,7 @@ function atributo_heal:ToolTip_HealingDone (instancia, numero, barra, keydown)
if (not added_logo) then
added_logo = true
_detalhes:AddTooltipSpellHeaderText (Loc ["STRING_PETS"], headerColor, r, g, b, #totais)
GameCooltip:AddIcon ([[Interface\COMMON\friendship-heart]], 1, 1, 14, 14, 0.21875, 0.78125, 0.09375, 0.6875)
_detalhes:AddTooltipSpellHeaderText (Loc ["STRING_PETS"], headerColor, #totais, [[Interface\COMMON\friendship-heart]], 0.21875, 0.78125, 0.09375, 0.6875)
if (ismaximized) then
GameCooltip:AddIcon ([[Interface\AddOns\Details\images\key_alt]], 1, 2, _detalhes.tooltip_key_size_width, _detalhes.tooltip_key_size_height, 0, 1, 0, 0.640625, _detalhes.tooltip_key_overlay2)
+242 -294
View File
@@ -2181,6 +2181,15 @@ function _detalhes:TrocaTabela (instancia, segmento, atributo, sub_atributo, ini
end
end
if (not _detalhes:GetTutorialCVar ("ATTRIBUTE_SELECT_TUTORIAL2") and not _detalhes.initializing and not iniciando_instancia) then
if (not _G ["DetailsWelcomeWindow"] or not _G ["DetailsWelcomeWindow"]:IsShown()) then
--_detalhes:SetTutorialCVar ("ATTRIBUTE_SELECT_TUTORIAL2", true)
--_detalhes:TutorialBookmark (instancia)
end
end
if (_detalhes.cloud_process) then
if (_detalhes.debug) then
@@ -2731,6 +2740,101 @@ local function GetDpsHps (_thisActor, key)
end
end
-- report_table: table sent to report func / data: numeric table {{value1, value2}} / f1: format value1 / f2: format value2
local default_format_value1 = function (v) return v end
local default_format_value2 = function (v) return v end
local default_format_value3 = function (i, v1, v2)
return "" .. i .. ". " .. v1 .. " " .. v2
end
function _detalhes:FormatReportLines (report_table, data, f1, f2, f3)
f1 = f1 or default_format_value1
f2 = f2 or default_format_value2
f3 = f3 or default_format_value3
if (not _detalhes.fontstring_len) then
_detalhes.fontstring_len = _detalhes.listener:CreateFontString (nil, "background", "GameFontNormal")
end
local _, fontSize = FCF_GetChatWindowInfo (1)
if (fontSize < 1) then
fontSize = 10
end
local fonte, _, flags = _detalhes.fontstring_len:GetFont()
_detalhes.fontstring_len:SetFont (fonte, fontSize, flags)
_detalhes.fontstring_len:SetText ("DEFAULT NAME")
local biggest_len = _detalhes.fontstring_len:GetStringWidth()
for index, t in ipairs (data) do
local v1 = f1 (t[1])
_detalhes.fontstring_len:SetText (v1)
local len = _detalhes.fontstring_len:GetStringWidth()
if (len > biggest_len) then
biggest_len = len
end
end
if (biggest_len > 130) then
biggest_len = 130
end
for index, t in ipairs (data) do
local v1, v2 = f1 (t[1]), f2 (t[2])
if (v1 and v2 and type (v1) == "string" and type (v2) == "string") then
v1 = v1 .. " "
_detalhes.fontstring_len:SetText (v1)
local len = _detalhes.fontstring_len:GetStringWidth()
while (len < biggest_len) do
v1 = v1 .. "."
_detalhes.fontstring_len:SetText (v1)
len = _detalhes.fontstring_len:GetStringWidth()
end
report_table [#report_table+1] = f3 (index, v1, v2)
end
end
end
local report_name_function = function (name)
local name, index = unpack (name)
if (_detalhes.remove_realm_from_name and name:find ("-")) then
return index .. ". " .. name:gsub (("%-.*"), "")
else
return index .. ". " .. name
end
end
local report_amount_function = function (t)
local amount, dps, percent, is_string, index = unpack (t)
if (not is_string) then
if (dps) then
if (_detalhes.report_schema == 1) then
return _detalhes:ToKReport (_math_floor (amount)) .. " (" .. _detalhes:ToKMin (_math_floor (dps)) .. ", " .. percent .. "%)"
elseif (_detalhes.report_schema == 2) then
return percent .. "% (" .. _detalhes:ToKMin (_math_floor (dps)) .. ", " .. _detalhes:ToKReport ( _math_floor (amount)) .. ")"
elseif (_detalhes.report_schema == 3) then
return percent .. "% (" .. _detalhes:ToKReport ( _math_floor (amount) ) .. ", " .. _detalhes:ToKMin (_math_floor (dps)) .. ")"
end
else
if (_detalhes.report_schema == 1) then
return _detalhes:ToKReport (amount) .. " (" .. percent .. "%)"
else
return percent .. "% (" .. _detalhes:ToKReport (amount) .. ")"
end
end
else
return amount
end
end
local report_build_line = function (i, v1, v2)
return v1 .. " " .. v2
end
--> Reportar o que esta na janela da instância
function _detalhes:monta_relatorio (este_relatorio, custom)
@@ -2791,327 +2895,171 @@ function _detalhes:monta_relatorio (este_relatorio, custom)
local barras = self.barras
local esta_barra
local is_current = _G ["Details_Report_CB_1"]:GetChecked()
local is_reverse = _G ["Details_Report_CB_2"]:GetChecked()
if (not _detalhes.fontstring_len) then
_detalhes.fontstring_len = _detalhes.listener:CreateFontString (nil, "background", "GameFontNormal")
end
local _, fontSize = FCF_GetChatWindowInfo (1)
if (fontSize < 1) then
fontSize = 10
end
local fonte, _, flags = _detalhes.fontstring_len:GetFont()
_detalhes.fontstring_len:SetFont (fonte, fontSize, flags)
_detalhes.fontstring_len:SetText ("hello details!")
local default_len = _detalhes.fontstring_len:GetStringWidth()
local name_member = "nome"
--> pegar a font do chat
--_detalhes.fontstring_len:
if (not is_current) then
if (not is_reverse) then
if (not is_current) then
--> assumindo que self é sempre uma instância aqui.
local total, keyName, keyNameSec, first
local container_amount = 0
local atributo = self.atributo
local container = self.showing [atributo]._ActorTable
if (atributo == 1) then --> damage
local total, keyName, keyNameSec, first
local container_amount = 0
local atributo = self.atributo
local container = self.showing [atributo]._ActorTable
if (atributo == 1) then --> damage
if (self.sub_atributo == 5) then --> frags
local frags = self.showing.frags
local reportarFrags = {}
for name, amount in pairs (frags) do
--> string para imprimir direto sem calculos
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
if (self.sub_atributo == 5) then --> frags
local frags = self.showing.frags
local reportarFrags = {}
for name, amount in pairs (frags) do
--> string para imprimir direto sem calculos
reportarFrags [#reportarFrags+1] = {frag = tostring (amount), nome = name}
end
container = reportarFrags
container_amount = #reportarFrags
keyName = "frag"
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
keyNameSec = "dps"
elseif (self.sub_atributo == 2) then
end
elseif (self.sub_atributo == 7) then --> auras e voidzones
total, keyName, first, container_amount, container, name_member = _detalhes.atributo_damage:RefreshWindow (self, self.showing, true, true)
elseif (self.sub_atributo == 8) then --> damage taken by spell
total, keyName, first, container_amount, container = _detalhes.atributo_damage:RefreshWindow (self, self.showing, true, true)
for _, t in ipairs (container) do
t.nome = _detalhes:GetSpellLink (t.spellid)
end
elseif (atributo == 2) then --> heal
total, keyName, first, container_amount = _detalhes.atributo_heal: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
keyNameSec = "hps"
end
elseif (atributo == 3) then --> energy
total, keyName, first, container_amount = _detalhes.atributo_energy:RefreshWindow (self, self.showing, true, true)
elseif (atributo == 4) then --> misc
if (self.sub_atributo == 5) then --> mortes
local mortes = self.showing.last_events_tables
local reportarMortes = {}
for index, morte in ipairs (mortes) do
reportarMortes [#reportarMortes+1] = {dead = morte [6], nome = morte [3]:gsub (("%-.*"), "")}
end
container = reportarMortes
container_amount = #reportarMortes
keyName = "dead"
else
total, keyName, first, container_amount = _detalhes.atributo_misc:RefreshWindow (self, self.showing, true, true)
end
elseif (atributo == 5) then --> custom
if (_detalhes.custom [self.sub_atributo]) then
total, container, first, container_amount, nm = _detalhes.atributo_custom:RefreshWindow (self, self.showing, true, true)
if (nm) then
name_member = nm
print ("nm:", nm)
end
keyName = "report_value"
else
total, keyName, first, container_amount = _detalhes.atributo_damage:RefreshWindow (self, self.showing, true, true)
total = 1
atributo = 1
container = self.showing [atributo]._ActorTable
end
--print (total, keyName, first, atributo, container_amount)
end
amt = math.min (amt, container_amount or 0)
--amt é zero
for i = 1, amt do
local _thisActor = container [i]
if (_thisActor) then
local amount, is_string
if (type (_thisActor [keyName]) == "number") then
amount = _math_floor (_thisActor [keyName])
else
amount = _thisActor [keyName]
is_string = true
end
local name = _thisActor [name_member] .. " "
if (_detalhes.remove_realm_from_name and name:find ("-")) then
name = name:gsub (("%-.*"), "")
end
keyNameSec = "dps"
elseif (self.sub_atributo == 2) then
_detalhes.fontstring_len:SetText (name)
local stringlen = _detalhes.fontstring_len:GetStringWidth()
while (stringlen < default_len) do
name = name .. "."
_detalhes.fontstring_len:SetText (name)
stringlen = _detalhes.fontstring_len:GetStringWidth()
end
local percent
if (self.atributo == 2 and self.sub_atributo == 3) then --overheal
percent = _cstr ("%.1f", _thisActor.totalover / (_thisActor.totalover + _thisActor.total) * 100)
elseif (not is_string) then
percent = _cstr ("%.1f", amount/total*100)
end
if (_type (amount) == "number" and amount > 0) then
if (keyNameSec) then
local dps = GetDpsHps (_thisActor, keyNameSec)
if (_detalhes.report_schema == 1) then
report_lines [#report_lines+1] = i .. ". " .. name .. " " .. _detalhes:ToKMin ( _math_floor (amount) ) .. " (" .. _detalhes:ToKMin (_math_floor (dps)) .. ", " .. percent .. "%)"
elseif (_detalhes.report_schema == 2) then
report_lines [#report_lines+1] = i .. ". " .. name .. " " .. percent .. "% (" .. _detalhes:ToKMin (_math_floor (dps)) .. ", " .. _detalhes:ToKMin ( _math_floor (amount)) .. ")"
elseif (_detalhes.report_schema == 3) then
report_lines [#report_lines+1] = i .. ". " .. name .. " " .. percent .. "% (" .. _detalhes:ToKMin ( _math_floor (amount) ) .. ", " .. _detalhes:ToKMin (_math_floor (dps)) .. ")"
end
else
if (_detalhes.report_schema == 1) then
report_lines [#report_lines+1] = i .. ". " .. name .. " " .. _detalhes:ToKReport (amount) .. " (" .. percent .. "%)"
else
report_lines [#report_lines+1] = i .. ". " .. name .. " " .. percent .. "% (" .. _detalhes:ToKReport (amount) .. ")"
end
end
elseif (_type (amount) == "string") then
report_lines [#report_lines+1] = i .. ". " .. name .. " " .. amount
else
break
end
else
break
end
end
else
for i = 1, amt do
local ROW = self.barras [i]
if (ROW) then
if (not ROW.hidden or ROW.fading_out) then --> a barra esta visivel na tela
report_lines [#report_lines+1] = ROW.texto_esquerdo:GetText().." ".. ROW.texto_direita:GetText()
else
break
end
else
break --> chegou a final, parar de pegar as linhas
end
elseif (atributo == 2) then --> heal
total, keyName, first, container_amount = _detalhes.atributo_heal:RefreshWindow (self, self.showing, true, true)
if (self.sub_atributo == 1) then
keyNameSec = "hps"
end
end
else --> é reverso
report_lines[1] = report_lines[1].." (" .. Loc ["STRING_REPORTFRAME_REVERTED"] .. ")"
if (not is_current) then
--> assumindo que self é sempre uma instância aqui.
local total, keyName, first, container_amount
local atributo = self.atributo
local container = self.showing [atributo]._ActorTable
local quantidade = 0
if (atributo == 1) then --> damage
if (self.sub_atributo == 5) then --> frags
local frags = self.showing.frags
local reportarFrags = {}
for name, amount in pairs (frags) do
--> string para imprimir direto sem calculos
reportarFrags [#reportarFrags+1] = {frag = tostring (amount), nome = name}
end
container = reportarFrags
keyName = "frag"
else
if (self.sub_atributo == 1) then
keyNameSec = "dps"
end
total, keyName, first, container_amount = _detalhes.atributo_damage:RefreshWindow (self, self.showing, true, true)
elseif (atributo == 3) then --> energy
total, keyName, first, container_amount = _detalhes.atributo_energy:RefreshWindow (self, self.showing, true, true)
elseif (atributo == 4) then --> misc
if (self.sub_atributo == 5) then --> mortes
local mortes = self.showing.last_events_tables
local reportarMortes = {}
for index, morte in ipairs (mortes) do
reportarMortes [#reportarMortes+1] = {dead = morte [6], nome = morte [3]:gsub (("%-.*"), "")}
end
elseif (atributo == 2) then --> heal
total, keyName, first, container_amount = _detalhes.atributo_heal:RefreshWindow (self, self.showing, true, true)
if (self.sub_atributo == 1) then
keyNameSec = "hps"
end
elseif (atributo == 3) then --> energy
total, keyName, first, container_amount = _detalhes.atributo_energy:RefreshWindow (self, self.showing, true, true)
elseif (atributo == 4) then --> misc
if (self.sub_atributo == 5) then --> mortes
local mortes = self.showing.last_events_tables
local reportarMortes = {}
for index, morte in ipairs (mortes) do
reportarMortes [#reportarMortes+1] = {dead = morte [6], nome = morte [3]:gsub (("%-.*"), "")}
end
container = reportarMortes
keyName = "dead"
else
total, keyName, first, container_amount = _detalhes.atributo_misc:RefreshWindow (self, self.showing, true, true)
end
elseif (atributo == 5) then --> custom
container = reportarMortes
container_amount = #reportarMortes
keyName = "dead"
else
total, keyName, first, container_amount = _detalhes.atributo_misc:RefreshWindow (self, self.showing, true, true)
end
elseif (atributo == 5) then --> custom
if (_detalhes.custom [self.sub_atributo]) then
total, container, first, container_amount, nm = _detalhes.atributo_custom:RefreshWindow (self, self.showing, true, true)
if (nm) then
name_member = nm
end
keyName = "report_value"
keyName = "report_value"
else
total, keyName, first, container_amount = _detalhes.atributo_damage:RefreshWindow (self, self.showing, true, true)
total = 1
atributo = 1
container = self.showing [atributo]._ActorTable
end
--print (total, keyName, first, atributo, container_amount)
end
amt = math.min (amt, container_amount or 0)
local raw_data_to_report = {}
for i = 1, container_amount do
local actor = container [i]
local this_amt = math.min (#container, container_amount or 0, amt)
this_amt = #container - this_amt
for i = container_amount, this_amt, -1 do
local _thisActor = container [i]
if (_thisActor) then
local amount
if (type (_thisActor [keyName]) == "number") then
amount = _math_floor (_thisActor [keyName])
else
amount = _thisActor [keyName]
end
local name = _thisActor [name_member] .. " "
_detalhes.fontstring_len:SetText (name)
local stringlen = _detalhes.fontstring_len:GetStringWidth()
while (stringlen < default_len) do
name = name .. "."
_detalhes.fontstring_len:SetText (name)
stringlen = _detalhes.fontstring_len:GetStringWidth()
end
if (_type (amount) == "number") then
if (amount > 0) then
local percent
if (self.atributo == 2 and self.sub_atributo == 3) then --overheal
percent = _cstr ("%.1f", _thisActor.totalover / (_thisActor.totalover + _thisActor.total) * 100)
else
percent = _cstr ("%.1f", amount/total*100)
end
if (keyNameSec) then
local dps = GetDpsHps (_thisActor, keyNameSec)
if (_detalhes.report_schema == 1) then
report_lines [#report_lines+1] = i .. ". " .. name .. " " .. _detalhes:ToKMin ( _math_floor (amount) ) .. " (" .. _detalhes:ToKMin (_math_floor (dps)) .. ", " .. percent .. "%)"
elseif (_detalhes.report_schema == 2) then
report_lines [#report_lines+1] = i .. ". " .. name .. " " .. percent .. "% (" .. _detalhes:ToKMin (_math_floor (dps)) .. ", " .. _detalhes:ToKMin ( _math_floor (amount)) .. ")"
elseif (_detalhes.report_schema == 3) then
report_lines [#report_lines+1] = i .. ". " .. name .. " " .. percent .. "% (" .. _detalhes:ToKMin ( _math_floor (amount) ) .. ", " .. _detalhes:ToKMin (_math_floor (dps)) .. ")"
end
else
if (_detalhes.report_schema == 1) then
report_lines [#report_lines+1] = i .. ". " .. name .. " " .. _detalhes:ToKReport (amount) .. " (" .. percent .. "%)"
else
report_lines [#report_lines+1] = i .. ". " .. name .. " " .. _cstr ("%.1f", amount/total*100) .. "% (" .. percent .. ")"
end
end
quantidade = quantidade + 1
if (quantidade == amt) then
break
end
end
elseif (_type (amount) == "string") then
report_lines [#report_lines+1] = i .. ". " .. name .. " " .. amount
else
break
end
end
end
else
local nova_tabela = {}
if (actor) then
for i = 1, amt do
local ROW = self.barras [i]
if (ROW) then
if (not ROW.hidden or ROW.fading_out) then --> a barra esta visivel na tela
nova_tabela [#nova_tabela+1] = ROW.texto_esquerdo:GetText().." ".. ROW.texto_direita:GetText()
else
break
end
-- get the total
local amount, is_string
if (type (actor [keyName]) == "number") then
amount = _math_floor (actor [keyName])
else
break
amount = actor [keyName]
is_string = true
end
end
for i = #nova_tabela, 1, -1 do
report_lines [#report_lines+1] = nova_tabela[i]
-- get the name
local name = actor [name_member] or ""
if (not is_string) then
-- get the percent
local percent
if (self.atributo == 2 and self.sub_atributo == 3) then --overheal
percent = _cstr ("%.1f", actor.totalover / (actor.totalover + actor.total) * 100)
elseif (not is_string) then
percent = _cstr ("%.1f", amount / total * 100)
end
-- get the dps
local dps = false
if (keyNameSec) then
dps = GetDpsHps (actor, keyNameSec)
end
raw_data_to_report [#raw_data_to_report+1] = {{name, i}, {amount, dps, percent, false}}
else
raw_data_to_report [#raw_data_to_report+1] = {{name, i}, {amount, false, false, true}}
end
else
break
end
end
if (is_reverse) then
local t = {}
for i = #raw_data_to_report, 1, -1 do
tinsert (t, raw_data_to_report [i])
if (#t >= amt) then
break
end
end
_detalhes:FormatReportLines (report_lines, t, report_name_function, report_amount_function, report_build_line)
else
for i = #raw_data_to_report, amt+1, -1 do
tremove (raw_data_to_report, i)
end
_detalhes:FormatReportLines (report_lines, raw_data_to_report, report_name_function, report_amount_function, report_build_line)
end
else
local raw_data_to_report = {}
for i = 1, amt do
local window_bar = self.barras [i]
if (window_bar) then
if (not window_bar.hidden or window_bar.fading_out) then
raw_data_to_report [#raw_data_to_report+1] = {window_bar.texto_esquerdo:GetText(), window_bar.texto_direita:GetText()}
else
break
end
else
break
end
end
_detalhes:FormatReportLines (report_lines, raw_data_to_report, nil, nil, report_build_line)
end
return self:envia_relatorio (report_lines)
end
+53 -69
View File
@@ -449,50 +449,51 @@ function atributo_misc:ReportSingleCooldownLine (misc_actor, instancia)
return _detalhes:Reportar (reportar, {_no_current = true, _no_inverse = true, _custom = true})
end
function atributo_misc:ReportSingleBuffUptimeLine (misc_actor, instancia)
local reportar = {"Details!: " .. misc_actor.nome .. " - " .. Loc ["STRING_ATTRIBUTE_MISC_BUFF_UPTIME"]}
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)
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})
local buff_format_name = function (spellid)
return _detalhes:GetSpellLink (spellid)
end
local buff_format_amount = function (t)
local total, percent = unpack (t)
local m, s = _math_floor (total / 60), _math_floor (total % 60)
return _cstr ("%.1f", percent) .. "% (" .. m .. "m " .. s .. "s)"
end
local sort_buff_report = function (t1, t2)
return t1[2][1] > t2[2][1]
end
function atributo_misc:ReportSingleDebuffUptimeLine (misc_actor, instancia)
function atributo_misc:ReportSingleBuffUptimeLine (misc_actor, instance)
local report_table = {"Details!: " .. misc_actor.nome .. " - " .. Loc ["STRING_ATTRIBUTE_MISC_BUFF_UPTIME"]}
local buffs = {}
local combat_time = instance.showing:GetCombatTime()
for spellid, spell in _pairs (misc_actor.buff_uptime_spells._ActorTable) do
local percent = spell.uptime / combat_time * 100
if (percent < 99.5) then
buffs [#buffs+1] = {spellid, {spell.uptime, percent}}
end
end
local reportar = {"Details!: " .. misc_actor.nome .. " - " .. Loc ["STRING_ATTRIBUTE_MISC_DEBUFF_UPTIME"]}
_table_sort (buffs, sort_buff_report)
_detalhes:FormatReportLines (report_table, buffs, buff_format_name, buff_format_amount)
return _detalhes:Reportar (report_table, {_no_current = true, _no_inverse = true, _custom = true})
end
function atributo_misc:ReportSingleDebuffUptimeLine (misc_actor, instance)
local report_table = {"Details!: " .. misc_actor.nome .. " - " .. Loc ["STRING_ATTRIBUTE_MISC_DEBUFF_UPTIME"]}
local debuffs = {}
local combat_time = instancia.showing:GetCombatTime()
local combat_time = instance.showing:GetCombatTime()
for spellid, spell in _pairs (misc_actor.debuff_uptime_spells._ActorTable) do
debuffs [#debuffs+1] = {spellid, spell.uptime, spell}
local percent = spell.uptime / combat_time * 100
debuffs [#debuffs+1] = {spellid, {spell.uptime, percent}}
end
_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})
_table_sort (debuffs, sort_buff_report)
_detalhes:FormatReportLines (report_table, debuffs, buff_format_name, buff_format_amount)
return _detalhes:Reportar (report_table, {_no_current = true, _no_inverse = true, _custom = true})
end
function atributo_misc:DeadAtualizarBarra (morte, qual_barra, colocacao, instancia)
@@ -1003,7 +1004,7 @@ function atributo_misc:RefreshBarra (esta_barra, instancia, from_resize)
if (self.enemy) then
if (self.arena_enemy) then
if (UsingCustomLeftText) then
esta_barra.texto_esquerdo:SetText (_string_replace (instancia.row_info.textL_custom_text, esta_barra.colocacao, self.displayName, "|TInterface\\LFGFRAME\\UI-LFG-ICON-ROLES:" .. instancia.row_info.height .. ":" .. instancia.row_info.height .. ":0:0:256:256:" .. _detalhes.role_texcoord [self.role or "NONE"] .. "|t"))
esta_barra.texto_esquerdo:SetText (_string_replace (instancia.row_info.textL_custom_text, esta_barra.colocacao, self.displayName, "|TInterface\\LFGFRAME\\UI-LFG-ICON-ROLES:" .. instancia.row_info.height .. ":" .. instancia.row_info.height .. ":0:0:256:256:" .. _detalhes.role_texcoord [self.role or "NONE"] .. "|t", self, instancia.showing))
else
esta_barra.texto_esquerdo:SetText (bar_number .. "|TInterface\\LFGFRAME\\UI-LFG-ICON-ROLES:" .. instancia.row_info.height .. ":" .. instancia.row_info.height .. ":0:0:256:256:" .. _detalhes.role_texcoord [self.role or "NONE"] .. "|t" .. self.displayName)
end
@@ -1011,13 +1012,13 @@ function atributo_misc:RefreshBarra (esta_barra, instancia, from_resize)
else
if (_detalhes.faction_against == "Horde") then
if (UsingCustomLeftText) then
esta_barra.texto_esquerdo:SetText (_string_replace (instancia.row_info.textL_custom_text, esta_barra.colocacao, self.displayName, "|TInterface\\AddOns\\Details\\images\\icones_barra:"..instancia.row_info.height..":"..instancia.row_info.height..":0:0:256:32:0:32:0:32|t"))
esta_barra.texto_esquerdo:SetText (_string_replace (instancia.row_info.textL_custom_text, esta_barra.colocacao, self.displayName, "|TInterface\\AddOns\\Details\\images\\icones_barra:"..instancia.row_info.height..":"..instancia.row_info.height..":0:0:256:32:0:32:0:32|t", self, instancia.showing))
else
esta_barra.texto_esquerdo:SetText (bar_number .. "|TInterface\\AddOns\\Details\\images\\icones_barra:"..instancia.row_info.height..":"..instancia.row_info.height..":0:0:256:32:0:32:0:32|t"..self.displayName) --seta o texto da esqueda -- HORDA
end
else
if (UsingCustomLeftText) then
esta_barra.texto_esquerdo:SetText (_string_replace (instancia.row_info.textL_custom_text, esta_barra.colocacao, self.displayName, "|TInterface\\AddOns\\Details\\images\\icones_barra:"..instancia.row_info.height..":"..instancia.row_info.height..":0:0:256:32:32:64:0:32|t"))
esta_barra.texto_esquerdo:SetText (_string_replace (instancia.row_info.textL_custom_text, esta_barra.colocacao, self.displayName, "|TInterface\\AddOns\\Details\\images\\icones_barra:"..instancia.row_info.height..":"..instancia.row_info.height..":0:0:256:32:32:64:0:32|t", self, instancia.showing))
else
esta_barra.texto_esquerdo:SetText (bar_number .. "|TInterface\\AddOns\\Details\\images\\icones_barra:"..instancia.row_info.height..":"..instancia.row_info.height..":0:0:256:32:32:64:0:32|t"..self.displayName) --seta o texto da esqueda -- ALLY
end
@@ -1030,13 +1031,13 @@ function atributo_misc:RefreshBarra (esta_barra, instancia, from_resize)
else
if (self.arena_ally) then
if (UsingCustomLeftText) then
esta_barra.texto_esquerdo:SetText (_string_replace (instancia.row_info.textL_custom_text, esta_barra.colocacao, self.displayName, "|TInterface\\LFGFRAME\\UI-LFG-ICON-ROLES:" .. instancia.row_info.height .. ":" .. instancia.row_info.height .. ":0:0:256:256:" .. _detalhes.role_texcoord [self.role or "NONE"] .. "|t"))
esta_barra.texto_esquerdo:SetText (_string_replace (instancia.row_info.textL_custom_text, esta_barra.colocacao, self.displayName, "|TInterface\\LFGFRAME\\UI-LFG-ICON-ROLES:" .. instancia.row_info.height .. ":" .. instancia.row_info.height .. ":0:0:256:256:" .. _detalhes.role_texcoord [self.role or "NONE"] .. "|t", self, instancia.showing))
else
esta_barra.texto_esquerdo:SetText (bar_number .. "|TInterface\\LFGFRAME\\UI-LFG-ICON-ROLES:" .. instancia.row_info.height .. ":" .. instancia.row_info.height .. ":0:0:256:256:" .. _detalhes.role_texcoord [self.role or "NONE"] .. "|t" .. self.displayName)
end
else
if (UsingCustomLeftText) then
esta_barra.texto_esquerdo:SetText (_string_replace (instancia.row_info.textL_custom_text, esta_barra.colocacao, self.displayName, ""))
esta_barra.texto_esquerdo:SetText (_string_replace (instancia.row_info.textL_custom_text, esta_barra.colocacao, self.displayName, "", self, instancia.showing))
else
esta_barra.texto_esquerdo:SetText (bar_number .. self.displayName) --seta o texto da esqueda
end
@@ -1168,9 +1169,7 @@ function atributo_misc:ToolTipDispell (instancia, numero, barra)
end
_table_sort (meus_dispells, _detalhes.Sort2)
_detalhes:AddTooltipSpellHeaderText (Loc ["STRING_SPELLS"], headerColor, r, g, b, #meus_dispells)
GameCooltip:AddIcon ([[Interface\ICONS\Spell_Arcane_ArcaneTorrent]], 1, 1, 14, 14, 0.078125, 0.9375, 0.078125, 0.953125)
_detalhes:AddTooltipSpellHeaderText (Loc ["STRING_SPELLS"], headerColor, #meus_dispells, [[Interface\ICONS\Spell_Arcane_ArcaneTorrent]], 0.078125, 0.9375, 0.078125, 0.953125)
_detalhes:AddTooltipHeaderStatusbar (r, g, b, barAlha)
local icon_size = _detalhes.tooltip.icon_size
@@ -1195,9 +1194,7 @@ function atributo_misc:ToolTipDispell (instancia, numero, barra)
end
_table_sort (buffs_dispelados, _detalhes.Sort2)
_detalhes:AddTooltipSpellHeaderText (Loc ["STRING_DISPELLED"], headerColor, r, g, b, #buffs_dispelados)
GameCooltip:AddIcon ([[Interface\ICONS\Spell_Arcane_ManaTap]], 1, 1, 14, 14, 0.078125, 0.9375, 0.078125, 0.953125)
_detalhes:AddTooltipSpellHeaderText (Loc ["STRING_DISPELLED"], headerColor, #buffs_dispelados, [[Interface\ICONS\Spell_Arcane_ManaTap]], 0.078125, 0.9375, 0.078125, 0.953125)
_detalhes:AddTooltipHeaderStatusbar (r, g, b, barAlha)
if (#buffs_dispelados > 0) then
@@ -1218,8 +1215,7 @@ function atributo_misc:ToolTipDispell (instancia, numero, barra)
end
_table_sort (alvos_dispelados, _detalhes.Sort2)
_detalhes:AddTooltipSpellHeaderText (Loc ["STRING_TARGETS"], headerColor, r, g, b, #alvos_dispelados)
GameCooltip:AddIcon ([[Interface\ICONS\ACHIEVEMENT_GUILDPERK_EVERYONES A HERO_RANK2]], 1, 1, 14, 14, 0.078125, 0.9375, 0.078125, 0.953125)
_detalhes:AddTooltipSpellHeaderText (Loc ["STRING_TARGETS"], headerColor, #alvos_dispelados, [[Interface\ICONS\ACHIEVEMENT_GUILDPERK_EVERYONES A HERO_RANK2]], 0.078125, 0.9375, 0.078125, 0.953125)
_detalhes:AddTooltipHeaderStatusbar (r, g, b, barAlha)
for i = 1, _math_min (25, #alvos_dispelados) do
@@ -1284,8 +1280,7 @@ function atributo_misc:ToolTipDispell (instancia, numero, barra)
if (not added_logo) then
added_logo = true
_detalhes:AddTooltipSpellHeaderText (Loc ["STRING_PETS"], headerColor, r, g, b, #totais)
GameCooltip:AddIcon ([[Interface\COMMON\friendship-heart]], 1, 1, 14, 14, 0.21875, 0.78125, 0.09375, 0.6875)
_detalhes:AddTooltipSpellHeaderText (Loc ["STRING_PETS"], headerColor, #totais, [[Interface\COMMON\friendship-heart]], 0.21875, 0.78125, 0.09375, 0.6875)
_detalhes:AddTooltipHeaderStatusbar (r, g, b, barAlha)
end
@@ -1685,8 +1680,7 @@ function atributo_misc:ToolTipDebuffUptime (instancia, numero, barra)
--_table_sort (debuffs_usados, Sort2Reverse)
_table_sort (debuffs_usados, _detalhes.Sort2)
_detalhes:AddTooltipSpellHeaderText (Loc ["STRING_SPELLS"], headerColor, r, g, b, #debuffs_usados)
GameCooltip:AddIcon ([[Interface\ICONS\Ability_Warrior_Safeguard]], 1, 1, 14, 14, 0.9375, 0.078125, 0.078125, 0.953125)
_detalhes:AddTooltipSpellHeaderText (Loc ["STRING_SPELLS"], headerColor, #debuffs_usados, [[Interface\ICONS\Ability_Warrior_Safeguard]], 0.9375, 0.078125, 0.078125, 0.953125)
_detalhes:AddTooltipHeaderStatusbar (r, g, b, barAlha)
local icon_size = _detalhes.tooltip.icon_size
@@ -1745,8 +1739,7 @@ function atributo_misc:ToolTipBuffUptime (instancia, numero, barra)
--_table_sort (buffs_usados, Sort2Reverse)
_table_sort (buffs_usados, _detalhes.Sort2)
_detalhes:AddTooltipSpellHeaderText (Loc ["STRING_SPELLS"], headerColor, r, g, b, #buffs_usados)
GameCooltip:AddIcon ([[Interface\ICONS\Ability_Warrior_Safeguard]], 1, 1, 14, 14, 0.9375, 0.078125, 0.078125, 0.953125)
_detalhes:AddTooltipSpellHeaderText (Loc ["STRING_SPELLS"], headerColor, #buffs_usados, [[Interface\ICONS\Ability_Warrior_Safeguard]], 0.9375, 0.078125, 0.078125, 0.953125)
_detalhes:AddTooltipHeaderStatusbar (r, g, b, barAlha)
local icon_size = _detalhes.tooltip.icon_size
@@ -1804,8 +1797,7 @@ function atributo_misc:ToolTipDefensiveCooldowns (instancia, numero, barra)
end
_table_sort (cooldowns_usados, _detalhes.Sort2)
_detalhes:AddTooltipSpellHeaderText (Loc ["STRING_SPELLS"], headerColor, r, g, b, #cooldowns_usados)
GameCooltip:AddIcon ([[Interface\ICONS\Ability_Warrior_Safeguard]], 1, 1, 14, 14, 0.9375, 0.078125, 0.078125, 0.953125)
_detalhes:AddTooltipSpellHeaderText (Loc ["STRING_SPELLS"], headerColor, #cooldowns_usados, [[Interface\ICONS\Ability_Warrior_Safeguard]], 0.9375, 0.078125, 0.078125, 0.953125)
_detalhes:AddTooltipHeaderStatusbar (r, g, b, barAlha)
local icon_size = _detalhes.tooltip.icon_size
@@ -1832,8 +1824,7 @@ function atributo_misc:ToolTipDefensiveCooldowns (instancia, numero, barra)
end
_table_sort (alvos, _detalhes.Sort2)
_detalhes:AddTooltipSpellHeaderText (Loc ["STRING_TARGETS"], headerColor, r, g, b, #alvos)
GameCooltip:AddIcon ([[Interface\ICONS\Ability_Warrior_DefensiveStance]], 1, 1, 14, 14, 0.9375, 0.125, 0.0625, 0.9375)
_detalhes:AddTooltipSpellHeaderText (Loc ["STRING_TARGETS"], headerColor, #alvos, [[Interface\ICONS\Ability_Warrior_DefensiveStance]], 0.9375, 0.125, 0.0625, 0.9375)
_detalhes:AddTooltipHeaderStatusbar (r, g, b, barAlha)
if (#alvos > 0) then
@@ -1883,8 +1874,7 @@ function atributo_misc:ToolTipRess (instancia, numero, barra)
end
_table_sort (meus_ress, _detalhes.Sort2)
_detalhes:AddTooltipSpellHeaderText (Loc ["STRING_SPELLS"], headerColor, r, g, b, #meus_ress)
GameCooltip:AddIcon ([[Interface\ICONS\Ability_Paladin_BlessedMending]], 1, 1, 14, 14, 0.098125, 0.828125, 0.953125, 0.168125)
_detalhes:AddTooltipSpellHeaderText (Loc ["STRING_SPELLS"], headerColor, #meus_ress, [[Interface\ICONS\Ability_Paladin_BlessedMending]], 0.098125, 0.828125, 0.953125, 0.168125)
_detalhes:AddTooltipHeaderStatusbar (r, g, b, barAlha)
if (#meus_ress > 0) then
@@ -1908,10 +1898,7 @@ function atributo_misc:ToolTipRess (instancia, numero, barra)
end
_table_sort (alvos, _detalhes.Sort2)
_detalhes:AddTooltipSpellHeaderText (Loc ["STRING_TARGETS"], headerColor, r, g, b, #alvos)
--GameCooltip:AddIcon ([[Interface\ICONS\Ability_DeathKnight_IcyGrip]], 1, 1, 14, 14, 0.9375, 0.078125, 0.953125, 0.078125)
GameCooltip:AddIcon ([[Interface\ICONS\Ability_Priest_Cascade]], 1, 1, 14, 14, 0.9375, 0.0625, 0.0625, 0.9375)
_detalhes:AddTooltipSpellHeaderText (Loc ["STRING_TARGETS"], headerColor, #alvos, [[Interface\ICONS\Ability_Priest_Cascade]], 0.9375, 0.0625, 0.0625, 0.9375)
_detalhes:AddTooltipHeaderStatusbar (r, g, b, barAlha)
if (#alvos > 0) then
@@ -1962,8 +1949,7 @@ function atributo_misc:ToolTipInterrupt (instancia, numero, barra)
end
_table_sort (meus_interrupts, _detalhes.Sort2)
_detalhes:AddTooltipSpellHeaderText (Loc ["STRING_SPELLS"], headerColor, r, g, b, #meus_interrupts)
GameCooltip:AddIcon ([[Interface\ICONS\Ability_Warrior_PunishingBlow]], 1, 1, 14, 14, 0.9375, 0.078125, 0.078125, 0.953125)
_detalhes:AddTooltipSpellHeaderText (Loc ["STRING_SPELLS"], headerColor, #meus_interrupts, [[Interface\ICONS\Ability_Warrior_PunishingBlow]], 0.9375, 0.078125, 0.078125, 0.953125)
_detalhes:AddTooltipHeaderStatusbar (r, g, b, barAlha)
if (#meus_interrupts > 0) then
@@ -1986,8 +1972,7 @@ function atributo_misc:ToolTipInterrupt (instancia, numero, barra)
end
_table_sort (habilidades_interrompidas, _detalhes.Sort2)
_detalhes:AddTooltipSpellHeaderText (Loc ["STRING_SPELL_INTERRUPTED"] .. ":", headerColor, r, g, b, #habilidades_interrompidas)
GameCooltip:AddIcon ([[Interface\ICONS\Ability_Warrior_Sunder]], 1, 1, 14, 14, 0.078125, 0.9375, 0.128125, 0.913125)
_detalhes:AddTooltipSpellHeaderText (Loc ["STRING_SPELL_INTERRUPTED"] .. ":", headerColor, #habilidades_interrompidas, [[Interface\ICONS\Ability_Warrior_Sunder]], 0.078125, 0.9375, 0.128125, 0.913125)
_detalhes:AddTooltipHeaderStatusbar (r, g, b, barAlha)
if (#habilidades_interrompidas > 0) then
@@ -2039,8 +2024,7 @@ function atributo_misc:ToolTipInterrupt (instancia, numero, barra)
if (not added_logo) then
added_logo = true
_detalhes:AddTooltipSpellHeaderText (Loc ["STRING_PETS"], headerColor, r, g, b, #totais)
GameCooltip:AddIcon ([[Interface\COMMON\friendship-heart]], 1, 1, 14, 14, 0.21875, 0.78125, 0.09375, 0.6875)
_detalhes:AddTooltipSpellHeaderText (Loc ["STRING_PETS"], headerColor, #totais, [[Interface\COMMON\friendship-heart]], 0.21875, 0.78125, 0.09375, 0.6875)
_detalhes:AddTooltipHeaderStatusbar (r, g, b, barAlha)
end
+20 -18
View File
@@ -1106,6 +1106,11 @@
local backgroundColor = {0, 0, 0, 0.6}
local avatarTextColor = {1, 1, 1, 1}
function _detalhes:AddTooltipReportLineText()
GameCooltip:AddLine (Loc ["STRING_CLICK_REPORT_LINE1"], Loc ["STRING_CLICK_REPORT_LINE2"])
GameCooltip:AddStatusBar (100, 1, 0, 0, 0, 0.4)
end
function _detalhes:AddTooltipBackgroundStatusbar (side)
if (not side) then
GameCooltip:AddStatusBar (100, 1, unpack (_detalhes.tooltip.background))
@@ -1118,20 +1123,15 @@
GameCooltip:AddStatusBar (100, 1, 1, 1, 1, a, nil, nil, [[Interface\WorldStateFrame\WORLDSTATEFINALSCORE-HIGHLIGHT]])
end
function _detalhes:AddTooltipSpellHeaderText (headerText, headerColor, r, g, b, amount, side)
if (not side) then
if (_detalhes.tooltip.show_amount) then
GameCooltip:AddLine (headerText, "x" .. amount .. "", nil, headerColor, r, g, b, .5, 10)
else
GameCooltip:AddLine (headerText, nil, nil, headerColor, nil, 12)
end
function _detalhes:AddTooltipSpellHeaderText (headerText, headerColor, amount, iconTexture, L, R, T, B)
if (_detalhes.tooltip.show_amount) then
GameCooltip:AddLine (headerText, "x" .. amount .. "", nil, headerColor, 1, 1, 1, .4, _detalhes.tooltip.fontsize_title)
else
--> sub menu
if (_detalhes.tooltip.show_amount) then
GameCooltip:AddLine (headerText, "x" .. amount .. "", 2, headerColor, r, g, b, .5, 10)
else
GameCooltip:AddLine (headerText, nil, 2, headerColor, nil, 12)
end
GameCooltip:AddLine (headerText, nil, nil, headerColor, nil, _detalhes.tooltip.fontsize_title)
end
if (iconTexture) then
GameCooltip:AddIcon (iconTexture, 1, 1, 14, 14, L or 0, R or 1, T or 0, B or 1)
end
end
@@ -1181,6 +1181,8 @@
--verifica por tooltips especiais:
if (objeto.dead) then --> é uma barra de dead
return _detalhes:ToolTipDead (self, objeto, esta_barra, keydown) --> instância, [morte], barra
elseif (objeto.byspell) then
return _detalhes:ToolTipBySpell (self, objeto, esta_barra, keydown)
elseif (objeto.frags) then
return _detalhes:ToolTipFrags (self, objeto, esta_barra, keydown)
elseif (objeto.boss_debuff) then
@@ -1200,11 +1202,11 @@
GameCooltip:SetBannerText (1, (not _detalhes.ignore_nicktag and avatar [1]) or objeto.nome, textPoint, avatarTextColor, 14, SharedMedia:Fetch ("font", _detalhes.tooltip.fontface)) --> text [1] nickname
end
else
if (_detalhes.remove_realm_from_name and objeto.displayName:find ("%*")) then
GameCooltip:SetBannerImage (1, [[Interface\AddOns\Details\images\background]], 20, 30, avatarPoint, avatarTexCoord, {0, 0, 0, 0}) --> overlay [2] avatar path
GameCooltip:SetBannerImage (2, [[Interface\PetBattles\Weather-BurntEarth]], 160, 30, {{"bottomleft", "topleft", 0, -5}, {"bottomright", "topright", 0, -5}}, {0.12, 0.88, 1, 0}, {0, 0, 0, 0.1}) --> overlay [2] avatar path {0, 0, 0, 0}
GameCooltip:SetBannerText (1, objeto.nome, {"left", "left", 11, -8}, {1, 1, 1, 0.7}, 10, SharedMedia:Fetch ("font", _detalhes.tooltip.fontface)) --> text [1] nickname
end
--if (_detalhes.remove_realm_from_name and objeto.displayName:find ("%*")) then
-- GameCooltip:SetBannerImage (1, [[Interface\AddOns\Details\images\background]], 20, 30, avatarPoint, avatarTexCoord, {0, 0, 0, 0}) --> overlay [2] avatar path
-- GameCooltip:SetBannerImage (2, [[Interface\PetBattles\Weather-BurntEarth]], 160, 30, {{"bottomleft", "topleft", 0, -5}, {"bottomright", "topright", 0, -5}}, {0.12, 0.88, 1, 0}, {0, 0, 0, 0.1}) --> overlay [2] avatar path {0, 0, 0, 0}
-- GameCooltip:SetBannerText (1, objeto.nome, {"left", "left", 11, -8}, {1, 1, 1, 0.7}, 10, SharedMedia:Fetch ("font", _detalhes.tooltip.fontface)) --> text [1] nickname
--end
end
end
+1 -1
View File
@@ -79,7 +79,7 @@
if (is_in_instance and _detalhes.remove_realm_from_name) then
esta_classe.displayName = nome:gsub (("%-.*"), "")
elseif (_detalhes.remove_realm_from_name) then
esta_classe.displayName = nome:gsub (("%-.*"), "%*")
esta_classe.displayName = nome:gsub (("%-.*"), "") --"%*"
else
esta_classe.displayName = nome
end
+1
View File
@@ -1259,6 +1259,7 @@
if (not boss_repeated [encounterId]) then
local encounter, instance = _detalhes:GetBossEncounterDetailsFromEncounterId (_, encounterId)
if (encounter) then
--print ("encounter found", encounter.boss, encounter.name, instance)
tinsert (boss_list, {value = encounterId, label = encounter.boss, icon = icon, onclick = on_boss_select})
boss_repeated [encounterId] = true
+8 -3
View File
@@ -14,6 +14,7 @@ do
--[[global]] DETAILS_SUBATTRIBUTE_FRAGS = 5
--[[global]] DETAILS_SUBATTRIBUTE_ENEMIES = 6
--[[global]] DETAILS_SUBATTRIBUTE_VOIDZONES = 7
--[[global]] DETAILS_SUBATTRIBUTE_BYSPELLS = 8
--[[global]] DETAILS_ATTRIBUTE_HEAL = 2
@@ -51,6 +52,7 @@ do
"miscdata", --frags
"damage", --enemy damage
"aura", --auras
"damage", --damage taken by spell
"heal", --healing done
"heal", --hps
@@ -83,7 +85,7 @@ do
--[[ DAMAGE ]]
dano = 1, --> identifier
[1] = 7, --> sub attributes
[1] = 8, --> sub attributes
--[[ HEALING ]]
cura = 2, --> identifier
@@ -123,6 +125,7 @@ do
frags = 5,
enemies = 6,
voidzones = 7,
damage_taken_by_spells = 8,
lista = { --[[ String Names ]]
Loc ["STRING_ATTRIBUTE_DAMAGE_DONE"],
Loc ["STRING_ATTRIBUTE_DAMAGE_DPS"],
@@ -131,6 +134,7 @@ do
Loc ["STRING_ATTRIBUTE_DAMAGE_FRAGS"],
Loc ["STRING_ATTRIBUTE_DAMAGE_ENEMIES"],
Loc ["STRING_ATTRIBUTE_DAMAGE_DEBUFFS"],
Loc ["STRING_ATTRIBUTE_DAMAGE_BYSPELL"],
},
icones = {
{"Interface\\AddOns\\Details\\images\\atributos_icones_damage", {0, .125, 0, 1}},
@@ -139,9 +143,10 @@ do
{"Interface\\AddOns\\Details\\images\\atributos_icones_damage", {.375, .5, 0, 1}},
{"Interface\\AddOns\\Details\\images\\atributos_icones_damage", {.5, 0.625, 0, 1}},
{"Interface\\AddOns\\Details\\images\\atributos_icones_damage", {0.625, .75, 0, 1}},
{"Interface\\AddOns\\Details\\images\\atributos_icones_damage", {.75, 0.875, 0, 1}}
{"Interface\\AddOns\\Details\\images\\atributos_icones_damage", {.75, 0.875, 0, 1}},
{"Interface\\AddOns\\Details\\images\\atributos_icones_damage", {0.875, 1, 0, 1}},
},
internal = {"total", "last_dps", "damage_taken", "friendlyfire_total", "frags", "enemies", "voidzones"}
internal = {"total", "last_dps", "damage_taken", "friendlyfire_total", "frags", "enemies", "voidzones", "damage_taken_by_spells"}
},
{
+2 -1
View File
@@ -955,7 +955,8 @@ local default_profile = {
--> tooltip
tooltip = {
fontface = "Friz Quadrata TT",
fontsize = 10,
fontsize = 10,
fontsize_title = 10,
fontcolor = {1, 1, 1, 1},
fontcolor_right = {1, 0.7, 0, 1}, --{1, 0.9254, 0.6078, 1}
fontshadow = false,
+4 -1
View File
@@ -2704,7 +2704,10 @@ do
function _detalhes:GetSpellSchoolFormatedName (school)
return _detalhes.spells_school [school] and _detalhes.spells_school [school].formated or ""
end
local default_school_color = {145/255, 180/255, 228/255}
function _detalhes:GetSpellSchoolColor (school)
return unpack (_detalhes.spells_school [school] and _detalhes.spells_school [school].decimals or default_school_color)
end
function _detalhes:GetCooldownList (class)
class = class or select (2, UnitClass ("player"))
return _detalhes.DefensiveCooldownSpells [class]
+1 -1
View File
@@ -1535,7 +1535,7 @@
gump:GradientEffect (button:GetParent(), "frame", _r, _g, _b, _a, OnEnterColors[1], OnEnterColors[2], OnEnterColors[3], OnEnterColors[4], .3)
GameTooltip:SetOwner (button, "ANCHOR_TOPLEFT")
GameTooltip:SetSpellByID (button.MyObject.spellid)
_detalhes:GameTooltipSetSpellByID (button.MyObject.spellid)
GameTooltip:Show()
end
local buttonMouseOut = function (button)
+5 -5
View File
@@ -27,7 +27,7 @@ local classe_icones = _G.CLASS_ICON_TCOORDS
--self = instancia
--jogador = classe_damage ou classe_heal
function _detalhes:AbreJanelaInfo (jogador, from_att_change, refresh)
function _detalhes:AbreJanelaInfo (jogador, from_att_change, refresh, ShiftKeyDown, ControlKeyDown)
--print (debugstack())
@@ -39,7 +39,7 @@ function _detalhes:AbreJanelaInfo (jogador, from_att_change, refresh)
_detalhes:FechaJanelaInfo()
return
end
return _detalhes.row_singleclick_overwrite [self.atributo][self.sub_atributo] (_, jogador, self)
return _detalhes.row_singleclick_overwrite [self.atributo][self.sub_atributo] (_, jogador, self, ShiftKeyDown, ControlKeyDown)
end
if (self.modo == _detalhes._detalhes_props["MODO_RAID"]) then
@@ -1711,7 +1711,7 @@ function gump:CriaJanelaInfo()
self:SetBackdrop ({bgFile = "Interface\\Tooltips\\UI-Tooltip-Background", tile = true, tileSize = 512, edgeFile = "Interface\\DialogFrame\\UI-DialogBox-Border", edgeSize = 8})
self:SetBackdropColor (.5, .5, .5, .5)
GameTooltip:SetOwner (self, "ANCHOR_TOPLEFT")
GameTooltip:SetSpellByID (self.spellid)
_detalhes:GameTooltipSetSpellByID (self.spellid)
GameTooltip:Show()
end
end
@@ -4259,10 +4259,10 @@ end
local miniframe_func_on_enter = function (self)
local barra = self:GetParent()
if (barra.show and type (barra.show) == "number") then
local spellname = GetSpellInfo (barra.show)
local spellname = _GetSpellInfo (barra.show)
if (spellname) then
GameTooltip:SetOwner (self, "ANCHOR_TOPLEFT")
GameTooltip:SetSpellByID (barra.show)
_detalhes:GameTooltipSetSpellByID (barra.show)
GameTooltip:Show()
end
end
+40 -73
View File
@@ -1823,11 +1823,6 @@ local shift_monitor = function (self)
end
end
local on_switch_show = function (instance)
instance:TrocaTabela (instance, true, 1, 6)
return true
end
local barra_backdrop_onenter = {
bgFile = [[Interface\Tooltips\UI-Tooltip-Background]],
tile = true, tileSize = 16,
@@ -1917,44 +1912,6 @@ local barra_scripts_onmousedown = function (self, button)
elseif (button == "LeftButton") then
if (self._instance.atributo == 1 and self._instance.sub_atributo == 6) then --> enemies
local inimigo = self.minha_tabela.nome
local custom_name = inimigo .. Loc ["STRING_CUSTOM_ENEMY_DT"]
--> procura se já tem um custom:
for index, CustomObject in _ipairs (_detalhes.custom) do
if (CustomObject:GetName() == custom_name) then
--> fix for not saving funcs on logout
if (not CustomObject.OnSwitchShow) then
CustomObject.OnSwitchShow = on_switch_show
end
return self._instance:TrocaTabela (self._instance.segmento, 5, index)
end
end
--> criar um custom para este actor.
local new_custom_object = {
name = custom_name,
icon = [[Interface\ICONS\Pet_Type_Undead]],
attribute = "damagedone",
author = _detalhes.playername,
desc = inimigo .. " Damage Taken",
source = "[raid]",
target = inimigo,
script = false,
tooltip = false,
temp = true,
OnSwitchShow = on_switch_show,
}
tinsert (_detalhes.custom, new_custom_object)
setmetatable (new_custom_object, _detalhes.atributo_custom)
new_custom_object.__index = _detalhes.atributo_custom
return self._instance:TrocaTabela (self._instance.segmento, 5, #_detalhes.custom)
end
end
self.texto_direita:SetPoint ("right", self.statusbar, "right", 1, -1)
@@ -1977,6 +1934,10 @@ local barra_scripts_onmousedown = function (self, button)
end
local barra_scripts_onmouseup = function (self, button)
local is_shift_down = _IsShiftKeyDown()
local is_control_down = _IsControlKeyDown()
if (self._instance.baseframe.isMoving) then
move_janela (self._instance.baseframe, false, self._instance)
self._instance:SaveMainWindowPosition()
@@ -1999,31 +1960,30 @@ local barra_scripts_onmouseup = function (self, button)
if (self.mouse_down and (self.mouse_down+0.4 > _GetTime() and (x == self.x and y == self.y)) or (x == self.x and y == self.y)) then
if (self.button == "LeftButton" or self.button == "MiddleButton") then
if (self._instance.atributo == 5 or _IsShiftKeyDown()) then
if (self._instance.atributo == 5 or is_shift_down) then
--> report
if (self._instance.atributo == 5 and _IsShiftKeyDown()) then
if (self._instance.atributo == 5 and is_shift_down) then
local custom = self._instance:GetCustomObject()
if (custom and custom.on_shift_click) then
local func = loadstring (custom.on_shift_click)
if (func) then
local successful, errortext = pcall (func, self, self.minha_tabela, self._instance)
if (not successful) then
_detalhes:Msg ("error occurred custom script shift+click:", errortext)
end
--local spellname, _, spellicon = _detalhes.getspellinfo (self.minha_tabela.id)
--_detalhes:OpenAuraPanel (self.minha_tabela.id, spellname, spellicon)
--func (object.id, spellname, spellicon)
return
end
end
end
if (_detalhes.row_singleclick_overwrite [self._instance.atributo] and type (_detalhes.row_singleclick_overwrite [self._instance.atributo][self._instance.sub_atributo]) == "function") then
return _detalhes.row_singleclick_overwrite [self._instance.atributo][self._instance.sub_atributo] (_, self.minha_tabela, self._instance, is_shift_down, is_control_down)
end
return _detalhes:ReportSingleLine (self._instance, self)
end
self._instance:AbreJanelaInfo (self.minha_tabela)
self._instance:AbreJanelaInfo (self.minha_tabela, nil, nil, is_shift_down, is_control_down)
end
end
end
@@ -2058,14 +2018,14 @@ local icon_frame_on_enter = function (self)
local actor = self.row.minha_tabela
if (actor) then
if (actor.is_custom) then
if (actor.id) then
if (actor.frags) then
elseif (actor.is_custom or actor.byspell or actor.damage_spellid) then
local spellid = actor.damage_spellid or actor.id or actor[1]
if (spellid) then
GameTooltip:SetOwner (self, "ANCHOR_TOPLEFT", 0, 10)
if (actor.id == 1) then
GameTooltip:SetSpellByID (6603)
else
GameTooltip:SetSpellByID (actor.id)
end
_detalhes:GameTooltipSetSpellByID (spellid)
GameTooltip:Show()
end
@@ -2280,6 +2240,7 @@ local icon_frame_on_click_up = function (self)
_detalhes:Msg (Loc ["STRING_QUERY_INSPECT_FAIL1"])
return
end
if (self.showing == "actor") then
if (_detalhes.ilevel.core:HasQueuedInspec (self.unitname)) then
@@ -2388,22 +2349,28 @@ function _detalhes:ReportSingleLine (instancia, barra)
local reportar
if (instancia.atributo == 5) then --> custom
local actor_name = barra.texto_esquerdo:GetText() or ""
actor_name = actor_name:gsub ((".*%."), "")
if (instancia.segmento == -1) then --overall
reportar = {"Details!: " .. Loc ["STRING_OVERALL"] .. " " .. instancia.customName .. ": " .. actor_name .. " " .. Loc ["STRING_CUSTOM_REPORT"]}
else
reportar = {"Details!: " .. instancia.customName .. ": " .. actor_name .. " " .. Loc ["STRING_CUSTOM_REPORT"]}
end
--> dump cooltip
local GameCooltip = GameCooltip
if (GameCoolTipFrame1:IsShown()) then
local actor_name = barra.texto_esquerdo:GetText() or ""
actor_name = actor_name:gsub ((".*%."), "")
if (instancia.segmento == -1) then --overall
reportar = {"Details!: " .. Loc ["STRING_OVERALL"] .. " " .. instancia.customName .. ": " .. actor_name .. " " .. Loc ["STRING_CUSTOM_REPORT"]}
else
reportar = {"Details!: " .. instancia.customName .. ": " .. actor_name .. " " .. Loc ["STRING_CUSTOM_REPORT"]}
end
local amt = GameCooltip.Indexes
for i = 2, amt do
local left_text, right_text = GameCooltip:GetText (i)
reportar [#reportar+1] = (i-1) .. ". " .. left_text .. " ... " .. right_text
local amt = GameCooltip.Indexes
for i = 2, amt do
local left_text, right_text = GameCooltip:GetText (i)
reportar [#reportar+1] = (i-1) .. ". " .. left_text .. " ... " .. right_text
end
else
reportar = {"Details!: " .. instancia.customName .. ": " .. Loc ["STRING_CUSTOM_REPORT"]}
reportar [#reportar+1] = barra.texto_esquerdo:GetText() .. " " .. barra.texto_direita:GetText()
--reportar [#reportar+1] = (i-1) .. ". " .. left_text .. " ... " .. right_text
end
else
+39 -14
View File
@@ -631,7 +631,7 @@ local function cria_drop_down (este_gump)
for i = 1, 9 do --window.max_last_buttons
local b = window.recently_report_buttons [i]
b:SetSize (120, 16)
b:SetSize (150, 16)
b:SetPoint ("topleft", window, "topleft", 10, -12 + (i*17*-1))
b:Show()
b:SetBackdrop ({bgFile = [[Interface\AddOns\Details\images\background]], tile = true, tileSize = 16,
@@ -653,12 +653,9 @@ local function cria_drop_down (este_gump)
local b = window.recently_report_buttons [10]
b:Hide()
Details_Report_CB_1:Hide()
Details_Report_CB_2:Hide()
window.dropdown:ClearAllPoints()
window.dropdown:SetWidth (155)
window.dropdown:SetPoint ("topleft", window, "topleft", 160, -30)
window.dropdown:SetPoint ("topleft", window, "topleft", 175, -30)
window.dropdown:SetBackdrop ({bgFile = [[Interface\DialogFrame\UI-DialogBox-Background-Dark]], edgeFile = [[Interface\Buttons\WHITE8X8]], edgeSize = 1, tile=true,
tileSize = 64, insets = {left = 0, right = 0, top = 0, bottom = 0}})
window.dropdown:SetBackdropBorderColor (0, 0, 0, 0.5)
@@ -666,7 +663,7 @@ local function cria_drop_down (este_gump)
window.wisp_who:ClearAllPoints()
window.editbox:ClearAllPoints()
window.wisp_who:SetPoint ("topleft", window.dropdown.widget, "bottomleft", 0, -11)
window.wisp_who:SetPoint ("topleft", window.dropdown.widget, "bottomleft", 0, -10)
window.editbox:SetPoint ("topleft", window.wisp_who, "bottomleft", 0, -3)
window.editbox:SetWidth (155)
window.editbox:SetHeight (20)
@@ -676,7 +673,7 @@ local function cria_drop_down (este_gump)
window.editbox:SetBackdropColor (0, 0, 0, 0.3)
window.linhas_amt:ClearAllPoints()
window.linhas_amt:SetPoint ("topleft", window.editbox, "bottomleft", 0, -11)
window.linhas_amt:SetPoint ("topleft", window.editbox, "bottomleft", 0, -10)
window.slider:ClearAllPoints()
window.slider:SetWidth (155)
window.slider:SetPoint ("topleft", window.linhas_amt, "bottomleft", 0, -3)
@@ -690,8 +687,24 @@ local function cria_drop_down (este_gump)
window.slider.thumb:SetSize (16, 16)
window.slider.thumb:SetVertexColor (0.6, 0.6, 0.6, 0.95)
Details_Report_CB_1:Hide()
local reverse_checkbox = Details_Report_CB_2
reverse_checkbox:Show()
reverse_checkbox:ClearAllPoints()
reverse_checkbox:SetBackdrop ({bgFile = [[Interface\DialogFrame\UI-DialogBox-Background-Dark]], edgeFile = [[Interface\Buttons\WHITE8X8]], edgeSize = 1, tile=true,
tileSize = 64, insets = {left = 0, right = 0, top = 0, bottom = 0}})
reverse_checkbox:SetBackdropBorderColor (0, 0, 0, 0.5)
reverse_checkbox:SetBackdropColor (0, 0, 0, 0.3)
reverse_checkbox:SetPoint ("topleft", window.slider, "bottomleft", 0, -8)
reverse_checkbox:SetSize (14, 14)
reverse_checkbox:SetNormalTexture (nil)
reverse_checkbox:SetPushedTexture (nil)
reverse_checkbox:SetHighlightTexture (nil)
_G [reverse_checkbox:GetName().."Text"]:ClearAllPoints()
_G [reverse_checkbox:GetName().."Text"]:SetPoint ("left", reverse_checkbox, "right", 2, 0)
window.enviar:ClearAllPoints()
window.enviar:SetPoint ("topleft", window.slider, "bottomleft", 0, -15)
window.enviar:SetPoint ("topleft", reverse_checkbox, "bottomleft", 0, -8)
window.enviar:SetBackdrop ({bgFile = [[Interface\DialogFrame\UI-DialogBox-Background-Dark]], edgeFile = [[Interface\Buttons\WHITE8X8]], edgeSize = 1, tile=true,
tileSize = 64, insets = {left = 0, right = 0, top = 0, bottom = 0}})
window.enviar:SetBackdropBorderColor (0, 0, 0, 0.5)
@@ -762,7 +775,7 @@ local function cria_drop_down (este_gump)
for i = 1, 9 do --window.max_last_buttons
local b = window.recently_report_buttons [i]
b:SetSize (120, 16)
b:SetSize (150, 16)
b:SetPoint ("topleft", window, "topleft", 10, -50 + (i*17*-1))
b:Show()
b:SetBackdrop ({bgFile = [[Interface\AddOns\Details\images\background]], tile = true, tileSize = 16,
@@ -783,12 +796,11 @@ local function cria_drop_down (este_gump)
window.dropdown:ClearAllPoints()
window.dropdown:SetWidth (145)
window.dropdown:SetPoint ("topleft", window, "topleft", 160, -68)
window.dropdown:SetPoint ("topleft", window, "topleft", 175, -68)
window.wisp_who:ClearAllPoints()
window.editbox:ClearAllPoints()
window.wisp_who:SetPoint ("topleft", window.dropdown.widget, "bottomleft", 0, -11)
window.wisp_who:SetPoint ("topleft", window.dropdown.widget, "bottomleft", 0, -10)
window.editbox:SetPoint ("topleft", window.wisp_who, "bottomleft", 0, -3)
window.editbox:SetWidth (145)
window.editbox:SetHeight (20)
@@ -796,7 +808,7 @@ local function cria_drop_down (este_gump)
edgeSize = 15, tileSize = 64, insets = {left = 3, right = 3, top = 4, bottom = 4}})
window.linhas_amt:ClearAllPoints()
window.linhas_amt:SetPoint ("topleft", window.editbox, "bottomleft", 0, -11)
window.linhas_amt:SetPoint ("topleft", window.editbox, "bottomleft", 0, -7)
window.slider:ClearAllPoints()
window.slider :SetWidth (145)
window.slider:SetPoint ("topleft", window.linhas_amt, "bottomleft", 0, -3)
@@ -807,8 +819,21 @@ local function cria_drop_down (este_gump)
window.slider.thumb:SetSize (30, 24)
window.slider.thumb:SetAlpha (0.7)
Details_Report_CB_1:Hide()
local reverse_checkbox = Details_Report_CB_2
reverse_checkbox:Show()
reverse_checkbox:ClearAllPoints()
reverse_checkbox:SetBackdrop (nil)
reverse_checkbox:SetPoint ("topleft", window.slider, "bottomleft", -1, -4)
reverse_checkbox:SetSize (26, 26)
reverse_checkbox:SetNormalTexture ([[Interface\Buttons\UI-CheckBox-Up]])
reverse_checkbox:SetPushedTexture ([[Interface\Buttons\UI-CheckBox-Down]])
reverse_checkbox:SetHighlightTexture ([[Interface\Buttons\UI-CheckBox-Highlight]])
_G [reverse_checkbox:GetName().."Text"]:ClearAllPoints()
_G [reverse_checkbox:GetName().."Text"]:SetPoint ("left", reverse_checkbox, "right", 2, 0)
window.enviar:ClearAllPoints()
window.enviar:SetPoint ("topleft", window.slider, "bottomleft", 0, -11)
window.enviar:SetPoint ("topleft", reverse_checkbox, "bottomleft", 0, -4)
window.enviar.Left:Show()
window.enviar.Middle:Show()
window.enviar.Right:Show()
+5 -1
View File
@@ -699,7 +699,11 @@ function _detalhes.switch:OnRemoveCustom (CustomIndex)
--> precisa resetar esse aqui
options.atributo = nil
options.sub_atributo = nil
_detalhes.switch:Update()
--update if already shown once at least
if (_detalhes.switch.vertical_amt) then
_detalhes.switch:Update()
end
end
end
end
Binary file not shown.
+4
View File
@@ -0,0 +1,4 @@
local L = LibStub("AceLocale-3.0"):NewLocale("Details", "itIT")
if not L then return end
@localization(locale="itIT", format="lua_additive_table")@
+27 -2
View File
@@ -52,7 +52,7 @@ function _G._detalhes:Start()
--> single click row function replace
--damage, dps, damage taken, friendly fire
self.row_singleclick_overwrite [1] = {true, true, true, true, self.atributo_damage.ReportSingleFragsLine, true, self.atributo_damage.ReportSingleVoidZoneLine}
self.row_singleclick_overwrite [1] = {true, true, true, true, self.atributo_damage.ReportSingleFragsLine, self.atributo_damage.ReportEnemyDamageTaken, self.atributo_damage.ReportSingleVoidZoneLine, self.atributo_damage.ReportSingleDTBSLine}
--healing, hps, overheal, healing taken
self.row_singleclick_overwrite [2] = {true, true, true, true, false, self.atributo_heal.ReportSingleDamagePreventedLine}
--mana, rage, energy, runepower
@@ -354,7 +354,32 @@ function _G._detalhes:Start()
_detalhes:FillUserCustomSpells()
_detalhes:AddDefaultCustomDisplays()
--> tooltip background color update
--> erase the custom for damage taken by spell
if (_detalhes_database.last_realversion and _detalhes_database.last_realversion < 73 and enable_reset_warning) then
local secure_func = function()
for i = #_detalhes.custom, 1, -1 do
local index = i
local CustomObject = _detalhes.custom [index]
if (CustomObject:GetName() == Loc ["STRING_CUSTOM_DTBS"]) then
for o = 1, _detalhes.switch.slots do
local options = _detalhes.switch.table [o]
if (options and options.atributo == 5 and options.sub_atributo == index) then
options.atributo = 1
options.sub_atributo = 8
_detalhes.switch:Update()
end
end
_detalhes.atributo_custom:RemoveCustom (index)
end
end
end
pcall (secure_func)
end
if (_detalhes_database.last_realversion and _detalhes_database.last_realversion < 70 and enable_reset_warning) then
local bg = _detalhes.tooltip.background
bg [1] = 0.1960