diff --git a/.pkgmeta b/.pkgmeta index 8729d16b..89a38ebb 100644 --- a/.pkgmeta +++ b/.pkgmeta @@ -12,4 +12,5 @@ move-folders: Details/plugins/Details_DataStorage: Details_DataStorage Details/plugins/Details_DungeonInfo-Warlords: Details_DungeonInfo-Warlords Details/plugins/Details_3DModelsPaths: Details_3DModelsPaths - Details/plugins/Details_RaidCheck: Details_RaidCheck \ No newline at end of file + Details/plugins/Details_RaidCheck: Details_RaidCheck + Details/plugins/Details_DpsTuning: Details_DpsTuning \ No newline at end of file diff --git a/boot.lua b/boot.lua index b80f6aa4..f60b6c72 100644 --- a/boot.lua +++ b/boot.lua @@ -4,7 +4,7 @@ _ = nil _detalhes = LibStub("AceAddon-3.0"):NewAddon("_detalhes", "AceTimer-3.0", "AceComm-3.0", "AceSerializer-3.0", "NickTag-1.0") _detalhes.build_counter = 610 --it's 610 for release - _detalhes.userversion = "v3.10.6" + _detalhes.userversion = "v3.10.8" _detalhes.realversion = 61 --core version _detalhes.version = _detalhes.userversion .. " (core " .. _detalhes.realversion .. ")" @@ -20,19 +20,15 @@ do local Loc = LibStub ("AceLocale-3.0"):GetLocale ( "Details" ) --[[ -|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.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 --]] -- - Loc ["STRING_VERSION_LOG"] = "|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.\n\n|cFFFFFF00-|r Vanguard (plugin): Added Options Panel.\n\n|cFFFFFF00-|r Details! is now using 'LibWindow-1.1' to save and restore the positioning of the windows, bug might appear, please report if something weird happen.\n\n|cFFFFFF00-|r Improved specialization detection in order to try detect spec changes.\n\n|cFFFFFF00-|r Added options to change the brackets and the separator for dps/percent block.\n\n|cFFFFFF00-|r Added options for show (or hide) totals, dps and percent amount.\n\n|cFFFFFF00-|r Added Segments shortcut menu pressing Shift + Right click.\n\n|cFFFFFF00-|r Fixed positioning after reopen a window previously closed on last logon.\n\n|cFFFFFF00-|r Fixed enemies display where sometimes the bars were black instead of red.\n\n|cFFFFFF00-|r Fixed few places where spec icons wasn't being used on.\n\n|cFFFFFF00-|r Fixed avoidance panel on Player Details Window where sometimes was giving errors.\n\n|cFFFFFF00-|r Fixed priest shadow and holy detection.\n\n|cFFFFFF00-|r Fixed blood and unholy spec icons.\n\n|cFFFFFF00-|r Fixed an issue with 'Always Show me' feature where it was showing the player on Enemies display.\n\n|cFFFFFF00v3.8.1 (|cFFFFCC00Jan 17, 2015|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Plugin Vanguard: got full rewrite and now it is more easy to use.\n\n|cFFFFFF00-|r Plugin TimeAttack: fixed problem where sometimes required a reload to start a new time.\n\n|cFFFFFF00-|r Plugin Damage the Game!: fixed a problem where sometimes the time didn't started after level 2.\n\n|cFFFFFF00-|r Added specialization icons.\n\n|cFFFFFF00-|r Fixed Auto-Hide where it wasn't hiding the wallpaper of the window.\n\n|cFFFFFF00-|r Added 'Editing Group' check box on option panel, when enabled, settings changed also are modified on all windows in the group.\n\n|cFFFFFF00-|r Changing window's skin, doesn't change any more settings not related with appearance, for example, Auto-Hide, Switches.\n\n|cFFFFFF00-|r Custom display 'Health Potion & Stone' now also track Healing Tonic.\n\n|cFFFFFF00-|r Custom display 'Damage Taken by Spell' now tracks more spells and also melee hits.\n\n|cFFFFFF00-|r Menus now uses 'Friz Quadrata TT' font as default, also added an option to change it on options panel -> miscellaneous.\n\n|cFFFFFF00-|r 'Switch to Current' feature now switches all windows which have this option enabled.\n\n|cFFFFFF00-|r The message telling to use '/details reinstall' now only shows if a problem happen during the addon load process.\n\n|cFFFFFF00-|r Segments Saved option now can be set to 25, up from 5.\n\n|cFFFFFF00-|r Attempt to fix the bug with the monk spell 'Storm, Earth, and Fire'.\n\n|cFFFFFF00-|r Fixed 'Icon Pick' panel.\n\n|cFFFFFF00-|r Fixed bug when reporting friendly fire through player detail window.\n\n|cFFFFFF00-|r Fixed bug with report window where sometimes it was reporting on a wrong channel.\n\n|cFFFFFF00v3.7.1 (|cFFFFCC00Jan 08, 2015|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Plugin 'Damage Rank': is now called 'Damage, the Game!' and had its levels adjusted for WoD.\n\n|cFFFFFF00-|r Plugin 'Tiny Threat': fixed player name where it was showing the realm name too.\n\n|cFFFFFF00-|r Plugin 'Vanguard': fixed frame details (clicking on a bar) shown behind the Vanguard panel.\n\n|cFFFFFF00-|r Plugin 'Vanguard': fixed a problem when clicking with right button wasn't opening the bookmark panel.\n\n|cFFFFFF00-|r Plugin 'Vanguard': incoming heals now count shield amount on the player too.\n\n|cFFFFFF00-|r Plugin 'Vanguard' Known Bug: incoming damage and melee vs avoidance seems to be inaccurate by now, we need more time to study and fix it.\n\n|cFFFFFF00-|r Added Twins Ogron's Charge as custom spells, one for the charge by him self and other for the copies (mythic only)." + Loc ["STRING_VERSION_LOG"] = "|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.\n\n|cFFFFFF00-|r Vanguard (plugin): Added Options Panel.\n\n|cFFFFFF00-|r Details! is now using 'LibWindow-1.1' to save and restore the positioning of the windows, bug might appear, please report if something weird happen.\n\n|cFFFFFF00-|r Improved specialization detection in order to try detect spec changes.\n\n|cFFFFFF00-|r Added options to change the brackets and the separator for dps/percent block.\n\n|cFFFFFF00-|r Added options for show (or hide) totals, dps and percent amount.\n\n|cFFFFFF00-|r Added Segments shortcut menu pressing Shift + Right click.\n\n|cFFFFFF00-|r Fixed positioning after reopen a window previously closed on last logon.\n\n|cFFFFFF00-|r Fixed enemies display where sometimes the bars were black instead of red.\n\n|cFFFFFF00-|r Fixed few places where spec icons wasn't being used on.\n\n|cFFFFFF00-|r Fixed avoidance panel on Player Details Window where sometimes was giving errors.\n\n|cFFFFFF00-|r Fixed priest shadow and holy detection.\n\n|cFFFFFF00-|r Fixed blood and unholy spec icons.\n\n|cFFFFFF00-|r Fixed an issue with 'Always Show me' feature where it was showing the player on Enemies display.\n\n|cFFFFFF00v3.8.1 (|cFFFFCC00Jan 17, 2015|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Plugin Vanguard: got full rewrite and now it is more easy to use.\n\n|cFFFFFF00-|r Plugin TimeAttack: fixed problem where sometimes required a reload to start a new time.\n\n|cFFFFFF00-|r Plugin Damage the Game!: fixed a problem where sometimes the time didn't started after level 2.\n\n|cFFFFFF00-|r Added specialization icons.\n\n|cFFFFFF00-|r Fixed Auto-Hide where it wasn't hiding the wallpaper of the window.\n\n|cFFFFFF00-|r Added 'Editing Group' check box on option panel, when enabled, settings changed also are modified on all windows in the group.\n\n|cFFFFFF00-|r Changing window's skin, doesn't change any more settings not related with appearance, for example, Auto-Hide, Switches.\n\n|cFFFFFF00-|r Custom display 'Health Potion & Stone' now also track Healing Tonic.\n\n|cFFFFFF00-|r Custom display 'Damage Taken by Spell' now tracks more spells and also melee hits.\n\n|cFFFFFF00-|r Menus now uses 'Friz Quadrata TT' font as default, also added an option to change it on options panel -> miscellaneous.\n\n|cFFFFFF00-|r 'Switch to Current' feature now switches all windows which have this option enabled.\n\n|cFFFFFF00-|r The message telling to use '/details reinstall' now only shows if a problem happen during the addon load process.\n\n|cFFFFFF00-|r Segments Saved option now can be set to 25, up from 5.\n\n|cFFFFFF00-|r Attempt to fix the bug with the monk spell 'Storm, Earth, and Fire'.\n\n|cFFFFFF00-|r Fixed 'Icon Pick' panel.\n\n|cFFFFFF00-|r Fixed bug when reporting friendly fire through player detail window.\n\n|cFFFFFF00-|r Fixed bug with report window where sometimes it was reporting on a wrong channel.\n\n|cFFFFFF00v3.7.1 (|cFFFFCC00Jan 08, 2015|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Plugin 'Damage Rank': is now called 'Damage, the Game!' and had its levels adjusted for WoD.\n\n|cFFFFFF00-|r Plugin 'Tiny Threat': fixed player name where it was showing the realm name too.\n\n|cFFFFFF00-|r Plugin 'Vanguard': fixed frame details (clicking on a bar) shown behind the Vanguard panel.\n\n|cFFFFFF00-|r Plugin 'Vanguard': fixed a problem when clicking with right button wasn't opening the bookmark panel.\n\n|cFFFFFF00-|r Plugin 'Vanguard': incoming heals now count shield amount on the player too." Loc ["STRING_DETAILS1"] = "|cffffaeaeDetails!:|r " diff --git a/classes/classe_custom.lua b/classes/classe_custom.lua index d38d3bf0..57cf129e 100644 --- a/classes/classe_custom.lua +++ b/classes/classe_custom.lua @@ -740,8 +740,8 @@ return actor_table.value end - function atributo_custom:AddValue (actor, actortotal, checktop) - local actor_table = self:GetActorTable (actor) + function atributo_custom:AddValue (actor, actortotal, checktop, name_complement) + local actor_table = self:GetActorTable (actor, name_complement) actor_table.my_actor = actor actor_table.value = actor_table.value + actortotal @@ -754,8 +754,8 @@ return actor_table.value end - function atributo_custom:SetValue (actor, actortotal) - local actor_table = self:GetActorTable (actor) + function atributo_custom:SetValue (actor, actortotal, name_complement) + local actor_table = self:GetActorTable (actor, name_complement) actor_table.my_actor = actor actor_table.value = actortotal end @@ -764,7 +764,7 @@ actors.new_actor.classe = actors.actor.classe end - function atributo_custom:GetActorTable (actor) + function atributo_custom:GetActorTable (actor, name_complement) local index = self._NameIndexTable [actor.nome] if (index) then @@ -783,7 +783,8 @@ value = _detalhes:GetOrderNumber (actor.nome), }, atributo_custom.mt) - new_actor.displayName = new_actor.nome + new_actor.name_complement = name_complement + new_actor.displayName = new_actor.nome .. (name_complement or "") new_actor.spec = actor.spec if (actor.id) then @@ -1347,7 +1348,7 @@ total_script = false, script_version = 9, } --- /run_detalhes:AddDefaultCustomDisplays() +-- /run _detalhes:AddDefaultCustomDisplays() local have = false for _, custom in ipairs (self.custom) do if (custom.name == Loc ["STRING_CUSTOM_HEALTHSTONE_DEFAULT"] and (custom.script_version and custom.script_version >= Healthstone.script_version) ) then @@ -1507,7 +1508,7 @@ desc = Loc ["STRING_CUSTOM_DTBS_DESC"], source = false, target = false, - script_version = 20, + script_version = 22, on_shift_click = [[ local row, object, instance = ... local spellname, _, spellicon = _detalhes.GetSpellInfo (object.id) @@ -1649,11 +1650,14 @@ end end + local aura = "" if (WeakAuras) then - GameCooltip:AddLine (" ") - GameCooltip:AddLine ("Shift Click: Create WeakAura") - GameCooltip:AddStatusBar (100, 1, 0, 0, 0, 0.6, true, bar_background) + aura = "|cFFffa200Shift Click|r: Create Aura" end + + GameCooltip:AddLine (" ") + GameCooltip:AddLine ("|cFFffa200Click|r: Report Results", aura, 1, "white", "white") + GameCooltip:AddStatusBar (100, 1, 0, 0, 0, 0.6, false, bar_background) ]], } @@ -1665,14 +1669,20 @@ end end if (not have) then + setmetatable (DamageTakenBySpell, _detalhes.atributo_custom) + DamageTakenBySpell.__index = _detalhes.atributo_custom + for i, custom in ipairs (self.custom) do if (custom.name == Loc ["STRING_CUSTOM_DTBS"]) then table.remove (self.custom, i) + tinsert (self.custom, i, DamageTakenBySpell) + have = true end end - setmetatable (DamageTakenBySpell, _detalhes.atributo_custom) - DamageTakenBySpell.__index = _detalhes.atributo_custom - self.custom [#self.custom+1] = DamageTakenBySpell + + if (not have) then + self.custom [#self.custom+1] = DamageTakenBySpell + end end ---------------------------------------------------------------------------------------------------------------------------------------------------- @@ -1686,7 +1696,7 @@ desc = Loc ["STRING_CUSTOM_MYSPELLS_DESC"], source = false, target = false, - script_version = 2, + script_version = 4, script = [[ --get the parameters passed local combat, instance_container, instance = ... @@ -1695,31 +1705,47 @@ local player local role = UnitGroupRolesAssigned ("player") + local pet_attribute if (role == "DAMAGER") then - player = combat (DETAILS_ATTRIBUTE_DAMAGE, _detalhes.playername) + player = combat (DETAILS_ATTRIBUTE_DAMAGE, _detalhes.playername) + pet_attribute = DETAILS_ATTRIBUTE_DAMAGE elseif (role == "HEALER") then - player = combat (DETAILS_ATTRIBUTE_HEAL, _detalhes.playername) + player = combat (DETAILS_ATTRIBUTE_HEAL, _detalhes.playername) + pet_attribute = DETAILS_ATTRIBUTE_HEAL else - player = combat (DETAILS_ATTRIBUTE_DAMAGE, _detalhes.playername) + player = combat (DETAILS_ATTRIBUTE_DAMAGE, _detalhes.playername) + pet_attribute = DETAILS_ATTRIBUTE_DAMAGE end --do the loop if (player) then - local spells = player:GetSpellList() - for spellid, spell in pairs (spells) do - instance_container:AddValue (spell, spell.total) - total = total + spell.total - if (top < spell.total) then - top = spell.total + local spells = player:GetSpellList() + for spellid, spell in pairs (spells) do + instance_container:AddValue (spell, spell.total) + total = total + spell.total + if (top < spell.total) then + top = spell.total + end + amount = amount + 1 + end + + for _, PetName in ipairs (player.pets) do + local pet = combat (pet_attribute, PetName) + if (pet) then + for spellid, spell in pairs (pet:GetSpellList()) do + instance_container:AddValue (spell, spell.total, nil, " (" .. PetName:gsub ((" <.*"), "") .. ")") + total = total + spell.total + if (top < spell.total) then + top = spell.total + end + amount = amount + 1 + end + end end - amount = amount + 1 - end end - --loop end - --return the values return total, top, amount ]], @@ -1892,14 +1918,19 @@ end end if (not have) then + setmetatable (MySpells, _detalhes.atributo_custom) + MySpells.__index = _detalhes.atributo_custom + for i, custom in ipairs (self.custom) do if (custom.name == Loc ["STRING_CUSTOM_MYSPELLS"]) then table.remove (self.custom, i) + tinsert (self.custom, i, MySpells) + have = true end end - setmetatable (MySpells, _detalhes.atributo_custom) - MySpells.__index = _detalhes.atributo_custom - self.custom [#self.custom+1] = MySpells + if (not have) then + self.custom [#self.custom+1] = MySpells + end end _detalhes:ResetCustomFunctionsCache() diff --git a/classes/classe_instancia.lua b/classes/classe_instancia.lua index 436d3cf8..144be46a 100644 --- a/classes/classe_instancia.lua +++ b/classes/classe_instancia.lua @@ -2353,6 +2353,9 @@ function _detalhes:MontaAtributosOption (instancia, func) --> custom + --GameCooltip:AddLine ("$div") + CoolTip:AddLine ("$div", nil, 1, -2, 1) + CoolTip:AddMenu (1, func, nil, 5, nil, atributos.lista[5], nil, true) CoolTip:AddIcon ("Interface\\AddOns\\Details\\images\\atributos_icones", 1, 1, 20, 20, p*(5-1), p*(5), 0, 1) @@ -2376,12 +2379,12 @@ function _detalhes:MontaAtributosOption (instancia, func) GameCooltip:SetWallpaper (2, [[Interface\TALENTFRAME\WarriorArm-TopLeft]], {1, 0, 0, 1}, {1, 1, 1, 0.1}) if (#_detalhes.custom == 0) then - CoolTip:SetLastSelected (2, 5, 2) + CoolTip:SetLastSelected (2, 6, 2) else if (instancia.atributo == 5) then - CoolTip:SetLastSelected (2, 5, instancia.sub_atributo+2) + CoolTip:SetLastSelected (2, 6, instancia.sub_atributo+2) else - CoolTip:SetLastSelected (2, 5, instancia.sub_atributo_last [5]+2) + CoolTip:SetLastSelected (2, 6, instancia.sub_atributo_last [5]+2) end end @@ -2394,7 +2397,11 @@ function _detalhes:MontaAtributosOption (instancia, func) CoolTip:SetOption ("SelectedTopAnchorMod", -2) CoolTip:SetOption ("SelectedBottomAnchorMod", 2) - CoolTip:SetLastSelected (1, atributo_ativo) + local last_selected = atributo_ativo + if (atributo_ativo == 5) then + last_selected = 6 + end + CoolTip:SetLastSelected (1, last_selected) CoolTip:SetWallpaper (1, [[Interface\SPELLBOOK\DeathKnightBlood-TopLeft]], {.6, 0.1, 0, 0.64453125}, {1, 1, 1, 0.1}, true) --CoolTip:SetWallpaper (1, [[Interface\ACHIEVEMENTFRAME\UI-Achievement-Parchment-Horizontal-Desaturated]], nil, {1, 1, 1, 0.3}) diff --git a/framework/button.lua b/framework/button.lua index da6b000b..c69c9fc4 100644 --- a/framework/button.lua +++ b/framework/button.lua @@ -938,7 +938,7 @@ function gump:NewButton (parent, container, name, member, w, h, func, param1, pa ButtonObject.button.text:SetPoint ("center", ButtonObject.button, "center") local text_width = ButtonObject.button.text:GetStringWidth() - if (text_width > w-15) then + if (text_width > w-15 and ButtonObject.button.text:GetText() ~= "") then if (not short_method) then local new_width = text_width+15 ButtonObject.button:SetWidth (new_width) diff --git a/functions/link.lua b/functions/link.lua index 3e5748df..2ed31d7d 100644 --- a/functions/link.lua +++ b/functions/link.lua @@ -443,7 +443,7 @@ return aura_on_table end local aura_on = fw:CreateDropDown (f, aura_on_options, 1, 150, 20, "AuraOnDropdown", "$parentAuraOnDropdown") - local aura_on_label = fw:CreateLabel (f, "Target: ", nil, nil, "GameFontNormal") + local aura_on_label = fw:CreateLabel (f, "Trigger: ", nil, nil, "GameFontNormal") aura_on:SetPoint ("left", aura_on_label, "right", 2, 0) --stack diff --git a/functions/slash.lua b/functions/slash.lua index d8dd5b1c..ed51fe9e 100644 --- a/functions/slash.lua +++ b/functions/slash.lua @@ -915,7 +915,12 @@ function SlashCmdList.DETAILS (msg, editbox) DetailsPosBox:SetPoint ("center", UIParent, "center") end - DetailsPosBox.MyObject.text = "{x = " .. x .. ", y = " .. y .. "}" + local one, two = rest:match("^(%S*)%s*(.-)$") + if (one == "2") then + DetailsPosBox.MyObject.text = "{x2 = " .. x .. ", y2 = " .. y .. "}" + else + DetailsPosBox.MyObject.text = "{x1 = " .. x .. ", y1 = " .. y .. "}" + end DetailsPosBox.MyObject:SetFocus() DetailsPosBox.MyObject:HighlightText() diff --git a/gumps/anime.xml b/gumps/anime.xml index f7a493e2..455b3ed3 100644 --- a/gumps/anime.xml +++ b/gumps/anime.xml @@ -312,5 +312,112 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + self.Text:SetSpacing(4); + SetClampedTextureRotation(self.ArrowLEFT, 270); + SetClampedTextureRotation(self.ArrowRIGHT, 90); + SetClampedTextureRotation(self.ArrowGlowLEFT, 270); + SetClampedTextureRotation(self.ArrowGlowRIGHT, 90); + + + self:SetHeight(self.Text:GetHeight()+30); + + + \ No newline at end of file diff --git a/gumps/janela_options.lua b/gumps/janela_options.lua index e8639c28..503bf21d 100644 --- a/gumps/janela_options.lua +++ b/gumps/janela_options.lua @@ -110,6 +110,12 @@ function _detalhes:OpenOptionsWindow (instance, no_reopen, section) window.Disable3DColorPick:Hide() window.Disable3DColorPick:Cancel() GameCooltip:Hide() + + if (window.help_popups) then + for _, widget in ipairs (window.help_popups) do + widget:Hide() + end + end end) --x 9 897 y 9 592 @@ -267,6 +273,15 @@ function _detalhes:OpenOptionsWindow (instance, no_reopen, section) local instances = g:NewDropDown (window, _, "$parentInstanceSelectDropdown", "instanceDropdown", 200, 18, buildInstanceMenu, nil) instances:SetPoint ("bottomright", window, "bottomright", -17, 09) + instances:SetHook ("OnEnter", function() + GameCooltip:Reset() + _detalhes:CooltipPreset (2) + GameCooltip:AddLine (Loc ["STRING_MINITUTORIAL_OPTIONS_PANEL1"]) + GameCooltip:ShowCooltip (instances.widget, "tooltip") + end) + instances:SetHook ("OnLeave", function() + GameCooltip:Hide() + end) local instances_string = g:NewLabel (window, nil, nil, "instancetext", Loc ["STRING_OPTIONS_EDITINSTANCE"], "GameFontNormal", 12) instances_string:SetPoint ("right", instances, "left", -2, 1) @@ -279,7 +294,7 @@ function _detalhes:OpenOptionsWindow (instance, no_reopen, section) DetailsOptionsWindowGroupEditingText:SetText ("Editing Group") DetailsOptionsWindowGroupEditingText:SetPoint ("right", instances_string.widget, "left", -20, 0) DetailsOptionsWindowGroupEditingText:SetTextColor (1, 0.8, 0) - group_editing.tooltip = "When checked, all windows in the group are also changed." + group_editing.tooltip = Loc ["STRING_MINITUTORIAL_OPTIONS_PANEL2"] group_editing:SetHitRectInsets (0, -105, 0, 0) group_editing:SetChecked (_detalhes.options_group_edit) @@ -287,6 +302,27 @@ function _detalhes:OpenOptionsWindow (instance, no_reopen, section) group_editing:SetScript ("OnClick", function() _detalhes.options_group_edit = group_editing:GetChecked() end) + + local group_editing_help = group_editing:CreateTexture (nil, "overlay") + group_editing_help:SetSize (16, 16) + group_editing_help:SetPoint ("right", group_editing, "left", -1, 0) + group_editing_help:SetAlpha (0.6) + group_editing_help:SetTexture ([[Interface\GossipFrame\IncompleteQuestIcon]]) + + local group_editing_help_frame = g:NewButton (group_editing, _, "$parentHelpButton", "HelpButton", 16, 16, _detalhes.empty_function) + group_editing_help_frame:SetPoint ("right", group_editing_help, "right", 1, 0) + --group_editing_help_frame:InstallCustomTexture() + group_editing_help_frame:SetHook ("OnEnter", function() + group_editing_help:SetTexture ([[Interface\GossipFrame\ActiveQuestIcon]]) + GameCooltip:Reset() + _detalhes:CooltipPreset (2) + GameCooltip:AddLine (Loc ["STRING_MINITUTORIAL_OPTIONS_PANEL3"]) + GameCooltip:ShowCooltip (group_editing_help_frame, "tooltip") + end) + group_editing_help_frame:SetHook ("OnLeave", function() + group_editing_help:SetTexture ([[Interface\GossipFrame\IncompleteQuestIcon]]) + GameCooltip:Hide() + end) instances.OnDisable = function (self) instances_string:SetAlpha (0.4) @@ -1117,6 +1153,36 @@ local menus2 = { end end +------------------------------------------------------------------------------------------------------------------- + --> helps tips on first run ~tutorial + if (not _detalhes:GetTutorialCVar ("OPTIONS_PANEL_OPENED")) then + _detalhes:SetTutorialCVar ("OPTIONS_PANEL_OPENED", true) + + local create_test_bars = CreateFrame ("frame", "DetailsOptionsPanelPopUp1", DetailsOptionsWindow, "DetailsHelpBoxTemplate") + create_test_bars.ArrowDOWN:Show() + create_test_bars.ArrowGlowDOWN:Show() + create_test_bars.Text:SetText (Loc ["STRING_MINITUTORIAL_OPTIONS_PANEL4"]) + create_test_bars:SetPoint ("top", fillbars.widget, "bottom", 0, -30) + create_test_bars:Show() + -- + local group_edit = CreateFrame ("frame", "DetailsOptionsPanelPopUp1", DetailsOptionsWindow, "DetailsHelpBoxTemplate") + group_edit.ArrowDOWN:Show() + group_edit.ArrowGlowDOWN:Show() + group_edit.Text:SetText (Loc ["STRING_MINITUTORIAL_OPTIONS_PANEL5"]) + group_edit:SetPoint ("top", group_editing, "bottom", 0, -30) + group_edit:Show() + -- + local select_window = CreateFrame ("frame", "DetailsOptionsPanelPopUp1", DetailsOptionsWindow, "DetailsHelpBoxTemplate") + select_window.ArrowDOWN:Show() + select_window.ArrowGlowDOWN:Show() + select_window.Text:SetText (Loc ["STRING_MINITUTORIAL_OPTIONS_PANEL6"]) + select_window:SetPoint ("top", instances.widget, "bottom", 0, -30) + select_window:Show() + + window.help_popups = {create_test_bars, group_edit, select_window} + + end + --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -- Advanced Settings - Tooltips ~20 diff --git a/gumps/janela_principal.lua b/gumps/janela_principal.lua index d6e60a56..16277f31 100644 --- a/gumps/janela_principal.lua +++ b/gumps/janela_principal.lua @@ -918,6 +918,20 @@ local function move_janela (baseframe, iniciando, instancia, just_updating) if (esquerda or baixo or direita or cima) then instancia:agrupar_janelas ({esquerda, baixo, direita, cima}) + + --> tutorial + if (not _detalhes:GetTutorialCVar ("WINDOW_GROUP_MAKING1")) then + _detalhes:SetTutorialCVar ("WINDOW_GROUP_MAKING1", true) + + local group_tutorial = CreateFrame ("frame", "DetailsWindowGroupPopUp1", instancia.baseframe, "DetailsHelpBoxTemplate") + group_tutorial.ArrowUP:Show() + group_tutorial.ArrowGlowUP:Show() + group_tutorial.Text:SetText (Loc ["STRING_MINITUTORIAL_WINDOWS1"]) + group_tutorial:SetPoint ("bottom", instancia_alvo.break_snap_button, "top", 0, 24) + group_tutorial:Show() + _detalhes.OnEnterMainWindow (instancia_alvo) + + end end for _, esta_instancia in _ipairs (_detalhes.tabela_instancias) do @@ -1011,6 +1025,9 @@ end local BGFrame_scripts_onmouseup = function (self, button) if (self.is_toolbar and self._instance.baseframe.isLocked and button == "LeftButton") then + if (DetailsWindowLockPopUp1 and DetailsWindowLockPopUp1:IsShown()) then + _G ["DetailsWindowLockPopUp1"]:Hide() + end return self._instance.baseframe.button_stretch:GetScript ("OnMouseUp") (self._instance.baseframe.button_stretch, "LeftButton") end @@ -1621,7 +1638,7 @@ local lockFunctionOnLeave = function (self) if (self.mostrando) then self.going_hide = true OnLeaveMainWindow (self.instancia, self) - self.label:SetTextColor (.3, .3, .3, .6) + self.label:SetTextColor (.6, .6, .6, .7) self.mostrando = false GameCooltip:ShowMe (false) end @@ -1652,6 +1669,20 @@ local lockFunctionOnClick = function (button) button:ClearAllPoints() button:SetPoint ("right", baseframe.resize_direita, "left", -1, 1.5) else + + --> tutorial + if (not _detalhes:GetTutorialCVar ("WINDOW_LOCK_UNLOCK1") and not _detalhes.initializing) then + _detalhes:SetTutorialCVar ("WINDOW_LOCK_UNLOCK1", true) + + local lock_tutorial = CreateFrame ("frame", "DetailsWindowLockPopUp1", baseframe, "DetailsHelpBoxTemplate") + lock_tutorial.ArrowUP:Show() + lock_tutorial.ArrowGlowUP:Show() + lock_tutorial.Text:SetText (Loc ["STRING_MINITUTORIAL_WINDOWS2"]) + lock_tutorial:SetPoint ("bottom", baseframe.UPFrame, "top", 0, 20) + lock_tutorial:Show() + + end + baseframe.isLocked = true baseframe.instance.isLocked = true button.label:SetText (Loc ["STRING_UNLOCK_WINDOW"]) @@ -2179,7 +2210,7 @@ local function button_stretch_scripts (baseframe, backgrounddisplay, instancia) _detalhes.atualizador = _detalhes:ScheduleRepeatingTimer ("AtualizaGumpPrincipal", _detalhes.update_speed, -1) _detalhes.stretch_changed_update_speed = nil end - + end) end @@ -3006,7 +3037,7 @@ function gump:CriaJanelaPrincipal (ID, instancia, criando) baseframe.lock_button:SetHeight (16) baseframe.lock_button.label = baseframe.lock_button:CreateFontString (nil, "overlay", "GameFontNormal") baseframe.lock_button.label:SetPoint ("right", baseframe.lock_button, "right") - baseframe.lock_button.label:SetTextColor (.3, .3, .3, .6) + baseframe.lock_button.label:SetTextColor (.6, .6, .6, .7) baseframe.lock_button.label:SetJustifyH ("right") baseframe.lock_button.label:SetText (Loc ["STRING_LOCK_WINDOW"]) baseframe.lock_button:SetWidth (baseframe.lock_button.label:GetStringWidth()+2) @@ -3104,6 +3135,11 @@ function gump:CriaJanelaPrincipal (ID, instancia, criando) instancia.break_snap_button:SetScript ("OnClick", function() instancia:Desagrupar (-1) + + --> hide tutorial + if (DetailsWindowGroupPopUp1 and DetailsWindowGroupPopUp1:IsShown()) then + DetailsWindowGroupPopUp1:Hide() + end end) instancia.break_snap_button:SetScript ("OnEnter", unSnapButtonOnEnter) @@ -4758,8 +4794,19 @@ local on_leave_menu = function (self, elapsed) end local OnClickNovoMenu = function (_, _, id, instance) - _detalhes.CriarInstancia (_, _, id) + + local is_new + if (not _detalhes.tabela_instancias [id]) then + --> esta criando uma nova + is_new = true + end + + local ninstance = _detalhes.CriarInstancia (_, _, id) instance.baseframe.cabecalho.modo_selecao:GetScript ("OnEnter")(instance.baseframe.cabecalho.modo_selecao) + + if (ninstance and is_new) then + ninstance.baseframe.cabecalho.modo_selecao:GetScript ("OnEnter")(ninstance.baseframe.cabecalho.modo_selecao) + end end local build_mode_list = function (self, elapsed) @@ -4839,7 +4886,6 @@ 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) end @@ -4847,9 +4893,6 @@ local build_mode_list = function (self, elapsed) GameCooltip:AddLine ("$div") CoolTip:AddLine (Loc ["STRING_MENU_INSTANCE_CONTROL"]) CoolTip:AddIcon ([[Interface\AddOns\Details\images\modo_icones]], 1, 1, 20, 20, 0.625, 0.75, 0, 1) - - --CoolTip:AddMenu (2, _detalhes.OpenOptionsWindow, true, 1, nil, "Cant Create Window", _, true) - --CoolTip:AddIcon ([[Interface\Buttons\UI-PlusButton-Up]], 2, 1, 16, 16) local HaveClosedInstances = false for index = 1, math.min (#_detalhes.tabela_instancias, _detalhes.instances_amount), 1 do @@ -4861,7 +4904,7 @@ local build_mode_list = function (self, elapsed) end if (_detalhes:GetNumInstancesAmount() < _detalhes:GetMaxInstancesAmount()) then - CoolTip:AddMenu (2, OnClickNovoMenu, true, instancia, nil, "Create Window", _, true) + CoolTip:AddMenu (2, OnClickNovoMenu, true, instancia, nil, Loc ["STRING_OPTIONS_WC_CREATE"], _, true) CoolTip:AddIcon ([[Interface\Buttons\UI-AttributeButton-Encourage-Up]], 2, 1, 16, 16) if (HaveClosedInstances) then GameCooltip:AddLine ("$div", nil, 2, nil, -5, -11) @@ -6715,6 +6758,8 @@ end GameCooltip:AddIcon ([[Interface\Buttons\UI-StopButton]], 1, 1, 14, 14, 0, 1, 0, 1, "red") GameCooltip:AddMenu (1, _detalhes.tabela_historico.resetar) + GameCooltip:AddLine ("$div", nil, 1, nil, -5, -11) + GameCooltip:AddLine (Loc ["STRING_ERASE_DATA_OVERALL"], nil, 1, "white", nil, _detalhes.font_sizes.menus, _detalhes.font_faces.menus) GameCooltip:AddIcon ([[Interface\Buttons\UI-StopButton]], 1, 1, 14, 14, 0, 1, 0, 1, "orange") GameCooltip:AddMenu (1, _detalhes.tabela_historico.resetar_overall) @@ -7321,7 +7366,7 @@ function gump:CriaCabecalho (baseframe, instancia) -- ~delete ~erase ~reset ---> RESETAR HISTORICO ---------------------------------------------------------------------------------------------------------------------------------------------------- +--> reset ---------------------------------------------------------------------------------------------------------------------------------------------------- baseframe.cabecalho.reset = CreateFrame ("button", "DetailsClearSegmentsButton" .. instancia.meu_id, baseframe) baseframe.cabecalho.reset:SetFrameLevel (baseframe.UPFrame:GetFrameLevel()+1) diff --git a/gumps/switch.lua b/gumps/switch.lua index 046c5d44..8f28fe54 100644 --- a/gumps/switch.lua +++ b/gumps/switch.lua @@ -242,6 +242,11 @@ function _detalhes.switch:ShowMe (instancia) DetailsCtrlCloseWindowPanelTutorial.info_label:SetWidth (_detalhes.switch.frame:GetWidth()-30) DetailsCtrlCloseWindowPanelTutorial.close_label:SetWidth (_detalhes.switch.frame:GetWidth()-30) + _detalhes.switch.frame:SetPoint ("topleft", instancia.baseframe, "topleft", 0, 1) + _detalhes.switch.frame:SetPoint ("bottomright", instancia.baseframe, "bottomright", 0, 1) + _detalhes.switch.frame:SetBackdropColor (0.094, 0.094, 0.094, .8) + _detalhes.switch.frame:Show() + return end diff --git a/images/atributos_icones.tga b/images/atributos_icones.tga index 714cc98b..4e7a66f8 100644 Binary files a/images/atributos_icones.tga and b/images/atributos_icones.tga differ diff --git a/images/skins/classic_skin.tga b/images/skins/classic_skin.tga index 9aad223f..bca319e4 100644 Binary files a/images/skins/classic_skin.tga and b/images/skins/classic_skin.tga differ diff --git a/images/skins/classic_skin_v1.tga b/images/skins/classic_skin_v1.tga index 285caf86..5249e880 100644 Binary files a/images/skins/classic_skin_v1.tga and b/images/skins/classic_skin_v1.tga differ diff --git a/images/skins/default_skin.tga b/images/skins/default_skin.tga index 2e0a64c5..433b1286 100644 Binary files a/images/skins/default_skin.tga and b/images/skins/default_skin.tga differ diff --git a/images/skins/elvui.tga b/images/skins/elvui.tga index 34131aac..7fa2bb5b 100644 Binary files a/images/skins/elvui.tga and b/images/skins/elvui.tga differ diff --git a/images/skins/elvui_opaque.tga b/images/skins/elvui_opaque.tga index 76028a14..c1e9a052 100644 Binary files a/images/skins/elvui_opaque.tga and b/images/skins/elvui_opaque.tga differ diff --git a/images/skins/flat_skin.tga b/images/skins/flat_skin.tga index 5ab7d9e1..082b9428 100644 Binary files a/images/skins/flat_skin.tga and b/images/skins/flat_skin.tga differ diff --git a/images/skins/simplygray_skin.tga b/images/skins/simplygray_skin.tga index d5932ce8..cae002cc 100644 Binary files a/images/skins/simplygray_skin.tga and b/images/skins/simplygray_skin.tga differ diff --git a/plugins/Details_RaidCheck/Details_RaidCheck.lua b/plugins/Details_RaidCheck/Details_RaidCheck.lua index e851a9fd..f34039f8 100644 --- a/plugins/Details_RaidCheck/Details_RaidCheck.lua +++ b/plugins/Details_RaidCheck/Details_RaidCheck.lua @@ -35,6 +35,21 @@ local food_list = { [175220] = true, -- [175222] = true, -- [175223] = true, -- + + [180745] = true, -- + [180746] = true, -- + [180747] = true, -- + [180748] = true, -- + [180749] = true, -- + [180750] = true, -- + + [180757] = true, -- + [180758] = true, -- + [180761] = true, -- + [180759] = true, -- + [180762] = true, -- + [180760] = true, -- + } --> localization