From 68b6adc90f08d28c9ca88e470a4963c42d324712 Mon Sep 17 00:00:00 2001 From: Tercio Date: Sat, 25 Apr 2015 21:21:07 -0300 Subject: [PATCH] - Added casted amount for healing and damage spells. The result is shown on Player Detail Window. - Added uptime amount for healing spells on Player Detail Window. - Added an option to disable lock/resize/ungroup buttons. It's under miscellaneous bracket on Options Panel. - Wallpaper for menus on title bar got a customization option under tooltips bracket on Options Panel. - Updated spell list for Crowd Control and class detection. - Improved Weakaura creation tool under Encounter Details Plugin. --- boot.lua | 22 +-- classes/classe_damage.lua | 88 ++++++---- classes/classe_heal.lua | 32 +++- classes/classe_instancia.lua | 10 +- classes/classe_others.lua | 39 +++++ core/parser.lua | 38 ++++- framework/pictureedit.lua | 10 +- framework/textentry.lua | 3 + functions/profiles.lua | 7 + functions/spells.lua | 10 +- gumps/janela_info.lua | 80 ++++++++-- gumps/janela_options.lua | 150 +++++++++++------- gumps/janela_principal.lua | 113 +++++++------ .../Details_EncounterDetails.lua | 54 ++++++- plugins/Details_EncounterDetails/frames.lua | 69 +++++++- 15 files changed, 536 insertions(+), 189 deletions(-) diff --git a/boot.lua b/boot.lua index 3de04575..ff5eb346 100644 --- a/boot.lua +++ b/boot.lua @@ -4,8 +4,8 @@ _ = nil _detalhes = LibStub("AceAddon-3.0"):NewAddon("_detalhes", "AceTimer-3.0", "AceComm-3.0", "AceSerializer-3.0", "NickTag-1.0") _detalhes.build_counter = 783 --it's 783 for release - _detalhes.userversion = "v3.12.10a" - _detalhes.realversion = 66 --core version + _detalhes.userversion = "v3.13.0" + _detalhes.realversion = 67 --core version _detalhes.version = _detalhes.userversion .. " (core " .. _detalhes.realversion .. ")" Details = _detalhes @@ -22,18 +22,18 @@ do --[[ |cFFFFFF00-|r .\n\n -|cFFFFFF00v3.12.10 (|cFFFFCC00April 18, 2015|r|cFFFFFF00)|r:\n\n -|cFFFFFF00-|r Added the spell uptime on damage player detail window.\n\n -|cFFFFFF00-|r Added Rune Tap as cooldown.\n\n -|cFFFFFF00-|r Report lines for deaths is now inverted. No need to scroll up the chat to see the cause of death anymore.\n\n -|cFFFFFF00-|r Fixed some annoyances with auto current feature where it was changing the segments even when the user were using the window.\n\n +|cFFFFFF00v3.13.0 (|cFFFFCC00April 25, 2015|r|cFFFFFF00)|r:\n\n +|cFFFFFF00-|r Added casted amount for healing and damage spells. The result is shown on Player Detail Window.\n\n +|cFFFFFF00-|r Added uptime amount for healing spells on Player Detail Window.\n\n +|cFFFFFF00-|r Added an option to disable lock/resize/ungroup buttons. It's under miscellaneous bracket on Options Panel.\n\n +|cFFFFFF00-|r Wallpaper for menus on title bar got a customization option under tooltips bracket on Options Panel.\n\n +|cFFFFFF00-|r Updated spell list for Crowd Control and class detection.\n\n +|cFFFFFF00-|r Improved Weakaura creation tool under Encounter Details Plugin.\n\n --]] --- |cFFFFFF00v3.12.10 (|cFFFFCC00April 18, 2015|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Added the spell uptime on damage player detail window.\n\n|cFFFFFF00-|r Added Rune Tap as cooldown.\n\n|cFFFFFF00-|r Report lines for deaths is now inverted. No need to scroll up the chat to see the cause of death anymore.\n\n|cFFFFFF00-|r Fixed some annoyances with auto current feature where it was changing the segments even when the user were using the window.\n\n +-- |cFFFFFF00v3.13.0 (|cFFFFCC00April 25, 2015|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Added casted amount for healing and damage spells. The result is shown on Player Detail Window.\n\n|cFFFFFF00-|r Added uptime amount for healing spells on Player Detail Window.\n\n|cFFFFFF00-|r Added an option to disable lock/resize/ungroup buttons. It's under miscellaneous bracket on Options Panel.\n\n|cFFFFFF00-|r Wallpaper for menus on title bar got a customization option under tooltips bracket on Options Panel.\n\n|cFFFFFF00-|r Updated spell list for Crowd Control and class detection.\n\n|cFFFFFF00-|r Improved Weakaura creation tool under Encounter Details Plugin.\n\n --- - - Loc ["STRING_VERSION_LOG"] = "|cFFFFFF00v3.12.10a (|cFFFFCC00April 19, 2015|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Added the spell uptime on damage player detail window.\n\n|cFFFFFF00-|r Added Rune Tap as cooldown.\n\n|cFFFFFF00-|r Report lines for deaths is now inverted. No need to scroll up the chat to see the cause of death anymore.\n\n|cFFFFFF00-|r Fixed some annoyances with auto current feature where it was changing the segments even when the user were using the window.\n\n|cFFFFFF00v3.12.7 (|cFFFFCC00April 09, 2015|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Added slash command /details profile .\n\n|cFFFFFF00v3.12.6 (|cFFFFCC00May 06, 2015|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Encounter Details (plugin): added a report button on Emotes tab.\n\n|cFFFFFF00-|r Encounter Details (plugin): improved Weakauras creation.\n\n|cFFFFFF00-|r Encounter Details (plugin): fixed the report text for interrupts and dispells.\n\n|cFFFFFF00-|r Crowd control by Pets now is merged with its owner.\n\n|cFFFFFF00-|r Truncated left text on bars now shows the entire text when hover over the bar.\n\n|cFFFFFF00-|r Added an extra option on minimap menu to disable the minimap icon.\n\n|cFFFFFF00-|r Fixed a problem when disabling the minimap icon through options panel.\n\n|cFFFFFF00-|r Fixed an issue with item level tracker feature.\n\n|cFFFFFF00v3.12.2 (|cFFFFCC00Mar 30, 2015|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Raid Check (plugin): added item level.\n\n|cFFFFFF00-|r Advanced Death Logs (plugin): bug fixes, it's important to update it.\n\n|cFFFFFF00-|r Time Line (plugin): bug fixes.\n\n|cFFFFFF00-|r Added option to disabled th eitem level tracker.\n\n|cFFFFFF00-|r Added item level on Raid Check plugin panel.\n\n|cFFFFFF00-|r Added Spirit Link Totem damage and healing on death log.\n\n|cFFFFFF00-|r Added the total of life exchanged by the Spirit Link Totem on player detail window.\n\n|cFFFFFF00-|r Added more spells for crowd control.\n\n|cFFFFFF00-|r Added scroll on bookmark panel.\n\n|cFFFFFF00-|r Fixed issue with Dps/Hps data broker which wasn't respecting the type of time (effective/activity) selected.\n\n|cFFFFFF00-|r Fixed few bugs when using the key bind to toggle windows.\n\n|cFFFFFF00v3.11.5 (|cFFFFCC00Mar 18, 2015|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Fixed an issue with overall data where max/min amount for spells was being calculated wrong.\n\n|cFFFFFF00-|r Fixed a problem while reporting enemy damage taken.\n\n|cFFFFFF00-|r Fixed an issue with damage taken by spell where some spells wasn't shown.\n\n|cFFFFFF00-|r Few improvements on tooltips.\n\n|cFFFFFF00-|r Fixed a accuracy problem with shaman's spirit link toten where its life exchange was considered healing done.\n\n|cFFFFFF00-|r Boss segments now need to have at least 30 seconds to be added on the overall data.\n\n|cFFFFFF00-|r When the segment limit is reach, segments with less combat time will be erased instead of the olders.\n\n|cFFFFFF00-|r Added item level tracker.\n\n|cFFFFFF00-|r Fixed window positioning when changing from Solo mode to Group mode.\n\n|cFFFFFF00-|r Added an option for change the amount of lines on death log.\n\n|cFFFFFF00-|r Added custom display for CC done.\n\n|cFFFFFF00v3.10.10 (|cFFFFCC00Mar 10, 2015|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Advanced Death Logs (plugin): done a calibration on endurance calculation.\n\n|cFFFFFF00-|r Raid Check (plugin): now also show information for 50+ stats runes.\n\n|cFFFFFF00-|r Fixed cooldowns spell targets on overall data.\n\n|cFFFFFF00-|r Fixed report custom displays where sometimes it didn't report spell links.\n\n|cFFFFFF00-|r Replaced old report line saying 'for the last X segments' with 'overall data'.\n\n|cFFFFFF00-|r Mini-displays on statusbar are now more responsible to right button click.\n\n|cFFFFFF00-|r Added Mage's Greater Invisibility as cooldown.\n\n|cFFFFFF00v3.10.8 (|cFFFFCC00Mar 02, 2015|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Improved aura creation.\n\n|cFFFFFF00-|r Custom display 'My Spells' now also show your pets.\n\n|cFFFFFF00-|r Fixed 'Raid Check' plugin food detection.\n\n|cFFFFFF00v3.10.6 (|cFFFFCC00Feb 24, 2015|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Encounter Details (plugin): several bug fixes and improvements.\n\n|cFFFFFF00-|r Encounter Details (plugin): added new tab showing enemy spells from the encounter with an aura creation panel.\n\n|cFFFFFF00-|r Encounter Details (plugin): added phase indicators on graphic tab, hovering over shows the damage and heal for that specific phase.\n\n|cFFFFFF00-|r Segments menu now also show the encounter try number plus the elapsed combat time.\n\n|cFFFFFF00-|r Several improvements on Overall Data, also, now it has an option to not save it when the character logoff.\n\n|cFFFFFF00-|r Player Details window now closes with right click on any bar.\n\n|cFFFFFF00-|r Fixed Nature's Vigil cooldown.\n\n|cFFFFFF00v3.9.12a (|cFFFFCC00Feb 16, 2015|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Roll back on combat detection after reset data, might be causing problems.\n\n|cFFFFFF00v3.9.12 (|cFFFFCC00Feb 13, 2015|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Advanced Death Logs (plugin): got report buttons for Endurance and Deaths Overall Damage.\n\n|cFFFFFF00-|r Advanced Death Logs (plugin): the Deaths and Endurance limits can now be changed under the plugin options.\n\n|cFFFFFF00-|r Chart Viewer (plugin): has been revamped and now it's less complicated to use.\n\n|cFFFFFF00-|r Time Line (plugin): added options to change the background color and scale.\n\n|cFFFFFF00-|r Raid Check (plugin): its window is now 'always on top'.\n\n|cFFFFFF00-|r Accuracy adjustments on overheal of Divine Aegis and Illuminated Healing.\n\n|cFFFFFF00-|r Removed healthstone from cooldown list, added Nature's Vigil.\n\n|cFFFFFF00-|r Enemies display now shows damage taken instead of damage done.\n\n|cFFFFFF00-|r Tooltip for enemies display now also show damage and healing done by the enemy.\n\n|cFFFFFF00-|r Added an option under miscellaneous to show neutral and hostile creatures on damage taken display.\n\n|cFFFFFF00-|r Added an option to ignore nicknames and always use character names.\n\n|cFFFFFF00-|r Enabling the display icon on title bar now makes the title text automatically move slightly to right.\n\n|cFFFFFF00-|r Fixed issue with skin changing when the window has the statusbar enabled.\n\n|cFFFFFF00v3.9.4 (|cFFFFCC00Feb 03, 2015|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Added option 'Ignore Mass Toggle', when enabled the window won't be affected when hiding, showing or toggling all windows.\n\n|cFFFFFF00-|r Added window number for slash commands 'hide', 'show' and 'toggle'. Usage: '/details hide 1' to hide window 1.\n\n|cFFFFFF00-|r Removed keybinds for Open and Close, added toggle instead.\n\n|cFFFFFF00-|r Added slash command 'toggle'.\n\n|cFFFFFF00-|r Added display icons for all skins which still didn't have they.\n\n|cFFFFFF00-|r Improved 'Align with right chat' tool, now it also supports Forced Square skin.\n\n|cFFFFFF00-|r Improvements on Bookmark panel.\n\n|cFFFFFF00-|r Improvements on spec icons with transparency.\n\n|cFFFFFF00-|r Created custom spell for Living Bomb explosion.\n\n|cFFFFFF00-|r Fixed statusbar textures and mini displays.\n\n|cFFFFFF00-|r Fixed an issue with title bar buttons when toggling the titlebar anchor from bottom to top position.\n\n|cFFFFFF00-|r Fixed an issue with title bar text when toggling the statusbar position from bottom to top.\n\n|cFFFFFF00-|r Fixed yet another bug with avoidance tab on player detail window.\n\n|cFFFFFF00-|r Fixed the window ungroup button (above the resize one).\n\n|cFFFFFF00v3.8.13 (|cFFFFCC00Jan 26, 2015|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r RaidCheck (plugin): added an option to be able to use the report panel.\n\n|cFFFFFF00-|r You Are Not Prepared (plugin): added Auto Close the window, can be disabled through its options panel." + Loc ["STRING_VERSION_LOG"] = "|cFFFFFF00v3.13.0 (|cFFFFCC00April 25, 2015|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Added casted amount for healing and damage spells. The result is shown on Player Detail Window.\n\n|cFFFFFF00-|r Added uptime amount for healing spells on Player Detail Window.\n\n|cFFFFFF00-|r Added an option to disable lock/resize/ungroup buttons. It's under miscellaneous bracket on Options Panel.\n\n|cFFFFFF00-|r Wallpaper for menus on title bar got a customization option under tooltips bracket on Options Panel.\n\n|cFFFFFF00-|r Updated spell list for Crowd Control and class detection.\n\n|cFFFFFF00-|r Improved Weakaura creation tool under Encounter Details Plugin.\n\n|cFFFFFF00v3.12.10 (|cFFFFCC00April 18, 2015|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Added the spell uptime on damage player detail window.\n\n|cFFFFFF00-|r Added Rune Tap as cooldown.\n\n|cFFFFFF00-|r Report lines for deaths is now inverted. No need to scroll up the chat to see the cause of death anymore.\n\n|cFFFFFF00-|r Fixed some annoyances with auto current feature where it was changing the segments even when the user were using the window.\n\n|cFFFFFF00v3.12.7 (|cFFFFCC00April 09, 2015|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Added slash command /details profile .\n\n|cFFFFFF00v3.12.6 (|cFFFFCC00May 06, 2015|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Encounter Details (plugin): added a report button on Emotes tab.\n\n|cFFFFFF00-|r Encounter Details (plugin): improved Weakauras creation.\n\n|cFFFFFF00-|r Encounter Details (plugin): fixed the report text for interrupts and dispells.\n\n|cFFFFFF00-|r Crowd control by Pets now is merged with its owner.\n\n|cFFFFFF00-|r Truncated left text on bars now shows the entire text when hover over the bar.\n\n|cFFFFFF00-|r Added an extra option on minimap menu to disable the minimap icon.\n\n|cFFFFFF00-|r Fixed a problem when disabling the minimap icon through options panel.\n\n|cFFFFFF00-|r Fixed an issue with item level tracker feature.\n\n|cFFFFFF00v3.12.2 (|cFFFFCC00Mar 30, 2015|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Raid Check (plugin): added item level.\n\n|cFFFFFF00-|r Advanced Death Logs (plugin): bug fixes, it's important to update it.\n\n|cFFFFFF00-|r Time Line (plugin): bug fixes.\n\n|cFFFFFF00-|r Added option to disabled th eitem level tracker.\n\n|cFFFFFF00-|r Added item level on Raid Check plugin panel.\n\n|cFFFFFF00-|r Added Spirit Link Totem damage and healing on death log.\n\n|cFFFFFF00-|r Added the total of life exchanged by the Spirit Link Totem on player detail window.\n\n|cFFFFFF00-|r Added more spells for crowd control.\n\n|cFFFFFF00-|r Added scroll on bookmark panel.\n\n|cFFFFFF00-|r Fixed issue with Dps/Hps data broker which wasn't respecting the type of time (effective/activity) selected.\n\n|cFFFFFF00-|r Fixed few bugs when using the key bind to toggle windows.\n\n|cFFFFFF00v3.11.5 (|cFFFFCC00Mar 18, 2015|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Fixed an issue with overall data where max/min amount for spells was being calculated wrong.\n\n|cFFFFFF00-|r Fixed a problem while reporting enemy damage taken.\n\n|cFFFFFF00-|r Fixed an issue with damage taken by spell where some spells wasn't shown.\n\n|cFFFFFF00-|r Few improvements on tooltips.\n\n|cFFFFFF00-|r Fixed a accuracy problem with shaman's spirit link toten where its life exchange was considered healing done.\n\n|cFFFFFF00-|r Boss segments now need to have at least 30 seconds to be added on the overall data.\n\n|cFFFFFF00-|r When the segment limit is reach, segments with less combat time will be erased instead of the olders.\n\n|cFFFFFF00-|r Added item level tracker.\n\n|cFFFFFF00-|r Fixed window positioning when changing from Solo mode to Group mode.\n\n|cFFFFFF00-|r Added an option for change the amount of lines on death log.\n\n|cFFFFFF00-|r Added custom display for CC done.\n\n|cFFFFFF00v3.10.10 (|cFFFFCC00Mar 10, 2015|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Advanced Death Logs (plugin): done a calibration on endurance calculation.\n\n|cFFFFFF00-|r Raid Check (plugin): now also show information for 50+ stats runes.\n\n|cFFFFFF00-|r Fixed cooldowns spell targets on overall data.\n\n|cFFFFFF00-|r Fixed report custom displays where sometimes it didn't report spell links.\n\n|cFFFFFF00-|r Replaced old report line saying 'for the last X segments' with 'overall data'.\n\n|cFFFFFF00-|r Mini-displays on statusbar are now more responsible to right button click.\n\n|cFFFFFF00-|r Added Mage's Greater Invisibility as cooldown.\n\n|cFFFFFF00v3.10.8 (|cFFFFCC00Mar 02, 2015|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Improved aura creation.\n\n|cFFFFFF00-|r Custom display 'My Spells' now also show your pets.\n\n|cFFFFFF00-|r Fixed 'Raid Check' plugin food detection.\n\n|cFFFFFF00v3.10.6 (|cFFFFCC00Feb 24, 2015|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Encounter Details (plugin): several bug fixes and improvements.\n\n|cFFFFFF00-|r Encounter Details (plugin): added new tab showing enemy spells from the encounter with an aura creation panel.\n\n|cFFFFFF00-|r Encounter Details (plugin): added phase indicators on graphic tab, hovering over shows the damage and heal for that specific phase.\n\n|cFFFFFF00-|r Segments menu now also show the encounter try number plus the elapsed combat time.\n\n|cFFFFFF00-|r Several improvements on Overall Data, also, now it has an option to not save it when the character logoff.\n\n|cFFFFFF00-|r Player Details window now closes with right click on any bar.\n\n|cFFFFFF00-|r Fixed Nature's Vigil cooldown.\n\n|cFFFFFF00v3.9.12a (|cFFFFCC00Feb 16, 2015|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Roll back on combat detection after reset data, might be causing problems.\n\n|cFFFFFF00v3.9.12 (|cFFFFCC00Feb 13, 2015|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Advanced Death Logs (plugin): got report buttons for Endurance and Deaths Overall Damage.\n\n|cFFFFFF00-|r Advanced Death Logs (plugin): the Deaths and Endurance limits can now be changed under the plugin options.\n\n|cFFFFFF00-|r Chart Viewer (plugin): has been revamped and now it's less complicated to use.\n\n|cFFFFFF00-|r Time Line (plugin): added options to change the background color and scale.\n\n|cFFFFFF00-|r Raid Check (plugin): its window is now 'always on top'.\n\n|cFFFFFF00-|r Accuracy adjustments on overheal of Divine Aegis and Illuminated Healing.\n\n|cFFFFFF00-|r Removed healthstone from cooldown list, added Nature's Vigil.\n\n|cFFFFFF00-|r Enemies display now shows damage taken instead of damage done.\n\n|cFFFFFF00-|r Tooltip for enemies display now also show damage and healing done by the enemy.\n\n|cFFFFFF00-|r Added an option under miscellaneous to show neutral and hostile creatures on damage taken display.\n\n|cFFFFFF00-|r Added an option to ignore nicknames and always use character names.\n\n|cFFFFFF00-|r Enabling the display icon on title bar now makes the title text automatically move slightly to right.\n\n|cFFFFFF00-|r Fixed issue with skin changing when the window has the statusbar enabled.\n\n|cFFFFFF00v3.9.4 (|cFFFFCC00Feb 03, 2015|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Added option 'Ignore Mass Toggle', when enabled the window won't be affected when hiding, showing or toggling all windows.\n\n|cFFFFFF00-|r Added window number for slash commands 'hide', 'show' and 'toggle'. Usage: '/details hide 1' to hide window 1.\n\n|cFFFFFF00-|r Removed keybinds for Open and Close, added toggle instead.\n\n|cFFFFFF00-|r Added slash command 'toggle'.\n\n|cFFFFFF00-|r Added display icons for all skins which still didn't have they.\n\n|cFFFFFF00-|r Improved 'Align with right chat' tool, now it also supports Forced Square skin." Loc ["STRING_DETAILS1"] = "|cffffaeaeDetails!:|r " diff --git a/classes/classe_damage.lua b/classes/classe_damage.lua index 2425318b..f5589932 100644 --- a/classes/classe_damage.lua +++ b/classes/classe_damage.lua @@ -947,7 +947,7 @@ function atributo_damage:RefreshWindow (instancia, tabela_do_combate, forcar, ex local barras_container = instancia.barras - for i = instancia.barraS[1], instancia.barraS[2], 1 do --> vai atualizar só o range que esta sendo mostrado + for i = instancia.barraS[1], instancia.barraS[2], 1 do atributo_damage:AtualizarFrags (ntable[i], qual_barra, i, instancia) qual_barra = qual_barra+1 end @@ -1051,7 +1051,7 @@ function atributo_damage:RefreshWindow (instancia, tabela_do_combate, forcar, ex local qual_barra = 1 local barras_container = instancia.barras - for i = instancia.barraS[1], instancia.barraS[2], 1 do --> vai atualizar só o range que esta sendo mostrado + for i = instancia.barraS[1], instancia.barraS[2], 1 do vtable[i]:AtualizarVoidZone (qual_barra, i, instancia) qual_barra = qual_barra+1 end @@ -1251,35 +1251,39 @@ function atributo_damage:RefreshWindow (instancia, tabela_do_combate, forcar, ex gump:Fade (row1, "out") if (following and myPos and myPos > instancia.rows_fit_in_window and instancia.barraS[2] < myPos) then - for i = instancia.barraS[1], iter_last-1, 1 do --> vai atualizar só o range que esta sendo mostrado - conteudo[i]:AtualizaBarra (instancia, barras_container, qual_barra, i, total, sub_atributo, forcar, keyName, combat_time, percentage_type, use_animations, bars_show_data, bars_brackets, bars_separator) - qual_barra = qual_barra+1 + for i = instancia.barraS[1], iter_last-1, 1 do + if (conteudo[i]) then + conteudo[i]:AtualizaBarra (instancia, barras_container, qual_barra, i, total, sub_atributo, forcar, keyName, combat_time, percentage_type, use_animations, bars_show_data, bars_brackets, bars_separator) + qual_barra = qual_barra+1 + end end conteudo[myPos]:AtualizaBarra (instancia, barras_container, qual_barra, myPos, total, sub_atributo, forcar, keyName, combat_time, percentage_type, use_animations, bars_show_data, bars_brackets, bars_separator) qual_barra = qual_barra+1 else - for i = instancia.barraS[1], iter_last, 1 do --> vai atualizar só o range que esta sendo mostrado - conteudo[i]:AtualizaBarra (instancia, barras_container, qual_barra, i, total, sub_atributo, forcar, keyName, combat_time, percentage_type, use_animations, bars_show_data, bars_brackets, bars_separator) - qual_barra = qual_barra+1 + for i = instancia.barraS[1], iter_last, 1 do + if (conteudo[i]) then + conteudo[i]:AtualizaBarra (instancia, barras_container, qual_barra, i, total, sub_atributo, forcar, keyName, combat_time, percentage_type, use_animations, bars_show_data, bars_brackets, bars_separator) + qual_barra = qual_barra+1 + end end end else if (following and myPos and myPos > instancia.rows_fit_in_window and instancia.barraS[2] < myPos) then - for i = instancia.barraS[1], instancia.barraS[2]-1, 1 do --> vai atualizar só o range que esta sendo mostrado - conteudo[i]:AtualizaBarra (instancia, barras_container, qual_barra, i, total, sub_atributo, forcar, keyName, combat_time, percentage_type, use_animations, bars_show_data, bars_brackets, bars_separator) - qual_barra = qual_barra+1 + for i = instancia.barraS[1], instancia.barraS[2]-1, 1 do + if (conteudo[i]) then + conteudo[i]:AtualizaBarra (instancia, barras_container, qual_barra, i, total, sub_atributo, forcar, keyName, combat_time, percentage_type, use_animations, bars_show_data, bars_brackets, bars_separator) + qual_barra = qual_barra+1 + end end conteudo[myPos]:AtualizaBarra (instancia, barras_container, qual_barra, myPos, total, sub_atributo, forcar, keyName, combat_time, percentage_type, use_animations, bars_show_data, bars_brackets, bars_separator) qual_barra = qual_barra+1 else - for i = instancia.barraS[1], instancia.barraS[2], 1 do --> vai atualizar só o range que esta sendo mostrado - if (not conteudo[i]) then - print ("error on update", amount, conteudo[i], #conteudo, instancia.barraS[1], instancia.barraS[2]) - else ---[[ index nil value]] conteudo[i]:AtualizaBarra (instancia, barras_container, qual_barra, i, total, sub_atributo, forcar, keyName, combat_time, percentage_type, use_animations, bars_show_data, bars_brackets, bars_separator) + for i = instancia.barraS[1], instancia.barraS[2], 1 do + if (conteudo[i]) then + conteudo[i]:AtualizaBarra (instancia, barras_container, qual_barra, i, total, sub_atributo, forcar, keyName, combat_time, percentage_type, use_animations, bars_show_data, bars_brackets, bars_separator) qual_barra = qual_barra+1 end end @@ -1311,33 +1315,41 @@ function atributo_damage:RefreshWindow (instancia, tabela_do_combate, forcar, ex gump:Fade (row1, "out") if (following and myPos and myPos > instancia.rows_fit_in_window and instancia.barraS[2] < myPos) then - for i = iter_last-1, instancia.barraS[1], -1 do --> vai atualizar só o range que esta sendo mostrado - conteudo[i]:AtualizaBarra (instancia, barras_container, qual_barra, i, total, sub_atributo, forcar, keyName, combat_time, percentage_type, use_animations, bars_show_data, bars_brackets, bars_separator) - qual_barra = qual_barra+1 + for i = iter_last-1, instancia.barraS[1], -1 do + if (conteudo[i]) then + conteudo[i]:AtualizaBarra (instancia, barras_container, qual_barra, i, total, sub_atributo, forcar, keyName, combat_time, percentage_type, use_animations, bars_show_data, bars_brackets, bars_separator) + qual_barra = qual_barra+1 + end end conteudo[myPos]:AtualizaBarra (instancia, barras_container, qual_barra, myPos, total, sub_atributo, forcar, keyName, combat_time, percentage_type, use_animations, bars_show_data, bars_brackets, bars_separator) qual_barra = qual_barra+1 else - for i = iter_last, instancia.barraS[1], -1 do --> vai atualizar só o range que esta sendo mostrado - conteudo[i]:AtualizaBarra (instancia, barras_container, qual_barra, i, total, sub_atributo, forcar, keyName, combat_time, percentage_type, use_animations, bars_show_data, bars_brackets, bars_separator) - qual_barra = qual_barra+1 + for i = iter_last, instancia.barraS[1], -1 do + if (conteudo[i]) then + conteudo[i]:AtualizaBarra (instancia, barras_container, qual_barra, i, total, sub_atributo, forcar, keyName, combat_time, percentage_type, use_animations, bars_show_data, bars_brackets, bars_separator) + qual_barra = qual_barra+1 + end end end else if (following and myPos and myPos > instancia.rows_fit_in_window and instancia.barraS[2] < myPos) then - for i = instancia.barraS[2]-1, instancia.barraS[1], -1 do --> vai atualizar só o range que esta sendo mostrado - conteudo[i]:AtualizaBarra (instancia, barras_container, qual_barra, i, total, sub_atributo, forcar, keyName, combat_time, percentage_type, use_animations, bars_show_data, bars_brackets, bars_separator) - qual_barra = qual_barra+1 + for i = instancia.barraS[2]-1, instancia.barraS[1], -1 do + if (conteudo[i]) then + conteudo[i]:AtualizaBarra (instancia, barras_container, qual_barra, i, total, sub_atributo, forcar, keyName, combat_time, percentage_type, use_animations, bars_show_data, bars_brackets, bars_separator) + qual_barra = qual_barra+1 + end end conteudo[myPos]:AtualizaBarra (instancia, barras_container, qual_barra, myPos, total, sub_atributo, forcar, keyName, combat_time, percentage_type, use_animations, bars_show_data, bars_brackets, bars_separator) qual_barra = qual_barra+1 else -- /run print (_detalhes:GetInstance(1).barraS[2]) -- vai do 5 ao 1 -- qual barra começa no 1 -- i = 5 até 1 -- player 5 atualiza na barra 1 / player 1 atualiza na barra 5 - for i = instancia.barraS[2], instancia.barraS[1], -1 do --> vai atualizar só o range que esta sendo mostrado - conteudo[i]:AtualizaBarra (instancia, barras_container, qual_barra, i, total, sub_atributo, forcar, keyName, combat_time, percentage_type, use_animations, bars_show_data, bars_brackets, bars_separator) - qual_barra = qual_barra+1 + for i = instancia.barraS[2], instancia.barraS[1], -1 do + if (conteudo[i]) then + conteudo[i]:AtualizaBarra (instancia, barras_container, qual_barra, i, total, sub_atributo, forcar, keyName, combat_time, percentage_type, use_animations, bars_show_data, bars_brackets, bars_separator) + qual_barra = qual_barra+1 + end end end end @@ -3174,6 +3186,7 @@ function atributo_damage:MontaDetalhesDamageDone (spellid, barra, instancia) end local hits_string = "" .. total_hits + local cast_string = "Casted: " local misc_actor = info.instancia.showing (4, self:name()) if (misc_actor) then @@ -3181,10 +3194,27 @@ function atributo_damage:MontaDetalhesDamageDone (spellid, barra, instancia) if (debuff_uptime) then hits_string = hits_string .. " |cFFDDDD44(" .. _math_floor (debuff_uptime / info.instancia.showing:GetCombatTime() * 100) .. "% uptime)|r" end + + local spell_cast = misc_actor.spell_cast and misc_actor.spell_cast [spellid] + + if (not spell_cast and misc_actor.spell_cast) then + local spellname = GetSpellInfo (spellid) + for casted_spellid, amount in _pairs (misc_actor.spell_cast) do + local casted_spellname = GetSpellInfo (casted_spellid) + if (casted_spellname == spellname) then + spell_cast = amount .. " (|cFFFFFF00?|r)" + end + end + end + if (not spell_cast) then + spell_cast = "(|cFFFFFF00?|r)" + end + cast_string = cast_string .. spell_cast end gump:SetaDetalheInfoTexto ( index, 100, - Loc ["STRING_GERAL"], + --Loc ["STRING_GERAL"], + cast_string, Loc ["STRING_DAMAGE"]..": ".._detalhes:ToK (esta_magia.total), --Loc ["STRING_MULTISTRIKE"] .. ": " .. _cstr ("%.1f", esta_magia.counter/esta_magia.m_amt*100) .. "%", schooltext, --offhand, diff --git a/classes/classe_heal.lua b/classes/classe_heal.lua index 809ba33e..20b9b44f 100644 --- a/classes/classe_heal.lua +++ b/classes/classe_heal.lua @@ -1916,13 +1916,41 @@ function atributo_heal:MontaDetalhesHealingDone (spellid, barra) heal_string = Loc ["STRING_HEAL"] end + local hits_string = "" .. total_hits + local cast_string = "Casted: " + + local misc_actor = info.instancia.showing (4, self:name()) + if (misc_actor) then + local buff_uptime = misc_actor.buff_uptime_spells and misc_actor.buff_uptime_spells._ActorTable [spellid] and misc_actor.buff_uptime_spells._ActorTable [spellid].uptime + if (buff_uptime) then + hits_string = hits_string .. " |cFFDDDD44(" .. _math_floor (buff_uptime / info.instancia.showing:GetCombatTime() * 100) .. "% uptime)|r" + end + + local spell_cast = misc_actor.spell_cast and misc_actor.spell_cast [spellid] + + if (not spell_cast and misc_actor.spell_cast) then + local spellname = GetSpellInfo (spellid) + for casted_spellid, amount in _pairs (misc_actor.spell_cast) do + local casted_spellname = GetSpellInfo (casted_spellid) + if (casted_spellname == spellname) then + spell_cast = amount .. " (|cFFFFFF00?|r)" + end + end + end + if (not spell_cast) then + spell_cast = "(|cFFFFFF00?|r)" + end + cast_string = cast_string .. spell_cast + end + gump:SetaDetalheInfoTexto ( index, 100, - Loc ["STRING_GERAL"], + --Loc ["STRING_GERAL"], + cast_string, heal_string .. ": " .. _detalhes:ToK (esta_magia.total), "", --Loc ["STRING_PERCENTAGE"] .. ": " .. _cstr ("%.1f", esta_magia.total/total*100) .. "%", Loc ["STRING_AVERAGE"] .. ": " .. _detalhes:comma_value (media), this_hps, - Loc ["STRING_HITS"] .. ": " .. total_hits) + Loc ["STRING_HITS"] .. ": " .. hits_string) --> NORMAL local normal_hits = esta_magia.n_amt diff --git a/classes/classe_instancia.lua b/classes/classe_instancia.lua index 57b9e318..364cddc5 100644 --- a/classes/classe_instancia.lua +++ b/classes/classe_instancia.lua @@ -2334,7 +2334,7 @@ function _detalhes:MontaRaidOption (instancia) GameCooltip:SetOption ("NoLastSelectedBar", true) - GameCooltip:SetWallpaper (1, [[Interface\SPELLBOOK\Spellbook-Page-1]], {.6, 0.1, 0, 0.64453125}, {1, 1, 1, 0.1}, true) + GameCooltip:SetWallpaper (1, _detalhes.tooltip.menus_bg_texture, _detalhes.tooltip.menus_bg_coords, _detalhes.tooltip.menus_bg_color, true) return true end @@ -2349,14 +2349,17 @@ function _detalhes:MontaSoloOption (instancia) GameCooltip:SetLastSelected (1, _detalhes.SoloTables.Mode) end - GameCooltip:SetWallpaper (1, [[Interface\SPELLBOOK\Spellbook-Page-1]], {.6, 0.1, 0, 0.64453125}, {1, 1, 1, 0.1}, true) + GameCooltip:SetWallpaper (1, _detalhes.tooltip.menus_bg_texture, _detalhes.tooltip.menus_bg_coords, _detalhes.tooltip.menus_bg_color, true) return true end -- ~menu +local menu_wallpaper_tex = {63/512, 331/512, 109/512, 143/512} +local menu_wallpaper_color = {.8, .8, .8, 0.2} local wallpaper_bg_color = {.8, .8, .8, 0.2} + function _detalhes:MontaAtributosOption (instancia, func) func = func or instancia.TrocaTabela @@ -2473,8 +2476,7 @@ function _detalhes:MontaAtributosOption (instancia, func) end CoolTip:SetLastSelected (1, last_selected) - CoolTip:SetWallpaper (1, [[Interface\SPELLBOOK\DeathKnightBlood-TopLeft]], {.6, 0.1, 0, 0.64453125}, wallpaper_bg_color, true) - --CoolTip:SetWallpaper (1, [[Interface\ACHIEVEMENTFRAME\UI-Achievement-Parchment-Horizontal-Desaturated]], nil, {1, 1, 1, 0.3}) + CoolTip:SetWallpaper (1, _detalhes.tooltip.menus_bg_texture, _detalhes.tooltip.menus_bg_coords, _detalhes.tooltip.menus_bg_color, true) return menu_principal, sub_menus end diff --git a/classes/classe_others.lua b/classes/classe_others.lua index 60143894..47ce88bf 100644 --- a/classes/classe_others.lua +++ b/classes/classe_others.lua @@ -2384,6 +2384,16 @@ function atributo_misc:r_onlyrefresh_shadow (actor) _detalhes.refresh:r_atributo_misc (actor, shadow) + --> spell cast + if (actor.spell_cast) then + if (not shadow.spell_cast) then + shadow.spell_cast = {} + end + for spellid, _ in _pairs (actor.spell_cast) do + shadow.spell_cast [spellid] = shadow.spell_cast [spellid] or 0 + end + end + --> cc done if (actor.cc_done) then refresh_alvos (shadow.cc_done_targets, actor.cc_done_targets) @@ -2503,6 +2513,16 @@ function atributo_misc:r_connect_shadow (actor, no_refresh) _detalhes.refresh:r_atributo_misc (actor, shadow) end + if (actor.spell_cast) then + if (not shadow.spell_cast) then + shadow.spell_cast = {} + end + + for spellid, amount in _pairs (actor.spell_cast) do + shadow.spell_cast [spellid] = (shadow.spell_cast [spellid] or 0) + amount + end + end + if (actor.cc_done) then if (not shadow.cc_done_targets) then shadow.cc_done = _detalhes:GetOrderNumber() @@ -2703,6 +2723,13 @@ function _detalhes.refresh:r_atributo_misc (este_jogador, shadow) _setmetatable (este_jogador, _detalhes.atributo_misc) este_jogador.__index = _detalhes.atributo_misc + --> refresh spell cast + if (este_jogador.spell_cast) then + if (shadow and not shadow.spell_cast) then + shadow.spell_cast = {} + end + end + --> refresh cc done if (este_jogador.cc_done) then if (shadow and not shadow.cc_done_targets) then @@ -2839,6 +2866,12 @@ end atributo_misc.__add = function (tabela1, tabela2) + if (tabela2.spell_cast) then + for spellid, amount in _pairs (tabela2.spell_cast) do + tabela1.spell_cast [spellid] = (tabela1.spell_cast [spellid] or 0) + amount + end + end + if (tabela2.cc_done) then tabela1.cc_done = tabela1.cc_done + tabela2.cc_done @@ -3097,6 +3130,12 @@ end atributo_misc.__sub = function (tabela1, tabela2) + if (tabela2.spell_cast) then + for spellid, amount in _pairs (tabela2.spell_cast) do + tabela1.spell_cast [spellid] = (tabela1.spell_cast [spellid] or 0) - amount + end + end + if (tabela2.cc_done) then tabela1.cc_done = tabela1.cc_done - tabela2.cc_done diff --git a/core/parser.lua b/core/parser.lua index cd1f4301..becfbfc2 100644 --- a/core/parser.lua +++ b/core/parser.lua @@ -2155,11 +2155,40 @@ --> search key: ~spellcast ~castspell ~cast function parser:spellcast (token, time, who_serial, who_name, who_flags, alvo_serial, alvo_name, alvo_flags, spellid, spellname, spelltype) + + ------------------------------------------------------------------------------------------------ + --> early checks and fixes + + --> only capture if is in combat + if (not _in_combat) then + return + end + + if (not who_name) then + who_name = "[*] " .. spellname + end - --if (spellname == "Shield Block") then - -- print (who_name, spellid, spellname) - --end + ------------------------------------------------------------------------------------------------ + --> get actors + --> main actor + local este_jogador = misc_cache [who_name] + if (not este_jogador) then + este_jogador, meu_dono, who_name = _current_misc_container:PegarCombatente (who_serial, who_name, who_flags, true) + if (not meu_dono) then --> se não for um pet, adicionar no cache + misc_cache [who_name] = este_jogador + end + end + + ------------------------------------------------------------------------------------------------ + --> build containers on the fly + local spell_cast = este_jogador.spell_cast + if (not spell_cast) then + este_jogador.spell_cast = {[spellid] = 1} + else + spell_cast [spellid] = (spell_cast [spellid] or 0) + 1 + end + ------------------------------------------------------------------------------------------------ --> record cooldowns cast which can't track with buff applyed. @@ -2176,9 +2205,8 @@ end end return parser:add_defensive_cooldown (token, time, who_serial, who_name, who_flags, alvo_serial, alvo_name, alvo_flags, spellid, spellname) - else - return end + else --> enemy successful casts (not interrupted) if (_bit_band (who_flags, 0x00000040) ~= 0 and who_name) then --> byte 2 = 4 (enemy) diff --git a/framework/pictureedit.lua b/framework/pictureedit.lua index 888f281e..3ce93b38 100644 --- a/framework/pictureedit.lua +++ b/framework/pictureedit.lua @@ -36,9 +36,13 @@ local _ window:StopMovingOrSizing() end) - local background_frame_image = background_frame:CreateTexture (nil, "background") - background_frame_image:SetAllPoints (background_frame) - background_frame_image:SetTexture ([[Interface\AddOns\Details\images\welcome]]) + background_frame:SetBackdrop ({bgFile = "Interface\\Tooltips\\UI-Tooltip-Background", tile = true, tileSize = 64, + edgeFile = [[Interface\AddOns\Details\images\border_3]], edgeSize = 9, insets = {left = 2, right = 2, top = 3, bottom = 3}}) + background_frame:SetBackdropColor (0, 0, 0, 0.95) + +-- local background_frame_image = background_frame:CreateTexture (nil, "background") +-- background_frame_image:SetAllPoints (background_frame) +-- background_frame_image:SetTexture ([[Interface\AddOns\Details\images\welcome]]) local haveHFlip = false local haveVFlip = false diff --git a/framework/textentry.lua b/framework/textentry.lua index 9a2e53f9..acbbbd77 100644 --- a/framework/textentry.lua +++ b/framework/textentry.lua @@ -578,6 +578,9 @@ function gump:NewTextEntry (parent, container, name, member, w, h, func, param1, TextEntryObject.label = _G [name .. "_Desc"] + TextEntryObject.editbox:SetBackdrop ({bgFile = [[Interface\AddOns\Details\images\background]], tileSize = 64, edgeFile = [[Interface\AddOns\Details\images\border_2]], edgeSize = 12, insets = {left = 1, right = 1, top = 1, bottom = 1}}) + TextEntryObject.editbox:SetBackdropColor (0, 0, 0, 0.5) + --> hooks TextEntryObject.editbox:SetScript ("OnEnter", OnEnter) TextEntryObject.editbox:SetScript ("OnLeave", OnLeave) diff --git a/functions/profiles.lua b/functions/profiles.lua index 23490be2..6649f010 100644 --- a/functions/profiles.lua +++ b/functions/profiles.lua @@ -842,6 +842,8 @@ local default_profile = { window_clamp = {-8, 0, 21, -14}, disable_window_groups = false, disable_reset_button = false, + disable_lock_ungroup_buttons = false, + disable_stretch_from_toolbar = false, damage_taken_everything = false, --> segments @@ -957,6 +959,11 @@ local default_profile = { tooltip_max_abilities = 5, tooltip_max_targets = 2, tooltip_max_pets = 2, + + menus_bg_coords = {331/512, 63/512, 109/512, 143/512}, + menus_bg_color = {.8, .8, .8, 0.2}, + menus_bg_texture = [[Interface\SPELLBOOK\Spellbook-Page-1]], + }, } diff --git a/functions/spells.lua b/functions/spells.lua index 589e50b7..0d408a3e 100644 --- a/functions/spells.lua +++ b/functions/spells.lua @@ -384,7 +384,6 @@ do [23881] = 72, -- Bloodthirst [23588] = 72, -- Crazed Berserker [46917] = 72, -- Titan's Grip - [5308] = 72, -- Execute -- Protection Warrior: [152276] = 73, -- Gladiator's Resolve @@ -409,7 +408,11 @@ do [122509] = 73, -- Ultimatum [29144] = 73, -- Unwavering Sentinel [157497] = 73, -- Improved Block - + [6343] = 73, -- Thunder Clap + [71] = 73, -- Defensive Stance + [157494] = 73, -- Improved Defensive Stance + [57755] = 73, -- Heroic Throw + } _detalhes.ClassSpellList = { @@ -1432,7 +1435,7 @@ do --[29842] = "WARRIOR", --undribled wrath } - -- updated on 30/03/2015 (@Tonyleila - WoWInterface) + -- updated on 25/04/2015 (@Tonyleila - WoWInterface) _detalhes.CrowdControlSpells = { --Racials @@ -1506,6 +1509,7 @@ do [119381] = true, -- Leg Sweep [115078] = true, -- Paralysis [116705] = true, -- Spear Hand Strike + [142895] = true, -- Incapacitated (ring of peace) --paladin [31935] = true, -- Avenger's Shield diff --git a/gumps/janela_info.lua b/gumps/janela_info.lua index 685ed692..75c5942b 100644 --- a/gumps/janela_info.lua +++ b/gumps/janela_info.lua @@ -2648,54 +2648,108 @@ function gump:CriaJanelaInfo() local create_tooltip = function (name) local tooltip = CreateFrame ("frame", name, UIParent) - tooltip:SetBackdrop({bgFile = [[Interface\Tooltips\UI-Tooltip-Background]], edgeFile = [[Interface\Tooltips\UI-Tooltip-Border]], tile = true, tileSize = 16, edgeSize = 12, insets = {left = 1, right = 1, top = 1, bottom = 1},}) - tooltip:SetBackdropColor (0, 0, 0, 1) - tooltip:SetSize (175, 67) + tooltip:SetBackdrop (_detalhes.tooltip_backdrop) + tooltip:SetBackdropColor (unpack (_detalhes.tooltip_border_color)) + tooltip:SetSize (175, 79) tooltip:SetFrameStrata ("tooltip") - local background = tooltip:CreateTexture (nil, "artwork") + local background = tooltip:CreateTexture (nil, "border") background:SetTexture ([[Interface\SPELLBOOK\Spellbook-Page-1]]) background:SetTexCoord (.6, 0.1, 0, 0.64453125) - background:SetVertexColor (1, 1, 1, 0.2) + background:SetVertexColor (0, 0, 0, 0.2) background:SetPoint ("topleft", tooltip, "topleft", 2, -4) background:SetPoint ("bottomright", tooltip, "bottomright", -4, 2) + tooltip.casts_label = tooltip:CreateFontString (nil, "overlay", "GameFontHighlightSmall") + tooltip.casts_label:SetPoint ("topleft", tooltip, "topleft", 10, -10) + tooltip.casts_label:SetText ("Total Casts:") + tooltip.casts_label:SetJustifyH ("left") + tooltip.casts_label2 = tooltip:CreateFontString (nil, "overlay", "GameFontHighlightSmall") + tooltip.casts_label2:SetPoint ("topright", tooltip, "topright", -10, -10) + tooltip.casts_label2:SetText ("0") + tooltip.casts_label2:SetJustifyH ("right") + tooltip.hits_label = tooltip:CreateFontString (nil, "overlay", "GameFontHighlightSmall") - tooltip.hits_label:SetPoint ("topleft", tooltip, "topleft", 10, -10) + tooltip.hits_label:SetPoint ("topleft", tooltip, "topleft", 10, -22) tooltip.hits_label:SetText ("Total Hits:") tooltip.hits_label:SetJustifyH ("left") tooltip.hits_label2 = tooltip:CreateFontString (nil, "overlay", "GameFontHighlightSmall") - tooltip.hits_label2:SetPoint ("topright", tooltip, "topright", -10, -10) + tooltip.hits_label2:SetPoint ("topright", tooltip, "topright", -10, -22) tooltip.hits_label2:SetText ("0") tooltip.hits_label2:SetJustifyH ("right") tooltip.average_label = tooltip:CreateFontString (nil, "overlay", "GameFontHighlightSmall") - tooltip.average_label:SetPoint ("topleft", tooltip, "topleft", 10, -22) + tooltip.average_label:SetPoint ("topleft", tooltip, "topleft", 10, -34) tooltip.average_label:SetText ("Average:") tooltip.average_label:SetJustifyH ("left") tooltip.average_label2 = tooltip:CreateFontString (nil, "overlay", "GameFontHighlightSmall") - tooltip.average_label2:SetPoint ("topright", tooltip, "topright", -10, -22) + tooltip.average_label2:SetPoint ("topright", tooltip, "topright", -10, -34) tooltip.average_label2:SetText ("0") tooltip.average_label2:SetJustifyH ("right") tooltip.crit_label = tooltip:CreateFontString (nil, "overlay", "GameFontHighlightSmall") - tooltip.crit_label:SetPoint ("topleft", tooltip, "topleft", 10, -34) + tooltip.crit_label:SetPoint ("topleft", tooltip, "topleft", 10, -46) tooltip.crit_label:SetText ("Critical:") tooltip.crit_label:SetJustifyH ("left") tooltip.crit_label2 = tooltip:CreateFontString (nil, "overlay", "GameFontHighlightSmall") - tooltip.crit_label2:SetPoint ("topright", tooltip, "topright", -10, -34) + tooltip.crit_label2:SetPoint ("topright", tooltip, "topright", -10, -46) tooltip.crit_label2:SetText ("0") tooltip.crit_label2:SetJustifyH ("right") tooltip.uptime_label = tooltip:CreateFontString (nil, "overlay", "GameFontHighlightSmall") - tooltip.uptime_label:SetPoint ("topleft", tooltip, "topleft", 10, -46) + tooltip.uptime_label:SetPoint ("topleft", tooltip, "topleft", 10, -58) tooltip.uptime_label:SetText ("Uptime:") tooltip.uptime_label:SetJustifyH ("left") tooltip.uptime_label2 = tooltip:CreateFontString (nil, "overlay", "GameFontHighlightSmall") - tooltip.uptime_label2:SetPoint ("topright", tooltip, "topright", -10, -46) + tooltip.uptime_label2:SetPoint ("topright", tooltip, "topright", -10, -58) tooltip.uptime_label2:SetText ("0") tooltip.uptime_label2:SetJustifyH ("right") + local bg_color = {0.5, 0.5, 0.5} + local bg_texture = [[Interface\WorldStateFrame\WORLDSTATEFINALSCORE-HIGHLIGHT]] + local bg_alpha = 0.3 + local bg_height = 20 + + local bg_line1 = tooltip:CreateTexture (nil, "artwork") + bg_line1:SetTexture (bg_texture) + bg_line1:SetPoint ("topleft", tooltip, "topleft", 5, -10) + bg_line1:SetPoint ("topright", tooltip, "topright", -5, -10) + bg_line1:SetHeight (bg_height) + bg_line1:SetAlpha (bg_alpha) + bg_line1:SetVertexColor (unpack (bg_color)) + + local bg_line2 = tooltip:CreateTexture (nil, "artwork") + bg_line2:SetTexture (bg_texture) + bg_line2:SetPoint ("topleft", tooltip, "topleft", 5, -22) + bg_line2:SetPoint ("topright", tooltip, "topright", -5, -22) + bg_line2:SetHeight (bg_height) + bg_line2:SetAlpha (bg_alpha) + bg_line2:SetVertexColor (unpack (bg_color)) + + local bg_line3 = tooltip:CreateTexture (nil, "artwork") + bg_line3:SetTexture (bg_texture) + bg_line3:SetPoint ("topleft", tooltip, "topleft", 5, -34) + bg_line3:SetPoint ("topright", tooltip, "topright", -5, -34) + bg_line3:SetHeight (bg_height) + bg_line3:SetAlpha (bg_alpha) + bg_line3:SetVertexColor (unpack (bg_color)) + + local bg_line4 = tooltip:CreateTexture (nil, "artwork") + bg_line4:SetTexture (bg_texture) + bg_line4:SetPoint ("topleft", tooltip, "topleft", 5, -46) + bg_line4:SetPoint ("topright", tooltip, "topright", -5, -46) + bg_line4:SetHeight (bg_height) + bg_line4:SetAlpha (bg_alpha) + bg_line4:SetVertexColor (unpack (bg_color)) + + local bg_line5 = tooltip:CreateTexture (nil, "artwork") + bg_line5:SetTexture (bg_texture) + bg_line5:SetPoint ("topleft", tooltip, "topleft", 5, -56) + bg_line5:SetPoint ("topright", tooltip, "topright", -5, -56) + bg_line5:SetHeight (bg_height) + bg_line5:SetAlpha (bg_alpha) + bg_line5:SetVertexColor (unpack (bg_color)) + return tooltip end diff --git a/gumps/janela_options.lua b/gumps/janela_options.lua index 5f5965f1..6c7072c7 100644 --- a/gumps/janela_options.lua +++ b/gumps/janela_options.lua @@ -53,12 +53,10 @@ local button_color_rgb = {1, 0.93, 0.74} local font_select_icon, font_select_texcoord = [[Interface\AddOns\Details\images\icons]], {472/512, 513/512, 186/512, 230/512} local texture_select_icon, texture_select_texcoord = [[Interface\AddOns\Details\images\icons]], {472/512, 513/512, 186/512, 230/512} -local dropdown_backdrop = {edgeFile = "Interface\\DialogFrame\\UI-DialogBox-Border", edgeSize = 10, -bgFile = "Interface\\DialogFrame\\UI-DialogBox-Background", tile = true, tileSize = 16, insets = {left = 1, right = 1, top = 0, bottom = 1}} - local dropdown_backdrop = {edgeFile = [[Interface\AddOns\Details\images\border_2]], edgeSize = 14, -bgFile = "Interface\\DialogFrame\\UI-DialogBox-Background", tile = true, tileSize = 16, insets = {left = 3, right = 3, top = 4, bottom = 4}} +bgFile = "Interface\\DialogFrame\\UI-DialogBox-Background", tile = true, tileSize = 16, insets = {left = 3, right = 3, top = 0, bottom = 0}} dropdown_backdrop_border_color = {.7, .7, .7} +local dropdown_height = 16 local dropdown_backdrop_onenter = {0, 0, 0, 1} local dropdown_backdrop_onleave = {.1, .1, .1, .9} @@ -1287,7 +1285,7 @@ function window:CreateFrame20() end g:NewLabel (frame20, _, "$parentTooltipFontLabel", "TooltipFontLabel", Loc ["STRING_OPTIONS_TOOLTIPS_FONTFACE"] , "GameFontHighlightLeft") - local d = g:NewDropDown (frame20, _, "$parentTooltipFontDropdown", "TooltipFontDropdown", DROPDOWN_WIDTH, 20, build_tooltip_menu, _detalhes.tooltip.fontface) + local d = g:NewDropDown (frame20, _, "$parentTooltipFontDropdown", "TooltipFontDropdown", DROPDOWN_WIDTH, dropdown_height, build_tooltip_menu, _detalhes.tooltip.fontface) d.onenter_backdrop = dropdown_backdrop_onenter d.onleave_backdrop = dropdown_backdrop_onleave d:SetBackdrop (dropdown_backdrop) @@ -1350,7 +1348,7 @@ function window:CreateFrame20() return abbreviationOptions end - local d = g:NewDropDown (frame20, _, "$parentTooltipAbbreviateDropdown", "TooltipdpsAbbreviateDropdown", 160, 20, buildAbbreviationMenu, _detalhes.tooltip.abbreviation) + local d = g:NewDropDown (frame20, _, "$parentTooltipAbbreviateDropdown", "TooltipdpsAbbreviateDropdown", 160, dropdown_height, buildAbbreviationMenu, _detalhes.tooltip.abbreviation) d.onenter_backdrop = dropdown_backdrop_onenter d.onleave_backdrop = dropdown_backdrop_onleave d:SetBackdrop (dropdown_backdrop) @@ -1388,7 +1386,7 @@ function window:CreateFrame20() return maximizeOptions end - local d = g:NewDropDown (frame20, _, "$parentTooltipMaximizeDropdown", "TooltipMaximizeDropdown", 160, 20, buildMaximizeMenu, _detalhes.tooltip.maximize_method) + local d = g:NewDropDown (frame20, _, "$parentTooltipMaximizeDropdown", "TooltipMaximizeDropdown", 160, dropdown_height, buildMaximizeMenu, _detalhes.tooltip.maximize_method) d.onenter_backdrop = dropdown_backdrop_onenter d.onleave_backdrop = dropdown_backdrop_onleave d:SetBackdrop (dropdown_backdrop) @@ -1432,7 +1430,7 @@ function window:CreateFrame20() end g:NewLabel (frame20, _, "$parentBackdropBorderTextureLabel", "BackdropBorderTextureLabel", Loc ["STRING_TEXTURE"], "GameFontHighlightLeft") - local d = g:NewDropDown (frame20, _, "$parentBackdropBorderTextureDropdown", "BackdropBorderTextureDropdown", DROPDOWN_WIDTH, 20, buildTextureBackdropMenu, _detalhes.tooltip.border_texture) + local d = g:NewDropDown (frame20, _, "$parentBackdropBorderTextureDropdown", "BackdropBorderTextureDropdown", DROPDOWN_WIDTH, dropdown_height, buildTextureBackdropMenu, _detalhes.tooltip.border_texture) d.onenter_backdrop = dropdown_backdrop_onenter d.onleave_backdrop = dropdown_backdrop_onleave d:SetBackdrop (dropdown_backdrop) @@ -1508,7 +1506,7 @@ function window:CreateFrame20() return anchorOptions end - local d = g:NewDropDown (frame20, _, "$parentTooltipAnchorDropdown", "TooltipAnchorDropdown", 160, 20, buildAnchorMenu, _detalhes.tooltip.anchored_to) + local d = g:NewDropDown (frame20, _, "$parentTooltipAnchorDropdown", "TooltipAnchorDropdown", 160, dropdown_height, buildAnchorMenu, _detalhes.tooltip.anchored_to) d.onenter_backdrop = dropdown_backdrop_onenter d.onleave_backdrop = dropdown_backdrop_onleave d:SetBackdrop (dropdown_backdrop) @@ -1542,7 +1540,7 @@ function window:CreateFrame20() return anchorPointOptions end - local d = g:NewDropDown (frame20, _, "$parentTooltipAnchorSideDropdown", "TooltipAnchorSideDropdown", 160, 20, buildAnchorPointMenu, _detalhes.tooltip.anchor_point) + local d = g:NewDropDown (frame20, _, "$parentTooltipAnchorSideDropdown", "TooltipAnchorSideDropdown", 160, dropdown_height, buildAnchorPointMenu, _detalhes.tooltip.anchor_point) d.onenter_backdrop = dropdown_backdrop_onenter d.onleave_backdrop = dropdown_backdrop_onleave d:SetBackdrop (dropdown_backdrop) @@ -1574,7 +1572,7 @@ function window:CreateFrame20() return anchorRelativeOptions end - local d = g:NewDropDown (frame20, _, "$parentTooltipRelativeSideDropdown", "TooltipRelativeSideDropdown", 160, 20, buildAnchorRelativeMenu, _detalhes.tooltip.anchor_relative) + local d = g:NewDropDown (frame20, _, "$parentTooltipRelativeSideDropdown", "TooltipRelativeSideDropdown", 160, dropdown_height, buildAnchorRelativeMenu, _detalhes.tooltip.anchor_relative) d.onenter_backdrop = dropdown_backdrop_onenter d.onleave_backdrop = dropdown_backdrop_onleave d:SetBackdrop (dropdown_backdrop) @@ -1607,6 +1605,22 @@ function window:CreateFrame20() end) window:CreateLineBackground2 (frame20, "TooltipOffsetYSlider", "TooltipOffsetYLabel", Loc ["STRING_OPTIONS_TOOLTIPS_OFFSETY_DESC"]) + --> edit menu background + local edit_menu_bg_callback = function (width, height, overlayColor, alpha, texCoords) + _detalhes.tooltip.menus_bg_color[1] = overlayColor[1] + _detalhes.tooltip.menus_bg_color[2] = overlayColor[2] + _detalhes.tooltip.menus_bg_color[3] = overlayColor[3] + _detalhes.tooltip.menus_bg_color[4] = alpha + _detalhes.tooltip.menus_bg_coords = texCoords + end + local edit_menu_bg_func = function() + g:ImageEditor (edit_menu_bg_callback, _detalhes.tooltip.menus_bg_texture, _detalhes.tooltip.menus_bg_coords, _detalhes.tooltip.menus_bg_color, 250, 300, nil, _detalhes.tooltip.menus_bg_color[4], true) + end + local edit_menu_bg = g:NewButton (frame20, nil, "$parentEditMenuBgButton", "EditMenuBgButton", window.buttons_width, 18, edit_menu_bg_func, nil, nil, nil, Loc ["STRING_OPTIONS_TOOLTIPS_MENU_WALLP"]) + edit_menu_bg:InstallCustomTexture (nil, nil, nil, nil, nil, true) + edit_menu_bg:SetIcon ([[Interface\CHATFRAME\UI-ChatIcon-Maximize-Down]], 12, 12, nil, {6/32, 23/32, 10/32, 25/32}, nil, 4, 2) + window:CreateLineBackground2 (frame20, "EditMenuBgButton", "EditMenuBgButton", Loc ["STRING_OPTIONS_TOOLTIPS_MENU_WALLP_DESC"], nil, {1, 0.8, 0}, button_color_rgb) + --> anchors: --general anchor @@ -1651,6 +1665,7 @@ function window:CreateFrame20() {"TooltipRelativeSideLabel", 5}, {"TooltipOffsetXLabel", 6, true}, {"TooltipOffsetYLabel", 7}, + {edit_menu_bg, 8, true}, } window:arrange_menu (frame20, right_side, x, -90) @@ -1706,7 +1721,7 @@ function window:CreateFrame19() local build_menu = function() return menu end - local dropdown = g:NewDropDown (frame19, _, "$parentMinimapActionDropdown", "minimapActionDropdown", 160, 20, build_menu, _detalhes.minimap.onclick_what_todo) + local dropdown = g:NewDropDown (frame19, _, "$parentMinimapActionDropdown", "minimapActionDropdown", 160, dropdown_height, build_menu, _detalhes.minimap.onclick_what_todo) dropdown.onenter_backdrop = dropdown_backdrop_onenter dropdown.onleave_backdrop = dropdown_backdrop_onleave dropdown:SetBackdrop (dropdown_backdrop) @@ -1796,7 +1811,7 @@ function window:CreateFrame19() return abbreviationOptions end - local d = g:NewDropDown (frame19, _, "$parentBrokerNumberAbbreviateDropdown", "BrokerNumberAbbreviateDropdown", 160, 20, buildAbbreviationMenu, _detalhes.minimap.text_format) + local d = g:NewDropDown (frame19, _, "$parentBrokerNumberAbbreviateDropdown", "BrokerNumberAbbreviateDropdown", 160, dropdown_height, buildAbbreviationMenu, _detalhes.minimap.text_format) d.onenter_backdrop = dropdown_backdrop_onenter d.onleave_backdrop = dropdown_backdrop_onleave d:SetBackdrop (dropdown_backdrop) @@ -1913,7 +1928,7 @@ function window:CreateFrame18() return BuildSwitchMenu() end - local d = g:NewDropDown (frame18, _, "$parentAutoSwitchDropdown", "autoSwitchDropdown", 160, 20, BuildThisMenu, 1) + local d = g:NewDropDown (frame18, _, "$parentAutoSwitchDropdown", "autoSwitchDropdown", 160, dropdown_height, BuildThisMenu, 1) d.onenter_backdrop = dropdown_backdrop_onenter d.onleave_backdrop = dropdown_backdrop_onleave d:SetBackdrop (dropdown_backdrop) @@ -1943,7 +1958,7 @@ function window:CreateFrame18() return BuildSwitchMenu() end - local d = g:NewDropDown (frame18, _, "$parentAutoSwitchWipeDropdown", "autoSwitchWipeDropdown", 160, 20, BuildThisMenu, 1) -- func, default + local d = g:NewDropDown (frame18, _, "$parentAutoSwitchWipeDropdown", "autoSwitchWipeDropdown", 160, dropdown_height, BuildThisMenu, 1) -- func, default d.onenter_backdrop = dropdown_backdrop_onenter d.onleave_backdrop = dropdown_backdrop_onleave d:SetBackdrop (dropdown_backdrop) @@ -1973,7 +1988,7 @@ function window:CreateFrame18() return BuildSwitchMenu() end - local d = g:NewDropDown (frame18, _, "$parentAutoSwitchDamageNoCombatDropdown", "AutoSwitchDamageNoCombatDropdown", 160, 20, BuildThisMenu, 1) -- func, default + local d = g:NewDropDown (frame18, _, "$parentAutoSwitchDamageNoCombatDropdown", "AutoSwitchDamageNoCombatDropdown", 160, dropdown_height, BuildThisMenu, 1) -- func, default d.onenter_backdrop = dropdown_backdrop_onenter d.onleave_backdrop = dropdown_backdrop_onleave d:SetBackdrop (dropdown_backdrop) @@ -2004,7 +2019,7 @@ function window:CreateFrame18() return BuildSwitchMenu() end - local d = g:NewDropDown (frame18, _, "$parentAutoSwitchDamageCombatDropdown", "AutoSwitchDamageCombatDropdown", 160, 20, BuildThisMenu, 1) -- func, default + local d = g:NewDropDown (frame18, _, "$parentAutoSwitchDamageCombatDropdown", "AutoSwitchDamageCombatDropdown", 160, dropdown_height, BuildThisMenu, 1) -- func, default d.onenter_backdrop = dropdown_backdrop_onenter d.onleave_backdrop = dropdown_backdrop_onleave d:SetBackdrop (dropdown_backdrop) @@ -2035,7 +2050,7 @@ function window:CreateFrame18() return BuildSwitchMenu() end - local d = g:NewDropDown (frame18, _, "$parentAutoSwitchHealNoCombatDropdown", "AutoSwitchHealNoCombatDropdown", 160, 20, BuildThisMenu, 1) -- func, default + local d = g:NewDropDown (frame18, _, "$parentAutoSwitchHealNoCombatDropdown", "AutoSwitchHealNoCombatDropdown", 160, dropdown_height, BuildThisMenu, 1) -- func, default d.onenter_backdrop = dropdown_backdrop_onenter d.onleave_backdrop = dropdown_backdrop_onleave d:SetBackdrop (dropdown_backdrop) @@ -2067,7 +2082,7 @@ function window:CreateFrame18() return BuildSwitchMenu() end - local d = g:NewDropDown (frame18, _, "$parentAutoSwitchHealCombatDropdown", "AutoSwitchHealCombatDropdown", 160, 20, BuildThisMenu, 1) -- func, default + local d = g:NewDropDown (frame18, _, "$parentAutoSwitchHealCombatDropdown", "AutoSwitchHealCombatDropdown", 160, dropdown_height, BuildThisMenu, 1) -- func, default d.onenter_backdrop = dropdown_backdrop_onenter d.onleave_backdrop = dropdown_backdrop_onleave d:SetBackdrop (dropdown_backdrop) @@ -2099,7 +2114,7 @@ function window:CreateFrame18() return BuildSwitchMenu() end - local d = g:NewDropDown (frame18, _, "$parentAutoSwitchTankNoCombatDropdown", "AutoSwitchTankNoCombatDropdown", 160, 20, BuildThisMenu, 1) -- func, default + local d = g:NewDropDown (frame18, _, "$parentAutoSwitchTankNoCombatDropdown", "AutoSwitchTankNoCombatDropdown", 160, dropdown_height, BuildThisMenu, 1) -- func, default d.onenter_backdrop = dropdown_backdrop_onenter d.onleave_backdrop = dropdown_backdrop_onleave d:SetBackdrop (dropdown_backdrop) @@ -2130,7 +2145,7 @@ function window:CreateFrame18() return BuildSwitchMenu() end - local d = g:NewDropDown (frame18, _, "$parentAutoSwitchTankCombatDropdown", "AutoSwitchTankCombatDropdown", 160, 20, BuildThisMenu, 1) -- func, default + local d = g:NewDropDown (frame18, _, "$parentAutoSwitchTankCombatDropdown", "AutoSwitchTankCombatDropdown", 160, dropdown_height, BuildThisMenu, 1) -- func, default d.onenter_backdrop = dropdown_backdrop_onenter d.onleave_backdrop = dropdown_backdrop_onleave d:SetBackdrop (dropdown_backdrop) @@ -2210,7 +2225,7 @@ function window:CreateFrame18() return InstanceList end - local d = g:NewDropDown (frame18, _, "$parentDeleteInstanceDropdown", "deleteInstanceDropdown", 160, 20, buildSelectDeleteInstance, 0) -- func, default + local d = g:NewDropDown (frame18, _, "$parentDeleteInstanceDropdown", "deleteInstanceDropdown", 160, dropdown_height, buildSelectDeleteInstance, 0) -- func, default d.onenter_backdrop = dropdown_backdrop_onenter d.onleave_backdrop = dropdown_backdrop_onleave d:SetBackdrop (dropdown_backdrop) @@ -2264,7 +2279,7 @@ function window:CreateFrame18() return fontTable end - local d = g:NewDropDown (frame18, _, "$parentFontDropdown", "fontDropdown", DROPDOWN_WIDTH, 20, buildFontMenu, nil) + local d = g:NewDropDown (frame18, _, "$parentFontDropdown", "fontDropdown", DROPDOWN_WIDTH, dropdown_height, buildFontMenu, nil) d.onenter_backdrop = dropdown_backdrop_onenter d.onleave_backdrop = dropdown_backdrop_onleave d:SetBackdrop (dropdown_backdrop) @@ -2299,6 +2314,18 @@ function window:CreateFrame18() window:CreateLineBackground2 (frame18, "DisableResetSlider", "DisableResetLabel", Loc ["STRING_OPTIONS_DISABLE_RESET_DESC"]) + --> disable lock resize ungroup buttons + g:NewLabel (frame18, _, "$parentDisableLockResizeUngroupLabel", "DisableLockResizeUngroupLabel", Loc ["STRING_OPTIONS_DISABLE_LOCK_RESIZE"], "GameFontHighlightLeft") + g:NewSwitch (frame18, _, "$parentDisableLockResizeUngroupSlider", "DisableLockResizeUngroupSlider", 60, 20, _, _, _detalhes.disable_lock_ungroup_buttons) + + frame18.DisableLockResizeUngroupSlider:SetPoint ("left", frame18.DisableLockResizeUngroupLabel, "right", 2) + frame18.DisableLockResizeUngroupSlider.OnSwitch = function (_, _, value) + _detalhes.disable_lock_ungroup_buttons = value + _detalhes:SendOptionsModifiedEvent (DetailsOptionsWindow.instance) + end + + window:CreateLineBackground2 (frame18, "DisableLockResizeUngroupSlider", "DisableLockResizeUngroupLabel", Loc ["STRING_OPTIONS_DISABLE_LOCK_RESIZE_DESC"]) + --> damage taken always on everything g:NewLabel (frame18, _, "$parentDamageTakenEverythingLabel", "DamageTakenEverythingLabel", Loc ["STRING_OPTIONS_DTAKEN_EVERYTHING"], "GameFontHighlightLeft") g:NewSwitch (frame18, _, "$parentDamageTakenEverythingSlider", "DamageTakenEverythingSlider", 60, 20, _, _, _detalhes.damage_taken_everything) @@ -2368,7 +2395,7 @@ function window:CreateFrame18() local BuildReportFormatOptions = function() return ReportFormatOptions end - local d = g:NewDropDown (frame18, _, "$parentReportFormatDropdown", "ReportFormatDropdown", 160, 20, BuildReportFormatOptions, nil) + local d = g:NewDropDown (frame18, _, "$parentReportFormatDropdown", "ReportFormatDropdown", 160, dropdown_height, BuildReportFormatOptions, nil) d.onenter_backdrop = dropdown_backdrop_onenter d.onleave_backdrop = dropdown_backdrop_onleave d:SetBackdrop (dropdown_backdrop) @@ -2422,8 +2449,9 @@ function window:CreateFrame18() {"fontLabel", 4}, {"DisableGroupsLabel", 5, true}, {"DisableResetLabel", 6}, - {"DamageTakenEverythingLabel", 7}, - {"scrollLabel", 8, true}, + {"DisableLockResizeUngroupLabel", 7}, + {"DamageTakenEverythingLabel", 8}, + {"scrollLabel", 9, true}, } @@ -2474,7 +2502,7 @@ function window:CreateFrame17() return typeCombatAlpha end - local d = g:NewDropDown (frame17, _, "$parentCombatAlphaDropdown", "combatAlphaDropdown", 160, 20, buildTypeCombatAlpha, nil) + local d = g:NewDropDown (frame17, _, "$parentCombatAlphaDropdown", "combatAlphaDropdown", 160, dropdown_height, buildTypeCombatAlpha, nil) d.onenter_backdrop = dropdown_backdrop_onenter d.onleave_backdrop = dropdown_backdrop_onleave d:SetBackdrop (dropdown_backdrop) @@ -3439,7 +3467,7 @@ function window:CreateFrame14() end g:NewLabel (frame14, _, "$parentAttributeFontLabel", "attributeFontLabel", Loc ["STRING_OPTIONS_MENU_ATTRIBUTE_FONT"], "GameFontHighlightLeft") - local d = g:NewDropDown (frame14, _, "$parentAttributeFontDropdown", "attributeFontDropdown", DROPDOWN_WIDTH, 20, build_font_menu, instance.attribute_text.text_face) + local d = g:NewDropDown (frame14, _, "$parentAttributeFontDropdown", "attributeFontDropdown", DROPDOWN_WIDTH, dropdown_height, build_font_menu, instance.attribute_text.text_face) d.onenter_backdrop = dropdown_backdrop_onenter d.onleave_backdrop = dropdown_backdrop_onleave d:SetBackdrop (dropdown_backdrop) @@ -3809,7 +3837,7 @@ function window:CreateFrame1() return abbreviationOptions end - local d = g:NewDropDown (frame1, _, "$parentAbbreviateDropdown", "dpsAbbreviateDropdown", 160, 20, buildAbbreviationMenu, _detalhes.ps_abbreviation) -- func, default + local d = g:NewDropDown (frame1, _, "$parentAbbreviateDropdown", "dpsAbbreviateDropdown", 160, dropdown_height, buildAbbreviationMenu, _detalhes.ps_abbreviation) -- func, default d.onenter_backdrop = dropdown_backdrop_onenter d.onleave_backdrop = dropdown_backdrop_onleave d:SetBackdrop (dropdown_backdrop) @@ -3971,7 +3999,7 @@ function window:CreateFrame1() return EraseDataOptions end - local d = g:NewDropDown (frame1, _, "$parentEraseDataDropdown", "EraseDataDropdown", 160, 20, BuildEraseDataMenu, _detalhes.segments_auto_erase) + local d = g:NewDropDown (frame1, _, "$parentEraseDataDropdown", "EraseDataDropdown", 160, dropdown_height, BuildEraseDataMenu, _detalhes.segments_auto_erase) d.onenter_backdrop = dropdown_backdrop_onenter d.onleave_backdrop = dropdown_backdrop_onleave d:SetBackdrop (dropdown_backdrop) @@ -4117,7 +4145,7 @@ function window:CreateFrame2() local buildTimeTypeMenu = function() return timetypeOptions end - local d = g:NewDropDown (frame2, _, "$parentTTDropdown", "timetypeDropdown", 160, 20, buildTimeTypeMenu, nil) -- func, default + local d = g:NewDropDown (frame2, _, "$parentTTDropdown", "timetypeDropdown", 160, dropdown_height, buildTimeTypeMenu, nil) -- func, default d.onenter_backdrop = dropdown_backdrop_onenter d.onleave_backdrop = dropdown_backdrop_onleave d:SetBackdrop (dropdown_backdrop) @@ -4141,7 +4169,7 @@ function window:CreateFrame2() local buildDeathLogLimitMenu = function() return DeathLogLimitOptions end - local d = g:NewDropDown (frame2, _, "$parentDeathLogLimitDropdown", "DeathLogLimitDropdown", 160, 20, buildDeathLogLimitMenu, nil) -- func, default + local d = g:NewDropDown (frame2, _, "$parentDeathLogLimitDropdown", "DeathLogLimitDropdown", 160, dropdown_height, buildDeathLogLimitMenu, nil) -- func, default d.onenter_backdrop = dropdown_backdrop_onenter d.onleave_backdrop = dropdown_backdrop_onleave d:SetBackdrop (dropdown_backdrop) @@ -4514,7 +4542,7 @@ function window:CreateFrame13() return menu end - local select_profile_dropdown = g:NewDropDown (frame13, _, "$parentSelectProfileDropdown", "selectProfileDropdown", 160, 20, build_profile_menu, 0) + local select_profile_dropdown = g:NewDropDown (frame13, _, "$parentSelectProfileDropdown", "selectProfileDropdown", 160, dropdown_height, build_profile_menu, 0) local d = select_profile_dropdown d.onenter_backdrop = dropdown_backdrop_onenter d.onleave_backdrop = dropdown_backdrop_onleave @@ -4598,7 +4626,7 @@ function window:CreateFrame13() return menu end - local select_profileCopy_dropdown = g:NewDropDown (frame13, _, "$parentSelectProfileCopyDropdown", "selectProfileCopyDropdown", 160, 20, build_copy_menu, 0) + local select_profileCopy_dropdown = g:NewDropDown (frame13, _, "$parentSelectProfileCopyDropdown", "selectProfileCopyDropdown", 160, dropdown_height, build_copy_menu, 0) select_profileCopy_dropdown:SetEmptyTextAndIcon (Loc ["STRING_OPTIONS_PROFILE_SELECT"]) local d = select_profileCopy_dropdown @@ -4637,7 +4665,7 @@ function window:CreateFrame13() return menu end - local select_profileErase_dropdown = g:NewDropDown (frame13, _, "$parentSelectProfileEraseDropdown", "selectProfileEraseDropdown", 160, 20, build_erase_menu, 0) + local select_profileErase_dropdown = g:NewDropDown (frame13, _, "$parentSelectProfileEraseDropdown", "selectProfileEraseDropdown", 160, dropdown_height, build_erase_menu, 0) select_profileErase_dropdown:SetEmptyTextAndIcon (Loc ["STRING_OPTIONS_PROFILE_SELECT"]) local d = select_profileErase_dropdown @@ -4880,7 +4908,7 @@ function window:CreateFrame3() end -- skin - local d = g:NewDropDown (frame3, _, "$parentSkinDropdown", "skinDropdown", 160, 20, buildSkinMenu, 1) + local d = g:NewDropDown (frame3, _, "$parentSkinDropdown", "skinDropdown", 160, dropdown_height, buildSkinMenu, 1) d.onenter_backdrop = dropdown_backdrop_onenter d.onleave_backdrop = dropdown_backdrop_onleave d:SetBackdrop (dropdown_backdrop) @@ -5065,7 +5093,7 @@ function window:CreateFrame3() return loadtable end - local d = g:NewDropDown (frame3, _, "$parentCustomSkinLoadDropdown", "customSkinSelectDropdown", 160, 20, buildCustomSkinMenu, 0) -- func, default + local d = g:NewDropDown (frame3, _, "$parentCustomSkinLoadDropdown", "customSkinSelectDropdown", 160, dropdown_height, buildCustomSkinMenu, 0) -- func, default d:SetEmptyTextAndIcon (Loc ["STRING_OPTIONS_SKIN_SELECT"]) d.onenter_backdrop = dropdown_backdrop_onenter d.onleave_backdrop = dropdown_backdrop_onleave @@ -5097,7 +5125,7 @@ function window:CreateFrame3() return loadtable2 end - local d = g:NewDropDown (frame3, _, "$parentCustomSkinRemoveDropdown", "customSkinSelectToRemoveDropdown", 160, 20, buildCustomSkinToEraseMenu, 0) -- func, default + local d = g:NewDropDown (frame3, _, "$parentCustomSkinRemoveDropdown", "customSkinSelectToRemoveDropdown", 160, dropdown_height, buildCustomSkinToEraseMenu, 0) -- func, default d:SetEmptyTextAndIcon (Loc ["STRING_OPTIONS_SKIN_SELECT"]) d.onenter_backdrop = dropdown_backdrop_onenter d.onleave_backdrop = dropdown_backdrop_onleave @@ -5146,7 +5174,7 @@ function window:CreateFrame3() return loadtable2 end - local d = g:NewDropDown (frame3, _, "$parentCustomSkinExportDropdown", "CustomSkinSelectToExportDropdown", 160, 20, buildCustomSkinToExportMenu, 0) + local d = g:NewDropDown (frame3, _, "$parentCustomSkinExportDropdown", "CustomSkinSelectToExportDropdown", 160, dropdown_height, buildCustomSkinToExportMenu, 0) d:SetEmptyTextAndIcon (Loc ["STRING_OPTIONS_SKIN_SELECT"]) d.onenter_backdrop = dropdown_backdrop_onenter d.onleave_backdrop = dropdown_backdrop_onleave @@ -5380,7 +5408,7 @@ function window:CreateFrame4() end g:NewLabel (frame4, _, "$parentTextureLabel", "textureLabel", Loc ["STRING_TEXTURE"], "GameFontHighlightLeft") - local d = g:NewDropDown (frame4, _, "$parentTextureDropdown", "textureDropdown", DROPDOWN_WIDTH, 20, buildTextureMenu, nil) + local d = g:NewDropDown (frame4, _, "$parentTextureDropdown", "textureDropdown", DROPDOWN_WIDTH, dropdown_height, buildTextureMenu, nil) d.onenter_backdrop = dropdown_backdrop_onenter d.onleave_backdrop = dropdown_backdrop_onleave d:SetBackdrop (dropdown_backdrop) @@ -5465,7 +5493,7 @@ function window:CreateFrame4() end g:NewLabel (frame4, _, "$parentRowBackgroundTextureLabel", "rowBackgroundLabel", Loc ["STRING_TEXTURE"], "GameFontHighlightLeft") - local d = g:NewDropDown (frame4, _, "$parentRowBackgroundTextureDropdown", "rowBackgroundDropdown", DROPDOWN_WIDTH, 20, buildTextureMenu2, nil) + local d = g:NewDropDown (frame4, _, "$parentRowBackgroundTextureDropdown", "rowBackgroundDropdown", DROPDOWN_WIDTH, dropdown_height, buildTextureMenu2, nil) d.onenter_backdrop = dropdown_backdrop_onenter d.onleave_backdrop = dropdown_backdrop_onleave d:SetBackdrop (dropdown_backdrop) @@ -5593,7 +5621,7 @@ function window:CreateFrame4() default = instance.row_info.icon_file end - local d = g:NewDropDown (frame4, _, "$parentIconSelectDropdown", "IconSelectDropdown", DROPDOWN_WIDTH, 20, BuiltIconList, default) + local d = g:NewDropDown (frame4, _, "$parentIconSelectDropdown", "IconSelectDropdown", DROPDOWN_WIDTH, dropdown_height, BuiltIconList, default) d.onenter_backdrop = dropdown_backdrop_onenter d.onleave_backdrop = dropdown_backdrop_onleave d:SetBackdrop (dropdown_backdrop) @@ -5749,7 +5777,7 @@ function window:CreateFrame4() end g:NewLabel (frame4, _, "$parentBackdropBorderTextureLabel", "BackdropBorderTextureLabel", Loc ["STRING_TEXTURE"], "GameFontHighlightLeft") - local d = g:NewDropDown (frame4, _, "$parentBackdropBorderTextureDropdown", "BackdropBorderTextureDropdown", DROPDOWN_WIDTH, 20, buildTextureBackdropMenu, nil) + local d = g:NewDropDown (frame4, _, "$parentBackdropBorderTextureDropdown", "BackdropBorderTextureDropdown", DROPDOWN_WIDTH, dropdown_height, buildTextureBackdropMenu, nil) d.onenter_backdrop = dropdown_backdrop_onenter d.onleave_backdrop = dropdown_backdrop_onleave d:SetBackdrop (dropdown_backdrop) @@ -5929,7 +5957,7 @@ function window:CreateFrame5() return fontTable end - local d = g:NewDropDown (frame5, _, "$parentFontDropdown", "fontDropdown", DROPDOWN_WIDTH, 20, buildFontMenu, nil) + local d = g:NewDropDown (frame5, _, "$parentFontDropdown", "fontDropdown", DROPDOWN_WIDTH, dropdown_height, buildFontMenu, nil) d.onenter_backdrop = dropdown_backdrop_onenter d.onleave_backdrop = dropdown_backdrop_onleave d:SetBackdrop (dropdown_backdrop) @@ -6068,7 +6096,7 @@ function window:CreateFrame5() return percentTable end - local d = g:NewDropDown (frame5, _, "$parentPercentDropdown", "percentDropdown", DROPDOWN_WIDTH, 20, buildPercentMenu, nil) + local d = g:NewDropDown (frame5, _, "$parentPercentDropdown", "percentDropdown", DROPDOWN_WIDTH, dropdown_height, buildPercentMenu, nil) d.onenter_backdrop = dropdown_backdrop_onenter d.onleave_backdrop = dropdown_backdrop_onleave d:SetBackdrop (dropdown_backdrop) @@ -6418,7 +6446,7 @@ function window:CreateFrame5() return BracketTable end - local d = g:NewDropDown (frame5, _, "$parentBracketDropdown", "BracketDropdown", 60, 20, buildBracketMenu, nil) + local d = g:NewDropDown (frame5, _, "$parentBracketDropdown", "BracketDropdown", 60, dropdown_height, buildBracketMenu, nil) d.onenter_backdrop = dropdown_backdrop_onenter d.onleave_backdrop = dropdown_backdrop_onleave d:SetBackdrop (dropdown_backdrop) @@ -6459,7 +6487,7 @@ function window:CreateFrame5() return SeparatorTable end - local d = g:NewDropDown (frame5, _, "$parentSeparatorDropdown", "SeparatorDropdown", 60, 20, buildSeparatorMenu, nil) + local d = g:NewDropDown (frame5, _, "$parentSeparatorDropdown", "SeparatorDropdown", 60, dropdown_height, buildSeparatorMenu, nil) d.onenter_backdrop = dropdown_backdrop_onenter d.onleave_backdrop = dropdown_backdrop_onleave d:SetBackdrop (dropdown_backdrop) @@ -6759,19 +6787,19 @@ function window:CreateFrame6() return options end - local d = g:NewDropDown (frame6, _, "$parentMicroDisplayLeftDropdown", "MicroDisplayLeftDropdown", DROPDOWN_WIDTH, 20, BuildLeftMicroMenu, nil) + local d = g:NewDropDown (frame6, _, "$parentMicroDisplayLeftDropdown", "MicroDisplayLeftDropdown", DROPDOWN_WIDTH, dropdown_height, BuildLeftMicroMenu, nil) d.onenter_backdrop = dropdown_backdrop_onenter d.onleave_backdrop = dropdown_backdrop_onleave d:SetBackdrop (dropdown_backdrop) d:SetBackdropColor (unpack (dropdown_backdrop_onleave)); d:SetBackdropBorderColor (unpack (dropdown_backdrop_border_color)) - local d = g:NewDropDown (frame6, _, "$parentMicroDisplayCenterDropdown", "MicroDisplayCenterDropdown", DROPDOWN_WIDTH, 20, BuildCenterMicroMenu, nil) + local d = g:NewDropDown (frame6, _, "$parentMicroDisplayCenterDropdown", "MicroDisplayCenterDropdown", DROPDOWN_WIDTH, dropdown_height, BuildCenterMicroMenu, nil) d.onenter_backdrop = dropdown_backdrop_onenter d.onleave_backdrop = dropdown_backdrop_onleave d:SetBackdrop (dropdown_backdrop) d:SetBackdropColor (unpack (dropdown_backdrop_onleave)); d:SetBackdropBorderColor (unpack (dropdown_backdrop_border_color)) - local d = g:NewDropDown (frame6, _, "$parentMicroDisplayRightDropdown", "MicroDisplayRightDropdown", DROPDOWN_WIDTH, 20, BuildRightMicroMenu, nil) + local d = g:NewDropDown (frame6, _, "$parentMicroDisplayRightDropdown", "MicroDisplayRightDropdown", DROPDOWN_WIDTH, dropdown_height, BuildRightMicroMenu, nil) d.onenter_backdrop = dropdown_backdrop_onenter d.onleave_backdrop = dropdown_backdrop_onleave d:SetBackdrop (dropdown_backdrop) @@ -6979,7 +7007,7 @@ function window:CreateFrame6() return backdropTable end - local d = g:NewDropDown (frame6, _, "$parentBackdropDropdown", "backdropDropdown", DROPDOWN_WIDTH, 20, buildBackdropMenu, nil) + local d = g:NewDropDown (frame6, _, "$parentBackdropDropdown", "backdropDropdown", DROPDOWN_WIDTH, dropdown_height, buildBackdropMenu, nil) d.onenter_backdrop = dropdown_backdrop_onenter d.onleave_backdrop = dropdown_backdrop_onleave d:SetBackdrop (dropdown_backdrop) @@ -7013,7 +7041,7 @@ function window:CreateFrame6() } local buildStrataMenu = function() return strataTable end - local d = g:NewDropDown (frame6, _, "$parentStrataDropdown", "strataDropdown", DROPDOWN_WIDTH, 20, buildStrataMenu, nil) + local d = g:NewDropDown (frame6, _, "$parentStrataDropdown", "strataDropdown", DROPDOWN_WIDTH, dropdown_height, buildStrataMenu, nil) d.onenter_backdrop = dropdown_backdrop_onenter d.onleave_backdrop = dropdown_backdrop_onleave d:SetBackdrop (dropdown_backdrop) @@ -8023,7 +8051,7 @@ function window:CreateFrame9() return anchorMenu end - local d = g:NewDropDown (frame9, _, "$parentAnchorDropdown", "anchorDropdown", DROPDOWN_WIDTH, 20, buildAnchorMenu, nil) + local d = g:NewDropDown (frame9, _, "$parentAnchorDropdown", "anchorDropdown", DROPDOWN_WIDTH, dropdown_height, buildAnchorMenu, nil) d.onenter_backdrop = dropdown_backdrop_onenter d.onleave_backdrop = dropdown_backdrop_onleave d:SetBackdrop (dropdown_backdrop) @@ -8320,14 +8348,14 @@ function window:CreateFrame9() g:NewSwitch (frame9, _, "$parentUseBackgroundSlider", "useBackgroundSlider", 60, 20, _, _, _G.DetailsOptionsWindow.instance.wallpaper.enabled) --category - local d = g:NewDropDown (frame9, _, "$parentBackgroundDropdown", "backgroundDropdown", DROPDOWN_WIDTH, 20, buildBackgroundMenu, nil) + local d = g:NewDropDown (frame9, _, "$parentBackgroundDropdown", "backgroundDropdown", DROPDOWN_WIDTH, dropdown_height, buildBackgroundMenu, nil) d.onenter_backdrop = dropdown_backdrop_onenter d.onleave_backdrop = dropdown_backdrop_onleave d:SetBackdrop (dropdown_backdrop) d:SetBackdropColor (unpack (dropdown_backdrop_onleave)); d:SetBackdropBorderColor (unpack (dropdown_backdrop_border_color)) --wallpaper - local d = g:NewDropDown (frame9, _, "$parentBackgroundDropdown2", "backgroundDropdown2", DROPDOWN_WIDTH, 20, buildBackgroundMenu2, nil) + local d = g:NewDropDown (frame9, _, "$parentBackgroundDropdown2", "backgroundDropdown2", DROPDOWN_WIDTH, dropdown_height, buildBackgroundMenu2, nil) d.onenter_backdrop = dropdown_backdrop_onenter d.onleave_backdrop = dropdown_backdrop_onleave d:SetBackdrop (dropdown_backdrop) @@ -8845,7 +8873,7 @@ function window:CreateFrame10() return PerformanceProfileOptions end - local d = g:NewDropDown (frame10, _, "$parentProfileTypeDropdown", "ProfileTypeDropdown", 160, 20, BuildPerformanceProfileMenu, 0) + local d = g:NewDropDown (frame10, _, "$parentProfileTypeDropdown", "ProfileTypeDropdown", 160, dropdown_height, BuildPerformanceProfileMenu, 0) d.onenter_backdrop = dropdown_backdrop_onenter d.onleave_backdrop = dropdown_backdrop_onleave d:SetBackdrop (dropdown_backdrop) @@ -9103,7 +9131,7 @@ function window:CreateFrame11() end g:NewLabel (frame11, _, "$parentInterruptsChannelLabel", "InterruptsChannelLabel", Loc ["STRING_OPTIONS_RT_INTERRUPTS_CHANNEL"] , "GameFontHighlightLeft") - local d = g:NewDropDown (frame11, _, "$parentInterruptsChannelDropdown", "InterruptsChannelDropdown", DROPDOWN_WIDTH, 20, build_channel_menu, _detalhes.announce_interrupts.channel) + local d = g:NewDropDown (frame11, _, "$parentInterruptsChannelDropdown", "InterruptsChannelDropdown", DROPDOWN_WIDTH, dropdown_height, build_channel_menu, _detalhes.announce_interrupts.channel) d.onenter_backdrop = dropdown_backdrop_onenter d.onleave_backdrop = dropdown_backdrop_onleave d:SetBackdrop (dropdown_backdrop) @@ -9207,7 +9235,7 @@ function window:CreateFrame11() end g:NewLabel (frame11, _, "$parentCooldownChannelLabel", "CooldownChannelLabel", Loc ["STRING_OPTIONS_RT_COOLDOWNS_CHANNEL"] , "GameFontHighlightLeft") - local d = g:NewDropDown (frame11, _, "$parentCooldownChannelDropdown", "CooldownChannelDropdown", DROPDOWN_WIDTH, 20, build_channel_menu, _detalhes.announce_cooldowns.channel) + local d = g:NewDropDown (frame11, _, "$parentCooldownChannelDropdown", "CooldownChannelDropdown", DROPDOWN_WIDTH, dropdown_height, build_channel_menu, _detalhes.announce_cooldowns.channel) d.onenter_backdrop = dropdown_backdrop_onenter d.onleave_backdrop = dropdown_backdrop_onleave d:SetBackdrop (dropdown_backdrop) @@ -9419,7 +9447,7 @@ function window:CreateFrame11() end g:NewLabel (frame11, _, "$parentDeathChannelLabel", "DeathChannelLabel", Loc ["STRING_OPTIONS_RT_DEATHS_WHERE"] , "GameFontHighlightLeft") - local d = g:NewDropDown (frame11, _, "$parentDeathChannelDropdown", "DeathChannelDropdown", DROPDOWN_WIDTH, 20, build_channel_menu, _detalhes.announce_deaths.where) + local d = g:NewDropDown (frame11, _, "$parentDeathChannelDropdown", "DeathChannelDropdown", DROPDOWN_WIDTH, dropdown_height, build_channel_menu, _detalhes.announce_deaths.where) d.onenter_backdrop = dropdown_backdrop_onenter d.onleave_backdrop = dropdown_backdrop_onleave d:SetBackdrop (dropdown_backdrop) @@ -9780,7 +9808,7 @@ function window:CreateFrame12() plugin.__enabled = value if (not value) then for index, instancia in ipairs (_detalhes.tabela_instancias) do - if (instancia.modo == 1) then -- 1 = solo + if (instancia.modo == 1 and instancia.baseframe) then -- 1 = solo _detalhes:TrocaTabela (instancia, 0, 1, 1, nil, 2) end end @@ -10255,6 +10283,8 @@ end --> if not window _G.DetailsOptionsWindow18ReportFormatDropdown.MyObject:Select (_detalhes.report_schema) --disabled groups _G.DetailsOptionsWindow18DisableGroupsSlider.MyObject:SetValue (_detalhes.disable_window_groups) + --disable lock resize ungroup buttons + _G.DetailsOptionsWindow18DisableLockResizeUngroupSlider.MyObject:SetValue (_detalhes.disable_lock_ungroup_buttons) --disable reset _G.DetailsOptionsWindow18DisableResetSlider.MyObject:SetValue (_detalhes.disable_reset_button) _G.DetailsOptionsWindow18UseScrollSlider.MyObject:SetValue (_detalhes.use_scroll) diff --git a/gumps/janela_principal.lua b/gumps/janela_principal.lua index 23800d92..a3ad6550 100644 --- a/gumps/janela_principal.lua +++ b/gumps/janela_principal.lua @@ -58,10 +58,6 @@ function _detalhes:ScheduleUpdate (instancia) end end -local menu_wallpaper_tex = {.6, 0.1, 0, 0.64453125} ---local menu_wallpaper_color = {1, 1, 1, 0.1} -local menu_wallpaper_color = {.8, .8, .8, 0.2} - --> skins TCoords -- 0.00048828125 @@ -324,21 +320,27 @@ local function OnLeaveMainWindow (instancia, self) if (instancia.modo ~= _detalhes._detalhes_props["MODO_ALONE"] and not instancia.baseframe.isLocked) then - --> resizes and lock button - instancia.baseframe.resize_direita:SetAlpha (0) - instancia.baseframe.resize_esquerda:SetAlpha (0) - instancia.baseframe.lock_button:SetAlpha (0) - instancia.break_snap_button:SetAlpha (0) + --> resizes, lock and ungroup buttons + if (not _detalhes.disable_lock_ungroup_buttons) then + instancia.baseframe.resize_direita:SetAlpha (0) + instancia.baseframe.resize_esquerda:SetAlpha (0) + instancia.baseframe.lock_button:SetAlpha (0) + instancia.break_snap_button:SetAlpha (0) + end --> stretch button - --gump:Fade (instancia.baseframe.button_stretch, -1) gump:Fade (instancia.baseframe.button_stretch, "ALPHA", 0) elseif (instancia.modo ~= _detalhes._detalhes_props["MODO_ALONE"] and instancia.baseframe.isLocked) then - instancia.baseframe.lock_button:SetAlpha (0) + + --> resizes, lock and ungroup buttons + if (not _detalhes.disable_lock_ungroup_buttons) then + instancia.baseframe.lock_button:SetAlpha (0) + instancia.break_snap_button:SetAlpha (0) + end + gump:Fade (instancia.baseframe.button_stretch, "ALPHA", 0) - instancia.break_snap_button:SetAlpha (0) - + end end _detalhes.OnLeaveMainWindow = OnLeaveMainWindow @@ -356,34 +358,40 @@ local function OnEnterMainWindow (instancia, self) if (instancia.modo ~= _detalhes._detalhes_props["MODO_ALONE"] and not instancia.baseframe.isLocked) then - --> resizes and lock button - instancia.baseframe.resize_direita:SetAlpha (1) - instancia.baseframe.resize_esquerda:SetAlpha (1) - instancia.baseframe.lock_button:SetAlpha (1) + --> resize, lock and ungroup buttons + if (not _detalhes.disable_lock_ungroup_buttons) then + instancia.baseframe.resize_direita:SetAlpha (1) + instancia.baseframe.resize_esquerda:SetAlpha (1) + instancia.baseframe.lock_button:SetAlpha (1) + + --> ungroup + for _, instancia_id in _pairs (instancia.snap) do + if (instancia_id) then + instancia.break_snap_button:SetAlpha (1) + break + end + end + end --> stretch button gump:Fade (instancia.baseframe.button_stretch, "ALPHA", 0.6) - - --> snaps - for _, instancia_id in _pairs (instancia.snap) do - if (instancia_id) then - instancia.break_snap_button:SetAlpha (1) - break - end - end elseif (instancia.modo ~= _detalhes._detalhes_props["MODO_ALONE"] and instancia.baseframe.isLocked) then - instancia.baseframe.lock_button:SetAlpha (1) - gump:Fade (instancia.baseframe.button_stretch, "ALPHA", 0.6) - - --> snaps - for _, instancia_id in _pairs (instancia.snap) do - if (instancia_id) then - instancia.break_snap_button:Show() - instancia.break_snap_button:SetAlpha (1) - break + + if (not _detalhes.disable_lock_ungroup_buttons) then + instancia.baseframe.lock_button:SetAlpha (1) + + --> ungroup + for _, instancia_id in _pairs (instancia.snap) do + if (instancia_id) then + instancia.break_snap_button:Show() + instancia.break_snap_button:SetAlpha (1) + break + end end end + + gump:Fade (instancia.baseframe.button_stretch, "ALPHA", 0.6) end end @@ -999,8 +1007,8 @@ local BGFrame_scripts_onleave = function (self) end local BGFrame_scripts_onmousedown = function (self, button) - - if (self.is_toolbar and self._instance.baseframe.isLocked and button == "LeftButton") then + -- /run Details.disable_stretch_from_toolbar = true + if (self.is_toolbar and self._instance.baseframe.isLocked and button == "LeftButton" and not _detalhes.disable_stretch_from_toolbar) then return self._instance.baseframe.button_stretch:GetScript ("OnMouseDown") (self._instance.baseframe.button_stretch, "LeftButton") end @@ -1580,7 +1588,7 @@ local resize_scripts_onenter = function (self) GameCooltip:SetOption ("TextSize", _detalhes.font_sizes.menus) GameCooltip:SetOption ("TextFont", _detalhes.font_faces.menus) GameCooltip:SetOption ("NoLastSelectedBar", true) - GameCooltip:SetWallpaper (1, [[Interface\SPELLBOOK\Spellbook-Page-1]], menu_wallpaper_tex, menu_wallpaper_color, true) + GameCooltip:SetWallpaper (1, _detalhes.tooltip.menus_bg_texture, _detalhes.tooltip.menus_bg_coords, _detalhes.tooltip.menus_bg_color, true) GameCooltip:SetBackdrop (1, _detalhes.tooltip_backdrop, nil, _detalhes.tooltip_border_color) GameCooltip:SetOwner (self) GameCooltip:ShowCooltip() @@ -1631,7 +1639,7 @@ local lockFunctionOnEnter = function (self) GameCooltip:SetOption ("NoLastSelectedBar", true) GameCooltip:SetOption ("TextSize", _detalhes.font_sizes.menus) GameCooltip:SetOption ("TextFont", _detalhes.font_faces.menus) - GameCooltip:SetWallpaper (1, [[Interface\SPELLBOOK\Spellbook-Page-1]], menu_wallpaper_tex, menu_wallpaper_color, true) + GameCooltip:SetWallpaper (1, _detalhes.tooltip.menus_bg_texture, _detalhes.tooltip.menus_bg_coords, _detalhes.tooltip.menus_bg_color, true) GameCooltip:SetBackdrop (1, _detalhes.tooltip_backdrop, nil, _detalhes.tooltip_border_color) GameCooltip:SetOwner (self) GameCooltip:ShowCooltip() @@ -1730,7 +1738,7 @@ local unSnapButtonOnEnter = function (self) GameCooltip:AddFromTable (unSnapButtonTooltip) GameCooltip:SetOption ("TextSize", _detalhes.font_sizes.menus) GameCooltip:SetOption ("TextFont", _detalhes.font_faces.menus) - GameCooltip:SetWallpaper (1, [[Interface\SPELLBOOK\Spellbook-Page-1]], menu_wallpaper_tex, menu_wallpaper_color, true) + GameCooltip:SetWallpaper (1, _detalhes.tooltip.menus_bg_texture, _detalhes.tooltip.menus_bg_coords, _detalhes.tooltip.menus_bg_color, true) GameCooltip:SetBackdrop (1, _detalhes.tooltip_backdrop, nil, _detalhes.tooltip_border_color) GameCooltip:ShowCooltip (self, "tooltip") @@ -4903,7 +4911,7 @@ local build_mode_list = function (self, elapsed) end end - CoolTip:SetWallpaper (2, [[Interface\SPELLBOOK\Spellbook-Page-1]], menu_wallpaper_tex, menu_wallpaper_color, true) + CoolTip:SetWallpaper (2, _detalhes.tooltip.menus_bg_texture, _detalhes.tooltip.menus_bg_coords, _detalhes.tooltip.menus_bg_color, true) if (amt <= 3) then CoolTip:SetOption ("SubFollowButton", true) @@ -4923,7 +4931,7 @@ local build_mode_list = function (self, elapsed) CoolTip:AddMenu (2, _detalhes.SoloTables.EnableSoloMode, instancia, ptable [4], true, ptable [1], ptable [2], true) end end - CoolTip:SetWallpaper (2, [[Interface\SPELLBOOK\Spellbook-Page-1]], menu_wallpaper_tex, menu_wallpaper_color, true) + CoolTip:SetWallpaper (2, _detalhes.tooltip.menus_bg_texture, _detalhes.tooltip.menus_bg_coords, _detalhes.tooltip.menus_bg_color, true) end --> window control @@ -5027,7 +5035,7 @@ local build_mode_list = function (self, elapsed) GameCooltip:AddIcon ([[Interface\Buttons\UI-Panel-MinimizeButton-Up]], 2, 1, 14, 14, 0.2, 0.8, 0.2, 0.8) GameCooltip:AddMenu (2, _detalhes.close_instancia_func, instancia.baseframe.cabecalho.fechar) - CoolTip:SetWallpaper (2, [[Interface\SPELLBOOK\Spellbook-Page-1]], menu_wallpaper_tex, menu_wallpaper_color, true) + CoolTip:SetWallpaper (2, _detalhes.tooltip.menus_bg_texture, _detalhes.tooltip.menus_bg_coords, _detalhes.tooltip.menus_bg_color, true) --> options GameCooltip:AddLine ("$div") @@ -5040,7 +5048,7 @@ local build_mode_list = function (self, elapsed) CoolTip:SetBackdrop (1, _detalhes.tooltip_backdrop, nil, _detalhes.tooltip_border_color) CoolTip:SetBackdrop (2, _detalhes.tooltip_backdrop, nil, _detalhes.tooltip_border_color) - CoolTip:SetWallpaper (1, [[Interface\SPELLBOOK\Spellbook-Page-1]], menu_wallpaper_tex, menu_wallpaper_color, true) + CoolTip:SetWallpaper (1, _detalhes.tooltip.menus_bg_texture, _detalhes.tooltip.menus_bg_coords, _detalhes.tooltip.menus_bg_color, true) show_anti_overlap (instancia, self, "top") @@ -5328,7 +5336,7 @@ local build_segment_list = function (self, elapsed) CoolTip:AddIcon ([[Interface\QUESTFRAME\UI-Quest-BulletPoint]], "main", "left", 16, 16, nil, nil, nil, nil, empty_segment_color) CoolTip:AddLine (Loc ["STRING_SEGMENT_EMPTY"], _, 2) CoolTip:AddIcon ([[Interface\CHARACTERFRAME\Disconnect-Icon]], 2, 1, 12, 12, 0.3125, 0.65625, 0.265625, 0.671875) - CoolTip:SetWallpaper (2, [[Interface\SPELLBOOK\Spellbook-Page-1]], menu_wallpaper_tex, menu_wallpaper_color, true) + CoolTip:SetWallpaper (2, _detalhes.tooltip.menus_bg_texture, _detalhes.tooltip.menus_bg_coords, _detalhes.tooltip.menus_bg_color, true) end if (menuIndex) then @@ -5479,8 +5487,11 @@ local build_segment_list = function (self, elapsed) CoolTip:SetOption ("HeighMod", 12) - --CoolTip:SetWallpaper (1, [[Interface\ACHIEVEMENTFRAME\UI-Achievement-Parchment-Horizontal-Desaturated]], nil, {1, 1, 1, 0.3}) - CoolTip:SetWallpaper (1, [[Interface\SPELLBOOK\Spellbook-Page-1]], menu_wallpaper_tex, menu_wallpaper_color, true) + --CoolTip:SetWallpaper (1, _detalhes.tooltip.menus_bg_texture, _detalhes.tooltip.menus_bg_coords, _detalhes.tooltip.menus_bg_color, true) + --CoolTip:SetWallpaper (1, _detalhes.tooltip.menus_bg_texture, {66/512, 1, 78/512, 435/512}, _detalhes.tooltip.menus_bg_color, true) + CoolTip:SetWallpaper (1, _detalhes.tooltip.menus_bg_texture, _detalhes.tooltip.menus_bg_coords, _detalhes.tooltip.menus_bg_color, true) + --CoolTip:SetWallpaper (1, _detalhes.tooltip.menus_bg_texture, {331/512, 63/512, 109/512, 143/512}, _detalhes.tooltip.menus_bg_color, true) + CoolTip:SetBackdrop (1, _detalhes.tooltip_backdrop, nil, _detalhes.tooltip_border_color) CoolTip:SetBackdrop (2, _detalhes.tooltip_backdrop, nil, _detalhes.tooltip_border_color) @@ -6801,7 +6812,7 @@ end GameCooltip:AddIcon ([[Interface\Buttons\UI-StopButton]], 1, 1, 14, 14, 0, 1, 0, 1, "orange") GameCooltip:AddMenu (1, _detalhes.tabela_historico.resetar_overall) - GameCooltip:SetWallpaper (1, [[Interface\SPELLBOOK\Spellbook-Page-1]], menu_wallpaper_tex, menu_wallpaper_color, true) + GameCooltip:SetWallpaper (1, _detalhes.tooltip.menus_bg_texture, _detalhes.tooltip.menus_bg_coords, _detalhes.tooltip.menus_bg_color, true) GameCooltip:SetBackdrop (1, _detalhes.tooltip_backdrop, nil, _detalhes.tooltip_border_color) show_anti_overlap (self.instance, self, "top") @@ -6887,8 +6898,8 @@ end GameCooltip:AddLine (Loc ["STRING_MENU_CLOSE_INSTANCE_DESC2"], nil, 2, "white", nil, _detalhes.font_sizes.menus, _detalhes.font_faces.menus) GameCooltip:AddIcon ([[Interface\PaperDollInfoFrame\UI-GearManager-LeaveItem-Transparent]], 2, 1, 18, 18) - GameCooltip:SetWallpaper (1, [[Interface\SPELLBOOK\Spellbook-Page-1]], menu_wallpaper_tex, menu_wallpaper_color, true) - GameCooltip:SetWallpaper (2, [[Interface\SPELLBOOK\Spellbook-Page-1]], menu_wallpaper_tex, menu_wallpaper_color, true) + GameCooltip:SetWallpaper (1, _detalhes.tooltip.menus_bg_texture, _detalhes.tooltip.menus_bg_coords, _detalhes.tooltip.menus_bg_color, true) + GameCooltip:SetWallpaper (2, _detalhes.tooltip.menus_bg_texture, _detalhes.tooltip.menus_bg_coords, _detalhes.tooltip.menus_bg_color, true) GameCooltip:SetBackdrop (1, _detalhes.tooltip_backdrop, nil, _detalhes.tooltip_border_color) GameCooltip:SetBackdrop (2, _detalhes.tooltip_backdrop, nil, _detalhes.tooltip_border_color) @@ -7286,7 +7297,7 @@ function gump:CriaCabecalho (baseframe, instancia) GameCooltip:SetOption ("IgnoreButtonAutoHeight", false) GameCooltip:AddLine ("All raid plugins already\nin use or disabled.", nil, 1, "white", nil, 10, SharedMedia:Fetch ("font", "Friz Quadrata TT")) GameCooltip:AddIcon ([[Interface\GROUPFRAME\UI-GROUP-ASSISTANTICON]], 1, 1) - GameCooltip:SetWallpaper (1, [[Interface\SPELLBOOK\Spellbook-Page-1]], menu_wallpaper_tex, menu_wallpaper_color, true) + GameCooltip:SetWallpaper (1, _detalhes.tooltip.menus_bg_texture, _detalhes.tooltip.menus_bg_coords, _detalhes.tooltip.menus_bg_color, true) end else _detalhes:MontaAtributosOption (instancia) @@ -7369,7 +7380,7 @@ function gump:CriaCabecalho (baseframe, instancia) GameCooltip:AddIcon ([[Interface\Addons\Details\Images\report_button]], 1, 1, 12, 19) GameCooltip:AddMenu (1, _detalhes.Reportar, instancia, nil, "INSTANCE" .. instancia.meu_id) - GameCooltip:SetWallpaper (1, [[Interface\SPELLBOOK\Spellbook-Page-1]], menu_wallpaper_tex, menu_wallpaper_color, true) + GameCooltip:SetWallpaper (1, _detalhes.tooltip.menus_bg_texture, _detalhes.tooltip.menus_bg_coords, _detalhes.tooltip.menus_bg_color, true) GameCooltip:SetBackdrop (1, _detalhes.tooltip_backdrop, nil, _detalhes.tooltip_border_color) show_anti_overlap (instancia, self, "top") diff --git a/plugins/Details_EncounterDetails/Details_EncounterDetails.lua b/plugins/Details_EncounterDetails/Details_EncounterDetails.lua index 1f4b89ad..21fadec8 100644 --- a/plugins/Details_EncounterDetails/Details_EncounterDetails.lua +++ b/plugins/Details_EncounterDetails/Details_EncounterDetails.lua @@ -1671,9 +1671,49 @@ function EncounterDetails:OpenAndRefresh (_, segment) end end +local events_to_track = { + ["SPELL_CAST_START"] = true, --not instant cast + ["SPELL_CAST_SUCCESS"] = true, --not instant cast + ["SPELL_AURA_APPLIED"] = true, --if is a debuff + ["SPELL_DAMAGE"] = true, --damage + ["SPELL_PERIODIC_DAMAGE"] = true, --dot damage + ["SPELL_HEAL"] = true, --healing + ["SPELL_PERIODIC_HEAL"] = true, --dot healing +} + +local enemy_spell_pool +local CLEvents = function (self, event, time, token, hidding, who_serial, who_name, who_flags, who_flags2, alvo_serial, alvo_name, alvo_flags, alvo_flags2, spellid, spellname, school, aura_type) + if (events_to_track [token] and _bit_band (who_flags or 0x0, 0x00000060) ~= 0) then + local t = enemy_spell_pool [spellid] + if (not t) then + t = {["token"] = {[token] = true}, ["source"] = who_name, ["school"] = school} + if (token == "SPELL_AURA_APPLIED") then + t.type = aura_type + end + enemy_spell_pool [spellid] = t + return + + elseif (t.token [token]) then + return + end + + t.token [token] = true + if (token == "SPELL_AURA_APPLIED") then + t.type = aura_type + end + end +end + function EncounterDetails:OnEvent (_, event, ...) - if (event == "ADDON_LOADED") then + if (event == "ENCOUNTER_START") then + --> tracks if a enemy spell is instant cast. + EncounterDetails.CLEvents:RegisterEvent ("COMBAT_LOG_EVENT_UNFILTERED") + + elseif (event == "ENCOUNTER_END") then + EncounterDetails.CLEvents:UnregisterEvent ("COMBAT_LOG_EVENT_UNFILTERED") + + elseif (event == "ADDON_LOADED") then local AddonName = select (1, ...) if (AddonName == "Details_EncounterDetails") then @@ -1713,10 +1753,12 @@ function EncounterDetails:OnEvent (_, event, ...) if (type (install) == "table" and install.error) then print (install.error) end - +-- table.wipe (EncounterDetailsDB.encounter_spells) EncounterDetails.charsaved = EncounterDetailsDB or {emotes = {}} EncounterDetailsDB = EncounterDetails.charsaved + EncounterDetails.charsaved.encounter_spells = EncounterDetails.charsaved.encounter_spells or {} + EncounterDetails.boss_emotes_table = EncounterDetails.charsaved.emotes --> Register needed events @@ -1730,6 +1772,14 @@ function EncounterDetails:OnEvent (_, event, ...) _G._detalhes:RegisterEvent (EncounterDetails, "ZONE_TYPE_CHANGED") + EncounterDetailsFrame:RegisterEvent ("ENCOUNTER_START") + EncounterDetailsFrame:RegisterEvent ("ENCOUNTER_END") + EncounterDetails.EnemySpellPool = EncounterDetails.charsaved.encounter_spells + enemy_spell_pool = EncounterDetails.EnemySpellPool + EncounterDetails.CLEvents = CreateFrame ("frame", nil, UIParent) + EncounterDetails.CLEvents:SetScript ("OnEvent", CLEvents) + EncounterDetails.CLEvents:Hide() + EncounterDetails.BossWhispColors = { [1] = "RAID_BOSS_EMOTE", [2] = "RAID_BOSS_WHISPER", diff --git a/plugins/Details_EncounterDetails/frames.lua b/plugins/Details_EncounterDetails/frames.lua index 005658fb..d4291561 100644 --- a/plugins/Details_EncounterDetails/frames.lua +++ b/plugins/Details_EncounterDetails/frames.lua @@ -1632,7 +1632,7 @@ do BossFrame.EnemySpellsWidgets = {} - --> spells and auras + --> spells and auras ~auras -- actor dropdown @@ -1666,6 +1666,34 @@ do EncounterDetails:OpenAuraPanel (spellid, name, self and self.MyObject._icon.texture, encounter_id) end + local info_onenter = function (self) + local spellid = self._spellid + + local info = EncounterDetails.EnemySpellPool [spellid] + if (info) then + _detalhes:CooltipPreset (2) + GameCooltip:SetOption ("FixedWidth", false) + + for token, _ in pairs (info.token) do + GameCooltip:AddLine ("event:", token, 1, nil, "white") + end + + GameCooltip:AddLine ("source:", info.source, 1, nil, "white") + GameCooltip:AddLine ("school:", EncounterDetails:GetSpellSchoolFormatedName (info.school), 1, nil, "white") + + if (info.type) then + GameCooltip:AddLine ("aura type:", info.type, 1, nil, "white") + end + GameCooltip:ShowCooltip (self, "tooltip") + end + + self:SetBackdropColor (0.6, 0.6, 0.6, 0.5) + end + local info_onleave = function (self) + GameCooltip:Hide() + self:SetBackdropColor (0, 0, 0, 0.5) + end + for i = 1, 10 do local anchor_frame = CreateFrame ("frame", "BossFrameSpellAnchor" .. i, BossFrame) @@ -1677,13 +1705,13 @@ do local spellicon = DetailsFrameWork:NewImage (spellicon_button, [[Interface\ICONS\TEMP]], 19, 19, "background", nil, "icon", "$parentIcon") spellicon_button:InstallCustomTexture() - local spellid = DetailsFrameWork:CreateTextEntry (anchor_frame, EncounterDetails.empty_function, 80, 20) + local spellid = DetailsFrameWork:CreateTextEntry (anchor_frame, EncounterDetails.empty_function, 60, 20) spellid:SetHook ("OnEditFocusGained", on_focus_gain) spellid:SetHook ("OnEditFocusLost", on_focus_lost) spellid:SetHook ("OnEnter", on_enter_spell) spellid:SetHook ("OnLeave", on_leave_spell) - local spellname = DetailsFrameWork:CreateTextEntry (anchor_frame, EncounterDetails.empty_function, 160, 20) + local spellname = DetailsFrameWork:CreateTextEntry (anchor_frame, EncounterDetails.empty_function, 140, 20) spellname:SetHook ("OnEditFocusGained", on_focus_gain) spellname:SetHook ("OnEditFocusLost", on_focus_lost) spellname:SetHook ("OnEnter", on_enter_spell) @@ -1694,8 +1722,20 @@ do spellid:SetPoint ("left", spellicon_button, "right", 4, 0) spellname:SetPoint ("left", spellid, "right", 4, 0) + local spellinfo = CreateFrame ("frame", nil, anchor_frame) + spellinfo:SetBackdrop ({bgFile = [[Interface\AddOns\Details\images\background]], tileSize = 64, edgeFile = [[Interface\AddOns\Details\images\border_2]], edgeSize = 12, insets = {left = 1, right = 1, top = 1, bottom = 1}}) + spellinfo:SetBackdropColor (0, 0, 0, 0.5) + spellinfo:SetSize (60, 20) + spellinfo:SetScript ("OnEnter", info_onenter) + spellinfo:SetScript ("OnLeave", info_onleave) + + local spellinfotext = spellinfo:CreateFontString (nil, "overlay", "GameFontNormal") + spellinfotext:SetPoint ("center", spellinfo, "center") + spellinfotext:SetText ("info") + spellinfo:SetPoint ("left", spellname.widget, "right", 4, 0) + local create_aura = DetailsFrameWork:NewButton (anchor_frame, nil, "$parentCreateAuraButton", "AuraButton", 105, 18, create_aura_func, nil, nil, nil, "Create Aura") - create_aura:SetPoint ("left", spellname, "right", 4, 0) + create_aura:SetPoint ("left", spellinfo, "right", 4, 0) create_aura:InstallCustomTexture() anchor_frame.icon = spellicon @@ -1703,6 +1743,7 @@ do anchor_frame.spellname = spellname anchor_frame.aurabutton = create_aura anchor_frame.aurabutton._icon = spellicon + anchor_frame.info = spellinfo tinsert (spell_blocks, anchor_frame) tinsert (BossFrame.EnemySpellsWidgets, anchor_frame) @@ -1728,9 +1769,11 @@ do for spellid, spell in pairs (npc.spells._ActorTable) do if (spellid > 10) then local name, _, icon = EncounterDetails.getspellinfo (spellid) - tinsert (spell_list, {spellid, name, icon}) + tinsert (spell_list, {spellid, name, icon, nil, npc.serial}) end end + + BossFrame.aura_npc_id2.text = EncounterDetails:GetNpcIdFromGuid (npc.serial) end --heal @@ -1739,9 +1782,11 @@ do for spellid, spell in pairs (npc.spells._ActorTable) do if (spellid > 10) then local name, _, icon = EncounterDetails.getspellinfo (spellid) - tinsert (spell_list, {spellid, name, icon, true}) + tinsert (spell_list, {spellid, name, icon, true, npc.serial}) end end + + BossFrame.aura_npc_id2.text = EncounterDetails:GetNpcIdFromGuid (npc.serial) end EncounterDetails_SpellAurasScroll.spell_pool = spell_list @@ -1769,6 +1814,7 @@ do bar.spellid._spellid = data [1] bar.spellname._spellid = data [1] + bar.info._spellid = data [1] local is_heal = data [4] if (is_heal) then @@ -1834,9 +1880,20 @@ do bar_div:SetPoint ("TOPLEFT", BossFrame, "TOPLEFT", 244, -74) bar_div:Hide() + local npc_id = DetailsFrameWork:CreateLabel (BossFrame, "NpcID:", 11, nil, "GameFontHighlightSmall") + BossFrame.aura_npc_id = npc_id + npc_id:SetPoint ("topleft", BossFrame, "topleft", 25, -130) + npc_id:Hide() + local npc_id2 = DetailsFrameWork:CreateLabel (BossFrame, "", 11, nil, "GameFontHighlightSmall") + BossFrame.aura_npc_id2 = npc_id2 + npc_id2:SetPoint ("left", npc_id, "right", 2, 0) + npc_id2:Hide() + tinsert (BossFrame.EnemySpellsWidgets, EnemyActorSpells_label) tinsert (BossFrame.EnemySpellsWidgets, EnemyActorSpells) tinsert (BossFrame.EnemySpellsWidgets, bar_div) + tinsert (BossFrame.EnemySpellsWidgets, npc_id) + tinsert (BossFrame.EnemySpellsWidgets, npc_id2)