diff --git a/boot.lua b/boot.lua index c9cda9af..a0d4b430 100644 --- a/boot.lua +++ b/boot.lua @@ -3,7 +3,7 @@ _ = nil _detalhes = LibStub("AceAddon-3.0"):NewAddon("_detalhes", "AceTimer-3.0", "AceComm-3.0", "AceSerializer-3.0", "NickTag-1.0") - _detalhes.build_counter = 3902 + _detalhes.build_counter = 3962 _detalhes.userversion = "v7.2.5." .. _detalhes.build_counter _detalhes.realversion = 120 --core version _detalhes.version = _detalhes.userversion .. " (core " .. _detalhes.realversion .. ")" @@ -21,22 +21,25 @@ do local Loc = LibStub ("AceLocale-3.0"):GetLocale ( "Details" ) --[[ -|cFFFFFF00v7.2.5.3902.120 (|cFFFFCC00June 20th, 2017|r|cFFFFFF00)|r:\n\n +|cFFFFFF00v7.2.5.3962.120 (|cFFFFCC00June 20th, 2017|r|cFFFFFF00)|r:\n\n |cFFFFFF00-|r New Death Recap implemented! replaces the default from Blizzard and can be configured at Options > Raid Tools.\n\n |cFFFFFF00-|r New Guild Damage and Heal rank on '/details ranking' panel.\n\n |cFFFFFF00-|r Added a Guild Sync button on the Details! Ranking Panel.\n\n |cFFFFFF00-|r Added Custom display 'Damage on Shields', useful for encounter like Maiden of Vigilance where there's big shields to be removed and you want to know who is doing more damage to it.\n\n |cFFFFFF00-|r Added Heal Absorbed display under Heal bracket.\n\nHeal Absorb are the heal denied by abilities such like DK's Necrotic Strike or raid boss Sisters of the Moon 'Embrace of the Eclipse' ability.\nThe tooltip of this display shows which players got heal denied, which abilities absorbed the heal, which abilities tried to heal but got the heal denied.\n\n |cFFFFFF00-|r Added Alternate Power display under Energy bracket, it shows the total of alternate power gain from each player, useful for encounters such as Demonic Inquisition.\n\n +|cFFFFFF00-|r 'First Hit' message after pulling a boss, now also shows who the boss is targeting (almost always is who pulled).\n\n +|cFFFFFF00-|r Raid Dps {rdps} and Hps {rhps} can now be used on the Broker Data Feed..\n\n +|cFFFFFF00-|r Fixed an issue with Chromie from the scenario 'The Deaths of Chromie' where she wasn't being shown on the meter.\n\n |cFFFFFF00-|r Fixed Paladin 'Light of the Martyr' damage to self.\n\n +|cFFFFFF00-|r Ticket #198 'Script Error' Fixed.\n\n --]] -- - ---|cFFFFFF00v7.2.5.3902.120 (|cFFFFCC00June 20th, 2017|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r New Death Recap implemented! replaces the default from Blizzard and can be configured at Options > Raid Tools.\n\n|cFFFFFF00-|r New Guild Damage and Heal rank on '/details ranking' panel.\n\n|cFFFFFF00-|r Added a Guild Sync button on the Details! Ranking Panel.\n\n|cFFFFFF00-|r Added Custom display 'Damage on Shields', useful for encounter like Maiden of Vigilance where there's big shields to be removed and you want to know who is doing more damage to it.\n\n|cFFFFFF00-|r Added Heal Absorbed display under Heal bracket.\n\nHeal Absorb are the heal denied by abilities such like DK's Necrotic Strike or raid boss Sisters of the Moon 'Embrace of the Eclipse' ability.\nThe tooltip of this display shows which players got heal denied, which abilities absorbed the heal, which abilities tried to heal but got the heal denied.\n\n|cFFFFFF00-|r Added Alternate Power display under Energy bracket, it shows the total of alternate power gain from each player, useful for encounters such as Demonic Inquisition.\n\n|cFFFFFF00-|r Fixed Paladin 'Light of the Martyr' damage to self.\n\n +--|cFFFFFF00v7.2.5.3962.120 (|cFFFFCC00June 20th, 2017|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r New Death Recap implemented! replaces the default from Blizzard and can be configured at Options > Raid Tools.\n\n|cFFFFFF00-|r New Guild Damage and Heal rank on '/details ranking' panel.\n\n|cFFFFFF00-|r Added a Guild Sync button on the Details! Ranking Panel.\n\n|cFFFFFF00-|r Added Custom display 'Damage on Shields', useful for encounter like Maiden of Vigilance where there's big shields to be removed and you want to know who is doing more damage to it.\n\n|cFFFFFF00-|r Added Heal Absorbed display under Heal bracket.\n\nHeal Absorb are the heal denied by abilities such like DK's Necrotic Strike or raid boss Sisters of the Moon 'Embrace of the Eclipse' ability.\nThe tooltip of this display shows which players got heal denied, which abilities absorbed the heal, which abilities tried to heal but got the heal denied.\n\n|cFFFFFF00-|r Added Alternate Power display under Energy bracket, it shows the total of alternate power gain from each player, useful for encounters such as Demonic Inquisition.\n\n|cFFFFFF00-|r 'First Hit' message after pulling a boss, now also shows who the boss is targeting (almost always is who pulled).\n\n|cFFFFFF00-|r Raid Dps {rdps} and Hps {rhps} can now be used on the Broker Data Feed..\n\n|cFFFFFF00-|r Fixed an issue with Chromie from the scenario 'The Deaths of Chromie' where she wasn't being shown on the meter.\n\n|cFFFFFF00-|r Fixed Paladin 'Light of the Martyr' damage to self.\n\n|cFFFFFF00-|r Ticket #198 'Script Error' Fixed.\n\n -- - Loc ["STRING_VERSION_LOG"] = "|cFFFFFF00v7.2.5.3902.120 (|cFFFFCC00June 20th, 2017|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r New Death Recap implemented! replaces the default from Blizzard and can be configured at Options > Raid Tools.\n\n|cFFFFFF00-|r New Guild Damage and Heal rank on '/details ranking' panel.\n\n|cFFFFFF00-|r Added a Guild Sync button on the Details! Ranking Panel.\n\n|cFFFFFF00-|r Added Custom display 'Damage on Shields', useful for encounter like Maiden of Vigilance where there's big shields to be removed and you want to know who is doing more damage to it.\n\n|cFFFFFF00-|r Added Heal Absorbed display under Heal bracket.\n\nHeal Absorb are the heal denied by abilities such like DK's Necrotic Strike or raid boss Sisters of the Moon 'Embrace of the Eclipse' ability.\nThe tooltip of this display shows which players got heal denied, which abilities absorbed the heal, which abilities tried to heal but got the heal denied.\n\n|cFFFFFF00-|r Added Alternate Power display under Energy bracket, it shows the total of alternate power gain from each player, useful for encounters such as Demonic Inquisition.\n\n|cFFFFFF00-|r Fixed Paladin 'Light of the Martyr' damage to self.\n\n|cFFFFFF00v7.2.0.3703.119 (|cFFFFCC00May 29th, 2017|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Fixed an error while killing low level mobs with warrior class.\n\n|cFFFFFF00v7.2.0.3693.118 (|cFFFFCC00May 25th, 2017|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Fury Warrior shouldn't be assigned as Protection any more.\n\n|cFFFFFF00-|r Some parser fixes.\n\n|cFFFFFF00v7.2.0.3673.118 (|cFFFFCC00May 09th, 2017|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Ticket #187: Fixed an issue when comparing hunter pets on the player detail window.\n\n|cFFFFFF00-|r Ticket #189 #186: Fixed a taint issue for some classes when using friendly nameplates on.\n\n|cFFFFFF00v7.2.0.3512.116 (|cFFFFCC00April 27th, 2017|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Havoc Demon Hunter: your fury energy is being shown under Mana Restored (don't ask me why, the combat log is telling us it's mana).\n\n|cFFFFFF00-|r Pets now are shown on damage tooltips.\n\n|cFFFFFF00-|r Pets are now also shown on the comparison panel.\n\n|cFFFFFF00v7.2.0.3474.116 (|cFFFFCC00April 20th, 2017|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Plugin: Raid Check > added some food buffs which wasn't being tracked.\n\n|cFFFFFF00v7.2.0.3467.116 (|cFFFFCC00April 07th, 2017|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Fix for the custom display window where apply and cancel buttons where over the edit window.\n\n|cFFFFFF00-|r Fix for an issue on editing a bookmark.\n\n|cFFFFFF00v7.1.5.3459.116 (|cFFFFCC00Mar 21th, 2017|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Fixed an issue on dynamic overall data where it wasn't showing DPS.\n\n|cFFFFFF00-|r Fixed an issue with Apply, Save and Cancel buttons when editing a custom display.\n\n|cFFFFFF00-|r Removed the Damage and Healing presets for custom displays, now is only possible create custom displays by scripting them.\n\n|cFFFFFF00v7.1.5.3431.116 (|cFFFFCC00Mar 15th, 2017|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Fixed an issue with bar orientation right to left where fixed bar color isn't working.\n\n|cFFFFFF00-|r The nickname field now use FrizQuadrataTT font and shall be compatible with Cyrillic.\n\n|cFFFFFF00v7.1.5.3418.116 (|cFFFFCC00Mar 1st, 2017|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Ticket #167 fix: Light of the Martyr self-damage now does reduce the healing done (following WCL method).\n\n|cFFFFFF00-|r Ticket #169 fix: Damage Prevented is now working for new segments.\n\n|cFFFFFF00-|r Fixed an issue where sometimes BeastMaster's Hati pet wasn't detected correctly.\n\n|cFFFFFF00v7.1.5.3369.116 (|cFFFFCC00Feb 07th, 2017|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Added custom display 'Dynamic Overall Damage' for mythic dungeons.\n\n|cFFFFFF00-|r Fix for Ticket #168: 'Auto Hide While [Not] Inside Instance is broken'.\n\n|cFFFFFF00-|r The bar truncate frame 'DetailsLeftTextAntiTruncate' is now created on Details! load instead on demand.\n\n|cFFFFFF00v7.1.5.3315.116 (|cFFFFCC00Jan 23th, 2017|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Ticket #162: 'no Monochrome font' available, added an experimental slash command: /run _detalhes:UseOutline ('MONOCHROME').\n\n|cFFFFFF00-|r Ticket #158: 'no elapsed time shown on report to chat', added the elapsed time when reporting a segment.\n\n|cFFFFFF00-|r Ticket #164: 'error when browsing segments', an attempt to fix the problem has been made.\n\n|cFFFFFF00v7.1.5.3305.116 (|cFFFFCC00Jan 15th, 2017|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Another fix for mythic dungeons overall data reset (thanks Tharai @ Curseforge).\n\n|cFFFFFF00-|r Fix for spec detection on PvP Arenas (thanks Pas06 @ Curseforge).\n\n|cFFFFFF00v7.1.0.3276.115 (|cFFFFCC00Jan 08th, 2017|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Fixed the overall data not reseting when starting a new mythic+ dungeon.\n\n|cFFFFFF00v7.1.0.3266.115 (|cFFFFCC00Dec 29th, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Fixed an issue with overall data not updating correctly at the end of the combat.\n\n|cFFFFFF00-|r Added a tutorial line on the window when the user access overall data.\n\n|cFFFFFF00v7.1.0.3236.115 (|cFFFFCC00Dec 19th, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Integration with BigWigs should be working okay now.\n\n|cFFFFFF00v7.1.0.3231.115 (|cFFFFCC00Dec 15th, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Disabled the link with BigWigs to avoid the 'RegisterMessage' error on every login.\n\n|cFFFFFF00v7.1.0.3229.115 (|cFFFFCC00Dec 09th, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r When a window is locked, resize grips shouldn't be enabled messing with bar mouse over.\n\n|cFFFFFF00v7.0.3.3222.115 (|cFFFFCC00November 28th, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Added Unstable Affliction to common spells with the same name.\n\n|cFFFFFF00-|r Fixed few issues with built-in plugins.\n\n|cFFFFFF00v7.0.3.3202.115 (|cFFFFCC00November 08th, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Weakauras creator from the Encounter Details plugin and '/details forge' shall work correctly now with Trials of Valor.\n\n|cFFFFFF00-|r Raid history should now be recording your Trials of Valor kills.\n\n|cFFFFFF00-|r Added Trials of Valor raid info, good luck and have fun!.\n\n|cFFFFFF00v7.0.3.3201.115 (|cFFFFCC00November 04th, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Fix for Paladin holy icon.\n\n|cFFFFFF00-|r Fix for Rogue outlaw icon.\n\n|cFFFFFF00-|r Fixed misc displays with bar sorted by ascending order.\n\n|cFFFFFF00-|r Fix for '/details show' command while the window is on auto hide.\n\n|cFFFFFF00v7.0.3.3114.115 (|cFFFFCC00October 26th, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Encounter Details (plugin): tooltip tutorial is now clamped to screen and its close button should be visible.\n\n|cFFFFFF00-|r Raid Check (plugin): now also works on dungeons.\n\n|cFFFFFF00-|r Added Potion of the Prolongued Power to the tracker.\n\n|cFFFFFF00v7.1.0.3097.115 (|cFFFFCC00October 25th, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r renamed 'report history' to 'latest reports'.\n\n|cFFFFFF00-|r attempt to make all Details! users on the party or raid to track rogue's akaari's soul." + Loc ["STRING_VERSION_LOG"] = "|cFFFFFF00v7.2.5.3962.120 (|cFFFFCC00June 20th, 2017|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r New Death Recap implemented! replaces the default from Blizzard and can be configured at Options > Raid Tools.\n\n|cFFFFFF00-|r New Guild Damage and Heal rank on '/details ranking' panel.\n\n|cFFFFFF00-|r Added a Guild Sync button on the Details! Ranking Panel.\n\n|cFFFFFF00-|r Added Custom display 'Damage on Shields', useful for encounter like Maiden of Vigilance where there's big shields to be removed and you want to know who is doing more damage to it.\n\n|cFFFFFF00-|r Added Heal Absorbed display under Heal bracket.\n\nHeal Absorb are the heal denied by abilities such like DK's Necrotic Strike or raid boss Sisters of the Moon 'Embrace of the Eclipse' ability.\nThe tooltip of this display shows which players got heal denied, which abilities absorbed the heal, which abilities tried to heal but got the heal denied.\n\n|cFFFFFF00-|r Added Alternate Power display under Energy bracket, it shows the total of alternate power gain from each player, useful for encounters such as Demonic Inquisition.\n\n|cFFFFFF00-|r 'First Hit' message after pulling a boss, now also shows who the boss is targeting (almost always is who pulled).\n\n|cFFFFFF00-|r Raid Dps {rdps} and Hps {rhps} can now be used on the Broker Data Feed..\n\n|cFFFFFF00-|r Fixed an issue with Chromie from the scenario 'The Deaths of Chromie' where she wasn't being shown on the meter.\n\n|cFFFFFF00-|r Fixed Paladin 'Light of the Martyr' damage to self.\n\n|cFFFFFF00-|r Ticket #198 'Script Error' Fixed.\n\n|cFFFFFF00v7.2.0.3703.119 (|cFFFFCC00May 29th, 2017|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Fixed an error while killing low level mobs with warrior class.\n\n|cFFFFFF00v7.2.0.3693.118 (|cFFFFCC00May 25th, 2017|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Fury Warrior shouldn't be assigned as Protection any more.\n\n|cFFFFFF00-|r Some parser fixes.\n\n|cFFFFFF00v7.2.0.3673.118 (|cFFFFCC00May 09th, 2017|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Ticket #187: Fixed an issue when comparing hunter pets on the player detail window.\n\n|cFFFFFF00-|r Ticket #189 #186: Fixed a taint issue for some classes when using friendly nameplates on.\n\n|cFFFFFF00v7.2.0.3512.116 (|cFFFFCC00April 27th, 2017|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Havoc Demon Hunter: your fury energy is being shown under Mana Restored (don't ask me why, the combat log is telling us it's mana).\n\n|cFFFFFF00-|r Pets now are shown on damage tooltips.\n\n|cFFFFFF00-|r Pets are now also shown on the comparison panel.\n\n|cFFFFFF00v7.2.0.3474.116 (|cFFFFCC00April 20th, 2017|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Plugin: Raid Check > added some food buffs which wasn't being tracked.\n\n|cFFFFFF00v7.2.0.3467.116 (|cFFFFCC00April 07th, 2017|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Fix for the custom display window where apply and cancel buttons where over the edit window.\n\n|cFFFFFF00-|r Fix for an issue on editing a bookmark.\n\n|cFFFFFF00v7.1.5.3459.116 (|cFFFFCC00Mar 21th, 2017|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Fixed an issue on dynamic overall data where it wasn't showing DPS.\n\n|cFFFFFF00-|r Fixed an issue with Apply, Save and Cancel buttons when editing a custom display.\n\n|cFFFFFF00-|r Removed the Damage and Healing presets for custom displays, now is only possible create custom displays by scripting them.\n\n|cFFFFFF00v7.1.5.3431.116 (|cFFFFCC00Mar 15th, 2017|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Fixed an issue with bar orientation right to left where fixed bar color isn't working.\n\n|cFFFFFF00-|r The nickname field now use FrizQuadrataTT font and shall be compatible with Cyrillic.\n\n|cFFFFFF00v7.1.5.3418.116 (|cFFFFCC00Mar 1st, 2017|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Ticket #167 fix: Light of the Martyr self-damage now does reduce the healing done (following WCL method).\n\n|cFFFFFF00-|r Ticket #169 fix: Damage Prevented is now working for new segments.\n\n|cFFFFFF00-|r Fixed an issue where sometimes BeastMaster's Hati pet wasn't detected correctly.\n\n|cFFFFFF00v7.1.5.3369.116 (|cFFFFCC00Feb 07th, 2017|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Added custom display 'Dynamic Overall Damage' for mythic dungeons.\n\n|cFFFFFF00-|r Fix for Ticket #168: 'Auto Hide While [Not] Inside Instance is broken'.\n\n|cFFFFFF00-|r The bar truncate frame 'DetailsLeftTextAntiTruncate' is now created on Details! load instead on demand.\n\n|cFFFFFF00v7.1.5.3315.116 (|cFFFFCC00Jan 23th, 2017|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Ticket #162: 'no Monochrome font' available, added an experimental slash command: /run _detalhes:UseOutline ('MONOCHROME').\n\n|cFFFFFF00-|r Ticket #158: 'no elapsed time shown on report to chat', added the elapsed time when reporting a segment.\n\n|cFFFFFF00-|r Ticket #164: 'error when browsing segments', an attempt to fix the problem has been made.\n\n|cFFFFFF00v7.1.5.3305.116 (|cFFFFCC00Jan 15th, 2017|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Another fix for mythic dungeons overall data reset (thanks Tharai @ Curseforge).\n\n|cFFFFFF00-|r Fix for spec detection on PvP Arenas (thanks Pas06 @ Curseforge).\n\n|cFFFFFF00v7.1.0.3276.115 (|cFFFFCC00Jan 08th, 2017|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Fixed the overall data not reseting when starting a new mythic+ dungeon.\n\n|cFFFFFF00v7.1.0.3266.115 (|cFFFFCC00Dec 29th, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Fixed an issue with overall data not updating correctly at the end of the combat.\n\n|cFFFFFF00-|r Added a tutorial line on the window when the user access overall data.\n\n|cFFFFFF00v7.1.0.3236.115 (|cFFFFCC00Dec 19th, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Integration with BigWigs should be working okay now.\n\n|cFFFFFF00v7.1.0.3231.115 (|cFFFFCC00Dec 15th, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Disabled the link with BigWigs to avoid the 'RegisterMessage' error on every login.\n\n|cFFFFFF00v7.1.0.3229.115 (|cFFFFCC00Dec 09th, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r When a window is locked, resize grips shouldn't be enabled messing with bar mouse over.\n\n|cFFFFFF00v7.0.3.3222.115 (|cFFFFCC00November 28th, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Added Unstable Affliction to common spells with the same name.\n\n|cFFFFFF00-|r Fixed few issues with built-in plugins.\n\n|cFFFFFF00v7.0.3.3202.115 (|cFFFFCC00November 08th, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Weakauras creator from the Encounter Details plugin and '/details forge' shall work correctly now with Trials of Valor.\n\n|cFFFFFF00-|r Raid history should now be recording your Trials of Valor kills.\n\n|cFFFFFF00-|r Added Trials of Valor raid info, good luck and have fun!.\n\n|cFFFFFF00v7.0.3.3201.115 (|cFFFFCC00November 04th, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Fix for Paladin holy icon.\n\n|cFFFFFF00-|r Fix for Rogue outlaw icon.\n\n|cFFFFFF00-|r Fixed misc displays with bar sorted by ascending order.\n\n|cFFFFFF00-|r Fix for '/details show' command while the window is on auto hide.\n\n|cFFFFFF00v7.0.3.3114.115 (|cFFFFCC00October 26th, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Encounter Details (plugin): tooltip tutorial is now clamped to screen and its close button should be visible.\n\n|cFFFFFF00-|r Raid Check (plugin): now also works on dungeons.\n\n|cFFFFFF00-|r Added Potion of the Prolongued Power to the tracker.\n\n|cFFFFFF00v7.1.0.3097.115 (|cFFFFCC00October 25th, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r renamed 'report history' to 'latest reports'.\n\n|cFFFFFF00-|r attempt to make all Details! users on the party or raid to track rogue's akaari's soul." Loc ["STRING_DETAILS1"] = "|cffffaeaeDetails!:|r " diff --git a/classes/classe_custom.lua b/classes/classe_custom.lua index 4a2357ce..553be8fd 100644 --- a/classes/classe_custom.lua +++ b/classes/classe_custom.lua @@ -2330,7 +2330,7 @@ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- local DynamicOverallDamage = { - name = "Dynamic Overall Damage", + name = Loc ["STRING_CUSTOM_DYNAMICOVERAL"], --"Dynamic Overall Damage", icon = [[Interface\ICONS\Achievement_Quests_Completed_08]], attribute = false, spellid = false, @@ -2455,14 +2455,14 @@ local have = false for _, custom in ipairs (self.custom) do - if (custom.name == "Dynamic Overall Damage" and (custom.script_version and custom.script_version >= DynamicOverallDamage.script_version) ) then + if (custom.name == Loc ["STRING_CUSTOM_DYNAMICOVERAL"] and (custom.script_version and custom.script_version >= DynamicOverallDamage.script_version) ) then have = true break end end if (not have) then for i, custom in ipairs (self.custom) do - if (custom.name == "Dynamic Overall Damage") then + if (custom.name == Loc ["STRING_CUSTOM_DYNAMICOVERAL"]) then table.remove (self.custom, i) end end @@ -2474,7 +2474,7 @@ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- local DamageOnShields = { - name = "Damage on Shields", + name = Loc ["STRING_CUSTOM_DAMAGEONSHIELDS"], icon = [[Interface\ICONS\Spell_Holy_PowerWordShield]], attribute = false, spellid = false, @@ -2556,14 +2556,14 @@ local have = false for _, custom in ipairs (self.custom) do - if (custom.name == "Damage on Shields" and (custom.script_version and custom.script_version >= DamageOnShields.script_version) ) then + if (custom.name == Loc ["STRING_CUSTOM_DAMAGEONSHIELDS"] and (custom.script_version and custom.script_version >= DamageOnShields.script_version) ) then have = true break end end if (not have) then for i, custom in ipairs (self.custom) do - if (custom.name == "Damage on Shields") then + if (custom.name == Loc ["STRING_CUSTOM_DAMAGEONSHIELDS"]) then table.remove (self.custom, i) end end diff --git a/classes/container_combatentes.lua b/classes/container_combatentes.lua index 56cf1dea..5f5ddc88 100644 --- a/classes/container_combatentes.lua +++ b/classes/container_combatentes.lua @@ -302,6 +302,13 @@ else novo_objeto.displayName = nome + + --Chromie - From 'The Deaths of Chromie' + if (serial) then + if (serial:match ("^Creature%-0%-%d+%-%d+%-%d+%-122663%-%w+$")) then + novo_objeto.grupo = true + end + end end --> é inimigo diff --git a/core/control.lua b/core/control.lua index 76d43a21..d7b3e4a7 100644 --- a/core/control.lua +++ b/core/control.lua @@ -580,7 +580,7 @@ --> verifica memoria _detalhes:FlagActorsOnCommonFight() --fight_component - _detalhes:CheckMemoryAfterCombat() + --_detalhes:CheckMemoryAfterCombat() -- 7.2.5 is doing some weird errors even out of combat else if (not InCombatLockdown() and not UnitAffectingCombat ("player")) then diff --git a/core/parser.lua b/core/parser.lua index e92b1593..4c557b3c 100644 --- a/core/parser.lua +++ b/core/parser.lua @@ -203,6 +203,32 @@ -- /run local f=CreateFrame("frame");f:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED");f:SetScript("OnEvent",function(self, ...) local a = select(6, ...);if (a=="")then print (...) end end) -- /run local f=CreateFrame("frame");f:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED");f:SetScript("OnEvent",function(self, ...) local a = select(3, ...);print (a);if (a=="SPELL_CAST_SUCCESS")then print (...) end end) + local who_aggro = function (self) + if ((_detalhes.LastPullMsg or 0) + 30 > time()) then + _detalhes.WhoAggroTimer = nil + return + end + _detalhes.LastPullMsg = time() + + --local hitLine = self.HitBy or "|cFFFFFF00First Hit|r: *?* from *?* " + local hitLine = self.HitBy or "|cFFFFFF00First Hit|r: *?*" + local targetLine = "" + + for i = 1, 5 do + local boss = UnitExists ("boss" .. i) + if (boss) then + local target = UnitName ("boss" .. i .. "target") + if (target and type (target) == "string") then + targetLine = " |cFFFFFF00Boss First Target|r: " .. target + break + end + end + end + + _detalhes:Msg (hitLine .. targetLine) + _detalhes.WhoAggroTimer = nil + end + function parser:spell_dmg (token, time, who_serial, who_name, who_flags, alvo_serial, alvo_name, alvo_flags, alvo_flags2, spellid, spellname, spelltype, amount, overkill, school, resisted, blocked, absorbed, critical, glacing, crushing, isoffhand) ------------------------------------------------------------------------------------------------ @@ -317,22 +343,11 @@ link = GetSpellLink (spellid) end - --check boss targets - local gotTarget = false - for i = 1, 5 do - local boss = UnitExists ("boss" .. i) - if (boss) then - local target = UnitName ("boss" .. i .. "target") - if (target and type (target) == "string" and not gotTarget) then - _detalhes:Msg ("|cFFFFFF00First hit|r: " .. (link or "") .. " from " .. (who_name or "Unknown") .. " |cFFFFFF00First Boss Target|r: " .. target) - gotTarget = true - end - end - end - - if (not gotTarget) then - _detalhes:Msg ("First hit: " .. (link or "") .. " from " .. (who_name or "Unknown")) + if (_detalhes.WhoAggroTimer) then + _detalhes.WhoAggroTimer:Cancel() end + _detalhes.WhoAggroTimer = C_Timer.NewTimer (0.5, who_aggro) + _detalhes.WhoAggroTimer.HitBy = "|cFFFFFF00First Hit|r: " .. (link or "") .. " from " .. (who_name or "Unknown") end _detalhes:EntrarEmCombate (who_serial, who_name, who_flags, alvo_serial, alvo_name, alvo_flags) else @@ -3758,7 +3773,6 @@ local SPELL_POWER_PAIN = SPELL_POWER_PAIN or (PowerEnum and PowerEnum.Pain) or 1 -- ~encounter function _detalhes.parser_functions:ENCOUNTER_START (...) - if (_detalhes.debug) then _detalhes:Msg ("(debug) |cFFFFFF00ENCOUNTER_START|r event triggered.") end @@ -3767,6 +3781,10 @@ local SPELL_POWER_PAIN = SPELL_POWER_PAIN or (PowerEnum and PowerEnum.Pain) or 1 if (_detalhes.latest_ENCOUNTER_END + 10 > _GetTime()) then return end + + if (not _detalhes.WhoAggroTimer) then + _detalhes.WhoAggroTimer = C_Timer.NewTimer (0.5, who_aggro) + end local encounterID, encounterName, difficultyID, raidSize = _select (1, ...) --print ("START", encounterID, encounterName, difficultyID, raidSize) diff --git a/functions/attributes.lua b/functions/attributes.lua index e4ab012c..ac4d84fa 100644 --- a/functions/attributes.lua +++ b/functions/attributes.lua @@ -169,7 +169,7 @@ do Loc ["STRING_ATTRIBUTE_HEAL_TAKEN"], Loc ["STRING_ATTRIBUTE_HEAL_ENEMY"], Loc ["STRING_ATTRIBUTE_HEAL_PREVENT"], - "Heal Absorbed (in testing)", + Loc ["STRING_ATTRIBUTE_HEAL_ABSORBED"], }, icones = { @@ -198,7 +198,7 @@ do Loc ["STRING_ATTRIBUTE_ENERGY_ENERGY"], Loc ["STRING_ATTRIBUTE_ENERGY_RUNEPOWER"], Loc ["STRING_ATTRIBUTE_ENERGY_RESOURCES"], - "Alternate Power (in testing)", + Loc ["STRING_ATTRIBUTE_ENERGY_ALTERNATEPOWER"], }, icones = { {"Interface\\AddOns\\Details\\images\\atributos_icones_energyze", {0, .125, 0, 1}}, diff --git a/functions/link.lua b/functions/link.lua index ff46a2eb..050fa358 100644 --- a/functions/link.lua +++ b/functions/link.lua @@ -3169,10 +3169,57 @@ local create_deathrecap_line = function (parent, n) end local OpenDetailsDeathRecapAtSegment = function (segment) - _detalhes.OpenDetailsDeathRecap (segment) + _detalhes.OpenDetailsDeathRecap (segment, RecapID) end -function _detalhes.OpenDetailsDeathRecap (segment) +function _detalhes.BuildDeathTableFromRecap (recapID) + local events = DeathRecap_GetEvents (recapID) + + --check if it is a valid recap + if (not events or #events <= 0) then + DeathRecapFrame.Unavailable:Show() + return + end + + --build an death log using details format + ArtificialDeathLog = { + {}, --deathlog events + (events [1] and events [1].timestamp) or (DeathRecapFrame and DeathRecapFrame.DeathTimeStamp) or 0, --time of death + UnitName ("player"), + select (2, UnitClass ("player")), + UnitHealthMax ("player"), + "0m 0s", --formated fight time + ["dead"] = true, + ["last_cooldown"] = false, + ["dead_at"] = 0, + n = 1 + } + + for i = 1, #events do + local evtData = events [i] + local spellId, spellName, texture = DeathRecapFrame_GetEventInfo ( evtData ) + + local ev = { + true, + spellId or 0, + evtData.amount or 0, + evtData.timestamp or 0, --? + evtData.currentHP or 0, + evtData.sourceName or "--x--x--", + evtData.absorbed or 0, + evtData.school or 0, + false, + evtData.overkill + } + + tinsert (ArtificialDeathLog[1], ev) + ArtificialDeathLog.n = ArtificialDeathLog.n + 1 + end + + return ArtificialDeathLog +end + +function _detalhes.OpenDetailsDeathRecap (segment, RecapID) if (not _detalhes.death_recap.enabled) then if (Details.DeathRecap and Details.DeathRecap.Lines) then @@ -3196,6 +3243,8 @@ function _detalhes.OpenDetailsDeathRecap (segment) Details.DeathRecap = CreateFrame ("frame", "DetailsDeathRecap", DeathRecapFrame) Details.DeathRecap:SetAllPoints() + DeathRecapFrame.Title:SetText (DeathRecapFrame.Title:GetText() .. " (by Details!)") + --lines Details.DeathRecap.Lines = {} for i = 1, 10 do @@ -3259,7 +3308,7 @@ function _detalhes.OpenDetailsDeathRecap (segment) _detalhes.gump:SetFontColor (Details.DeathRecap.Segments [1].text, "orange") else _detalhes.gump:SetFontColor (Details.DeathRecap.Segments [segment].text, "orange") - death = _detalhes.tabela_historico.tabelas [segment].last_events_tables + death = _detalhes.tabela_historico.tabelas [segment] and _detalhes.tabela_historico.tabelas [segment].last_events_tables end else @@ -3268,165 +3317,180 @@ function _detalhes.OpenDetailsDeathRecap (segment) end end - if (not death) then - return + --if couldn't find the requested log from details!, so, import the log from the blizzard death recap + --or if the player cliced on the chat link for the recap + local ArtificialDeathLog + if (not death or RecapID) then + if (segment) then + --nop, the player requested a death log from details it self but the log does not exists + DeathRecapFrame.Unavailable:Show() + return + end + --get the death events from the blizzard's recap + ArtificialDeathLog = _detalhes.BuildDeathTableFromRecap (RecapID) end + DeathRecapFrame.Unavailable:Hide() + --get the relevance config local relevanceTime = _detalhes.death_recap.relevance_time - --for index, t in ipairs (death) do - for index = #death, 1, -1 do - local t = death [index] - - if (t [3] == _detalhes.playername) then - - local events = t [1] - local timeOfDeath = t [2] - - local BiggestDamageHits = {} - for i = #events, 1, -1 do - tinsert (BiggestDamageHits, events [i]) + local t + if (ArtificialDeathLog) then + t = ArtificialDeathLog + else + for index = #death, 1, -1 do + if (death [index] [3] == _detalhes.playername) then + t = death [index] + break end - table.sort (BiggestDamageHits, function (t1, t2) - return t1[3] > t2[3] - end) - for i = #BiggestDamageHits, 1, -1 do - if (BiggestDamageHits [i][4] + relevanceTime < timeOfDeath) then - tremove (BiggestDamageHits, i) - end + end + end + + if (t) then + local events = t [1] + local timeOfDeath = t [2] + + local BiggestDamageHits = {} + for i = #events, 1, -1 do + tinsert (BiggestDamageHits, events [i]) + end + table.sort (BiggestDamageHits, function (t1, t2) + return t1[3] > t2[3] + end) + for i = #BiggestDamageHits, 1, -1 do + if (BiggestDamageHits [i][4] + relevanceTime < timeOfDeath) then + tremove (BiggestDamageHits, i) end - - --verifica se o evento que matou o jogador esta na lista, se nao, adiciona no primeiro index do BiggestDamageHits - local hitKill - for i = #events, 1, -1 do - local event = events [i] - local evType = event [1] - if (type (evType) == "boolean" and evType) then - hitKill = event + end + + --verifica se o evento que matou o jogador esta na lista, se nao, adiciona no primeiro index do BiggestDamageHits + local hitKill + for i = #events, 1, -1 do + local event = events [i] + local evType = event [1] + if (type (evType) == "boolean" and evType) then + hitKill = event + break + end + end + if (hitKill) then + local haveHitKill = false + for index, t in ipairs (BiggestDamageHits) do + if (t == hitKill) then + haveHitKill = true break end end - if (hitKill) then - local haveHitKill = false - for index, t in ipairs (BiggestDamageHits) do - if (t == hitKill) then - haveHitKill = true - break - end - end - if (not haveHitKill) then - tinsert (BiggestDamageHits, 1, hitKill) - end + if (not haveHitKill) then + tinsert (BiggestDamageHits, 1, hitKill) end - - - --tem menos que 10 eventos com grande dano dentro dos ultimos 5 segundos - --precisa preencher com danos pequenos - if (#BiggestDamageHits < 10) then - for i = #events, 1, -1 do - local event = events [i] - local evType = event [1] - if (type (evType) == "boolean" and evType) then - local alreadyHave = false - for index, t in ipairs (BiggestDamageHits) do - if (t == event) then - alreadyHave = true - break - end - end - if (not alreadyHave) then - tinsert (BiggestDamageHits, event) - if (#BiggestDamageHits == 10) then - break - end - end - end - end - else - --encurta a tabela em no maximo 10 eventos - while (#BiggestDamageHits > 10) do - tremove (BiggestDamageHits, 11) - end - end - - table.sort (BiggestDamageHits, function (t1, t2) - return t1[4] > t2[4] - end) - - local events = BiggestDamageHits - - local maxHP = t [5] - local lineIndex = 10 - - --for i = #events, 1, -1 do - for i, event in ipairs (events) do - local event = events [i] - - local evType = event [1] - local hp = min (floor (event [5] / maxHP * 100), 100) - local spellName, _, spellIcon = _detalhes.GetSpellInfo (event [2]) - local amount = event [3] - local eventTime = event [4] - local source = event [6] - local overkill = event [10] or 0 - - if (type (evType) == "boolean" and evType) then - - local line = Details.DeathRecap.Lines [lineIndex] - - if (line) then - line.timeAt:SetText (format ("%.1f", eventTime - timeOfDeath) .. "s") - line.spellIcon:SetTexture (spellIcon) - line.TopFader:Hide() - --line.spellIcon:SetTexCoord (.1, .9, .1, .9) - - --line.sourceName:SetText ("|cFFC6B0D9" .. source .. "|r") - line.sourceName:SetText (spellName) - - if (amount > 1000) then - --line.amount:SetText ("-" .. _detalhes:ToK (amount)) - line.amount:SetText ("-" .. amount) - else - line.amount:SetText ("-" .. floor (amount)) - end - - line.lifePercent:SetText (hp .. "%") - line.spellid = event [2] - - line:Show() - - if (_detalhes.death_recap.show_life_percent) then - line.lifePercent:Show() - line.amount:SetPoint ("left", line, "left", 220, 0) - line.lifePercent:SetPoint ("left", line, "left", 320, 0) - else - line.lifePercent:Hide() - line.amount:SetPoint ("left", line, "left", 280, 0) - --line.lifePercent:SetPoint ("left", line, "left", 320, 0) - end - end - - lineIndex = lineIndex - 1 - end - end - - local lastLine = Details.DeathRecap.Lines [lineIndex + 1] - if (lastLine) then - lastLine.TopFader:Show() - end - - DeathRecapFrame.Unavailable:Hide() - - break end + + + --tem menos que 10 eventos com grande dano dentro dos ultimos 5 segundos + --precisa preencher com danos pequenos + if (#BiggestDamageHits < 10) then + for i = #events, 1, -1 do + local event = events [i] + local evType = event [1] + if (type (evType) == "boolean" and evType) then + local alreadyHave = false + for index, t in ipairs (BiggestDamageHits) do + if (t == event) then + alreadyHave = true + break + end + end + if (not alreadyHave) then + tinsert (BiggestDamageHits, event) + if (#BiggestDamageHits == 10) then + break + end + end + end + end + else + --encurta a tabela em no maximo 10 eventos + while (#BiggestDamageHits > 10) do + tremove (BiggestDamageHits, 11) + end + end + + table.sort (BiggestDamageHits, function (t1, t2) + return t1[4] > t2[4] + end) + + local events = BiggestDamageHits + + local maxHP = t [5] + local lineIndex = 10 + + --for i = #events, 1, -1 do + for i, event in ipairs (events) do + local event = events [i] + + local evType = event [1] + local hp = min (floor (event [5] / maxHP * 100), 100) + local spellName, _, spellIcon = _detalhes.GetSpellInfo (event [2]) + local amount = event [3] + local eventTime = event [4] + local source = event [6] + local overkill = event [10] or 0 + + if (type (evType) == "boolean" and evType) then + + local line = Details.DeathRecap.Lines [lineIndex] + + if (line) then + line.timeAt:SetText (format ("%.1f", eventTime - timeOfDeath) .. "s") + line.spellIcon:SetTexture (spellIcon) + line.TopFader:Hide() + --line.spellIcon:SetTexCoord (.1, .9, .1, .9) + + --line.sourceName:SetText ("|cFFC6B0D9" .. source .. "|r") + line.sourceName:SetText (spellName) + + if (amount > 1000) then + --line.amount:SetText ("-" .. _detalhes:ToK (amount)) + line.amount:SetText ("-" .. amount) + else + line.amount:SetText ("-" .. floor (amount)) + end + + line.lifePercent:SetText (hp .. "%") + line.spellid = event [2] + + line:Show() + + if (_detalhes.death_recap.show_life_percent) then + line.lifePercent:Show() + line.amount:SetPoint ("left", line, "left", 220, 0) + line.lifePercent:SetPoint ("left", line, "left", 320, 0) + else + line.lifePercent:Hide() + line.amount:SetPoint ("left", line, "left", 280, 0) + --line.lifePercent:SetPoint ("left", line, "left", 320, 0) + end + end + + lineIndex = lineIndex - 1 + end + end + + local lastLine = Details.DeathRecap.Lines [lineIndex + 1] + if (lastLine) then + lastLine.TopFader:Show() + end + + DeathRecapFrame.Unavailable:Hide() end end hooksecurefunc (_G, "DeathRecap_LoadUI", function() - hooksecurefunc (_G, "DeathRecapFrame_OpenRecap", function() - _detalhes.OpenDetailsDeathRecap() + hooksecurefunc (_G, "DeathRecapFrame_OpenRecap", function (RecapID) + _detalhes.OpenDetailsDeathRecap (nil, RecapID) end) end) diff --git a/functions/timedata.lua b/functions/timedata.lua index d0ad9275..e7208297 100644 --- a/functions/timedata.lua +++ b/functions/timedata.lua @@ -461,6 +461,24 @@ end end + local get_raid_dps = function() + local damage_raid = _detalhes.tabela_vigente and _detalhes.tabela_vigente.totals [1] + if (damage_raid ) then + return ToKFunctions [_detalhes.minimap.text_format] (_, damage_raid / _detalhes.tabela_vigente:GetCombatTime()) + else + return 0 + end + end + + local get_raid_hps = function() + local healing_raid = _detalhes.tabela_vigente and _detalhes.tabela_vigente.totals [2] + if (healing_raid ) then + return ToKFunctions [_detalhes.minimap.text_format] (_, healing_raid / _detalhes.tabela_vigente:GetCombatTime()) + else + return 0 + end + end + local get_player_damage = function() local damage_player = _detalhes.tabela_vigente(1, _detalhes.playername) if (damage_player) then @@ -480,13 +498,14 @@ end local parse_broker_text = function() - local text = _detalhes.data_broker_text if (text == "") then return end text = text:gsub ("{dmg}", get_player_damage) + text = text:gsub ("{rdps}", get_raid_dps) + text = text:gsub ("{rhps}", get_raid_hps) text = text:gsub ("{dps}", get_player_dps) text = text:gsub ("{heal}", get_player_heal) text = text:gsub ("{hps}", get_player_hps) diff --git a/gumps/anime.lua b/gumps/anime.lua index 7140cd08..edff9c35 100644 --- a/gumps/anime.lua +++ b/gumps/anime.lua @@ -80,3 +80,286 @@ function DetailsTutorialAlertFrame_SlideInFrame (frame, animType) frame.startDelay = frame.animData.startDelay; frame:SetScript("OnUpdate", DetailsTutorialAlertFrame_OnUpdate); end + +function _detalhes.PlayBestDamageOnGuild (damage) + + damage = damage or 100000000 + + --> create the main frame + local DetailsNewDamageRecord = CreateFrame ("frame", "DetailsNewDamageRecordAnimationFrame", UIParent) + DetailsNewDamageRecord:SetPoint ("CENTER", UIParent, "CENTER", 0, -200) + DetailsNewDamageRecord:SetSize (300, 300) + + --> single animation group + local MainAnimationGroup = DetailsNewDamageRecord:CreateAnimationGroup ("DetailsNewDamageRecordAnimationGroup") + MainAnimationGroup:SetLooping ("NONE") + + --> widgets: + + ---------------------------------------------- + + local BaseTexture = DetailsNewDamageRecord:CreateTexture ("BaseTextureTexture", "ARTWORK") + BaseTexture:SetTexture ([[Interface\ACHIEVEMENTFRAME\UI-Achievement-Alert-Background-Mini]]) + BaseTexture:SetDrawLayer ("ARTWORK", -5) + BaseTexture:SetPoint ("center", DetailsNewDamageRecord, "center", 0, 0) + BaseTexture:SetSize (256, 64) + BaseTexture:SetVertexColor (0.99999779462814, 0.99999779462814, 0.99999779462814, 0.99999779462814) + + --> animations for BaseTexture + + BaseTexture.alpha = MainAnimationGroup:CreateAnimation ("ALPHA") + BaseTexture.alpha:SetTarget (BaseTexture) + BaseTexture.alpha:SetOrder (1) + BaseTexture.alpha:SetDuration (0.14869952201843) + BaseTexture.alpha:SetStartDelay (0) + BaseTexture.alpha:SetEndDelay (0) + BaseTexture.alpha:SetFromAlpha (0) + BaseTexture.alpha:SetToAlpha (1) + BaseTexture.alpha = MainAnimationGroup:CreateAnimation ("ALPHA") + BaseTexture.alpha:SetTarget (BaseTexture) + BaseTexture.alpha:SetOrder (2) + BaseTexture.alpha:SetDuration (1) + BaseTexture.alpha:SetStartDelay (5) + BaseTexture.alpha:SetEndDelay (0) + BaseTexture.alpha:SetFromAlpha (1) + BaseTexture.alpha:SetToAlpha (0) + + ---------------------------------------------- + + local BigFlash = DetailsNewDamageRecord:CreateTexture ("BigFlashTexture", "OVERLAY") + BigFlash:SetTexture ([[Interface\ACHIEVEMENTFRAME\UI-Achievement-Alert-Glow]]) + BigFlash:SetDrawLayer ("OVERLAY", 0) + BigFlash:SetPoint ("center", DetailsNewDamageRecord, "center", -2, 2) + BigFlash:SetSize (314, 100) + BigFlash:SetDesaturated (false) + BigFlash:SetTexCoord (0.0010000000149012, 0.77400001525879, 0.0010000000149012, 0.65800003051758) + if (0 ~= 0) then + BigFlash:SetRotation (0) + end + BigFlash:SetVertexColor (0.96470373868942, 0.98823314905167, 0.99999779462814, 0.99999779462814) + BigFlash:SetAlpha (1) + BigFlash:SetBlendMode ("ADD") + + --> animations for BigFlash + + BigFlash.alpha = MainAnimationGroup:CreateAnimation ("ALPHA") + BigFlash.alpha:SetTarget (BigFlash) + BigFlash.alpha:SetOrder (1) + BigFlash.alpha:SetDuration (0.11600000411272) + BigFlash.alpha:SetStartDelay (0) + BigFlash.alpha:SetEndDelay (0) + BigFlash.alpha:SetFromAlpha (0) + BigFlash.alpha:SetToAlpha (1) + BigFlash.alpha = MainAnimationGroup:CreateAnimation ("ALPHA") + BigFlash.alpha:SetTarget (BigFlash) + BigFlash.alpha:SetOrder (2) + BigFlash.alpha:SetDuration (0.31600001454353) + BigFlash.alpha:SetStartDelay (0) + BigFlash.alpha:SetEndDelay (0) + BigFlash.alpha:SetFromAlpha (1) + BigFlash.alpha:SetToAlpha (0) + + ---------------------------------------------- + + local FlashSwipe = DetailsNewDamageRecord:CreateTexture ("FlashSwipeTexture", "OVERLAY") + FlashSwipe:SetTexture ([[Interface\ACHIEVEMENTFRAME\UI-Achievement-Alert-Glow]]) + FlashSwipe:SetDrawLayer ("OVERLAY", 7) + FlashSwipe:SetPoint ("center", DetailsNewDamageRecord, "center", -99, 0) + FlashSwipe:SetSize (100, 57) + FlashSwipe:SetDesaturated (false) + FlashSwipe:SetTexCoord (0.78199996948242, 0.91900001525879, 0.0010000000149012, 0.2760000038147) + if (0 ~= 0) then + FlashSwipe:SetRotation (0) + end + FlashSwipe:SetVertexColor (0.86666476726532, 0.54117530584335, 0, 0.99999779462814) + FlashSwipe:SetAlpha (1) + FlashSwipe:SetBlendMode ("ADD") + + --> animations for FlashSwipe + + FlashSwipe.alpha = MainAnimationGroup:CreateAnimation ("ALPHA") + FlashSwipe.alpha:SetTarget (FlashSwipe) + FlashSwipe.alpha:SetOrder (1) + FlashSwipe.alpha:SetDuration (0.31600001454353) + FlashSwipe.alpha:SetStartDelay (0.20000000298023) + FlashSwipe.alpha:SetEndDelay (0) + FlashSwipe.alpha:SetFromAlpha (0) + FlashSwipe.alpha:SetToAlpha (0.501051902771) + FlashSwipe.translation = MainAnimationGroup:CreateAnimation ("TRANSLATION") + FlashSwipe.translation:SetTarget (FlashSwipe) + FlashSwipe.translation:SetOrder (1) + FlashSwipe.translation:SetDuration (0.81599998474121) + FlashSwipe.translation:SetStartDelay (0.20000000298023) + FlashSwipe.translation:SetEndDelay (0) + FlashSwipe.translation:SetOffset (200, 0) + FlashSwipe.alpha = MainAnimationGroup:CreateAnimation ("ALPHA") + FlashSwipe.alpha:SetTarget (FlashSwipe) + FlashSwipe.alpha:SetOrder (1) + FlashSwipe.alpha:SetDuration (0.31600001454353) + FlashSwipe.alpha:SetStartDelay (0.69999998807907) + FlashSwipe.alpha:SetEndDelay (0) + FlashSwipe.alpha:SetFromAlpha (0.501051902771) + FlashSwipe.alpha:SetToAlpha (0) + + ---------------------------------------------- + + local Portrait = DetailsNewDamageRecord:CreateTexture ("PortraitTexture", "OVERLAY") + Portrait:SetTexture ([[Interface\ARCHEOLOGY\ARCH-FLAREEFFECT]]) + Portrait:SetDrawLayer ("OVERLAY", -5) + Portrait:SetPoint ("center", DetailsNewDamageRecord, "center", 3, 0) + Portrait:SetSize (246, 44) + Portrait:SetDesaturated (false) + Portrait:SetTexCoord (0.051753740310669, 0.81701484680176, 0.086334381103516, 0.25102617263794) + if (0 ~= 0) then + Portrait:SetRotation (0) + end + Portrait:SetVertexColor (0.99999779462814, 0.99999779462814, 0.99999779462814, 0.99999779462814) + Portrait:SetAlpha (1) + Portrait:SetBlendMode ("BLEND") + + --> animations for Portrait + + Portrait.alpha = MainAnimationGroup:CreateAnimation ("ALPHA") + Portrait.alpha:SetTarget (Portrait) + Portrait.alpha:SetOrder (1) + Portrait.alpha:SetDuration (0.41600000858307) + Portrait.alpha:SetStartDelay (0) + Portrait.alpha:SetEndDelay (0) + Portrait.alpha:SetFromAlpha (0) + Portrait.alpha:SetToAlpha (1) + Portrait.scale = MainAnimationGroup:CreateAnimation ("SCALE") + Portrait.scale:SetTarget (Portrait) + Portrait.scale:SetOrder (1) + Portrait.scale:SetDuration (0.21600000560284) + Portrait.scale:SetStartDelay (0) + Portrait.scale:SetEndDelay (0) + Portrait.scale:SetFromScale (0, 0) + Portrait.scale:SetToScale (1, 1) + Portrait.scale:SetOrigin ("center", 0, 0) + Portrait.alpha = MainAnimationGroup:CreateAnimation ("ALPHA") + Portrait.alpha:SetTarget (Portrait) + Portrait.alpha:SetOrder (2) + Portrait.alpha:SetDuration (1) + Portrait.alpha:SetStartDelay (4.7000002861023) + Portrait.alpha:SetEndDelay (0) + Portrait.alpha:SetFromAlpha (1) + Portrait.alpha:SetToAlpha (0) + + ---------------------------------------------- + + local DamageIcon = DetailsNewDamageRecord:CreateTexture ("DamageIconTexture", "OVERLAY") + DamageIcon:SetTexture ([[Interface\LFGFRAME\UI-LFG-ICON-ROLES]]) + DamageIcon:SetDrawLayer ("OVERLAY", 2) + DamageIcon:SetPoint ("center", DetailsNewDamageRecord, "center", -97, 1) + DamageIcon:SetSize (32, 32) + DamageIcon:SetDesaturated (false) + DamageIcon:SetTexCoord (0.27200000762939, 0.51899997711182, 0.25837841033936, 0.51399997711182) + if (0 ~= 0) then + DamageIcon:SetRotation (0) + end + DamageIcon:SetVertexColor (0.99999779462814, 0.99999779462814, 0.99999779462814, 0.99999779462814) + DamageIcon:SetAlpha (1) + DamageIcon:SetBlendMode ("BLEND") + + --> animations for DamageIcon + + DamageIcon.alpha = MainAnimationGroup:CreateAnimation ("ALPHA") + DamageIcon.alpha:SetTarget (DamageIcon) + DamageIcon.alpha:SetOrder (1) + DamageIcon.alpha:SetDuration (0.51599997282028) + DamageIcon.alpha:SetStartDelay (0) + DamageIcon.alpha:SetEndDelay (0) + DamageIcon.alpha:SetFromAlpha (0) + DamageIcon.alpha:SetToAlpha (1) + DamageIcon.alpha = MainAnimationGroup:CreateAnimation ("ALPHA") + DamageIcon.alpha:SetTarget (DamageIcon) + DamageIcon.alpha:SetOrder (2) + DamageIcon.alpha:SetDuration (1) + DamageIcon.alpha:SetStartDelay (4.5999999046326) + DamageIcon.alpha:SetEndDelay (0) + DamageIcon.alpha:SetFromAlpha (1) + DamageIcon.alpha:SetToAlpha (0) + + ---------------------------------------------- + + local NewDamageRecord = DetailsNewDamageRecord:CreateFontString ("NewDamageRecordFontString", "OVERLAY") + NewDamageRecord:SetFont ([=[Fonts\FRIZQT__.TTF]=], 12, "OUTLINE") + NewDamageRecord:SetText ("Damage Record!") + NewDamageRecord:SetDrawLayer ("OVERLAY", 0) + NewDamageRecord:SetPoint ("center", DetailsNewDamageRecord, "center", 18, 7) + NewDamageRecord:SetSize (181, 20) + NewDamageRecord:SetTextColor (1, 1, 1) + NewDamageRecord:SetAlpha (1) + NewDamageRecord:SetJustifyH ("CENTER") + + --> animations for NewDamageRecord + + NewDamageRecord.alpha = MainAnimationGroup:CreateAnimation ("ALPHA") + NewDamageRecord.alpha:SetTarget (NewDamageRecord) + NewDamageRecord.alpha:SetOrder (1) + NewDamageRecord.alpha:SetDuration (0.016000000759959) + NewDamageRecord.alpha:SetStartDelay (0) + NewDamageRecord.alpha:SetEndDelay (0) + NewDamageRecord.alpha:SetFromAlpha (0) + NewDamageRecord.alpha:SetToAlpha (0) + NewDamageRecord.alpha = MainAnimationGroup:CreateAnimation ("ALPHA") + NewDamageRecord.alpha:SetTarget (NewDamageRecord) + NewDamageRecord.alpha:SetOrder (2) + NewDamageRecord.alpha:SetDuration (0.51599997282028) + NewDamageRecord.alpha:SetStartDelay (0.40000000596046) + NewDamageRecord.alpha:SetEndDelay (4.0999999046326) + NewDamageRecord.alpha:SetFromAlpha (0) + NewDamageRecord.alpha:SetToAlpha (1) + NewDamageRecord.alpha = MainAnimationGroup:CreateAnimation ("ALPHA") + NewDamageRecord.alpha:SetTarget (NewDamageRecord) + NewDamageRecord.alpha:SetOrder (3) + NewDamageRecord.alpha:SetDuration (1) + NewDamageRecord.alpha:SetStartDelay (0.10000000149012) + NewDamageRecord.alpha:SetEndDelay (0) + NewDamageRecord.alpha:SetFromAlpha (1) + NewDamageRecord.alpha:SetToAlpha (0) + + ---------------------------------------------- + + local DamageAmount = DetailsNewDamageRecord:CreateFontString ("DamageAmountFontString", "OVERLAY") + DamageAmount:SetFont ([=[Fonts\FRIZQT__.TTF]=], 12, "THICKOUTLINE") + DamageAmount:SetText (_detalhes:comma_value (damage)) + DamageAmount:SetDrawLayer ("OVERLAY", 0) + DamageAmount:SetPoint ("center", DetailsNewDamageRecord, "center", 18, -7) + DamageAmount:SetSize (100, 20) + DamageAmount:SetTextColor (1, 1, 1) + DamageAmount:SetAlpha (1) + DamageAmount:SetJustifyH ("CENTER") + + --> animations for DamageAmount + + DamageAmount.alpha = MainAnimationGroup:CreateAnimation ("ALPHA") + DamageAmount.alpha:SetTarget (DamageAmount) + DamageAmount.alpha:SetOrder (1) + DamageAmount.alpha:SetDuration (0.016000000759959) + DamageAmount.alpha:SetStartDelay (0) + DamageAmount.alpha:SetEndDelay (0) + DamageAmount.alpha:SetFromAlpha (0) + DamageAmount.alpha:SetToAlpha (0) + DamageAmount.alpha = MainAnimationGroup:CreateAnimation ("ALPHA") + DamageAmount.alpha:SetTarget (DamageAmount) + DamageAmount.alpha:SetOrder (2) + DamageAmount.alpha:SetDuration (0.51599997282028) + DamageAmount.alpha:SetStartDelay (0.40000000596046) + DamageAmount.alpha:SetEndDelay (0) + DamageAmount.alpha:SetFromAlpha (0) + DamageAmount.alpha:SetToAlpha (1) + DamageAmount.alpha = MainAnimationGroup:CreateAnimation ("ALPHA") + DamageAmount.alpha:SetTarget (DamageAmount) + DamageAmount.alpha:SetOrder (3) + DamageAmount.alpha:SetDuration (1.0160000324249) + DamageAmount.alpha:SetStartDelay (4.2000002861023) + DamageAmount.alpha:SetEndDelay (0) + DamageAmount.alpha:SetFromAlpha (1) + DamageAmount.alpha:SetToAlpha (0) + + --> test the animation + MainAnimationGroup:Play() + + +end diff --git a/gumps/janela_welcome.lua b/gumps/janela_welcome.lua index 2ee1465d..8c045e05 100644 --- a/gumps/janela_welcome.lua +++ b/gumps/janela_welcome.lua @@ -11,6 +11,9 @@ function _detalhes:OpenWelcomeWindow () if (not window) then + --on first run, sincronize with guild + _detalhes.storage:DBGuildSync() + local index = 1 local pages = {}