From 07b587d340f16f63b54dd9ea82f1b5a346449de6 Mon Sep 17 00:00:00 2001 From: tercio Date: Thu, 13 Nov 2014 19:24:34 -0200 Subject: [PATCH] - Custom Displays updated to track WoD potions. - Added Feedback panel at options panel. --- boot.lua | 11 +- classes/classe_custom.lua | 60 +++++------ core/windows.lua | 98 +++++++++++++++++- gumps/janela_news.lua | 11 +- gumps/janela_options.lua | 41 +++++++- images/icons2.tga | Bin 256315 -> 312322 bytes locales/Details-ruRU.lua | 4 + .../images/icon_shadow.tga | Bin 0 -> 2695 bytes startup.lua | 28 +---- 9 files changed, 186 insertions(+), 67 deletions(-) create mode 100644 locales/Details-ruRU.lua create mode 100644 plugins/Details_EncounterDetails/images/icon_shadow.tga diff --git a/boot.lua b/boot.lua index 4edea2d9..224a8f70 100644 --- a/boot.lua +++ b/boot.lua @@ -3,9 +3,9 @@ _ = nil _detalhes = LibStub("AceAddon-3.0"):NewAddon("_detalhes", "AceTimer-3.0", "AceComm-3.0", "AceSerializer-3.0", "NickTag-1.0") - _detalhes.build_counter = 212 --it's 212 for release - _detalhes.userversion = "v3.2.0" - _detalhes.realversion = 46 + _detalhes.build_counter = 215 --it's 215 for release + _detalhes.userversion = "v3.2.1" + _detalhes.realversion = 47 --core version _detalhes.version = _detalhes.userversion .. " (core " .. _detalhes.realversion .. ")" ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -21,9 +21,12 @@ do --[[ +|cFFFFFF00v3.2.1 (|cFFFFCC00Nov 14, 2014|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Custom Displays updated to track WoD potions.\n\n|cFFFFFF00-|r Added Feedback panel at options panel.\n\n +|cFFFFFF00-|r .\n\n + --]] - Loc ["STRING_VERSION_LOG"] = "|cFFFFFF00v3.2.0 (|cFFFFCC00Nov 11, 2014|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Major changes on the way Details! store information, these changes saves up to 40% memory and 4% cpu usage.\n\n|cFFFFFF00-|r Fixed problem with pet's healing messing with the owner activity time.\n\n|cFFFFFF00-|r Added Energy -> Resources.\n\n|cFFFFFF00-|r Fixed combat initialization when the player start casting a Dot spell.\n\n|cFFFFFF00-|r Added new custom display: Damage Taken By Spell.\n\n|cFFFFFF00v2.2.3 (|cFFFFCC00Oct 26, 2014|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Fixed the healing done problem with Priest's Spirit of Redemption.\n\n|cFFFFFF00-|r Fixed avoidance by absorb when the hit missed was a multistrike hit.\n\n|cFFFFFF00-|r Fixed a script time out problem when erasing data while in combat.\n\n|cFFFFFF00-|r Fixed bug with interrupt tooltip when the player have a pet.\n\n|cFFFFFF00v2.2.1 (|cFFFFCC00Oct 22, 2014|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Fixed the gap between the button and its menu which sometimes traveling the mouse between them was activating tooltips from window's bars.\n\n|cFFFFFF00-|r Fixed an annoying menu blink when the window was near the right side of the screen.\n\n|cFFFFFF00-|r Fixed the stretch grab which was over other windows even with the 'stretch always on top' option disabled.\n\n|cFFFFFF00-|r Few fixes on healing done from absorbs.\n\n|cFFFFFF00v2.1.6 (|cFFFFCC00Oct 21, 2014|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Fixed death's tooltip which wasn't respecting tooltip's configuration set on options panel.\n\n|cFFFFFF00-|r Now when the window is close to the top of the screen, menus will anchor on bottom side of the menu icons.\n\n|cFFFFFF00-|r Added micro displays options on Window Settings bracket.\n\n|cFFFFFF00-|r Fixed the problem with bar's custom texts.\n\n|cFFFFFF00-|r Lua functions inside custom texts, Chart Data scripts and Custom Displays scripts are now protected calls and won't break the addon functionality if an error occurs. Unfortunately we still doesn't have a documentation for Details! API.\n\n|cFFFFFF00-|r Fixed an incomum bug with tank avoidance tables.\n\n|cFFFFFF00-|r Tiny Threat: added option to use class colors instead of green-to-red colors.\n\n|cFFFFFF00-|r Added option to enable shadows on toolbar's buttons.\n\n|cFFFFFF00-|r Added option to set the specing between each button on toolbar.\n\n|cFFFFFF00-|r Finally we merged the left and right menus into only one with 6 icons.\n\n|cFFFFFF00-|r Removed window button and added a new option bracket to manage windows under Mode Menu.\n\n|cFFFFFF00-|r Few changes on 'Default Skin', 'Minimalistic', 'Simple Gray' and 'ElvUI Frame Style BW' (need reaply).\n\n|cFFFFFF00- Important:|r If the menus is out of the position, just reaply the skin.\n\nv2.0.15 (|cFFFFCC00Oct 15, 2014|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Fixed tooltips where sometimes it wans't showing at all.\n\n|cFFFFFF00-|r Fixed the healing done amount on Malkorok encounter.\n\nv2.0.14 (|cFFFFCC00Oct 14, 2014|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Added pre-potion recognition for WoD pots.\n\n|cFFFFFF00-|r Added spell list for Blackrock Foundry encounters.\n\n|cFFFFFF00-|r Added mouse wheel scroll speed option.\n\n|cFFFFFF00-|r Added support for healing multistrike and damage multistrike.\n\n|cFFFFFF00-|r Added a Change Log button on Options Panel.\n\n|cFFFFFF00-|r When the windows is locked, trying to move the window through toolbar will stretch it instead.\n\n|cFFFFFF00-|r Renamed overheal for shields, now its called 'shield wasted'.\n\n|cFFFFFF00-|r Fine tuning on healing done, should have high accuracy now.\n\n|cFFFFFF00-|r Encounter Details plugin now supports Highmaul and Blackrock Foundry.\n\n|cFFFFFF00-|r New class cooldowns and spells recognition.\n\n|cFFFFFF00-|r Fixed few bugs on comparison panel and avoidance panel.\n\n|cFFFFFF00-|r Fixed encounter recognition, now it should show the encounter name over segments menu.\n\n|cFFFFFF00-|r Fixed Graphic part of Encounter Details Plugin, now he draws more accurately.\n\n|cFFFFFF00v1.29.3 (|cFFFFCC00Oct 11, 2014|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Fixed an addon crash bug when clicking directly on the sword button.\n\n|cFFFFFF00-|r Removed Flat Skin, added new skin: Serenity.\n\n|cFFFFFF00-|r Fixed many issues with bar animations.\n\n|cFFFFFF00-|r Fixed combat encounter start if the player already is in combat when the boss is pulled.\n\n|cFFFFFF00-|r Fixed wheel scroll when sometimes it move very slow or doesn't move the bars at all.\n\n|cFFFFFF00-|r Added option 'Always Show Me' which when enabled and you aren't at the top ranked players shown in the window, it forces to show you in the last bar.\n\n|cFFFFFF00-|r Added option 'First Hit' which when enabled show who did the first struck in the combat (normally is who pulled the boss).\n\n|cFFFFFF00-|r Added a panel to change class colors.\n\n|cFFFFFF00v1.28.3 (|cFFFFCC00Oct 04, 2014|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Added support for plugin descriptions on options panel.\n\n|cFFFFFF00-|r Added scale option.\n\n|cFFFFFF00-|r Added a Change Log button on Options Panel.\n\n|cFFFFFF00-|r Added option to use the same profile on all characters without asking.\n\n|cFFFFFF00-|r Added a shortcut color button on main panel on Options Panel.\n\n|cFFFFFF00-|r Added auto erase/ask to erase options.\n\n|cFFFFFF00-|r Bars now highlight when hover over.\n\n|cFFFFFF00-|r Fixed problem with drag the window when the toolbar is on the bottom side.\n\n|cFFFFFF00v1.27.0 (|cFFFFCC00Set 27, 2014|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Minimalistic skin is now the old minimalistic v2." + Loc ["STRING_VERSION_LOG"] = "|cFFFFFF00v3.2.1 (|cFFFFCC00Nov 14, 2014|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Custom Displays updated to track WoD potions.\n\n|cFFFFFF00-|r Added Feedback panel at options panel.\n\n|cFFFFFF00v3.2.0 (|cFFFFCC00Nov 11, 2014|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Major changes on the way Details! store information, these changes saves up to 40% memory and 4% cpu usage.\n\n|cFFFFFF00-|r Fixed problem with pet's healing messing with the owner activity time.\n\n|cFFFFFF00-|r Added Energy -> Resources.\n\n|cFFFFFF00-|r Fixed combat initialization when the player start casting a Dot spell.\n\n|cFFFFFF00-|r Added new custom display: Damage Taken By Spell.\n\n|cFFFFFF00v2.2.3 (|cFFFFCC00Oct 26, 2014|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Fixed the healing done problem with Priest's Spirit of Redemption.\n\n|cFFFFFF00-|r Fixed avoidance by absorb when the hit missed was a multistrike hit.\n\n|cFFFFFF00-|r Fixed a script time out problem when erasing data while in combat.\n\n|cFFFFFF00-|r Fixed bug with interrupt tooltip when the player have a pet.\n\n|cFFFFFF00v2.2.1 (|cFFFFCC00Oct 22, 2014|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Fixed the gap between the button and its menu which sometimes traveling the mouse between them was activating tooltips from window's bars.\n\n|cFFFFFF00-|r Fixed an annoying menu blink when the window was near the right side of the screen.\n\n|cFFFFFF00-|r Fixed the stretch grab which was over other windows even with the 'stretch always on top' option disabled.\n\n|cFFFFFF00-|r Few fixes on healing done from absorbs.\n\n|cFFFFFF00v2.1.6 (|cFFFFCC00Oct 21, 2014|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Fixed death's tooltip which wasn't respecting tooltip's configuration set on options panel.\n\n|cFFFFFF00-|r Now when the window is close to the top of the screen, menus will anchor on bottom side of the menu icons.\n\n|cFFFFFF00-|r Added micro displays options on Window Settings bracket.\n\n|cFFFFFF00-|r Fixed the problem with bar's custom texts.\n\n|cFFFFFF00-|r Lua functions inside custom texts, Chart Data scripts and Custom Displays scripts are now protected calls and won't break the addon functionality if an error occurs. Unfortunately we still doesn't have a documentation for Details! API.\n\n|cFFFFFF00-|r Fixed an incomum bug with tank avoidance tables.\n\n|cFFFFFF00-|r Tiny Threat: added option to use class colors instead of green-to-red colors.\n\n|cFFFFFF00-|r Added option to enable shadows on toolbar's buttons.\n\n|cFFFFFF00-|r Added option to set the specing between each button on toolbar.\n\n|cFFFFFF00-|r Finally we merged the left and right menus into only one with 6 icons.\n\n|cFFFFFF00-|r Removed window button and added a new option bracket to manage windows under Mode Menu.\n\n|cFFFFFF00-|r Few changes on 'Default Skin', 'Minimalistic', 'Simple Gray' and 'ElvUI Frame Style BW' (need reaply).\n\n|cFFFFFF00- Important:|r If the menus is out of the position, just reaply the skin.\n\nv2.0.15 (|cFFFFCC00Oct 15, 2014|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Fixed tooltips where sometimes it wans't showing at all.\n\n|cFFFFFF00-|r Fixed the healing done amount on Malkorok encounter.\n\nv2.0.14 (|cFFFFCC00Oct 14, 2014|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Added pre-potion recognition for WoD pots.\n\n|cFFFFFF00-|r Added spell list for Blackrock Foundry encounters.\n\n|cFFFFFF00-|r Added mouse wheel scroll speed option.\n\n|cFFFFFF00-|r Added support for healing multistrike and damage multistrike.\n\n|cFFFFFF00-|r Added a Change Log button on Options Panel.\n\n|cFFFFFF00-|r When the windows is locked, trying to move the window through toolbar will stretch it instead.\n\n|cFFFFFF00-|r Renamed overheal for shields, now its called 'shield wasted'.\n\n|cFFFFFF00-|r Fine tuning on healing done, should have high accuracy now.\n\n|cFFFFFF00-|r Encounter Details plugin now supports Highmaul and Blackrock Foundry.\n\n|cFFFFFF00-|r New class cooldowns and spells recognition.\n\n|cFFFFFF00-|r Fixed few bugs on comparison panel and avoidance panel.\n\n|cFFFFFF00-|r Fixed encounter recognition, now it should show the encounter name over segments menu.\n\n|cFFFFFF00-|r Fixed Graphic part of Encounter Details Plugin, now he draws more accurately.\n\n|cFFFFFF00v1.29.3 (|cFFFFCC00Oct 11, 2014|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Fixed an addon crash bug when clicking directly on the sword button.\n\n|cFFFFFF00-|r Removed Flat Skin, added new skin: Serenity.\n\n|cFFFFFF00-|r Fixed many issues with bar animations.\n\n|cFFFFFF00-|r Fixed combat encounter start if the player already is in combat when the boss is pulled.\n\n|cFFFFFF00-|r Fixed wheel scroll when sometimes it move very slow or doesn't move the bars at all.\n\n|cFFFFFF00-|r Added option 'Always Show Me' which when enabled and you aren't at the top ranked players shown in the window, it forces to show you in the last bar.\n\n|cFFFFFF00-|r Added option 'First Hit' which when enabled show who did the first struck in the combat (normally is who pulled the boss).\n\n|cFFFFFF00-|r Added a panel to change class colors.\n\n|cFFFFFF00v1.28.3 (|cFFFFCC00Oct 04, 2014|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Added support for plugin descriptions on options panel.\n\n|cFFFFFF00-|r Added scale option.\n\n|cFFFFFF00-|r Added a Change Log button on Options Panel.\n\n|cFFFFFF00-|r Added option to use the same profile on all characters without asking.\n\n|cFFFFFF00-|r Added a shortcut color button on main panel on Options Panel." Loc ["STRING_DETAILS1"] = "|cffffaeaeDetails!:|r " diff --git a/classes/classe_custom.lua b/classes/classe_custom.lua index 1ca90c44..72c0602b 100644 --- a/classes/classe_custom.lua +++ b/classes/classe_custom.lua @@ -1038,8 +1038,8 @@ local debuff_uptime_container = player.debuff_uptime and player.debuff_uptime_spells and player.debuff_uptime_spells._ActorTable if (debuff_uptime_container) then --potion of focus (can't use as pre-potion, so, its amount is always 1 - --local focus_potion = debuff_uptime_container [156432] --WoD - local focus_potion = debuff_uptime_container [105701] --MoP + local focus_potion = debuff_uptime_container [156432] --WoD + --local focus_potion = debuff_uptime_container [105701] --MoP if (focus_potion) then total = total + 1 found_potion = true @@ -1056,8 +1056,8 @@ if (buff_uptime_container) then --potion of the jade serpent - --local jade_serpent_potion = buff_uptime_container [156426] --WoD - local jade_serpent_potion = buff_uptime_container [105702] --MoP + local jade_serpent_potion = buff_uptime_container [156426] --WoD + --local jade_serpent_potion = buff_uptime_container [105702] --MoP if (jade_serpent_potion) then local used = jade_serpent_potion.activedamt if (used > 0) then @@ -1072,8 +1072,8 @@ end --potion of mogu power - --local mogu_power_potion = buff_uptime_container [156428] --WoD - local mogu_power_potion = buff_uptime_container [105706] --MoP + local mogu_power_potion = buff_uptime_container [156428] --WoD + --local mogu_power_potion = buff_uptime_container [105706] --MoP if (mogu_power_potion) then local used = mogu_power_potion.activedamt if (used > 0) then @@ -1088,8 +1088,8 @@ end --virmen's bite - --local virmens_bite_potion = buff_uptime_container [156423] --WoD - local virmens_bite_potion = buff_uptime_container [105697] --MoP + local virmens_bite_potion = buff_uptime_container [156423] --WoD + --local virmens_bite_potion = buff_uptime_container [105697] --MoP if (virmens_bite_potion) then local used = virmens_bite_potion.activedamt if (used > 0) then @@ -1104,8 +1104,8 @@ end --potion of the mountains - --local mountains_potion = buff_uptime_container [156430] --WoD - local mountains_potion = buff_uptime_container [105698] --MoP + local mountains_potion = buff_uptime_container [156430] --WoD + --local mountains_potion = buff_uptime_container [105698] --MoP if (mountains_potion) then local used = mountains_potion.activedamt if (used > 0) then @@ -1136,11 +1136,11 @@ --get the debuff container for potion of focus local debuff_uptime_container = player.debuff_uptime and player.debuff_uptime_spells and player.debuff_uptime_spells._ActorTable if (debuff_uptime_container) then - --local focus_potion = debuff_uptime_container [156432] --WoD - local focus_potion = debuff_uptime_container [105701] --MoP + local focus_potion = debuff_uptime_container [156432] --WoD + --local focus_potion = debuff_uptime_container [105701] --MoP if (focus_potion) then - --local name, _, icon = GetSpellInfo (156432) --WoD - local name, _, icon = GetSpellInfo (105701) --MoP + local name, _, icon = GetSpellInfo (156432) --WoD + --local name, _, icon = GetSpellInfo (105701) --MoP GameCooltip:AddLine (name, 1) --> can use only 1 focus potion (can't be pre-potion) _detalhes:AddTooltipBackgroundStatusbar() GameCooltip:AddIcon (icon, 1, 1, 14, 14) @@ -1151,44 +1151,44 @@ local buff_uptime_container = player.buff_uptime and player.buff_uptime_spells and player.buff_uptime_spells._ActorTable if (buff_uptime_container) then --potion of the jade serpent - --local jade_serpent_potion = buff_uptime_container [156426] --WoD - local jade_serpent_potion = buff_uptime_container [105702] --MoP + local jade_serpent_potion = buff_uptime_container [156426] --WoD + --local jade_serpent_potion = buff_uptime_container [105702] --MoP if (jade_serpent_potion) then - --local name, _, icon = GetSpellInfo (156426) --WoD - local name, _, icon = GetSpellInfo (105702) --MoP + local name, _, icon = GetSpellInfo (156426) --WoD + --local name, _, icon = GetSpellInfo (105702) --MoP GameCooltip:AddLine (name, jade_serpent_potion.activedamt) _detalhes:AddTooltipBackgroundStatusbar() GameCooltip:AddIcon (icon, 1, 1, 14, 14) end --potion of mogu power - --local mogu_power_potion = buff_uptime_container [156428] --WoD - local mogu_power_potion = buff_uptime_container [105706] --MoP + local mogu_power_potion = buff_uptime_container [156428] --WoD + --local mogu_power_potion = buff_uptime_container [105706] --MoP if (mogu_power_potion) then - --local name, _, icon = GetSpellInfo (156428) --WoD - local name, _, icon = GetSpellInfo (105706) --MoP + local name, _, icon = GetSpellInfo (156428) --WoD + --local name, _, icon = GetSpellInfo (105706) --MoP GameCooltip:AddLine (name, mogu_power_potion.activedamt) _detalhes:AddTooltipBackgroundStatusbar() GameCooltip:AddIcon (icon, 1, 1, 14, 14) end --virmen's bite - --local virmens_bite_potion = buff_uptime_container [156423] --WoD - local virmens_bite_potion = buff_uptime_container [105697] --MoP + local virmens_bite_potion = buff_uptime_container [156423] --WoD + --local virmens_bite_potion = buff_uptime_container [105697] --MoP if (virmens_bite_potion) then - --local name, _, icon = GetSpellInfo (156423) --WoD - local name, _, icon = GetSpellInfo (105697) --MoP + local name, _, icon = GetSpellInfo (156423) --WoD + --local name, _, icon = GetSpellInfo (105697) --MoP GameCooltip:AddLine (name, virmens_bite_potion.activedamt) _detalhes:AddTooltipBackgroundStatusbar() GameCooltip:AddIcon (icon, 1, 1, 14, 14) end --potion of the mountains - --local mountains_potion = buff_uptime_container [156430] --WoD - local mountains_potion = buff_uptime_container [105698] --MoP + local mountains_potion = buff_uptime_container [156430] --WoD + --local mountains_potion = buff_uptime_container [105698] --MoP if (mountains_potion) then - --local name, _, icon = GetSpellInfo (156430) --WoD - local name, _, icon = GetSpellInfo (105698) --MoP + local name, _, icon = GetSpellInfo (156430) --WoD + --local name, _, icon = GetSpellInfo (105698) --MoP GameCooltip:AddLine (name, mountains_potion.activedamt) _detalhes:AddTooltipBackgroundStatusbar() GameCooltip:AddIcon (icon, 1, 1, 14, 14) diff --git a/core/windows.lua b/core/windows.lua index 51319f0c..bf6215db 100644 --- a/core/windows.lua +++ b/core/windows.lua @@ -763,10 +763,100 @@ _detalhes:GetFramework():ShowTutorialAlertFrame ("How to Use Bookmarks", "switch fast between displays", func) end +--> feedback window + function _detalhes:OpenFeedbackWindow() + + if (not _G.DetailsFeedbackPanel) then + + gump:CreateSimplePanel (UIParent, 340, 300, Loc ["STRING_FEEDBACK_SEND_FEEDBACK"], "DetailsFeedbackPanel") + local panel = _G.DetailsFeedbackPanel + + local label = gump:CreateLabel (panel, Loc ["STRING_FEEDBACK_PREFERED_SITE"]) + label:SetPoint ("topleft", panel, "topleft", 15, -60) + + local wowi = gump:NewImage (panel, [[Interface\AddOns\Details\images\icons2]], 101, 34, "artwork", {0/512, 101/512, 163/512, 200/512}) + local curse = gump:NewImage (panel, [[Interface\AddOns\Details\images\icons2]], 101, 34, "artwork", {0/512, 101/512, 201/512, 242/512}) + local mmoc = gump:NewImage (panel, [[Interface\AddOns\Details\images\icons2]], 101, 34, "artwork", {0/512, 101/512, 243/512, 285/512}) + wowi:SetDesaturated (true) + curse:SetDesaturated (true) + mmoc:SetDesaturated (true) + + wowi:SetPoint ("topleft", panel, "topleft", 17, -100) + curse:SetPoint ("topleft", panel, "topleft", 17, -160) + mmoc:SetPoint ("topleft", panel, "topleft", 17, -220) + + local wowi_title = gump:CreateLabel (panel, "Wow Interface:", nil, nil, "GameFontNormal") + local wowi_desc = gump:CreateLabel (panel, Loc ["STRING_FEEDBACK_WOWI_DESC"], nil, "silver") + wowi_desc:SetWidth (202) + + wowi_title:SetPoint ("topleft", wowi, "topright", 5, 0) + wowi_desc:SetPoint ("topleft", wowi_title, "bottomleft", 0, -1) + -- + local curse_title = gump:CreateLabel (panel, "Curse:", nil, nil, "GameFontNormal") + local curse_desc = gump:CreateLabel (panel, Loc ["STRING_FEEDBACK_CURSE_DESC"], nil, "silver") + curse_desc:SetWidth (202) + + curse_title:SetPoint ("topleft", curse, "topright", 5, 0) + curse_desc:SetPoint ("topleft", curse_title, "bottomleft", 0, -1) + -- + local mmoc_title = gump:CreateLabel (panel, "MMO-Champion:", nil, nil, "GameFontNormal") + local mmoc_desc = gump:CreateLabel (panel, Loc ["STRING_FEEDBACK_MMOC_DESC"], nil, "silver") + mmoc_desc:SetWidth (202) + + mmoc_title:SetPoint ("topleft", mmoc, "topright", 5, 0) + mmoc_desc:SetPoint ("topleft", mmoc_title, "bottomleft", 0, -1) + + local on_enter = function (self, capsule) + capsule.image:SetDesaturated (false) + end + local on_leave = function (self, capsule) + capsule.image:SetDesaturated (true) + end + + local on_click = function (website) + if (website == 1) then + _detalhes:CopyPaste ([[http://www.wowinterface.com/downloads/addcomment.php?action=addcomment&fileid=23056]]) + + elseif (website == 2) then + _detalhes:CopyPaste ([[http://www.curse.com/addons/wow/details]]) + + elseif (website == 3) then + _detalhes:CopyPaste ([[http://www.mmo-champion.com/threads/1480721-New-damage-meter-%28Details!%29-need-help-with-tests-and-feedbacks]]) + + end + end + + local wowi_button = gump:CreateButton (panel, on_click, 103, 34, "", 1) + wowi_button:SetPoint ("topleft", wowi, "topleft", -1, 0) + wowi_button:InstallCustomTexture (nil, nil, nil, nil, true) + wowi_button.image = wowi + wowi_button:SetHook ("OnEnter", on_enter) + wowi_button:SetHook ("OnLeave", on_leave) + + local curse_button = gump:CreateButton (panel, on_click, 103, 34, "", 2) + curse_button:SetPoint ("topleft", curse, "topleft", -1, 0) + curse_button:InstallCustomTexture (nil, nil, nil, nil, true) + curse_button.image = curse + curse_button:SetHook ("OnEnter", on_enter) + curse_button:SetHook ("OnLeave", on_leave) + + local mmoc_button = gump:CreateButton (panel, on_click, 103, 34, "", 3) + mmoc_button:SetPoint ("topleft", mmoc, "topleft", -1, 0) + mmoc_button:InstallCustomTexture (nil, nil, nil, nil, true) + mmoc_button.image = mmoc + mmoc_button:SetHook ("OnEnter", on_enter) + mmoc_button:SetHook ("OnLeave", on_leave) + + end + + _G.DetailsFeedbackPanel:Show() + + end + --> config class colors function _detalhes:OpenClassColorsConfig() if (not _G.DetailsClassColorManager) then - gump:CreateSimplePanel (UIParent, 300, 280, "Modify Class Colors", "DetailsClassColorManager") + gump:CreateSimplePanel (UIParent, 300, 280, Loc ["STRING_OPTIONS_CLASSCOLOR_MODIFY"], "DetailsClassColorManager") local panel = _G.DetailsClassColorManager local upper_panel = CreateFrame ("frame", nil, panel) upper_panel:SetAllPoints (panel) @@ -804,7 +894,7 @@ --GameCooltip:Hide() end - local reset = gump:NewLabel (panel, _, nil, nil, "|TInterface\\TUTORIALFRAME\\UI-TUTORIAL-FRAME:" .. 20 .. ":" .. 20 .. ":0:1:512:512:8:70:328:409|t " .. "Right Click to Reset") + local reset = gump:NewLabel (panel, _, nil, nil, "|TInterface\\TUTORIALFRAME\\UI-TUTORIAL-FRAME:" .. 20 .. ":" .. 20 .. ":0:1:512:512:8:70:328:409|t " .. Loc ["STRING_OPTIONS_CLASSCOLOR_RESET"]) reset:SetPoint ("bottomright", panel, "bottomright", -23, 38) local reset_texture = gump:CreateImage (panel, [[Interface\MONEYFRAME\UI-MONEYFRAME-BORDER]], 138, 45, "border") reset_texture:SetPoint ("center", reset, "center", 0, -7) @@ -853,7 +943,7 @@ function _detalhes:OpenBookmarkConfig() if (not _G.DetailsBookmarkManager) then - gump:CreateSimplePanel (UIParent, 300, 480, "Manage Bookmarks", "DetailsBookmarkManager") + gump:CreateSimplePanel (UIParent, 300, 480, Loc ["STRING_OPTIONS_MANAGE_BOOKMARKS"], "DetailsBookmarkManager") local panel = _G.DetailsBookmarkManager panel.blocks = {} @@ -2175,7 +2265,7 @@ function _detalhes:CreateTestBars() local current_combat = _detalhes:GetCombat ("current") - local actors_name = {"Ragnaros", "The Lich King", "Your Neighbor", "Your Raid Leader", "Your Internet Girlfriend", "Mr. President", "A Shadow Priest Complaining About Dps", "Ms. Gray", "Parry Hotter", "Your Math Teacher", "King Djoffrey", UnitName ("player") .. " Snow", "A Drunk Dawrf", "Somebody That You Used To Know", "Low Dps Guy", "Helvis Phresley (Death Log Not Found)", "Stormwind Guard", "A PvP Player", "Bolvar Fordragon","Malygos","Akama","Anachronos","Lady Blaumeux","Cairne Bloodhoof","Borivar","C'Thun","Drek'Thar","Durotan","Eonar","Footman Malakai","Bolvar Fordragon","Fritz Fizzlesprocket","Lisa Gallywix","M'uru","High Priestess MacDonnell","Nazgrel","Ner'zhul","Saria Nightwatcher","Chief Ogg'ora","Ogoun","Grimm Onearm","Apothecary Oni'jus","Orman of Stromgarde","General Rajaxx","Baron Rivendare","Roland","Archmage Trelane","Liam Trollbane"} + local actors_name = {"Ragnaros", "The Lich King", "Your Neighbor", "Your Raid Leader", "Huffer", "Your Internet Girlfriend", "Mr. President", "A Shadow Priest Complaining About Dps", "Ms. Gray", "Parry Hotter", "Your Math Teacher", "King Djoffrey", UnitName ("player") .. " Snow", "A Drunk Dawrf", "Somebody That You Used To Know", "Low Dps Guy", "Helvis Phresley (Death Log Not Found)", "Stormwind Guard", "A PvP Player", "Bolvar Fordragon","Malygos","Akama","Anachronos","Lady Blaumeux","Cairne Bloodhoof","Borivar","C'Thun","Drek'Thar","Durotan","Eonar","Footman Malakai","Bolvar Fordragon","Fritz Fizzlesprocket","Lisa Gallywix","M'uru","High Priestess MacDonnell","Nazgrel","Ner'zhul","Saria Nightwatcher","Chief Ogg'ora","Ogoun","Grimm Onearm","Apothecary Oni'jus","Orman of Stromgarde","General Rajaxx","Baron Rivendare","Roland","Archmage Trelane","Liam Trollbane"} local actors_classes = CLASS_SORT_ORDER local total_damage = 0 diff --git a/gumps/janela_news.lua b/gumps/janela_news.lua index 4dfdfda8..0f982c90 100644 --- a/gumps/janela_news.lua +++ b/gumps/janela_news.lua @@ -9,7 +9,9 @@ function _detalhes:OpenNewsWindow() news_window:Title (Loc ["STRING_NEWS_TITLE"]) news_window:Text (Loc ["STRING_VERSION_LOG"]) - news_window:Icon ("Interface\\CHARACTERFRAME\\TempPortrait") + + news_window:Icon ([[Interface\AddOns\Details\images\icons2]], {108/512, 189/512, 319/512, 400/512}) + news_window:Show() end @@ -133,8 +135,13 @@ function _detalhes:CreateOrOpenNewsWindow() texto:SetText (text or "") end - function frame:Icon (path) + function frame:Icon (path, coords) frame.portrait:SetTexture (path or nil) + if (coords) then + frame.portrait:SetTexCoord (unpack (coords)) + else + frame.portrait:SetTexCoord (0, 1, 0, 1) + end end frame:Hide() diff --git a/gumps/janela_options.lua b/gumps/janela_options.lua index d1184799..110508d6 100644 --- a/gumps/janela_options.lua +++ b/gumps/janela_options.lua @@ -320,15 +320,54 @@ function _detalhes:OpenOptionsWindow (instance, no_reopen, section) window.Disable3DColorPick:SetColor (.5, .5, .5, 1) window.Disable3DColorPick:Hide() + --> disabled + hide_3d_world:Hide() + --> create bars local fillbars = g:NewButton (window, _, "$parentCreateExampleBarsButton", nil, 110, 14, _detalhes.CreateTestBars, nil, nil, nil, Loc ["STRING_OPTIONS_TESTBARS"]) - fillbars:SetPoint ("bottomleft", window.widget, "bottomleft", 200, 12) + fillbars:SetPoint ("bottomleft", window.widget, "bottomleft", 41, 12) + fillbars.textalign = "left" + fillbars:SetHook ("OnEnter", function() + fillbars:SetTextColor (1, 1, 0) + end) + fillbars:SetHook ("OnLeave", function() + fillbars:SetTextColor (0.9999, 0.8196, 0, 1) + end) + + local fillbars_image = g:NewImage (window, [[Interface\Buttons\UI-RADIOBUTTON]], 8, 9, "artwork", {20/64, 27/64, 4/16, 11/16}) + fillbars_image:SetPoint ("right", fillbars, "left", -1, 0) --> change log local changelog = g:NewButton (window, _, "$parentOpenChangeLogButton", nil, 110, 14, _detalhes.OpenNewsWindow, nil, nil, nil, Loc ["STRING_OPTIONS_CHANGELOG"]) changelog:SetPoint ("left", fillbars, "right", 10, 0) + changelog.textalign = "left" + changelog:SetHook ("OnEnter", function() + changelog:SetTextColor (1, 1, 0) + end) + changelog:SetHook ("OnLeave", function() + changelog:SetTextColor (0.9999, 0.8196, 0, 1) + end) + + local changelog_image = g:NewImage (window, [[Interface\Buttons\UI-RADIOBUTTON]], 8, 9, "artwork", {20/64, 27/64, 4/16, 11/16}) + changelog_image:SetPoint ("right", changelog, "left", -1, 0) + + --> send feedback + + + local feedback_button = g:NewButton (window, _, "$parentOpenFeedbackButton", nil, 110, 14, _detalhes.OpenFeedbackWindow, nil, nil, nil, Loc ["STRING_OPTIONS_SENDFEEDBACK"]) + feedback_button:SetPoint ("left", changelog, "right", 10, 0) + feedback_button.textalign = "left" + feedback_button:SetHook ("OnEnter", function() + feedback_button:SetTextColor (1, 1, 0) + end) + feedback_button:SetHook ("OnLeave", function() + feedback_button:SetTextColor (0.9999, 0.8196, 0, 1) + end) + + local feedback_image = g:NewImage (window, [[Interface\Buttons\UI-RADIOBUTTON]], 8, 9, "artwork", {20/64, 27/64, 4/16, 11/16}) + feedback_image:SetPoint ("right", feedback_button, "left", -1, 0) --> right click to close --local right_click_close = window:CreateRightClickLabel ("short", 14, 14, "Close") diff --git a/images/icons2.tga b/images/icons2.tga index 9b9b1e592c3d50889e24e0abf361245455dab671..4b6cdee90e88e18333c7af4a2ef872106faac2d5 100644 GIT binary patch delta 60306 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ˇCgmK+B3d?=tZno2PH(sk&VIGWD75|ohDiU|kVS1`k)N3@qi zzxtB>0Q*ULsTv&1KA-tdM!u$k!r(sx9ztY_woJl&0v)B%loe!TIte^f{-~F*V`4(0 zN+J^puTu7yCzC`!VrfGaCS9}?2_>u;(O$)6puG{95zlg&x*H;Rpya!QZ;&0cu3V3$ zw{BI0q==Cfgh`PEOvl<8XzXf7c6uh2bUqi19Em9#mSF7qIcQ!uPN880p&46{2AQQH zb?u!ox@RtC(rqn_S3(FW$hZnbN(64Y91P{w2O<&M1NNXut6!&Es06WdYdneiD@-dnj*O;Jo^6C#1dxL{yo0`cMRpST5;wo{DXTD;PLlgCr8oe_LFuokP0?M?0LdwU zDdO|&hnOU03B;0$qLjh9?R;Yl4+xBEJhZL#^n=GHG2eX(ZPm=>gM6+h0e{) zYI$WpRz7qYs^)YeG%Xh6cP+=rMN=?@28PhuU|dhpnj!P$>naz-$OsckGmic%os;rk zi8@CSZv9N#zgN(8>c1ke6)u*ma=by9b}&!bQJ^aHC!8yL$udy6^j?Z8Ns;-qQid;| zjLuE-Fly^URLtqnQMY^?ipDphY4v0b@1Du3PHWM&Y%=nT3z0>TcFTD8*ICUQgbGzp z?LvbhuSP7KjFALa#heisd%;4qO{3oU_bkV&{oW4p6;DpW^lr%*<}XcBrc@`^XmDd5EL288Zik1Rb7Esalfe_$b%BV@K_6cjrk4z0PdCplQj8UAa)cG_uGj5 z5H-dbN=67=MVvDJqd=^LgCb}lUp4!~RUj*A+Oikomc7Io1j?yNDU1+u4Tx0!Gp8}8 zo1T)UV5?H`9R&UT?UTJ~@u2op&=oRf{84DiBATaw8mNe**H3gZh7fHuN}tWzW{WZT z(p4CH@e*`yTZk@#(>Ef(P;!p3^nJH&nvLSRawTizm4g!1L5U!q5GiX0M$~Odj0rQou2$fbT1!wU?Rai9qxdjx>LnfPS@PntP+q}W9fpk^7VIgwsZS0- zaDz1TcL65}h24@%+a19Xs&1AEEpjCE*eeH`qD(pR5dXLQiWZf`B(O*lYAoaFlHx58 zmpoSmdHxof?Uf&nlB}1MN@IZIL`m2cTx<{#p@xwTLctRM&7d)urc;(GWoA~=m8r}b z49<6F@W3gPN0|)4rSnF~T%;@di1OITyBZ-@-Np z{K6U7YVUz9bv&yXr1EAT-s{0OTd_r6VUpOL%-ZReaE?i$dosgflU#F?Ia%VymwV(` zPRdpJefD1Okt^NOHU6_2N16atT`;RY`+2Iqb<3@e{a=-j%Gc#>8`MkW$_DwVS|$g* za$b$G&IMZCXs@r`=1V9L68^*rmxr{cOn|+h8@8rL4MfEuiDJT^?4`_7d{gXRlszUc!zjRWG`$e zEZYx8yWO8f6B6UHrTCR2C3yNV+qkDqRm%*R)mAd zAMvJ=%=Llx81R;fazcu7+Xnf%S(+hd<@4&EKZGYX3IJT}g0jE}*s>SHHtccOy1q6* zHq`*%MuDZ1Z8CJ&-nPfbwr_SVTZLiqkn zbS%06w#J9iZ5wt3LAJ(6U@N`MfV8l!9~q6!vo#)qt@&xLf5CNb=(mzdRBtc}{^gfn zswk*bO~8^h5EY1KD$~_@`cFmZpj#5;&_^ zr^ib#y`&-s5XTh>akC z5iPD|NgaRm(MOdW5J@2&lxrL4MO9C^N?w7SkvxJGD^@55kq*B7_S;IX2w2o7O?Dru z57tsul;Us8Uq|`x<7`O2$RV(`zYIZ$t$>AlNLZ3GBf>%&DEd^=XrxJEaY(>P{$zHY ze7IjcNuW-0Ck(ht;If|$M4ZU9QJGBH4|aMh{!sI&W_ya>v2k^G+XQO8$p&Nv+yYnY ze87jH4hsk3mTUQYu5o>{ki3JE)vd=3(Wvwbp=T0cEnuEPH{}mgK7^!XMxm$_MGJn? z8G*F~3&bLjV>u^xNN7#|guEs8EL{;)%JtV?dre&v!6VO!BItv>DCzX6gOG>aqQS1m z)x$ROUD#%@)x(~oP^T!TsFoK}JgYd49LtL&njw&tu)6$7$VVE~4|!>bq~I8k7oHVd z$kT!!k>kQ6a`zy?>+&LP@SpN#D3qvsEJ}?;7Qi;Xu(FiVMblPmV69ls819-VfEAIe$xB00!hg0<(FSp*ZvFs?#f6a{1rh636)*V!mtZ;*v6hT z_;~aQ*kdXbf2t2U$p?jX1g@f*C5|d$-e{&|v^cR)WvKs zfwPZ-v)Cpr&kWiuydc=HbEQLN#q~)^T{EqU7&?Kwp&oh<_T*(xaxjn-27f+prGkfd&68T^|;X0;|$}I}|(yQcAgfywV;Cy1?w81@-&cL2H zoae=&6+NXJGDY%%46+(IlJ(L^aOa}_|0npH`l(;ZeP>%iFU7uSg7KvPao@0Qr(nxl zqqtH*RoMdqc|o&kn1jU4WnR9xGX@pPujyWlpU*%4ToIBaGfbH>MG?rkps!t}lU%e= zp?d{=F^NL@BDd`5rD^)6ZWoi?UHJ-V>4gnv~h%`#nIWRDP^YBXnL z`zh;N^n-yiLkj(Wz=ON3;C#`)Y$NH!R)4_Iy(8c6Gdg{hSQFb@EGpGN$HyLf48w;H zS5Ot{KG4wLNTAC&7hg;Zxp&sASxQp<9v>+969;_~$aeq}Lb)+qzI^GA@TQy>&FUdC z{`$9JP0ohDyAz>nfxpEA{tWbbkDmd@_kM;K6DjPY`*^`s3EQfh6GRwv+x9B0NPr%E#YgexdwHDxH{kVr~ez$#pS5#2gWON5Il8z4sJRAUQPh_eVNG ztReZrfFKsGApFy(7)sfX<`Da2Qru~)f54y^j)v_KoH$F0kq^l*O{`t{6A}=`Bh3;C zFR5uF?FUqr!ig+Xpm66b;~3Ej{nO@!zw|n$kctddQ1~4IWymMD0lWy*xI((`>aTyr z9X=zMz~95!AX*>0*yp}JaJ`wSgoLLbv$aJ+4e|%=YS9E#;(O2b6u<{8XQ%G_|+3!Hz6^A@~q52(Dxq6-f;178&g?*lOV{N|h}k zQeEsCxgzPRvNVUd2jo#Z(J4bkTLw9oP`8c$o*F~8AB+)@NZzimj3H$opQt8Mbz30H zO!AB5Pjt9wWHB;ilqfi}T6L?U7~$q=OumsJnrfjYG}9x`nT0^42LlK^Czq%T>g&#S zUr+ds+yToC#02eAkL%xqEiOfIg&OgC*nQ|bO4C^#?zzw5^tNG6`L2}iaGT6cOmcAn zkv{~v^iTP+f4P5y}*3uD4CErr;@7HS5ezE?9_PgclntWazIY@)V))p-& z{rF?PI2#Xs)V>jk@IL=}c+kr9*!vM|@u>rN(BWtI_|537Ip2YtZ4C7h)+})l+99pE0tcaq?tUf z$@7ZhOu`ZJ*$r}Fk|QrKy-zs&F-{XjQ>|UPmE2@U;{qHJ5lCR1T$?XBs z-c4V^w{{v~n8_3k$^t&6E6|z^V34*5lt1xx<^T2+`^TCy6mEb0(CFo3ec$5P%>A$Y z-W`NK$H!jVPr$Eg4l&@4XMWQ)of7W1Bftyg9*(@(x8P8C?0g)qgrS@Cci>R!pIDGF0{Gw_iBd2fP%h^y)6S9pc+|KM$X-)v%m@fOg&)c-+RZ z&%C{`?EDN~8%P}Dbf!#I)J_x~`%OR2^%ZZs7u`q`>G0Y61#C&V@ONQ;Ohg)Bn>2LQ)|v)urS#9S2-kge>@Ub1G?!TaJ<@V=C& zxrA<*(%I~zTc2E016Q#TNYsAUK;n&m+AIe(aIY;2T@MUT?V}Nx0e*^v^ zxy3~>4>{Ve^9J~CB9J?8hP8GxWdo}VusMJ9BApho*tY6ThJTe*W^KA0bWOuL<{*J4 zbp7YUWE7Kh7G{ovbs2R-6KR3J#eDzWI2%85Hq;eZTof$D=oxlDY;@?_TMpA8oz6Fr zaws95``?gJ@je$NZw2}F_roqPnn3TDXlse$k&B*H^6!sjtqM1i5J+a?vd@?adn^5f zqd!s>u|0^Eu_#40>rZh0c4>KEAdwtm_ty7ft0m45vtckV*K28vB3tN(Q<8!BxH^D285*iEKqUTVUJ{V5aq`BRS`0 z4bF$0vIW!Q%9mLKX`}h4aL@Pg25U$WH!l5Q4Jn1UZVN4iHMERd1-D9A!?-|S7|WrD zv07VrJ-0?!Bb#82;G%vJtvnu1xz$DvZ|By*VQ*9?qe4+5d6woQH`!aGN68hI8I;TR zs1AzcR@lNC)VpnAbsP{6gDtW}XFGUBv+-ZIjqldvBi%OsGs}^jiqEDq_;*0>=M%uh z6&J26#}%wiF0r!iIk&jJy`1M%2`4V$#kJ-&R`JoyG)lO(wid~SxqP_JnN$qcoOsbG zjLFu{5nw?DCXMoS7peD2y_a6r>!N_+QI8zC$_J&IxJmAG2x9R9CNssgur>uh?#Pd^ z0W3|!b@Ej?7B{AhNGTGFs&T1`@DbIrNIUCSn>=+cQoxGR8jB`so?QOR!h$oFGQPBe zrAN3~D$#3V(Q{voB^8Y`WjtGIJmJB$gQY^9t(qIx++itSRnx(PZgV<|-Rs~_9YYSKDGh10i zG!H?w%ec_MYWS4ThGQ6KZLoNW$&(Oa*#(V@tDD>-_-r7{LIm;|f6h1IWHY`?*Bs=e zyi`u`qU_}cImgZ9Y<#dsa}3}b>`rnAvB)3Ya;ux>#Or20qj6wm&4qjJVg$^&3r_Lv zgaI2s6iI=WZq1ovYef-4F;1*T;lg|kUH&<9Bf_LCvr$t@$}4emP2-B~Qo32nb8xkK z!5Awgv3xGwi>jb8foznfyyYw+NvM!E9BnMC z;K}vBT=@kLov$P|OR33lR*6f>7}md?4^LL=(LFLo!Gq;m zoKsk#J7GB7lRDs>&je0)%!D6{8TkI7iSn}a-ALh4tvTlrL9I?dA zI3F&^?ai7fRuX+s4YZIJ9oTE!1GF6D<;Bcf&&5=N{?bjxZTabve4xO5Cln>8S~crxOR91J6Apu0OqHzRAOYybvpijXgr44S$O-#Nk zg+pWoam$jE(KT>RWcflerBmu?xTJQ#HK76S@p=tB5^LcS!PE~ zx|cN;iN#}(R$PNAvzK7Z+9zORNi*M}QxQG72Z2p1*|l~=R?}bEbw2a58|R@ldf05l zR&&jv#yJSBnTm*pnFz0&kCa2a}ZWK74a?05I=k+qJ~aD z0x=L)HHC{QHO*)7!6^u-n1;xP*@&*=XNE6CO7jAwjb4YCmQ^&`S&_{`5$7JjVs*6D z(wdMod<_!XIl>`Y14`$@ht-e$^CogQL3Num2KM|e0*eZnnDb6*fGw9@%4~;6d>#C< zI^iB$PFAmj?m`}QOKOC7@-Vowh*bauxIc?n`Q-6|H0tZzHf}AjWi=yU$S8OvP+C#w znBzO(n8pb$EXmBm<((%Zg)XSjG z3|QlG5t>yA@2E^zg5p_fI~m^Lsql@=gf}-!WVSl?iOS{xA&y?Lm^}E&5AJ;;bKnjA6grGG(re%z)yj>ypm^0i!mHpKR1QztT<#&|a1AMg2W>LMrUgsdFbrgEBBIl%2mu)~|3y zfk(TO#Y$%#HFZgn2PgycX64GV$=;yM|8L!9K(meHHkIP z0%^brYlvkc2A(n*hmx6E`kCoh_%V1%Fk>eFC~L~b%FlJAh$ZkWngvVwas=pfr)0(l zVBXa6xbH8!v24Z!no?Z%)58j9AL#%aE&%aMWoM=1+ynpuXTgAvz?>hk@LV7%CxnKq zU0}|Z`VtRhPEE9SP!VBH%g9O~d+>fYzL&t!H7|J?Urtr-M#IrHlB$~~fqGdmNie7q zT5uH+#}`|8pOp{~NQ5U|$nUHXjUKhYWqUkrd>dPINX6KkLB9#>+ z6C2?dHxa&h+X<2kIHgQP;P6Wj)Uh4DMdJ_=7lUP8^yt@B!k=CNkw?z98scjxd=p0^ zAa?{j!n5HXPLs`(1H7na1g2BGCsG63YvAHniGb{h@Jj7epwrzLD))@xXv>2FEV!Ok zaHnvpeKp}m7?Ik&vdh^m8jI;O;F&WEo`tjERYV0feh;N-1^K+5wcBV01T-L`WG=JA zX&VN{!teiYd=nSkJc!-tqi+(rB3M1(b8cbe0h3Kr?9;HPk9-5i>~V zrPN$wSafbUJVH9Ch~~o_-a@zsvBqF2F1qbeO3v{_9udruhh}4uORoUg=P)JMTFB@+U%f^5Z)28*fL-s%Me2;(03jc6Or`F&kb$ z*22FdamMX5vB(2tE+-DM`)|+=!SthmqR#AS^|fLQCi-5{DsT?X^g~>@B3Mc@4o`d&n!H z2+1tOZ6CaiYv24Do*7rb$!`+*L3oQ4ZH++I)2|}qZ*1sa^i#;DQ#zlmEMjOUuyh9* zE`&_O{6udK_$(o`3t6vMsEom?C=yKB+5-qHS%S3c1uVWgm4#Td>FBLF2d>1RFq6Z> z%Mp-26G6!(n6UN+bap?2%BfdDuN<=i0a0XCUk=>@%P4CIOaBt;*%%bO`7-j@DxXnz zimYH6LZ)Kfa1Dx|r-O3RL+q*#yvn)G(p5hqa@#j>9m-*z$fhv9!-;0(s0Ep;$k7FEiIHhm?n=he+hz=O`D$L2N`H_jRly;)}*cS+FdzyHn zj7#b!GnXQGNiQls0%D}Gk+ra7Fm~DY-kVr?;uj>X_z2B6oiYkBam7JoUdu{VA0@qZ!kzcrxE) zClNXM14`s2R35zUPl1*+2M*z#aLuSh@!KCE;p$&tsp+Mk!V6gsb9L*_&LHN7_c?28 z5}gwn$bI=ZavnH^fU$3KncXV{H!C?vDo5ipuOeyrn=nOhVyotHB%O=Y2OdMpVe-Vx z=Low5#9e&{ieEfM3GgZ0s&0XAeK*1`K7sVVy-6OaB(6B&{KaRH`w%BxG#@2i2yZrC zV_7?=;4CsLwWFwFu}924m@|XR)a!4(gH@~7qr7PZ3Wro8yRa5Mp{%&d`gtaI=IBH; z4kGJpT-m7Tm5YeJ8V4E!iM4Z3P|<*9&Qp45|1G#=!$zu93O=EE`VckR{F;9`oI+BG zs~3^U0GH3W+X;VRIJ(}FxdMCM3q09*9bvc}aaa6+inqT+`0lUZHiV2NRvSr2oN%$k z)zE(d!8*geNh6_A(P*)q>@L?8*tr`+-UdST6L8I&%J-L(>4?kdNjx47x6BF@{DY*v z>pKK4)%Rh{-M66U#~)FB=x0P;@-7_Wh*Vo1@?Lx%*@u5dz~VRHkWB_k>tPQ@AmgUn zQM~H}My`F91Loau&7O+<_dY`09>!IM?I(2>AoA)55qI0yuuOiF$Y82D6P8un#ve9>o%|)0nj7a-;3#7L17K6dbwdc3ib>Gs+7& z!+2hO0mv>MUtFF@9{-=b~h%b0icE#zJCBKhNege@nYW5~$5cQKL=9!CDtr(j?B z4w28+g%ApXq&9kvGlVVDy=A6n7`m;*R$wy@+b>%jWcwJv{s@=p%?tqTsT94XY?X+wJD zOhRPiI)v9Rhj;NLIB~G&;x7g;6&4+6n)tJ5ylGT_P9f>YJN^Qd|JQIUy^%QNc_KaT z(rb`;`+wlm_$nfozJsABe?Z}TUn6|(zu}moFDBB583<>A(&!DFQ1tvyu#S2e4#{L5 zg)A}_Ni2b~KjWoS$XfXrO4i^75BngKNUF-e@1vwxFyw~ z`0&$6yXQa1+w?MuHa&#k&b3Io_aUU;|0M!j-=a5(W0gpuCh|cTJ3$pLxXR`dIm!2a z$`AYv#cK{AZ~F^~I{!BE7nKzwCRz}O4R#7b-vsC;k6;dT2+}Yvz*4aUwu+VTt6Tv~ z@m#nwfy~LDNeSn&F6^OnR|#WD41wNo?^?=!igOoQhhr9AiG>&5Oy4CfKrspg%rWic zi(v!cZMX{YfB76qv)@JSUtdJoy?;m8 zg4;=kqV>j87BwK{k&of4k9h;hiw|JJ2k)YM@3U|ZT}!5-C7!yG)YgQQ`(Huix_=>W z!%5U0{Tf5=d>_6YcfvWQ33(5`jG$o;aULTVH6YC6Z~g&c(>Teb>q<3NNxbziV)wiY z|Ew3`5;<(cFeJ>!g`(5O&{}*cSJ&2+k4>Fp())*7|QzX$M zR|7}734#*~aMAwPP||Te#TDJgiOp~+m`lh-5)E|fQ3%@m7|W1>l=1+k^iHtdQHJ)<%p6IE5%$v^uh!uBKxTqka*>H@GQHQ%A}08 zPB0R$*@KJ&KhgkxkCx)6bh*z(!SR0}X6sjQEm+BS5ZQ@c6wyftnzI23mw!Rm-6PcZ zB!qB^7kYIxUGqlp!s`*c@dNlKJPlI}AGDHl1I7?p^SP%bm{5yY<~)T|9^`Q9LfDGi z&~)-Eq+atPyhC@wJ$enDrb7^YTQn6?t)`5Io>@K-ldZ%5Q!{HA`OC2L|y(e zBB#9p&&WGDprNpn;E5M;6iVu)&8!7b2#S^AY(v|Gxw!3tr!jd3>ut9#MMPo|Tr6R% zv>Qw`um&{4CH9C0T`<(=0#rwaB`8rzjfIlMF!Q5dI6OKPrByAgdr-k8K&miu>~w^u z5)YnaX@9~of?k7Q;wqF&UA#o=f(pxf6Y`LyECY4DME(tLvYP4T%7PP za0nW~cy%08F4xl%TtTT_1h)vf-@ERHf4~J?H*PwOhmA;n_6wvf`-pK&CY$B;Af&p7 zE8XABOy=vMyV-AnDQ+EHQy4)VxtBs}Ea#VSx%JkgY~6!Mf9z{&t5@KXy%}1@rR3h( z$hqOK81umo2+6vT%4i~D^v%e4|EQbqnrC5|I?4o2);45$vRZJo%-AIgAaZ(MLE63(h~D`j!l&K=Q#|EY+6833wM?*^jnOZ@goUqvjOhBykaFlhNZj-V z{VAJiwKM*mIBhf99zKqyYo116JjdEz6A-=aAp}f%hvYoR5P*JZWTN@Vt)Qx9t@hCJ zPQ=6|ae0JX#`%-rOFYHWuJsR>y4nF^vr<-hSN3ht#1)OCO|ihif?Vnpe8AZh6l zPU{gPatC&T?{k#)7vr{xswm0@!q%4a0hDx?tcMocfO2icf5fmx4j2F zqKk?-cqE*Xry&1=o3Zxo4={b#Q3OtZi>CUWFlCYMY3W(YH=*E?`!MHUA7cK4l(O^x zMW@*FaH)A1TJ2LzH04(P9lVCWg~mJoiQZSu>7fO8PJ+!QS3_fH3Ny$M8ObOydUsT=5Ik@TID_DKeZDhP~xTUu+lr@5pghGz2 z5*U(5r)0@QXiN$Hi8>K@PGpG{E#6*7idp6)NS1J#Ja+gT!b~m^vYy&;F*Bns#DY8j zj`$JxP+3uNWv<~h-jjO?H6L+Sbul`wJVJldF*xR21}%^Bt^96iWe1@(yaR368Qxs< z3X<1-j79f;1+Utdpf!CCZ3Ljze*&%MT}00&wcPkN!n%my)SXnTf-8O~n;(gsPfi|- z#_Nw!QfyF!q(x7mIvBU?n zPGpyNaaAvWxF^?;I~(CbL)^$0NFmd4{LDy}J?dOSFr2oHWCKVRfMj{NGCIwg?%vUK zulj`{yJ7;0>&G)KC=2oFxo{3)J^`&n-8G>D4x(>ExV~7Tj9Qi$mP7n_hN{J?V;ABl zaxVq}C28tBZnOl`*_G%S!~=iF(gup+7QL7opO0R|dzbPaxsUrC%A*8cPh0|X9z{$} zkMVrg`GkM*bzEcfYMvlG<1S!4cd@<`7ypDowy+rYY~&#P&PVxDjUc~M(ONj z=y3LsCt|vYP%@ddnuu$s)0e}r5Ly-zpJ6!7H>QA#hvXnBEsu*uPDNBQ)vXWxg!Eub z%+SPPl_rT5p49maV)=70t4xZ)f6BPf>>QbPi#tABq;M_3R~DXQV7VV{wij>X>*A4D1MxQ9omd$I{2NUcrJk*O<%~3&`%{s zQrOvK3iISy)C|N*ikv65^h8o?$S}T$ayF5yC6pUFk}O1MJXB&){lvcH~9wQwB!M9#6#A_#Kq0L>oBxB;;QNx z`Hna)(|JR~3(zVLK`XeHZCk_7?jk4ibFpk|>~uzYiJLG|sC_7#$Il9mqKKy3~Y4EitbJ_%LGw~I=rW!c1aB)A)QVd-?mxoCc zCDx;PaGE2&AVuTFnm5Jc84kiLj zqtQewF(e;xb2ib}N)TjiGI*qL4^d8Z`<3zjWO`|=Z3R6r6KN>EoG zAwNBA@Jt3V>!%kWaHLM>Enj5GW#Fg`@hcvLx$0>$9p|xVX853UnTLCs7(p*duQ= zVjC$P7$et`xKC&I(iag3F>R>Sk_1P~i67!7mRus@frG-~dk>)H=11v=EkabsT+Dsu z9gac?sLWO590DqJErG(E$E-$l?AnLw^#>8ub{}=k?Fbu2%Qwj!XYixj)E$Qu*)Ozh7gwN`w-o5KI*Qz6)ud?nW%_NG0W*I zZ$|36eMqPrj@qm4Lh|aX5!EmQxieY+YX7Ii$4AgwPEc{ZP0Nrt8cke{IYmz5J1g$s z{uavLq1Tg2c97E-(?%Ljg6%*kMT#wt3u{W0Fuxsv#iL-!Y$oFB;G0^H2tvf2=`xnI z2DmXd#4KTHXM&WRW0I6ia*v5}t49vb$w6kDI9qi|`Xr zP|#7shznYLg$Z5c9bTgk%FGOjnj7@{kT`Y$N0B~ATC@@QS05miWHL8tCQ=vCzbckT z5SQW{HxKKddyU8?ODY558VWNCvU>Wr!=_>8!J~*+evlvC4HL6b?M?HLyX1P9oKqP~ znu6-XC*hECG2EGu+_e7yh2miKu_%G)JnWu?3;qx9PT$7u488LttDj-)X5$|;J3A465!iZoA zSkWEl*djN4gdpJ63W&&g}(iU%FW*QmGsSphdwqiM*h*}Jv7ZV`& z2Fjg%hN2H1i^+$dL)rER*cB#1GJce@>RNbb^27FGF2%6|`S%=$w?6i6I!LmRIB6CN zujR{1Uo@DemitOFP1O^`%?I2+M3u9V%-BmLFN2AG5eo&mrLc<$dD9SHMMJ?U6lPMb ziLoOG4;p05gLDnb=Y8XdKPEK`pD-oN$e88ookWNZljcrrP=EBCg_i%uiY8d;(U|6- zX`VxgL*_NNn}{4S%QZ=Yri9d72xpoYG6vQ>$On{|D(~8f2~uGtOq^W6#L8*#$!({j zC641col;Q-3UM>YG^F)-?uBV$c}zGtF#cI~%V7>e*maXTLg#iPWygM4Qj6$L*a8z> z$X)}*cMgBQuPgPt35 zx8|Gx@1}_e8nY7i>NaHTdzyZyAvC6l z`~L%9xeC{1)`^nkI6P!chjY*6cQ_ghdD)wvY|Z*J+>;e?b(5 zA+5^n*CHvS;$~B)jDsnl3enATQML0fPNZ4NcnHI98}C8nq>DJ3ZAJL9tKmO<89b9m zAZ^V)gpZ*rVKz)g^BN4jm=T4RRWL`B{3&X^@;L(Aa|oqd4#O0_0^URBAZr8VUm&xR zy^9tgLO%qb7FHZD(~-0D7(&NgOxNH_ck%Add{bJu8uvX2oliKfu?zg7?O>Ukl!+1(G}=7(rfL`m-;xO|l}1B?LtYc-OqeAJ z&PuNHFCqVt%r!qsMkZ02B~#9gNt+BmI|R@k^sS-TsfIa(87;9K9&?jpGwoc*zdL+o-U zk8=EN4w=JTgRxXzlxqPDlSM4%McM@%&6>jLfsS4P$C$Z1-$m=5Gf#@f&`24D;L2G@ z9nBP3x(FQ@KsG58iQ{yp=xc7dlqZs_FA(QokMkMS*pSdAl{2YWjpifjDgXKRTR)k} zMg=LdhRjfE0Cv;BQK=$pzDRV7gGl~JRuy2%yBmWl&dH5zYz3TRYj}{soM{cee z1S=N<7TB7817z`h2z+}5(hdS(MaLA)HagY+0K|G9j5Q(S3kAkKa#SiuCdzpeSB&D97xg!=ENxrk`!cO`mz>~#dwqfTbH0j+Gez$pVh?V{9yK14#BK{u$J{!J0 zW=oj?Ml+|a9>MhsXdzPcQqvB?R|K)%E97iISyJQ#tOk_N74+4- zgX#^rU{XNzBFPTGwOfuH%@m1d4g_RGuX&Jdn8?XVL;Pp<%!G@X32SCg+4y}E6@U=9 z*+M*1Lzt-uD0Mi8&m<~=o7qB9BiQC>+st$YM<2eOBRM(m;3b-t_lOZhvXFD?H_tnG z8OIW7Gjr5u^57D>X3s46Nt>iOntM9+uZ;OA^JVC6c9*@_P!de--!uN>7DpnHJ>kcc zB9pq0)&y19W}#KHd_<(f05oZ;vH3nsTK+xm*W%L0aF$;<$DbG5nN;Fviy(jUz}U-l z!v>iJSWlNaJrFjI^{tFXTWJG|9Vn9rd9|672g6%<3nvQNnO|g$rZGC%AC~T*) zi{MPf$PS+E;NoUcBRD0L*0!Vkv_b%@zjTp}B%=&VZxsGanqWYZ7S>#4viY=6> zs>}+thE=Kgl0DXtG7fh*k5cAR_ShJzcCdz&sOgo)oJv-elZlm@HLM()j3cHo^;#K# h>$UMsnk_!P{l6e|kgEz?%$sj|&3y2t*BmbM`#%qGAg}-c delta 1218 zcmZ|MZ%9*77zXh6oS|ZWX3ZHG8CD=-wFn7T#Go{a3PQrZBqc@C&{#=@{ZABA)F#y~ zBNHLP4}oL0?KL;c=2j$$HX?$`qDX=wk`lpH>&89zML%>uT%O-^?m73Iduy+nLvhn( zzag4PNvhYpFpVY*n}miCIg*BYiGFejWJ&aqDHR7Kh%)BGX4K{o&6u!DA{exwROSHX zX5*-YpZ2Z52}bK`v@sI-XlFE8aftE05GxtKZP?DR+fl%96u~aH<|pqCL>cva(8VY& zfrsZL_G5rCUWSB0J5GQ^Ii@6nwDt%-GImzrtpw3w2gVr3t1v9lM;DwJl(fNPVVK$G-_yibZj9c2ht%o}goH(>9DA zy`h>BRPoNu&*5bFU!aCj`U;mAQ?GGNhcfm-J=2|cSfn?kHU*6I34G<3B|p!?^cQ@W zBSSRt4KYUVB*rD8)clkGeT=qE!v>`|TV#@B289MKp8181GPeBDW1v}Z363tK&}TKK zaO+ItSd`8&b%EF*mkliBSYqOMJ40CI1D_U)d>Ql1B2UJOOpzmFheepQs65URKeUa< hmx|UDa(TrY19f`Ev;W?e^~=RbL#0nprO)VI@)zI1Qb7O! diff --git a/locales/Details-ruRU.lua b/locales/Details-ruRU.lua new file mode 100644 index 00000000..21fa39b6 --- /dev/null +++ b/locales/Details-ruRU.lua @@ -0,0 +1,4 @@ +local L = LibStub("AceLocale-3.0"):NewLocale("Details", "ruRU") +if not L then return end + +@localization(locale="ruRU", format="lua_additive_table", escape-non-ascii=true)@ \ No newline at end of file diff --git a/plugins/Details_EncounterDetails/images/icon_shadow.tga b/plugins/Details_EncounterDetails/images/icon_shadow.tga new file mode 100644 index 0000000000000000000000000000000000000000..c3e4aefa003e294dcea891a4580501c36a2bb13f GIT binary patch literal 2695 zcmZve2~?El6^3U9hD`?~EN)RyYdL@j#icH&M8K*@G=NnxkRYf)R2C~ntX2e+RihCs z$QFbegh|)}DGoI(F(6W9?mx(CJX#A3N`#=bHYe$O{}im}Wad2IHut{w+rN=Wj3nb9 zYYDyv$>UXNEJ`|hNZ3RHjKO4J0=P{s+9shSHcOG~gQ;KvSOHwY+W+ONk^ctF0){}A zh(t2s&aPHq9oP+`!Ex|Ma19D%n?CJUEJr5OvH7xj4hZoM0mn54OMRVf@knJD<}+9S-fvnAME zhAj_xE8uyOiE0y)JZ-kX3xvw`<%w`nEp>6}TJ7p4>b5rYI^V85{Q;NjR;puD_wKZn&YjQdzAnt5s>Q z-T0<6J~f44qlT>#u+TQZ8oHwDgtQ)-Y=93qGIiRFk_}#))qZ^qZeGy5s=geJ#wyo1<&$usQChD|SQ+fgq7hrl{u_DY&J6>qS` zfTg3Bu5`&elac0M-p~6IKVruf}(1~O1!3Vg`KvHfQ8fU( z>fDo$=FXj0yWGX)&Wcs51g|ZdsZd!)^pD3BbRd!}-<(OI5fSvYri;?^@(6acc*zpM z%F3Ficd+Tu&5aN zC_A5yC#90jLT5UklSP?DS19%3CzP3&PhZx3McMfU8dr~XYG@QeD;z8bd@t#U;U*@K z?-yqS#pJNTp`nZa`RT{Trj}-PWXw4V4zD7qehRs5{*Y?wDyXQmm`g@30h%b8Bn~MKwc*~aFFZk2ML|si6diUHOen)x|Xh~ zBz@BgvUkoPiS7>i@I(eFE6d4nN)Ao8&LJz?Pe~$si{1+kCUtMG=E#Y-a%k{6`2n6l z{a*-!=ABYK)7URmcgjl2|JG-1+e1di_2jTDm$1SV6?1_q|5{4xy)wySdN$2>Dkr&- zCk5;ZqJZGTYN?)a9yIoYO@QBk{|mz#n@7Vh$1aezX5+i6<0&bfj%(s*vf2AI$2Nri z5Su|4a&oCz-9-H_?@_>>0)+M^J12K?->_b=v0sF`BnN~5cVHndiI|Ls;CcK2WZ5iQ z+?uOY3XQF8)Nr$j)IA#N)Am!js-8Z(_BDOe*-70`dMNwT5{mxQ3G(vsp&7HS$3uid z!xb369)h1v4iTm+mtV?Omfw0j{Dhu7{fE2Gy#@LKQ^{Z1y8 zg(W7QPpxlgt{)iGb_{5T1a)UO4Sn~N9t;f9qv5A?{pKx7zK}@`Y7$PRo>6=IY`f#? z>Yk5h>o7EYz^{Q^43U76`1Vdh&ZmD12oLbvn>jEz)cW#=ABC}J&*|yt_rmbVDD^)c zrn(y~)ClSF`o@maY3J@NbZ{zz4+{l>Rlp3$UdeNnN5ChaPw4h7TXw|!b6_xM?AgC+ zp1pW+Yj|Wt7=8X+GxqP7n)bWh)ZW{7tLm$!%Ci@<@*N$WPr-+m_igYiU?6syTg9iI zrDp+GnU0SCZ`ZgT-r?_`D%|ZX=`br-aO5CeU3rA1`SeJIp(09OSN{;^Gs@7=FckSt{LaT{ zCEy;4caYe@B-F(JaeByE&IULGUS literal 0 HcmV?d00001 diff --git a/startup.lua b/startup.lua index 48b9ddfe..09bd5823 100644 --- a/startup.lua +++ b/startup.lua @@ -313,36 +313,12 @@ function _G._detalhes:Start() _detalhes:AddDefaultCustomDisplays() --> Reset for the new structure - if (_detalhes_database.last_realversion and _detalhes_database.last_realversion < 43 and enable_reset_warning) then - for i = 1, #_detalhes.custom do + if (_detalhes_database.last_realversion and _detalhes_database.last_realversion < 47 and enable_reset_warning) then + for i = #_detalhes.custom, 1, -1 do _detalhes.atributo_custom:RemoveCustom (i) end _detalhes:AddDefaultCustomDisplays() end - - if (_detalhes_database.last_realversion and _detalhes_database.last_realversion < 20 and enable_reset_warning) then - table.wipe (self.custom) - _detalhes:AddDefaultCustomDisplays() - end - - if (_detalhes_database.last_realversion and _detalhes_database.last_realversion < 18 and enable_reset_warning) then - - for index, instance in ipairs (_detalhes.tabela_instancias) do - if (not instance.iniciada) then - instance:RestauraJanela() - local skin = instance.skin - instance:ChangeSkin ("Default Skin") - instance:ChangeSkin ("Minimalistic v2") - instance:ChangeSkin (skin) - instance:DesativarInstancia() - else - local skin = instance.skin - instance:ChangeSkin ("Default Skin") - instance:ChangeSkin ("Minimalistic v2") - instance:ChangeSkin (skin) - end - end - end end