- Finished another cosmetic revamp on options panel.

- Rewrite on Raid Plugins Support, now can open more then 1 plugins at once on diferent windows.
- Functions inside custom right text now receives the actor object as first parameter.
- Added a large text editor for make changes on custom texts.
- Added cosmetic menus for report and erase segments button.
- Added new option for add borders on the bars.
- Added Death Barrier as a absorb spell.
- Speed improvaments on bar animations.
- Fixed a bug on overheal tooltip where was showing the Hps instead of overheal.
- Fixed few issues when ignoring combats with 5 seconds or less.
- Fixed bug when reloging inside a raid or dungeon instance was erasing pet owner database.
- Fixed Data Broker text where was passing the total damage/healing instead of Dps/Hps.

- Fixed a issue with _detalhes:Hex(): where wasn't correctly formating number below 16.
- New Api: _detalhes:SetBarBackdropSettings (enabled, size, color, texture): set row border settings.
- New Api: _detalhes:GetInstanceAttributeText(): return the text to show on the title text.
- New Api: _detalhes.RaidTables:DisableRaidMode (instance): turn off the raid mode in the instance.
- New Api: _detalhes:RaidPluginInstalled (plugin_name): return is the plugin is installed.
- New Api: _detalhes.RaidTables:EnableRaidMode (instance, plugin_name): enable the raid mode on the instance.
- New Api: _detalhes.RaidTables:GetAvailablePlugins(): return all plugins which is installed, enabled and not in use.
- New Api: _detalhes.RaidTables:IsAvailable (plugin_name, instance): return if the plugin is available for use.
- New Api: _detalhes.RaidTables:SetInUse (absolute_name, instance_number): declare a plugin as in use by a instance.
- New Api: _detalhes.RaidTables:switch (_, plugin_name, instance): change the plugin shown on the instance.
This commit is contained in:
tercio
2014-05-23 20:58:57 -03:00
parent e2e13288c0
commit b74b58ada6
41 changed files with 2080 additions and 1524 deletions
+5 -5
View File
@@ -1152,7 +1152,7 @@ function atributo_damage:AtualizaBarra (instancia, barras_container, qual_barra,
local formated_dps = SelectedToKFunction (_, dps)
if (UsingCustomRightText) then
esta_barra.texto_direita:SetText (instancia.row_info.textR_custom_text:ReplaceData (formated_damage, formated_dps, porcentagem))
esta_barra.texto_direita:SetText (instancia.row_info.textR_custom_text:ReplaceData (formated_damage, formated_dps, porcentagem, self))
else
esta_barra.texto_direita:SetText (formated_damage .. " (" .. formated_dps .. ", " .. porcentagem .. "%)") --seta o texto da direita
end
@@ -1165,7 +1165,7 @@ function atributo_damage:AtualizaBarra (instancia, barras_container, qual_barra,
local formated_dps = SelectedToKFunction (_, dps)
if (UsingCustomRightText) then
esta_barra.texto_direita:SetText (instancia.row_info.textR_custom_text:ReplaceData (formated_dps, formated_damage, porcentagem))
esta_barra.texto_direita:SetText (instancia.row_info.textR_custom_text:ReplaceData (formated_dps, formated_damage, porcentagem, self))
else
esta_barra.texto_direita:SetText (formated_dps .. " (" .. formated_damage .. ", " .. porcentagem .. "%)") --seta o texto da direita
end
@@ -1176,7 +1176,7 @@ function atributo_damage:AtualizaBarra (instancia, barras_container, qual_barra,
local formated_damage_taken = SelectedToKFunction (_, self.damage_taken)
if (UsingCustomRightText) then
esta_barra.texto_direita:SetText (instancia.row_info.textR_custom_text:ReplaceData (formated_damage_taken, "", porcentagem))
esta_barra.texto_direita:SetText (instancia.row_info.textR_custom_text:ReplaceData (formated_damage_taken, "", porcentagem, self))
else
esta_barra.texto_direita:SetText (formated_damage_taken .." (" .. porcentagem .. "%)") --seta o texto da direita --
end
@@ -1187,7 +1187,7 @@ function atributo_damage:AtualizaBarra (instancia, barras_container, qual_barra,
local formated_friendly_fire = SelectedToKFunction (_, self.friendlyfire_total)
if (UsingCustomRightText) then
esta_barra.texto_direita:SetText (instancia.row_info.textR_custom_text:ReplaceData (formated_friendly_fire, "", porcentagem))
esta_barra.texto_direita:SetText (instancia.row_info.textR_custom_text:ReplaceData (formated_friendly_fire, "", porcentagem, self))
else
esta_barra.texto_direita:SetText (formated_friendly_fire .. " (" .. porcentagem .. "%)") --seta o texto da direita --
end
@@ -1200,7 +1200,7 @@ function atributo_damage:AtualizaBarra (instancia, barras_container, qual_barra,
local formated_dps = SelectedToKFunction (_, dps)
if (UsingCustomRightText) then
esta_barra.texto_direita:SetText (instancia.row_info.textR_custom_text:ReplaceData (formated_damage, formated_dps, porcentagem))
esta_barra.texto_direita:SetText (instancia.row_info.textR_custom_text:ReplaceData (formated_damage, formated_dps, porcentagem, self))
else
esta_barra.texto_direita:SetText (formated_damage .. " (" .. formated_dps .. ", " .. porcentagem .. "%)") --seta o texto da direita
end
+1 -1
View File
@@ -449,7 +449,7 @@ function atributo_energy:AtualizaBarra (instancia, barras_container, qual_barra,
local formated_energy = SelectedToKFunction (_, esta_e_energy_total)
if (UsingCustomRightText) then
esta_barra.texto_direita:SetText (instancia.row_info.textR_custom_text:ReplaceData (formated_energy, "", porcentagem))
esta_barra.texto_direita:SetText (instancia.row_info.textR_custom_text:ReplaceData (formated_energy, "", porcentagem, self))
else
esta_barra.texto_direita:SetText (formated_energy .. " (" .. porcentagem .. "%)") --seta o texto da direita
end
+7 -7
View File
@@ -574,7 +574,7 @@ function atributo_heal:AtualizaBarra (instancia, barras_container, qual_barra, l
local formated_hps = SelectedToKFunction (_, hps)
if (UsingCustomRightText) then
esta_barra.texto_direita:SetText (instancia.row_info.textR_custom_text:ReplaceData (formated_heal, formated_hps, porcentagem))
esta_barra.texto_direita:SetText (instancia.row_info.textR_custom_text:ReplaceData (formated_heal, formated_hps, porcentagem, self))
else
esta_barra.texto_direita:SetText (formated_heal .." (" .. formated_hps .. ", " .. porcentagem .. "%)") --seta o texto da direita
end
@@ -587,7 +587,7 @@ function atributo_heal:AtualizaBarra (instancia, barras_container, qual_barra, l
local formated_hps = SelectedToKFunction (_, hps)
if (UsingCustomRightText) then
esta_barra.texto_direita:SetText (instancia.row_info.textR_custom_text:ReplaceData (formated_hps, formated_heal, porcentagem))
esta_barra.texto_direita:SetText (instancia.row_info.textR_custom_text:ReplaceData (formated_hps, formated_heal, porcentagem, self))
else
esta_barra.texto_direita:SetText (formated_hps .. " (" .. formated_heal .. ", " .. porcentagem .. "%)") --seta o texto da direita
end
@@ -598,7 +598,7 @@ function atributo_heal:AtualizaBarra (instancia, barras_container, qual_barra, l
local formated_overheal = SelectedToKFunction (_, self.totalover)
if (UsingCustomRightText) then
esta_barra.texto_direita:SetText (instancia.row_info.textR_custom_text:ReplaceData (formated_overheal, "", porcentagem))
esta_barra.texto_direita:SetText (instancia.row_info.textR_custom_text:ReplaceData (formated_overheal, "", porcentagem, self))
else
esta_barra.texto_direita:SetText (formated_overheal .." (" .. porcentagem .. "%)") --seta o texto da direita --_cstr("%.1f", dps) .. " - ".. DPS do damage taken não será possivel correto?
end
@@ -609,7 +609,7 @@ function atributo_heal:AtualizaBarra (instancia, barras_container, qual_barra, l
local formated_healtaken = SelectedToKFunction (_, self.healing_taken)
if (UsingCustomRightText) then
esta_barra.texto_direita:SetText (instancia.row_info.textR_custom_text:ReplaceData (formated_healtaken, "", porcentagem))
esta_barra.texto_direita:SetText (instancia.row_info.textR_custom_text:ReplaceData (formated_healtaken, "", porcentagem, self))
else
esta_barra.texto_direita:SetText (formated_healtaken .. " (" .. porcentagem .. "%)") --seta o texto da direita --_cstr("%.1f", dps) .. " - ".. DPS do damage taken não será possivel correto?
end
@@ -620,7 +620,7 @@ function atributo_heal:AtualizaBarra (instancia, barras_container, qual_barra, l
local formated_enemyheal = SelectedToKFunction (_, self.heal_enemy_amt)
if (UsingCustomRightText) then
esta_barra.texto_direita:SetText (instancia.row_info.textR_custom_text:ReplaceData (formated_enemyheal, "", porcentagem))
esta_barra.texto_direita:SetText (instancia.row_info.textR_custom_text:ReplaceData (formated_enemyheal, "", porcentagem, self))
else
esta_barra.texto_direita:SetText (formated_enemyheal .. " (" .. porcentagem .. "%)") --seta o texto da direita --_cstr("%.1f", dps) .. " - ".. DPS do damage taken não será possivel correto?
end
@@ -631,7 +631,7 @@ function atributo_heal:AtualizaBarra (instancia, barras_container, qual_barra, l
local formated_absorbs = SelectedToKFunction (_, self.totalabsorb)
if (UsingCustomRightText) then
esta_barra.texto_direita:SetText (instancia.row_info.textR_custom_text:ReplaceData (formated_absorbs, "", porcentagem))
esta_barra.texto_direita:SetText (instancia.row_info.textR_custom_text:ReplaceData (formated_absorbs, "", porcentagem, self))
else
esta_barra.texto_direita:SetText (formated_absorbs .. " (" .. porcentagem .. "%)") --seta o texto da direita --_cstr("%.1f", dps) .. " - ".. DPS do damage taken não será possivel correto?
end
@@ -978,7 +978,7 @@ function atributo_heal:ToolTip_HealingDone (instancia, numero, barra, keydown)
elseif (instancia.sub_atributo == 3) then --> overheal
local overheal = ActorHealingTable[i][2]
local total = ActorHealingTable[i][6]
GameCooltip:AddLine (ActorHealingTable[i][4][1] .." (|cFFFF3333" .. _math_floor ( (overheal / (overheal+total)) *100) .. "%|r):", FormatTooltipNumber (_, _math_floor (ActorHealingTable[i][5])).." (".._cstr ("%.1f", ActorHealingTable[i][3]).."%)")
GameCooltip:AddLine (ActorHealingTable[i][4][1] .." (|cFFFF3333" .. _math_floor ( (overheal / (overheal+total)) *100) .. "%|r):", FormatTooltipNumber (_, _math_floor (ActorHealingTable[i][2])).." (".._cstr ("%.1f", ActorHealingTable[i][3]).."%)")
else
GameCooltip:AddLine (ActorHealingTable[i][4][1]..": ", FormatTooltipNumber (_, ActorHealingTable[i][2]).." (".._cstr ("%.1f", ActorHealingTable[i][3]).."%)")
end
+78 -32
View File
@@ -63,6 +63,9 @@ local segmentos = _detalhes.segmentos
--> API: call a function to all enabled instances
function _detalhes:InstanceCall (funcao, ...)
if (type (funcao) == "string") then
funcao = _detalhes [funcao]
end
for index, instance in _ipairs (_detalhes.tabela_instancias) do
if (instance:IsAtiva()) then --> only enabled
funcao (instance, ...)
@@ -151,11 +154,7 @@ function _detalhes:IsSoloMode()
end
function _detalhes:IsRaidMode()
if (not _detalhes.raid) then
return false
else
return _detalhes.raid == self:GetInstanceId()
end
return self.modo == _detalhes._detalhes_props["MODO_RAID"]
end
function _detalhes:IsNormalMode()
@@ -212,8 +211,7 @@ end
self:Desagrupar (-1)
if (self.modo == modo_raid) then
_detalhes.RaidTables:switch()
_detalhes.raid = nil
_detalhes.RaidTables:DisableRaidMode (self)
elseif (self.modo == modo_alone) then
_detalhes.SoloTables:switch()
@@ -332,7 +330,7 @@ end
if (not temp) then
if (self.modo == modo_raid) then
_detalhes:RaidMode (true, self)
_detalhes.RaidTables:EnableRaidMode (self)
elseif (self.modo == modo_alone) then
self:SoloMode (true)
@@ -407,7 +405,7 @@ end
end
function _detalhes:CriarInstancia (_, id)
if (id and _type (id) == "boolean") then
if (#_detalhes.tabela_instancias >= _detalhes.instances_amount) then
@@ -1520,15 +1518,7 @@ function _detalhes:TrocaTabela (instancia, segmento, atributo, sub_atributo, ini
return _detalhes.SoloTables.switch (nil, nil, -1)
elseif ( (instancia.modo == modo_raid) and not (_detalhes.initializing or iniciando_instancia) ) then --> raid
if (_detalhes.RaidTables.Mode == #_detalhes.RaidTables.Plugins) then
_detalhes.popup:Select (1, 1)
else
if (_detalhes.PluginCount.RAID > 0) then
_detalhes.popup:Select (1, _detalhes.RaidTables.Mode+1)
end
end
return _detalhes.RaidTables.switch (nil, nil, -1)
return --nao faz nada quando clicar no botão
end
atributo_changed = true
@@ -1620,18 +1610,67 @@ function _detalhes:TrocaTabela (instancia, segmento, atributo, sub_atributo, ini
end
function _detalhes:MontaRaidOption (instancia)
for index, ptable in _ipairs (_detalhes.RaidTables.Menu) do
if (ptable [3].__enabled) then
GameCooltip:AddMenu (1, _detalhes.RaidTables.switch, index, nil, nil, ptable [1], ptable [2], true)
function _detalhes:GetRaidPluginName()
return self.current_raid_plugin or self.last_raid_plugin
end
function _detalhes:GetInstanceAttributeText()
if (self.modo == modo_grupo or self.modo == modo_all) then
local attribute = self.atributo
local sub_attribute = self.sub_atributo
local name = _detalhes:GetSubAttributeName (attribute, sub_attribute)
return name or "Unknown"
elseif (self.modo == modo_raid) then
local plugin_name = self.current_raid_plugin or self.last_raid_plugin
if (plugin_name) then
local plugin_object = _detalhes:GetPlugin (plugin_name)
if (plugin_object) then
return plugin_object.__name
else
return "Unknown Plugin"
end
else
return "Unknown Plugin"
end
elseif (self.modo == modo_alone) then
local atributo = _detalhes.SoloTables.Mode or 1
local SoloInfo = _detalhes.SoloTables.Menu [atributo]
if (SoloInfo) then
return SoloInfo [1]
else
return "Unknown Plugin"
end
end
if (_detalhes.RaidTables.Mode and _detalhes.RaidTables.Mode == index) then
GameCooltip:SetLastSelected (1, _detalhes.RaidTables.Mode)
end
function _detalhes:MontaRaidOption (instancia)
local available_plugins = _detalhes.RaidTables:GetAvailablePlugins()
if (#available_plugins == 0) then
return false
end
local amount = 0
for index, ptable in _ipairs (available_plugins) do
if (ptable [3].__enabled) then
GameCooltip:AddMenu (1, _detalhes.RaidTables.switch, ptable [4], instancia, nil, ptable [1], ptable [2], true) --PluginName, PluginIcon, PluginObject, PluginAbsoluteName
amount = amount + 1
end
end
if (amount == 0) then
return false
end
GameCooltip:SetOption ("NoLastSelectedBar", true)
GameCooltip:SetWallpaper (1, [[Interface\SPELLBOOK\Spellbook-Page-1]], {.6, 0.1, 0, 0.64453125}, {1, 1, 1, 0.1}, true)
return true
end
function _detalhes:MontaSoloOption (instancia)
@@ -1646,6 +1685,8 @@ function _detalhes:MontaSoloOption (instancia)
end
GameCooltip:SetWallpaper (1, [[Interface\SPELLBOOK\Spellbook-Page-1]], {.6, 0.1, 0, 0.64453125}, {1, 1, 1, 0.1}, true)
return true
end
-- ~menu
@@ -1742,6 +1783,8 @@ function _detalhes:ChangeIcon (icon)
local skin = _detalhes.skins [self.skin]
--print (debugstack())
if (icon) then
--> plugin chamou uma troca de icone
@@ -1824,11 +1867,11 @@ function _detalhes:AlteraModo (instancia, qual)
if (not instancia.atributo) then
instancia.atributo = 1
instancia.sub_atributo = 1
print ("Details found a internal probleam and fixed: 'instancia.atributo' were null, now is 1.")
--print ("Details found a internal probleam and fixed: 'instancia.atributo' were null, now is 1.")
end
if (not instancia.showing[instancia.atributo]) then
instancia.showing = _detalhes.tabela_vigente
print ("Details found a internal problem and fixed: container for instancia.showing were null, now is current combat.")
--print ("Details found a internal problem and fixed: container for instancia.showing were null, now is current combat.")
end
instancia.atributo = instancia.atributo or 1
instancia.showing[instancia.atributo].need_refresh = true
@@ -1839,7 +1882,7 @@ function _detalhes:AlteraModo (instancia, qual)
instancia.LastModo = instancia.modo
if (instancia:IsRaidMode()) then
instancia:RaidMode (false, instancia)
_detalhes.RaidTables:DisableRaidMode (instancia)
end
--> verifica se ja tem alguma instancia desativada em solo e remove o solo dela
@@ -1859,12 +1902,13 @@ function _detalhes:AlteraModo (instancia, qual)
instancia:SoloMode (false)
end
_detalhes:InstanciaCallFunctionOffline (_detalhes.InstanciaCheckForDisabledRaid)
--_detalhes:InstanciaCallFunctionOffline (_detalhes.InstanciaCheckForDisabledRaid)
instancia.modo = modo_raid
instancia:ChangeIcon()
_detalhes:RaidMode (true, instancia)
_detalhes.RaidTables:EnableRaidMode (instancia)
_detalhes:SendEvent ("DETAILS_INSTANCE_CHANGEMODE", nil, instancia, modo_raid)
elseif (qual == modo_grupo) then
@@ -1875,7 +1919,7 @@ function _detalhes:AlteraModo (instancia, qual)
--instancia.modo = modo_grupo
instancia:SoloMode (false)
elseif (instancia:IsRaidMode()) then
instancia:RaidMode (false, instancia)
_detalhes.RaidTables:DisableRaidMode (instancia)
end
_detalhes:ResetaGump (instancia)
@@ -1887,6 +1931,7 @@ function _detalhes:AlteraModo (instancia, qual)
instancia:AtualizaGumpPrincipal (true)
instancia.last_modo = modo_grupo
_detalhes:SendEvent ("DETAILS_INSTANCE_CHANGEMODE", nil, instancia, modo_grupo)
_detalhes:SendEvent ("DETAILS_INSTANCE_CHANGEATTRIBUTE", nil, instancia, instancia.atributo, instancia.sub_atributo)
elseif (qual == modo_all) then
@@ -1897,7 +1942,7 @@ function _detalhes:AlteraModo (instancia, qual)
instancia:SoloMode (false)
elseif (instancia:IsRaidMode()) then
instancia:RaidMode (false, instancia)
_detalhes.RaidTables:DisableRaidMode (instancia)
end
instancia.modo = modo_all
@@ -1906,6 +1951,7 @@ function _detalhes:AlteraModo (instancia, qual)
instancia:AtualizaGumpPrincipal (true)
instancia.last_modo = modo_all
_detalhes:SendEvent ("DETAILS_INSTANCE_CHANGEMODE", nil, instancia, modo_all)
_detalhes:SendEvent ("DETAILS_INSTANCE_CHANGEATTRIBUTE", nil, instancia, instancia.atributo, instancia.sub_atributo)
end
local checked
+2
View File
@@ -146,6 +146,8 @@ _detalhes.instance_defaults = {
start_after_icon = true,
--percent type
percent_type = 1,
--backdrop
backdrop = {enabled = false, size = 12, color = {1, 1, 1, 1}, texture = "Details BarBorder 2"}
},
--instance window color
+1 -1
View File
@@ -667,7 +667,7 @@ function atributo_misc:AtualizaBarra (instancia, barras_container, qual_barra, l
local esta_porcentagem = _math_floor ((meu_total/instancia.top) * 100)
if (UsingCustomRightText) then
esta_barra.texto_direita:SetText (instancia.row_info.textR_custom_text:ReplaceData (meu_total, "", porcentagem))
esta_barra.texto_direita:SetText (instancia.row_info.textR_custom_text:ReplaceData (meu_total, "", porcentagem, self))
else
esta_barra.texto_direita:SetText (meu_total .." (" .. porcentagem .. "%)") --seta o texto da direita
end