diff --git a/.pkgmeta b/.pkgmeta index 638ab28a..6447876f 100644 --- a/.pkgmeta +++ b/.pkgmeta @@ -1,16 +1,14 @@ move-folders: Details/plugins/Details_DmgRank: Details_DmgRank Details/plugins/Details_EncounterDetails: Details_EncounterDetails - Details/plugins/Details_DungeonInfo-Pandaria: Details_DungeonInfo-Pandaria Details/plugins/Details_SpellDetails: Details_SpellDetails Details/plugins/Details_TimeAttack: Details_TimeAttack Details/plugins/Details_TinyThreat: Details_TinyThreat Details/plugins/Details_Vanguard: Details_Vanguard - Details/plugins/Details_RaidInfo-HellfireCitadel: Details_RaidInfo-HellfireCitadel 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 Details/plugins/Details_DpsTuning: Details_DpsTuning Details/plugins/Details_Streamer: Details_Streamer - Details/plugins/Details_CalcLeech: Details_CalcLeech \ No newline at end of file + Details/plugins/Details_RaidInfo-EmeraldNightmare: Details_RaidInfo-EmeraldNightmare + Details/plugins/Details_RaidInfo-Nighthold: Details_RaidInfo-Nighthold \ No newline at end of file diff --git a/Libs/DF/fw.lua b/Libs/DF/fw.lua index 9f68c269..5d9eb5eb 100644 --- a/Libs/DF/fw.lua +++ b/Libs/DF/fw.lua @@ -1,5 +1,5 @@ -local dversion = 44 +local dversion = 45 local major, minor = "DetailsFramework-1.0", dversion local DF, oldminor = LibStub:NewLibrary (major, minor) diff --git a/Libs/LibGraph-2.0/LibGraph-2.0.lua b/Libs/LibGraph-2.0/LibGraph-2.0.lua index a4ee372f..5150a172 100644 --- a/Libs/LibGraph-2.0/LibGraph-2.0.lua +++ b/Libs/LibGraph-2.0/LibGraph-2.0.lua @@ -1,6 +1,6 @@ --[[ Name: LibGraph-2.0 -Revision: $Rev: 51 $ +Revision: $Rev: 54 $ Author(s): Cryect (cryect@gmail.com), Xinhuan Website: http://www.wowace.com/ Documentation: http://www.wowace.com/wiki/GraphLib @@ -11,7 +11,7 @@ Description: Allows for easy creation of graphs --Thanks to Nelson Minar for catching several errors where width was being used instead of height (damn copy and paste >_>) local major = "LibGraph-2.0" -local minor = 90000 + tonumber(("$Revision: 52 $"):match("(%d+)")) +local minor = 90000 + tonumber(("$Revision: 54 $"):match("(%d+)")) --Search for just Addon\\ at the front since the interface part often gets trimmed @@ -267,7 +267,7 @@ end function lib:CreateGraphLine(name, parent, relative, relativeTo, offsetX, offsetY, Width, Height) local graph local i - graph = CreateFrame("Frame",name, parent) + graph = CreateFrame("Frame", name, parent) graph:SetPoint(relative, parent, relativeTo, offsetX, offsetY) @@ -1287,7 +1287,7 @@ function GraphFunctions:SetYLabels(Left, Right) self.YLabelsRight = Right end -function GraphFunctions:SetLineTexture (texture) +function GraphFunctions:SetLineTexture(texture) if (type (texture) ~= "string") then return assert (false, "Parameter 1 for SetLineTexture must be a string") end @@ -1301,7 +1301,7 @@ function GraphFunctions:SetLineTexture (texture) end end -function GraphFunctions:SetBorderSize (border, size) +function GraphFunctions:SetBorderSize(border, size) border = string.lower (border) if (type (size) ~= "number") then @@ -1336,10 +1336,12 @@ function GraphFunctions:CreateGridlines() if self.YGridInterval then local LowerYGridLine, UpperYGridLine, TopSpace LowerYGridLine = self.YMin / self.YGridInterval - LowerYGridLine = math_max(math_floor(LowerYGridLine),math_ceil(LowerYGridLine)) + LowerYGridLine = math_max(math_floor(LowerYGridLine), math_ceil(LowerYGridLine)) UpperYGridLine = self.YMax / self.YGridInterval - UpperYGridLine = math_min(math_floor(UpperYGridLine),math_ceil(UpperYGridLine)) + UpperYGridLine = math_min(math_floor(UpperYGridLine), math_ceil(UpperYGridLine)) + --UpperYGridLine = math_min(UpperYGridLine, self.YGridMax or 16) TopSpace = Height * (1 - (UpperYGridLine * self.YGridInterval - self.YMin) / (self.YMax - self.YMin)) + for i = LowerYGridLine, UpperYGridLine do if i ~= 0 or not self.YAxisDrawn then local YPos, T @@ -1381,6 +1383,7 @@ function GraphFunctions:CreateGridlines() LowerXGridLine = math_max(math_floor(LowerXGridLine), math_ceil(LowerXGridLine)) UpperXGridLine = self.XMax / self.XGridInterval UpperXGridLine = math_min(math_floor(UpperXGridLine), math_ceil(UpperXGridLine)) + --UpperXGridLine = math_min(UpperXGridLine, self.XGridMax or 16) for i = LowerXGridLine, UpperXGridLine do if i ~= 0 or not self.XAxisDrawn then @@ -1650,6 +1653,15 @@ function GraphFunctions:OnUpdateGraphRealtime() if MaxY ~= 0 and math_abs(self.YMax - MaxY) > 0.01 then self.YMax = MaxY self.NeedsUpdate = true + + local Spacing + if self.YMax < 25 then + Spacing = -1 + else + Spacing = math.log(self.YMax / 100) / math.log(2) + end + + self.YGridInterval = 25 * math.pow(2, math.floor(Spacing)) end end self:SetBars() @@ -1695,33 +1707,33 @@ function GraphFunctions:RefreshLineGraph() if not self.LockOnXMin then if (self.CustomLeftBorder) then - self.XMin=MinX+self.CustomLeftBorder --> custom size of left border + self.XMin = MinX + self.CustomLeftBorder --> custom size of left border else - self.XMin=MinX-XBorder + self.XMin = MinX - XBorder end end if not self.LockOnXMax then if (self.CustomRightBorder) then - self.XMax=MaxX+self.CustomRightBorder --> custom size of right border + self.XMax = MaxX + self.CustomRightBorder --> custom size of right border else - self.XMax=MaxX+XBorder + self.XMax = MaxX + XBorder end end if not self.LockOnYMin then if (self.CustomBottomBorder) then - self.YMin=MinY+self.CustomBottomBorder --> custom size of bottom border + self.YMin = MinY + self.CustomBottomBorder --> custom size of bottom border else - self.YMin=MinY-YBorder + self.YMin = MinY - YBorder end end if not self.LockOnYMax then if (self.CustomTopBorder) then - self.YMax=MaxY+self.CustomTopBorder --> custom size of top border + self.YMax = MaxY + self.CustomTopBorder --> custom size of top border else - self.YMax=MaxY+YBorder + self.YMax = MaxY + YBorder end end @@ -2052,7 +2064,7 @@ function lib:DrawBar(C, sx, sy, ex, ey, color, level) if not Bar then Bar = C:CreateTexture(nil, "ARTWORK") - Bar:SetTexture(1, 1, 1, 1) + Bar:SetColorTexture(1, 1, 1, 1) Tri = C:CreateTexture(nil, "ARTWORK") Tri:SetTexture(TextureDirectory.."triangle") diff --git a/Libs/LibGroupInSpecT-1.1/LibGroupInSpecT-1.1.lua b/Libs/LibGroupInSpecT-1.1/LibGroupInSpecT-1.1.lua index 501fdd29..cea77848 100644 --- a/Libs/LibGroupInSpecT-1.1/LibGroupInSpecT-1.1.lua +++ b/Libs/LibGroupInSpecT-1.1/LibGroupInSpecT-1.1.lua @@ -62,7 +62,7 @@ -- Returns an array with the set of unit ids for the current group. --]] -local MAJOR, MINOR = "LibGroupInSpecT-1.1", tonumber (("$Revision: 83 $"):match ("(%d+)") or 0) +local MAJOR, MINOR = "LibGroupInSpecT-1.1", tonumber (("$Revision: 86 $"):match ("(%d+)") or 0) if not LibStub then error(MAJOR.." requires LibStub") end local lib = LibStub:NewLibrary (MAJOR, MINOR) @@ -178,6 +178,9 @@ local global_spec_id_roles_detailed = { [250] = "tank", -- Blood [251] = "melee", -- Frost [252] = "melee", -- Unholy + -- Demon Hunter + [577] = "melee", -- Havoc + [581] = "tank", -- Vengeance -- Druid [102] = "ranged", -- Balance [103] = "melee", -- Feral @@ -801,10 +804,8 @@ function lib:UNIT_AURA (unit) end -local dual_spec_spells = {} -for i, spellid in ipairs (TALENT_ACTIVATION_SPELLS) do dual_spec_spells[spellid] = true end function lib:UNIT_SPELLCAST_SUCCEEDED (unit, spellname, rank, lineid, spellid) - if dual_spec_spells[spellid] then + if spellid == 200749 then self:Query (unit) -- Definitely changed, so high prio refresh end end diff --git a/boot.lua b/boot.lua index 869e31f9..703d5752 100644 --- a/boot.lua +++ b/boot.lua @@ -3,8 +3,8 @@ _ = nil _detalhes = LibStub("AceAddon-3.0"):NewAddon("_detalhes", "AceTimer-3.0", "AceComm-3.0", "AceSerializer-3.0", "NickTag-1.0") - _detalhes.build_counter = 2920 --it's 2885 for release - _detalhes.userversion = "v7.0.3.2920" + _detalhes.build_counter = 2941 --it's 2941 for release + _detalhes.userversion = "v7.0.3.2941" _detalhes.realversion = 111 --core version _detalhes.version = _detalhes.userversion .. " (core " .. _detalhes.realversion .. ")" Details = _detalhes @@ -21,16 +21,21 @@ do local Loc = LibStub ("AceLocale-3.0"):GetLocale ( "Details" ) --[[ -|cFFFFFF00v5.17 (|cFFFFCC00August 19, 2016|r|cFFFFFF00)|r:\n\n -|cFFFFFF00-|r Fixed a bug on tiny threat where it won't used the font set after a /reload.\n\n -|cFFFFFF00-|r Bar spacing can now be set to -2 to 10 (from 0 to 10).\n\n -|cFFFFFF00-|r Attempt to fix GBoM and Stormlash on dungeon boss fights.\n\n - +|cFFFFFF00v7.0.3.2941 (|cFFFFCC00September 13th, 2016|r|cFFFFFF00)|r:\n\n +|cFFFFFF00-|r fix for total bar where sometimes it desappears.\n\n +|cFFFFFF00-|r fix for overall data reseting its elapsed time making dps and hps goes to millions.\n\n +|cFFFFFF00-|r fix for overall not reseting when entering in a new dungeon.\n\n +|cFFFFFF00-|r fix for trash cleanup on dungeons.\n\n +|cFFFFFF00-|r fix for item level detection on dungeons.\n\n +|cFFFFFF00-|r fix for artifact offhand always being counter as 750 item level.\n\n +|cFFFFFF00-|r fix for segments menu sometimes not opening at all after a dungeon boss.\n\n +|cFFFFFF00-|r fix for segments menu not showing the boss icon above the sub panel.\n\n +|cFFFFFF00-|r fix for the top left corner of the window be ignoring the 'hide icon' setting at a /reload.\n\n --]] -- - Loc ["STRING_VERSION_LOG"] = "|cFFFFFF00v7.0.3.2899 (|cFFFFCC00August 26, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Fixed a bug on tiny threat where it won't used the font set after a /reload.\n\n|cFFFFFF00-|r Bar spacing can now be set to -2 to 10 (from 0 to 10).\n\n|cFFFFFF00-|r Attempt to fix GBoM and Stormlash on dungeon boss fights.\n\n|cFFFFFF00v5.21 (|cFFFFCC00August 14, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Fix for Monk's Soothing Mist on Streamer Plugin.\n\n|cFFFFFF00v5.20 (|cFFFFCC00August 13, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Warlock's Grimoire of Synergy buff uptime fix.\n\n|cFFFFFF00-|r Fix for the options panel background when using Classic panels.\n\n|cFFFFFF00-|r Tooltips are now slightly bigger.\n\n|cFFFFFF00-|r Fix for bookmark background where sometimes it has a light silver color.\n\n|cFFFFFF00-|r Fix for channel cast on Streamer Plugin.\n\n|cFFFFFF00-|r Legion followers fix.\n\n|cFFFFFF00-|r Boss detection for Legion dungeons.\n\n|cFFFFFF00-|r Priest spec detection review (thanks Yakumile-Azralon).\n\n|cFFFFFF00v5.15 (|cFFFFCC00August 5, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r fix for an error which happen sometimes during encounter start.\n\n|cFFFFFF00v5.14 (|cFFFFCC00August 2, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Added outline option for bar's Left Text (experimental).\n\n|cFFFFFF00-|r 'Minimalistic' is once again the default skin for new windows, changed from the 'Safe Beta Skin'.\n\n|cFFFFFF00-|r Fixed some issues with spec detection and LibGroupInSpecT-1.1 has need enabled back again.\n\n|cFFFFFF00-|r Fixed an issue with micro displays not loading settings after a logon.\n\n|cFFFFFF00-|r Another wave of workarounds to prevent the client image cache bug.\n\n|cFFFFFF00-|r fixed the spam of 'segment not added to overall'.\n\n|cFFFFFF00-|r stormlash and blessing of might workarouds.\n\n|cFFFFFF00-|r warrior rampage fix.\n\n|cFFFFFF00-|r hunter throw axe fix.\n\n|cFFFFFF00v5.10c (|cFFFFCC00July 22, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Trying a workaround for the wow client's texture cache bug which causes FPS drops, please delete the file 'spec_icons_normal.TGA' from details/image folder.\n\n|cFFFFFF00v5.10b (|cFFFFCC00July 21, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Fixed warlock's Soul Effigy.\n\n|cFFFFFF00v5.10a (|cFFFFCC00July 20, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Fixed an issue with Calc Leech plugin.\n\n|cFFFFFF00v5.10 (|cFFFFCC00July 19, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Using .BLP format for images. If you have FPS drops caused by Details!, delete ALL .TGA files inside the folder Details/Images/\n\n|cFFFFFF00v5.8 (|cFFFFCC00July 11, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Big framework update. May have some bugs, please report to us if you find any.\n\n|cFFFFFF00v5.8 (|cFFFFCC00June 27, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Energy and Resources are working properly now.\n\n|cFFFFFF00-|r Added raid information for The Emerald Nightmare.\n\n|cFFFFFF00v5.7 (|cFFFFCC00June 16, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Most of the raid plugins got added on this version.\n\n|cFFFFFF00-|r Plugin 'Damage, The Game!' also got damage goals updated.\n\n|cFFFFFF00v5.5 (|cFFFFCC00June 03, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Default skin is now 'Safe Skin Legion Beta' which helps a little with the disabled texture issue.\n|cFFFFFF00-|r If you're using another skin, you may change at the options panel /details options > Skin Selection.\n|cFFFFFF00-|r You also can disable the class icons at Bars: General > Icon File." + Loc ["STRING_VERSION_LOG"] = "|cFFFFFF00v7.0.3.2941 (|cFFFFCC00September 13th, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r fix for total bar where sometimes it desappears.\n\n|cFFFFFF00-|r fix for overall data reseting its elapsed time making dps and hps goes to millions.\n\n|cFFFFFF00-|r fix for overall not reseting when entering in a new dungeon.\n\n|cFFFFFF00-|r fix for trash cleanup on dungeons.\n\n|cFFFFFF00-|r fix for item level detection on dungeons.\n\n|cFFFFFF00-|r fix for artifact offhand always being counter as 750 item level.\n\n|cFFFFFF00-|r fix for segments menu sometimes not opening at all after a dungeon boss.\n\n|cFFFFFF00-|r fix for segments menu not showing the boss icon above the sub panel.\n\n|cFFFFFF00-|r fix for the top left corner of the window be ignoring the 'hide icon' setting at a /reload.\n\n|cFFFFFF00v7.0.3.2927 (|cFFFFCC00September 3rd, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Attempt to fix an issue with total bar hidding the latest bar shown.\n\n|cFFFFFF00v7.0.3.2899 (|cFFFFCC00August 26, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Fixed a bug on tiny threat where it won't used the font set after a /reload.\n\n|cFFFFFF00-|r Bar spacing can now be set to -2 to 10 (from 0 to 10).\n\n|cFFFFFF00-|r Attempt to fix GBoM and Stormlash on dungeon boss fights.\n\n|cFFFFFF00v5.21 (|cFFFFCC00August 14, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Fix for Monk's Soothing Mist on Streamer Plugin.\n\n|cFFFFFF00v5.20 (|cFFFFCC00August 13, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Warlock's Grimoire of Synergy buff uptime fix.\n\n|cFFFFFF00-|r Fix for the options panel background when using Classic panels.\n\n|cFFFFFF00-|r Tooltips are now slightly bigger.\n\n|cFFFFFF00-|r Fix for bookmark background where sometimes it has a light silver color.\n\n|cFFFFFF00-|r Fix for channel cast on Streamer Plugin.\n\n|cFFFFFF00-|r Legion followers fix.\n\n|cFFFFFF00-|r Boss detection for Legion dungeons.\n\n|cFFFFFF00-|r Priest spec detection review (thanks Yakumile-Azralon).\n\n|cFFFFFF00v5.15 (|cFFFFCC00August 5, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r fix for an error which happen sometimes during encounter start.\n\n|cFFFFFF00v5.14 (|cFFFFCC00August 2, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Added outline option for bar's Left Text (experimental).\n\n|cFFFFFF00-|r 'Minimalistic' is once again the default skin for new windows, changed from the 'Safe Beta Skin'.\n\n|cFFFFFF00-|r Fixed some issues with spec detection and LibGroupInSpecT-1.1 has need enabled back again.\n\n|cFFFFFF00-|r Fixed an issue with micro displays not loading settings after a logon.\n\n|cFFFFFF00-|r Another wave of workarounds to prevent the client image cache bug.\n\n|cFFFFFF00-|r fixed the spam of 'segment not added to overall'.\n\n|cFFFFFF00-|r stormlash and blessing of might workarouds.\n\n|cFFFFFF00-|r warrior rampage fix.\n\n|cFFFFFF00-|r hunter throw axe fix.\n\n|cFFFFFF00v5.10c (|cFFFFCC00July 22, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Trying a workaround for the wow client's texture cache bug which causes FPS drops, please delete the file 'spec_icons_normal.TGA' from details/image folder.\n\n|cFFFFFF00v5.10b (|cFFFFCC00July 21, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Fixed warlock's Soul Effigy.\n\n|cFFFFFF00v5.10a (|cFFFFCC00July 20, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Fixed an issue with Calc Leech plugin.\n\n|cFFFFFF00v5.10 (|cFFFFCC00July 19, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Using .BLP format for images. If you have FPS drops caused by Details!, delete ALL .TGA files inside the folder Details/Images/\n\n|cFFFFFF00v5.8 (|cFFFFCC00July 11, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Big framework update. May have some bugs, please report to us if you find any.\n\n|cFFFFFF00v5.8 (|cFFFFCC00June 27, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Energy and Resources are working properly now.\n\n|cFFFFFF00-|r Added raid information for The Emerald Nightmare.\n\n|cFFFFFF00v5.7 (|cFFFFCC00June 16, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Most of the raid plugins got added on this version.\n\n|cFFFFFF00-|r Plugin 'Damage, The Game!' also got damage goals updated.\n\n|cFFFFFF00v5.5 (|cFFFFCC00June 03, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Default skin is now 'Safe Skin Legion Beta' which helps a little with the disabled texture issue.\n|cFFFFFF00-|r If you're using another skin, you may change at the options panel /details options > Skin Selection.\n|cFFFFFF00-|r You also can disable the class icons at Bars: General > Icon File." Loc ["STRING_DETAILS1"] = "|cffffaeaeDetails!:|r " diff --git a/classes/classe_combate.lua b/classes/classe_combate.lua index 8354ef4e..d6aa2338 100644 --- a/classes/classe_combate.lua +++ b/classes/classe_combate.lua @@ -82,6 +82,10 @@ return self.is_boss end + function combate:GetPhases() + return self.PhaseData + end + function combate:GetPvPInfo() return self.is_pvp end diff --git a/classes/classe_damage.lua b/classes/classe_damage.lua index 481f3363..97adcf9d 100644 --- a/classes/classe_damage.lua +++ b/classes/classe_damage.lua @@ -2062,7 +2062,7 @@ function atributo_damage:RefreshWindow (instancia, tabela_do_combate, forcar, ex end instancia:AtualizarScrollBar (amount) - + local qual_barra = 1 local barras_container = instancia.barras local percentage_type = instancia.row_info.percent_type @@ -2118,10 +2118,12 @@ function atributo_damage:RefreshWindow (instancia, tabela_do_combate, forcar, ex instancia.player_top_dps_threshold = instancia.player_top_dps - (instancia.player_top_dps * 0.65) end + local totalBarIsShown + if (instancia.bars_sort_direction == 1) then --top to bottom if (use_total_bar and instancia.barraS[1] == 1) then - + qual_barra = 2 local iter_last = instancia.barraS[2] if (iter_last == instancia.rows_fit_in_window) then @@ -2141,6 +2143,7 @@ function atributo_damage:RefreshWindow (instancia, tabela_do_combate, forcar, ex row1.icone_classe:SetTexCoord (0.0625, 0.9375, 0.0625, 0.9375) gump:Fade (row1, "out") + totalBarIsShown = true if (following and myPos and myPos > instancia.rows_fit_in_window and instancia.barraS[2] < myPos) then for i = instancia.barraS[1], iter_last-1, 1 do @@ -2205,6 +2208,7 @@ function atributo_damage:RefreshWindow (instancia, tabela_do_combate, forcar, ex row1.icone_classe:SetTexCoord (0.0625, 0.9375, 0.0625, 0.9375) gump:Fade (row1, "out") + totalBarIsShown = true if (following and myPos and myPos > instancia.rows_fit_in_window and instancia.barraS[2] < myPos) then for i = iter_last-1, instancia.barraS[1], -1 do @@ -2248,6 +2252,12 @@ function atributo_damage:RefreshWindow (instancia, tabela_do_combate, forcar, ex end + if (totalBarIsShown) then + instancia:AtualizarScrollBar (amount + 1) + else + instancia:AtualizarScrollBar (amount) + end + if (use_animations) then instancia:fazer_animacoes (qual_barra - 1) end @@ -3015,6 +3025,55 @@ function atributo_damage:ToolTip_DamageDone (instancia, numero, barra, keydown) end + --> ~Phases + local segment = instancia:GetShowingCombat() + if (segment and self.grupo) then + local bossInfo = segment:GetBossInfo() + local phasesInfo = segment:GetPhases() + if (bossInfo and phasesInfo) then + if (#phasesInfo > 1) then + + --_detalhes:AddTooltipSpellHeaderText ("Phases", headerColor, 1, [[Interface\Garrison\MobileAppIcons]], 2*130/1024, 3*130/1024, 5*130/1024, 6*130/1024) + --_detalhes:AddTooltipSpellHeaderText ("Phases", headerColor, 1, [[Interface\Garrison\orderhall-missions-mechanic10]], 0, 1, 0, 1) + _detalhes:AddTooltipSpellHeaderText ("Phases", headerColor, 1, [[Interface\Garrison\orderhall-missions-mechanic8]], 11/64, 53/64, 11/64, 53/64) + --GameCooltip:AddIcon ([[Interface\AddOns\Details\images\key_shift]], 1, 2, _detalhes.tooltip_key_size_width, _detalhes.tooltip_key_size_height, 0, 1, 0, 0.640625, _detalhes.tooltip_key_overlay1) + _detalhes:AddTooltipHeaderStatusbar (r, g, b, barAlha) + + local playerPhases = {} + local totalDamage = 0 + + for phase, playersTable in pairs (phasesInfo.damage) do --each phase + + local allPlayers = {} --all players for this phase + for playerName, amount in pairs (playersTable) do + tinsert (allPlayers, {playerName, amount}) + totalDamage = totalDamage + amount + end + table.sort (allPlayers, function(a, b) return a[2] > b[2] end) + + local myRank = 0 + for i = 1, #allPlayers do + if (allPlayers [i] [1] == self.nome) then + myRank = i + break + end + end + + tinsert (playerPhases, {phase, playersTable [self.nome] or 0, myRank, playersTable [self.nome]/totalDamage*100}) + end + + table.sort (playerPhases, function(a, b) return a[1] < b[1] end) + + for i = 1, #playerPhases do + --[1] Phase Number [2] Amount Done [3] Rank [4] Percent + GameCooltip:AddLine ("|cFFF0F0F0Phase|r " .. playerPhases [i][1], FormatTooltipNumber (_, playerPhases [i][2]) .. " (|cFFFFFF00#" .. playerPhases [i][3] .. "|r, " .. _cstr ("%.1f", playerPhases [i][4]) .. "%)") + GameCooltip:AddIcon ([[Interface\Garrison\orderhall-missions-mechanic9]], 1, 1, 14, 14, 11/64, 53/64, 11/64, 53/64) + _detalhes:AddTooltipBackgroundStatusbar() + end + end + end + end + return true end diff --git a/classes/classe_heal.lua b/classes/classe_heal.lua index 07e80cd7..552ea775 100644 --- a/classes/classe_heal.lua +++ b/classes/classe_heal.lua @@ -1002,7 +1002,7 @@ end local background_heal_vs_absorbs = {value = 100, color = {1, 1, 0, .25}, specialSpark = false, texture = [[Interface\AddOns\Details\images\bar4_glass]]} function atributo_heal:ToolTip_HealingDone (instancia, numero, barra, keydown) - + local owner = self.owner if (owner and owner.classe) then r, g, b = unpack (_detalhes.class_colors [owner.classe]) @@ -1013,7 +1013,7 @@ function atributo_heal:ToolTip_HealingDone (instancia, numero, barra, keydown) local ActorHealingTable = {} local ActorHealingTargets = {} local ActorSkillsContainer = self.spells._ActorTable - + local actor_key, skill_key = "total", "total" if (instancia.sub_atributo == 3) then actor_key, skill_key = "totalover", "overheal" @@ -1225,6 +1225,57 @@ function atributo_heal:ToolTip_HealingDone (instancia, numero, barra, keydown) end + + --> ~Phases + local segment = instancia:GetShowingCombat() + if (segment and self.grupo) then + local bossInfo = segment:GetBossInfo() + local phasesInfo = segment:GetPhases() + if (bossInfo and phasesInfo) then + if (#phasesInfo > 1) then + + --_detalhes:AddTooltipSpellHeaderText ("Phases", headerColor, 1, [[Interface\Garrison\MobileAppIcons]], 2*130/1024, 3*130/1024, 5*130/1024, 6*130/1024) + --_detalhes:AddTooltipSpellHeaderText ("Phases", headerColor, 1, [[Interface\Garrison\orderhall-missions-mechanic10]], 0, 1, 0, 1) + _detalhes:AddTooltipSpellHeaderText ("Phases", headerColor, 1, [[Interface\Garrison\orderhall-missions-mechanic8]], 11/64, 53/64, 11/64, 53/64) + --GameCooltip:AddIcon ([[Interface\AddOns\Details\images\key_shift]], 1, 2, _detalhes.tooltip_key_size_width, _detalhes.tooltip_key_size_height, 0, 1, 0, 0.640625, _detalhes.tooltip_key_overlay1) + _detalhes:AddTooltipHeaderStatusbar (r, g, b, barAlha) + + local playerPhases = {} + local totalDamage = 0 + + for phase, playersTable in pairs (phasesInfo.heal) do --each phase + + local allPlayers = {} --all players for this phase + for playerName, amount in pairs (playersTable) do + tinsert (allPlayers, {playerName, amount}) + totalDamage = totalDamage + amount + end + table.sort (allPlayers, function(a, b) return a[2] > b[2] end) + + local myRank = 0 + for i = 1, #allPlayers do + if (allPlayers [i] [1] == self.nome) then + myRank = i + break + end + end + + tinsert (playerPhases, {phase, playersTable [self.nome] or 0, myRank, playersTable [self.nome]/totalDamage*100}) + end + + table.sort (playerPhases, function(a, b) return a[1] < b[1] end) + + for i = 1, #playerPhases do + --[1] Phase Number [2] Amount Done [3] Rank [4] Percent + GameCooltip:AddLine ("|cFFF0F0F0Phase|r " .. playerPhases [i][1], FormatTooltipNumber (_, playerPhases [i][2]) .. " (|cFFFFFF00#" .. playerPhases [i][3] .. "|r, " .. _cstr ("%.1f", playerPhases [i][4]) .. "%)") + GameCooltip:AddIcon ([[Interface\Garrison\orderhall-missions-mechanic9]], 1, 1, 14, 14, 11/64, 53/64, 11/64, 53/64) + _detalhes:AddTooltipBackgroundStatusbar() + end + end + end + end + + --> absorbs vs heal --[=[ if (instancia.sub_atributo == 1 or instancia.sub_atributo == 2) then diff --git a/classes/container_historico.lua b/classes/container_historico.lua index d4854ad4..e0bb1f73 100644 --- a/classes/container_historico.lua +++ b/classes/container_historico.lua @@ -22,7 +22,12 @@ function historico:NovoHistorico() end function historico:adicionar_overall (tabela) + if (tabela:GetCombatTime() <= 10) then + return + end + if (_detalhes.overall_clear_newboss) then + --> only for raids if (tabela.instance_type == "raid" and tabela.is_boss) then if (_detalhes.last_encounter ~= _detalhes.last_encounter2) then for index, combat in ipairs (_detalhes.tabela_historico.tabelas) do @@ -53,18 +58,21 @@ function historico:adicionar_overall (tabela) end end - if (_detalhes.tabela_overall.start_time == 0) then - _detalhes.tabela_overall:SetStartTime (tabela.start_time) - _detalhes.tabela_overall:SetEndTime (tabela.end_time) - else - _detalhes.tabela_overall:SetStartTime (tabela.start_time - _detalhes.tabela_overall:GetCombatTime()) - _detalhes.tabela_overall:SetEndTime (tabela.end_time) - end - - if (_detalhes.tabela_overall.data_inicio == 0) then - _detalhes.tabela_overall.data_inicio = _detalhes.tabela_vigente.data_inicio or 0 - end - + -- + if (_detalhes.tabela_overall.start_time == 0) then + --print ("start_time == 0 NO!") + _detalhes.tabela_overall:SetStartTime (tabela.start_time) + _detalhes.tabela_overall:SetEndTime (tabela.end_time) + else + --print ("start_time ~= 0 OKAY", tabela.start_time, _detalhes.tabela_overall:GetCombatTime(), tabela.start_time - _detalhes.tabela_overall:GetCombatTime()) + _detalhes.tabela_overall:SetStartTime (tabela.start_time - _detalhes.tabela_overall:GetCombatTime()) + _detalhes.tabela_overall:SetEndTime (tabela.end_time) + end + + if (_detalhes.tabela_overall.data_inicio == 0) then + _detalhes.tabela_overall.data_inicio = _detalhes.tabela_vigente.data_inicio or 0 + end + -- _detalhes.tabela_overall:seta_data (_detalhes._detalhes_props.DATA_TYPE_END) _detalhes:ClockPluginTickOnSegment() diff --git a/core/control.lua b/core/control.lua index c00de2aa..c5416735 100644 --- a/core/control.lua +++ b/core/control.lua @@ -545,9 +545,12 @@ local in_instance = IsInInstance() --> garrison returns party as instance type. if ((InstanceType == "party" or InstanceType == "raid") and in_instance) then if (InstanceType == "party") then - if (_detalhes:GetBossNames (_detalhes.zone_id)) then - _detalhes.tabela_vigente.is_trash = true - end + --if (_detalhes:GetBossNames (_detalhes.zone_id)) then + -- _detalhes.tabela_vigente.is_trash = true + --end + + --> is new dungeon? + _detalhes.tabela_vigente.is_trash = true else _detalhes.tabela_vigente.is_trash = true end @@ -1412,6 +1415,7 @@ --> primeira atualização após uma mudança de segmento --> verifica se há mais barras sendo mostradas do que o necessário -------------------- if (instancia.v_barras) then + --print ("mostrando", instancia.rows_showing, instancia.rows_created) for barra_numero = instancia.rows_showing+1, instancia.rows_created do _detalhes.gump:Fade (instancia.barras[barra_numero], "in") end @@ -1544,8 +1548,9 @@ end function _detalhes:CheckForAutoErase (mapid) - if (_detalhes.last_instance_id ~= mapid) then + _detalhes.tabela_historico:resetar_overall() + if (_detalhes.segments_auto_erase == 2) then --ask _detalhes:ScheduleTimer ("AutoEraseConfirm", 1) diff --git a/core/gears.lua b/core/gears.lua index 29670b84..fe4b0155 100644 --- a/core/gears.lua +++ b/core/gears.lua @@ -1067,9 +1067,29 @@ local two_hand = { } local MAX_INSPECT_AMOUNT = 1 -local MIN_ILEVEL_TO_STORE = 580 +local MIN_ILEVEL_TO_STORE = 50 local LOOP_TIME = 7 +local artifact_offhands = { + ["133959"] = true, --mage fire + ["128293"] = true, --dk frost + ["127830"] = true, --dh havoc + ["128831"] = true, --dh vengeance + ["128859"] = true, --druid feral + ["128822"] = true, --druid guardian + ["133948"] = true, --monk ww + ["128866"] = true, --paladin prot + ["133958"] = true, --priest shadow + ["128869"] = true, --rogue assassination + ["134552"] = true, --rogue outlaw + ["128479"] = true, --rogue subtlety + ["128936"] = true, --shaman elemental + ["128873"] = true, --shaman en + ["128934"] = true, --shaman resto + ["137246"] = true, --warlock demo + ["128289"] = true, --warrior prot +} + function _detalhes:IlvlFromNetwork (player, realm, core, ilvl) local guid = UnitGUID (player .. "-" .. realm) if (not guid) then @@ -1101,6 +1121,7 @@ function ilvl_core:CalcItemLevel (unitid, guid, shout) local failed = 0 for equip_id = 1, 17 do + if (equip_id ~= 4) then --shirt slot local item = GetInventoryItemLink (unitid, equip_id) if (item) then @@ -1108,9 +1129,17 @@ function ilvl_core:CalcItemLevel (unitid, guid, shout) if (iLevel) then --local _, _, _, _, _, _, _, _, _, _, _, upgradeTypeID, _, numBonusIDs, bonusID1, bonusID2 = strsplit (":", item) - --> upgrades handle by LibItemUpgradeInfo-1.0 --> http://www.wowace.com/addons/libitemupgradeinfo-1-0/ + + if (equip_id == 17) then + local itemId = select (2, strsplit (":", item)) + if (artifact_offhands [itemId]) then + item_amount = 15 + break + end + end + if (ItemUpgradeInfo) then local ilvl = ItemUpgradeInfo:GetUpgradedItemLevel (item) item_level = item_level + (ilvl or iLevel) @@ -1147,7 +1176,8 @@ function ilvl_core:CalcItemLevel (unitid, guid, shout) end local average = item_level / item_amount - + --print (UnitName (unitid), "ILVL:", average, unitid, "items:", item_amount) + --> register if (average > 0) then if (shout) then @@ -1259,14 +1289,15 @@ function ilvl_core:GetItemLevel (unitid, guid, is_forced, try_number) end local NotifyInspectHook = function (unitid) - if (IsInRaid() and _detalhes:GetZoneType() == "raid") then + local unit = unitid:gsub ("%d+", "") + + if ((IsInRaid() or IsInGroup()) and (_detalhes:GetZoneType() == "raid" or _detalhes:GetZoneType() == "party")) then local guid = UnitGUID (unitid) local name = _detalhes:GetCLName (unitid) - if (guid and name and not inspecting [guid]) then for i = 1, GetNumGroupMembers() do - if (name == _detalhes:GetCLName ("raid" .. i)) then - unitid = "raid" .. i + if (name == _detalhes:GetCLName (unit .. i)) then + unitid = unit .. i break end end @@ -1358,13 +1389,13 @@ function ilvl_core:Loop() else return end - + local guid = UnitGUID (unitid) if (not guid) then ilvl_core.raid_id = ilvl_core.raid_id + 1 return end - + if (inspecting [guid]) then return end @@ -1387,7 +1418,7 @@ function ilvl_core:EnterCombat() end local can_start_loop = function() - if (_detalhes:GetZoneType() ~= "raid" or ilvl_core.loop_process or _detalhes.in_combat or not _detalhes.track_item_level) then + if ((_detalhes:GetZoneType() ~= "raid" and _detalhes:GetZoneType() ~= "party") or ilvl_core.loop_process or _detalhes.in_combat or not _detalhes.track_item_level) then return false end return true diff --git a/core/parser.lua b/core/parser.lua index 4891632a..553cf2df 100644 --- a/core/parser.lua +++ b/core/parser.lua @@ -122,6 +122,7 @@ [1] = true, --0x1 star } + --> spellIds override local override_spellId = { [184707] = 218617, --warrior rampage [184709] = 218617, --warrior rampage diff --git a/functions/slash.lua b/functions/slash.lua index 3f9f304e..be3fe4d2 100644 --- a/functions/slash.lua +++ b/functions/slash.lua @@ -1045,6 +1045,90 @@ function SlashCmdList.DETAILS (msg, editbox) print ("total loot", total) _detalhes_global.ALOOT = r + elseif (msg == "ilvl2") then + + local item_amount = 16 + local item_level = 0 + local failed = 0 + local unitid = "player" + local two_hand = { + ["INVTYPE_2HWEAPON"] = true, + ["INVTYPE_RANGED"] = true, + ["INVTYPE_RANGEDRIGHT"] = true, + } + + for equip_id = 1, 17 do + + if (equip_id ~= 4) then --shirt slot + local item = GetInventoryItemLink (unitid, equip_id) + if (item) then + local iName, _, itemRarity, iLevel, _, _, _, _, equipSlot = GetItemInfo (item) + if (iLevel) then + + --local _, _, _, _, _, _, _, _, _, _, _, upgradeTypeID, _, numBonusIDs, bonusID1, bonusID2 = strsplit (":", item) + --> upgrades handle by LibItemUpgradeInfo-1.0 + --> http://www.wowace.com/addons/libitemupgradeinfo-1-0/ + + local artifact_offhands = { + ["133959"] = true, --mage fire + ["128293"] = true, --dk frost + ["127830"] = true, --dh havoc + ["128831"] = true, --dh vengeance + ["128859"] = true, --druid feral + ["128822"] = true, --druid guardian + ["133948"] = true, --monk ww + ["128866"] = true, --paladin prot + ["133958"] = true, --priest shadow + ["128869"] = true, --rogue assassination + ["134552"] = true, --rogue outlaw + ["128479"] = true, --rogue subtlety + ["128936"] = true, --shaman elemental + ["128873"] = true, --shaman en + ["128934"] = true, --shaman resto + ["137246"] = true, --warlock demo + ["128289"] = true, --warrior prot + } + + + if (equip_id == 17) then + local itemId = select (2, strsplit (":", item)) + if (artifact_offhands [itemId]) then + item_amount = 15 + break + end + end + + local ItemUpgradeInfo = LibStub ("LibItemUpgradeInfo-1.0") + if (ItemUpgradeInfo) then + local ilvl = ItemUpgradeInfo:GetUpgradedItemLevel (item) + item_level = item_level + (ilvl or iLevel) + --print (iName, ilvl, iLevel) + else + item_level = item_level + iLevel + --print (iName, iLevel) + end + + --> 16 = main hand 17 = off hand + --> if using a two-hand, ignore the off hand slot + if (equip_id == 16 and two_hand [equipSlot]) then + item_amount = 15 + break + end + end + else + failed = failed + 1 + if (failed > 2) then + break + end + end + end + end + + local average = item_level / item_amount + + print (item_level, item_amount, "ilvl:", average) + + elseif (msg == "ilvl") then -- diff --git a/gumps/janela_info.lua b/gumps/janela_info.lua index bd4ca4bb..f1164536 100644 --- a/gumps/janela_info.lua +++ b/gumps/janela_info.lua @@ -2627,6 +2627,11 @@ function gump:CriaJanelaInfo() spells_sorted [#spells_sorted+1] = {spelltable, spelltable.total} end table.sort (spells_sorted, _detalhes.Sort2) + + --precisa pegar os pets do jogador aqui + --for petGUID, _ in pairs ({}) do + -- + --end self.player = player:Name() diff --git a/gumps/janela_principal.lua b/gumps/janela_principal.lua index c0e404a4..3245f3c0 100644 --- a/gumps/janela_principal.lua +++ b/gumps/janela_principal.lua @@ -5946,16 +5946,19 @@ local build_segment_list = function (self, elapsed) else local encounter_name = thisCombat.is_boss.encounter local instanceID = thisCombat.is_boss.ej_instance_id - if (encounter_name and instanceID) then + if (encounter_name and instanceID and instanceID ~= 0) then local index, name, description, encounterID, rootSectionID, link = _detalhes:GetEncounterInfoFromEncounterName (instanceID, encounter_name) if (index and name and encounterID) then - local id, name, description, displayInfo, iconImage = EJ_GetCreatureInfo (index, encounterID) + --EJ_SelectInstance (instanceID) + --creature info pode ser sempre 1, não usar o index do boss + local id, name, description, displayInfo, iconImage = EJ_GetCreatureInfo (1, encounterID) if (iconImage) then CoolTip:AddIcon (iconImage, 2, "top", 128, 64) end end end end + CoolTip:AddIcon ([[Interface\AddOns\Details\images\icons]], "main", "left", 16, 16, 0.96875, 1, 0, 0.03125) if (_detalhes.tooltip.submenu_wallpaper) then @@ -7250,7 +7253,14 @@ function _detalhes:ToolbarSide (side, only_update_anchors) self.baseframe.cabecalho.ball_point:SetPoint ("bottomleft", self.baseframe, "topleft", x, y) --> ball - self.baseframe.cabecalho.ball:SetTexCoord (unpack (COORDS_LEFT_BALL)) + if (self.hide_icon) then + self.baseframe.cabecalho.ball:SetTexCoord (unpack (COORDS_LEFT_BALL_NO_ICON)) + self.baseframe.cabecalho.emenda:SetTexCoord (unpack (COORDS_LEFT_CONNECTOR_NO_ICON)) + else + self.baseframe.cabecalho.ball:SetTexCoord (unpack (COORDS_LEFT_BALL)) + self.baseframe.cabecalho.emenda:SetTexCoord (unpack (COORDS_LEFT_CONNECTOR)) + end + self.baseframe.cabecalho.ball:ClearAllPoints() local x, y = unpack (skin.left_corner_anchor) @@ -7266,7 +7276,6 @@ function _detalhes:ToolbarSide (side, only_update_anchors) self.baseframe.cabecalho.ball_r:SetPoint ("bottomright", self.baseframe, "topright", x, y) --> tex coords - self.baseframe.cabecalho.emenda:SetTexCoord (unpack (COORDS_LEFT_CONNECTOR)) self.baseframe.cabecalho.top_bg:SetTexCoord (unpack (COORDS_TOP_BACKGROUND)) --> up frames @@ -7475,7 +7484,7 @@ function _detalhes:HideMainIcon (value) if (type (value) ~= "boolean") then value = self.hide_icon end - + if (value) then self.hide_icon = true diff --git a/plugins/Details_CalcLeech/Details_CalcLeech.lua b/plugins/Details_CalcLeech/Details_CalcLeech.lua deleted file mode 100644 index 31571710..00000000 --- a/plugins/Details_CalcLeech/Details_CalcLeech.lua +++ /dev/null @@ -1,196 +0,0 @@ - -do - - local Details = Details - if (not Details) then - print ("Calc Leech cannot be installed: Details! not found.") - return - end - - local _ - - --> minimal details version required to run this plugin - local MINIMAL_DETAILS_VERSION_REQUIRED = 81 - local CLEECH_VERSION = "v1.2" - - --> create a plugin object - local calcLeech = Details:NewPluginObject ("Details_CalcLeech", DETAILSPLUGIN_ALWAYSENABLED) - --> just localizing here the plugin's main frame - local frame = calcLeech.Frame - --> set the description - calcLeech:SetPluginDescription ("Calculates the healing done by the trinket leech.") - --> get the framework object - local framework = calcLeech:GetFramework() - - local CUSTOM_DISPLAY_VERSION = 3 - local CUSTOM_DISPLAY_NAME = "CalcLeech" - - local create_custom_object = function() - local new_object = { - name = CUSTOM_DISPLAY_NAME, - icon = [[Interface\ICONS\spell_shadow_lifedrain02]], - attribute = false, - spellid = false, - author = "Details!", - desc = "Calculates healing done from leech trinket.", - source = false, - target = false, - script_version = CUSTOM_DISPLAY_VERSION, - script = [[ - --get the parameters passed - local Combat, CustomContainer, Instance = ... - --declade the values to return - local total, top, amount = 0, 0, 0 - - if (Combat.PlayerLeechTrinket) then - for playerName, amount in pairs (Combat.PlayerLeechTrinket) do - local healActor = Combat:GetActor (2, playerName) - if (healActor) then - CustomContainer:AddValue (healActor, amount) - end - end - end - - --if not managed inside the loop, get the values of total, top and amount - total, top = CustomContainer:GetTotalAndHighestValue() - amount = CustomContainer:GetNumActors() - - --return the values - return total, top, amount - ]], - tooltip = [[ - - ]], - } - - calcLeech:InstallCustomObject (new_object) - end - - local rosterLeechAmount = {} - - local f = CreateFrame ("frame") - f:SetScript ("OnEvent", function (self, event, time, token, hidding, who_serial, who_name, who_flags, who_flags2, target_serial, target_name, target_flags, target_flags2, spellid, spellname, spelltype, amount, overhealing, absorbed, critical, multistrike, is_shield) - if (token == "SPELL_HEAL" and spellid == 143924) then --http://www.wowhead.com/spell=143924/leech - - --> The next few lines of code is based on an aura for WeakAuras 2, I couldn't find who is the original author since this same code is used on many different versions of the aura. - --> If you are the original author, please contact-me on curseforge so I can add the credits here. - local healed = amount - overhealing - if (healed > 0) then - wipe (rosterLeechAmount) - local total_leech = 0 - - for i = 1, 40 do - local name, _, _, _, _, _, _, source, _, _, id, _, _, _, _, _, leech = UnitAura (target_name, i) - if (type (leech) == "number") then - if (name and id == 184671 and source) then - rosterLeechAmount [UnitName (source)] = leech - total_leech = total_leech + leech - end - end - end - - if (total_leech > 0) then - for from, leech_amount in pairs (rosterLeechAmount) do - if (not calcLeech.combat.PlayerLeechTrinket [from]) then - calcLeech.combat.PlayerLeechTrinket [from] = 0 - end - calcLeech.combat.PlayerLeechTrinket [from] = calcLeech.combat.PlayerLeechTrinket [from] + (healed * (leech_amount / total_leech)) - end - end - end - ------------- - - --elseif (token == "SPELL_AURA_APPLIED") then - - --elseif (token == "SPELL_AURA_REMOVED") then - - --elseif (token == "SPELL_AURA_REFRESH") then - - end - end) - - --> when receiving an event from details, handle it here - local player_has_trinket = function (combat) - - calcLeech.combat = combat - - --> check if exists a custom display to show the trinket leech - local customObject = calcLeech:GetCustomObject (CUSTOM_DISPLAY_NAME) - if (customObject) then - if (customObject.script_version < CUSTOM_DISPLAY_VERSION) then - calcLeech:RemoveCustomObject (CUSTOM_DISPLAY_NAME) - create_custom_object() - end - else - create_custom_object() - end - - calcLeech.combat.PlayerLeechTrinket = {} - - f:RegisterEvent ("COMBAT_LOG_EVENT_UNFILTERED") - - end - - local handle_details_event = function (event, ...) - - if (event == "COMBAT_PLAYER_ENTER") then - if (true) then - player_has_trinket (...) - else - local role = UnitGroupRolesAssigned ("player") - if (role == "HEALER") then - local trinket1 = GetInventoryItemLink ("player", 13) - if (trinket1 and trinket1:find ("124234")) then - player_has_trinket (...) - end - local trinket2 = GetInventoryItemLink ("player", 14) - if (trinket2 and trinket2:find ("124234")) then - player_has_trinket (...) - end - end - end - - elseif (event == "COMBAT_PLAYER_LEAVE") then - --> details finished a segment - f:UnregisterEvent ("COMBAT_LOG_EVENT_UNFILTERED") - - elseif (event == "PLUGIN_DISABLED") then - --> plugin has been disabled at the details options panel - - elseif (event == "PLUGIN_ENABLED") then - --> plugin has been enabled at the details options panel - - end - - end - - function calcLeech:OnEvent (_, event, ...) - - if (event == "ADDON_LOADED") then - local AddonName = select (1, ...) - if (AddonName == "Details_CalcLeech") then - - --> every plugin must have a OnDetailsEvent function - function calcLeech:OnDetailsEvent (event, ...) - return handle_details_event (event, ...) - end - - --> Install: install -> if successful installed; saveddata -> a table saved inside details db, used to save small amount of data like configs - local install, saveddata = Details:InstallPlugin ("TOOLBAR", "Leech Trinket", "Interface\\Icons\\spell_shadow_lifedrain02", calcLeech, "DETAILS_PLUGIN_LEECH_TRINKET", MINIMAL_DETAILS_VERSION_REQUIRED, "Details! Team", CLEECH_VERSION) - if (type (install) == "table" and install.error) then - print (install.error) - end - - --> registering details events we need - Details:RegisterEvent (calcLeech, "COMBAT_PLAYER_ENTER") --when details creates a new segment, not necessary the player entering in combat. - Details:RegisterEvent (calcLeech, "COMBAT_PLAYER_LEAVE") --when details finishs a segment, not necessary the player leaving the combat. - end - end - - end - -end - - - - diff --git a/plugins/Details_CalcLeech/Details_CalcLeech.toc b/plugins/Details_CalcLeech/Details_CalcLeech.toc deleted file mode 100644 index 33ce3756..00000000 --- a/plugins/Details_CalcLeech/Details_CalcLeech.toc +++ /dev/null @@ -1,6 +0,0 @@ -## Interface: 70000 -## Title: Details Calc Leech -## Notes: Plugin for Details -## RequiredDeps: Details - -Details_CalcLeech.lua \ No newline at end of file diff --git a/plugins/Details_DungeonInfo-Warlords/Details_DungeonInfo-Warlords.lua b/plugins/Details_DungeonInfo-Warlords/Details_DungeonInfo-Warlords.lua deleted file mode 100644 index 58232375..00000000 --- a/plugins/Details_DungeonInfo-Warlords/Details_DungeonInfo-Warlords.lua +++ /dev/null @@ -1,394 +0,0 @@ ---Auchindoun ---Bloodmaul Slag Mines ---The Everbloom ---GrimrailDepot ---IronDocks ---ShadowmoonBurialGrounds ---Skyreach ---UpperBlackrockSpire - -local Auchindoun = { - id = 1182, --mapid - ej_id = 547, --encounter journal id - - name = "Auchindoun", - - boss_names = { - "Vigilant Kaathar", - "Soulbinder Nyami", - "Azzakel", - "Teron'gor", - }, - - boss_ids = { - [86217] = 1, --Vigilant Kaathar - [75839] = 1, --Vigilant Kaathar - [86218] = 2, --Soulbinder Nyami - [76177] = 2, --Soulbinder Nyami - [86219] = 3, --Azzakel - [75927] = 3, --Azzakel - [86220] = 4, --Teron'gor - [77734] = 4, --Teron'gor - }, - - encounters = { - [1] = { - boss = "Vigilant Kaathar", - portrait = [[Interface\EncounterJournal\UI-EJ-BOSS-Auchindoun Defense Construct]], - }, - [2] = { - boss = "Soulbinder Nyami", - portrait = [[Interface\EncounterJournal\UI-EJ-BOSS-Soulbinder Nyami]], - }, - [3] = { - boss = "Azzakel", - portrait = [[Interface\EncounterJournal\UI-EJ-BOSS-Azzakel Vanguard Of The Legion]], - }, - [4] = { - boss = "Teron'gor", - portrait = [[Interface\EncounterJournal\UI-EJ-BOSS-Terongor]], - }, - }, -} - -_detalhes:InstallEncounter (Auchindoun) - - -local BloodmaulSlagMines = { - id = 1175, --mapid - ej_id = 385, --encounter journal id - - name = "Bloodmaul Slag Mines", - - boss_names = { - "Slave Watcher Crushto", - "Forgemaster Gog'duh", - "Roltall", - "Gug'rokk", - }, - - boss_ids = { - [86222] = 1, --Slave Watcher Crushto - [74787] = 1, --Slave Watcher Crushto - [74366] = 2, --Forgemaster Gog'duh - [86223] = 3, --Roltall - [75786] = 3, --Roltall - [86224] = 4, --Gug'rokk - [74790] = 4, --Gug'rokk - }, - - encounters = { - [1] = { - boss = "Slave Watcher Crushto", - portrait = [[Interface\EncounterJournal\UI-EJ-BOSS-Slave Watcher Crushto]], - }, - [2] = { - boss = "Forgemaster Gog'duh", - portrait = [[Interface\EncounterJournal\UI-EJ-BOSS-Magmolatus]], - }, - [3] = { - boss = "Roltall", - portrait = [[Interface\EncounterJournal\UI-EJ-BOSS-Roltall]], - }, - [4] = { - boss = "Gug'rokk", - portrait = [[Interface\EncounterJournal\UI-EJ-BOSS-Gugrokk]], - }, - }, - -} - -_detalhes:InstallEncounter (BloodmaulSlagMines) - -local TheEverbloom = { - id = 1279, --mapid - ej_id = 556, --encounter journal id - - name = "The Everbloom", - - boss_names = { - "Witherbark", - "Ancient Protectors", - "Xeri'tac", - "Archmage Sol", - "Yalnu", - }, - - boss_ids = { - [81522] = 1, --Witherbark - [86242] = 1, --Witherbark - [83894] = 2, --Ancient Protectors - [83893] = 2, --Ancient Protectors - [83892] = 2, --Ancient Protectors - [86244] = 2, --Ancient Protectors - [86247] = 3, --Xeri'tac - [86246] = 4, --Archmage Sol - [82682] = 4, --Archmage Sol - [86248] = 5, --Yalnu - [84336] = 5, --Yalnu - [83846] = 5, --Yalnu - }, - - encounters = { - [1] = { - boss = "Witherbark", - portrait = [[Interface\EncounterJournal\UI-EJ-BOSS-Witherbark]], - }, - [2] = { - boss = "Ancient Protectors", - portrait = [[Interface\EncounterJournal\UI-EJ-BOSS-Dulhu]], - }, - [3] = { - boss = "Xeri'tac", - portrait = [[Interface\EncounterJournal\UI-EJ-BOSS-Xeritac]], - }, - [4] = { - boss = "Archmage Sol", - portrait = [[Interface\EncounterJournal\UI-EJ-BOSS-Archmage Sol]], - }, - [5] = { - boss = "Yalnu", - portrait = [[Interface\EncounterJournal\UI-EJ-BOSS-Yalnu]], - }, - }, -} - -_detalhes:InstallEncounter (TheEverbloom) - -local GrimrailDepot = { - id = 1208, --mapid - ej_id = 536, --encounter journal id - - name = "Grimrail Depot", - - boss_names = { - "Rocketspark and Borka", - "Nitrogg Thundertower", - "Skylord Tovra", - }, - - boss_ids = { - [86225] = 1, --Rocketspark and Borka - [86226] = 1, --Rocketspark and Borka - [79548] = 1, --Rocketspark and Borka - [77816] = 1, --Rocketspark and Borka - [86227] = 2, --Nitrogg Thundertower - [79545] = 2, --Nitrogg Thundertower - [86228] = 3, --Skylord Tovra - [80005] = 3, --Skylord Tovra - }, - - encounters = { - [1] = { - boss = "Rocketspark and Borka", - portrait = [[Interface\EncounterJournal\UI-EJ-BOSS-Pauli Rocketspark]], - }, - [2] = { - boss = "Nitrogg Thundertower", - portrait = [[Interface\EncounterJournal\UI-EJ-BOSS-Blackrock Assault Commander]], - }, - [3] = { - boss = "Skylord Tovra", - portrait = [[Interface\EncounterJournal\UI-EJ-BOSS-Thunderlord General]], - }, - }, -} - -_detalhes:InstallEncounter (GrimrailDepot) - -local IronDocks = { - id = 1195, --mapid - ej_id = 558, --encounter journal id - - name = "Iron Docks", - - boss_names = { - "Fleshrender Nok'gar", - "Ahri'ok Dugru", - "Oshir", - "Skulloc", - }, - - boss_ids = { - [81297] = 1, --Dreadfang - [81305] = 1, --Fleshrender Nok'gar - [87451] = 1, --Fleshrender Nok'gar - [87452] = 2, --Ahri'ok Dugru - [86231] = 2, --Makogg Emberblade - [80808] = 2, --Neesa Nox - [86232] = 3, --Oshir - [79852] = 3, --Oshir - [86233] = 4, --Skulloc - [83612] = 4, --Skulloc - [83616] = 4, --Skulloc - }, - - encounters = { - [1] = { - boss = "Fleshrender Nok'gar", - portrait = [[Interface\EncounterJournal\UI-EJ-BOSS-Warsong Battlemaster]], - }, - [2] = { - boss = "Ahri'ok Dugru", - portrait = [[Interface\EncounterJournal\UI-EJ-BOSS-Blood Shaman]], - }, - [3] = { - boss = "Oshir", - portrait = [[Interface\EncounterJournal\UI-EJ-BOSS-Oshir]], - }, - [4] = { - boss = "Skulloc", - portrait = [[Interface\EncounterJournal\UI-EJ-BOSS-Skulloc]], - }, - }, -} - -_detalhes:InstallEncounter (IronDocks) - -local ShadowmoonBurialGrounds = { - id = 1176, --mapid - ej_id = 537, --encounter journal id - - name = "Shadowmoon Burial Grounds", - - boss_names = { - "Sadana Bloodfury", - "Bonemaw", - "Ner'zhul", - "Nhallish", - }, - - boss_ids = { - [86234] = 1, --Sadana Bloodfury - [75509] = 1, --Sadana Bloodfury - [86236] = 2, --Bonemaw - [75452] = 2, --Bonemaw - [76268] = 3, --Ner'zhul - [76407] = 3, --Ner'zhul - [75829] = 4, --Nhallish - }, - - encounters = { - [1] = { - boss = "Sadana Bloodfury", - portrait = [[Interface\EncounterJournal\UI-EJ-BOSS-Sadana Bloodfury]], - }, - [2] = { - boss = "Bonemaw", - portrait = [[Interface\EncounterJournal\UI-EJ-BOSS-Bonemaw]], - }, - [3] = { - boss = "Ner'zhul", - portrait = [[Interface\EncounterJournal\UI-EJ-BOSS-Nerzhul]], - }, - [4] = { - boss = "Nhallish", - portrait = [[Interface\EncounterJournal\UI-EJ-BOSS-Nhallish Feaster of Souls]], - }, - }, -} - -_detalhes:InstallEncounter (ShadowmoonBurialGrounds) - -local Skyreach = { - id = 1209, --mapid - ej_id = 476, --encounter journal id - - name = "Skyreach", - - boss_names = { - "Ranjit", - "Araknath", - "Rukhran", - "High Sage Viryx", - }, - - boss_ids = { - [86238] = 1, --Ranjit - [75964] = 1, --Ranjit - [86239] = 2, --Araknath - [76141] = 2, --Araknath - [76379] = 3, --Rukhran - [76143] = 3, --Rukhran - [86241] = 4, --High Sage Viryx - [76266] = 4, --High Sage Viryx - }, - - encounters = { - [1] = { - boss = "Ranjit", - portrait = [[Interface\EncounterJournal\UI-EJ-BOSS-Ranjit]], - }, - [2] = { - boss = "Araknath", - portrait = [[Interface\EncounterJournal\UI-EJ-BOSS-Araknath]], - }, - [3] = { - boss = "Rukhran", - portrait = [[Interface\EncounterJournal\UI-EJ-BOSS-Rukhran]], - }, - [4] = { - boss = "High Sage Viryx", - portrait = [[Interface\EncounterJournal\UI-EJ-BOSS-High Sage Viryx]], - }, - }, -} - -_detalhes:InstallEncounter (Skyreach) - -local UpperBlackrockSpire = { - id = 1358, --mapid - ej_id = 559, --encounter journal id - - name = "Upper Blackrock Spire", - - boss_names = { - "Orebender Gor'ashan", - "Kyrak", - "Commander Tharbek", - "Ragewing the Untamed", - "Warlord Zaela", - "The Lanticore", - }, - - boss_ids = { - [86249] = 1, --Orebender Gor'ashan - [76413] = 1, --Orebender Gor'ashan - [86250] = 2, --Kyrak - [76021] = 2, --Kyrak - [86251] = 3, --Commander Tharbek - [79912] = 3, --Commander Tharbek - [76585] = 4, --Ragewing the Untamed - [77120] = 5, --Warlord Zaela - [77081] = 6, --The Lanticore - }, - - encounters = { - [1] = { - boss = "Orebender Gor'ashan", - portrait = [[Interface\EncounterJournal\UI-EJ-BOSS-Orebender Gorashan]], - }, - [2] = { - boss = "Kyrak", - portrait = [[Interface\EncounterJournal\UI-EJ-BOSS-Kyrak]], - }, - [3] = { - boss = "Commander Tharbek", - portrait = [[Interface\EncounterJournal\UI-EJ-BOSS-Ironmarch Commander Tharbek]], - }, - [4] = { - boss = "Ragewing the Untamed", - portrait = [[Interface\EncounterJournal\UI-EJ-BOSS-Ragewing the Untamed]], - }, - [5] = { - boss = "Warlord Zaela", - portrait = [[Interface\EncounterJournal\UI-EJ-BOSS-Warlord Zaela]], - }, - [6] = { - boss = "The Lanticore", - portrait = [[Interface\EncounterJournal\UI-EJ-BOSS-Warlord Zaela]], - }, - }, -} - -_detalhes:InstallEncounter (UpperBlackrockSpire) \ No newline at end of file diff --git a/plugins/Details_DungeonInfo-Warlords/Details_DungeonInfo-Warlords.toc b/plugins/Details_DungeonInfo-Warlords/Details_DungeonInfo-Warlords.toc deleted file mode 100644 index 76e83409..00000000 --- a/plugins/Details_DungeonInfo-Warlords/Details_DungeonInfo-Warlords.toc +++ /dev/null @@ -1,6 +0,0 @@ -## Interface: 70000 -## Title: Details: Warlords of Draenor Dungeons -## Notes: Plugin for Details -## RequiredDeps: Details - -Details_DungeonInfo-Warlords.lua \ No newline at end of file diff --git a/plugins/Details_RaidInfo-HellfireCitadel/Details_RaidInfo-HellfireCitadel.lua b/plugins/Details_RaidInfo-HellfireCitadel/Details_RaidInfo-HellfireCitadel.lua deleted file mode 100644 index df58bc46..00000000 --- a/plugins/Details_RaidInfo-HellfireCitadel/Details_RaidInfo-HellfireCitadel.lua +++ /dev/null @@ -1,399 +0,0 @@ - -do - - function Details:InstallHellfireCitadelEncounter() - - --load encounter journal - if (not EJ_GetEncounterInfoByIndex (1, 669)) then - EJ_SelectInstance (669) - end - EJ_SelectInstance (669) - - local InstanceName = EJ_GetInstanceInfo (669) - - local boss_1_name = EJ_GetEncounterInfoByIndex (1, 669) - local boss_2_name = EJ_GetEncounterInfoByIndex (2, 669) - local boss_3_name = EJ_GetEncounterInfoByIndex (3, 669) - local boss_4_name = EJ_GetEncounterInfoByIndex (4, 669) - local boss_5_name = EJ_GetEncounterInfoByIndex (5, 669) - local boss_6_name = EJ_GetEncounterInfoByIndex (6, 669) - local boss_7_name = EJ_GetEncounterInfoByIndex (7, 669) - local boss_8_name = EJ_GetEncounterInfoByIndex (8, 669) - local boss_9_name = EJ_GetEncounterInfoByIndex (9, 669) - local boss_10_name = EJ_GetEncounterInfoByIndex (10, 669) - local boss_11_name = EJ_GetEncounterInfoByIndex (11, 669) - local boss_12_name = EJ_GetEncounterInfoByIndex (12, 669) - local boss_13_name = EJ_GetEncounterInfoByIndex (13, 669) - - _detalhes:InstallEncounter ({ - - id = 1448, --map id - ej_id = 669, --encounter journal id - name = InstanceName, - icons = [[Interface\AddOns\Details_RaidInfo-HellfireCitadel\boss_faces]], - icon = [[Interface\AddOns\Details_RaidInfo-HellfireCitadel\icon256x128]], - is_raid = true, - backgroundFile = {file = [[Interface\Glues\LOADINGSCREENS\LoadScreen_HellfireRaid]], coords = {0, 1, 296/1024, 880/1024}}, - backgroundEJ = [[Interface\EncounterJournal\UI-EJ-LOREBG-HellfireRaid]], - -- - boss_names = { - boss_1_name, --"Hellfire Assault" - boss_2_name, --"Iron Reaver" - boss_3_name, --"Kormrok" - boss_4_name, --"Hellfire High Council" - boss_5_name, --"Kilrogg Deadeye" - boss_6_name, --"Gorefiend" - boss_7_name, --"Shadow-Lord Iskar" - boss_8_name, --"Socrethar the Eternal" - boss_9_name, --"Fel Lord Zakuun" - boss_10_name, --"Xhul'horac" - boss_11_name, --"Tyrant Velhari" - boss_12_name, --"Mannoroth" - boss_13_name, --"Archimonde" - }, - - encounter_ids = { --encounter journal encounter id - 1426,1425,1392,1432,1396,1372,1433,1427,1391,1447,1394,1395,1438, - [1426] = 1, - [1425] = 2, - [1392] = 3, - [1432] = 4, - [1396] = 5, - [1372] = 6, - [1433] = 7, - [1427] = 8, - [1391] = 9, - [1447] = 10, - [1394] = 11, - [1395] = 12, - [1438] = 13, - }, - - encounter_ids2 = { --combatlog encounter id - [1778] = 1, --"Hellfire Assault" - [1785] = 2, --"Iron Reaver" - [1787] = 3, --"Kormrok" - [1798] = 4, --"Hellfire High Council" - [1786] = 5, --"Kilrogg Deadeye" - [1783] = 6, --"Gorefiend" - [1788] = 7, --"Shadow-Lord Iskar" - [1794] = 8, --"Socrethar the Eternal" - [1777] = 9, --"Fel Lord Zakuun" - [1800] = 10, --"Xhul'horac" - [1784] = 11, --"Tyrant Velhari" - [1795] = 12, --"Mannoroth" - [1799] = 13, --"Archimonde" - }, - - boss_ids = { --npc ids - - }, - encounters = { - [1] = { - boss = boss_1_name, --"Hellfire Assault" - portrait = [[Interface\ENCOUNTERJOURNAL\ui-ej-boss-hellfireassault]], - }, - [2] = { - boss = boss_2_name, --"Iron Reaver", - portrait = [[Interface\ENCOUNTERJOURNAL\ui-ej-boss-felreaver]], - }, - [3] = { - boss = boss_3_name, --"Kormrok", - portrait = [[Interface\ENCOUNTERJOURNAL\ui-ej-boss-kormok]], - }, - [4] = { - boss = boss_4_name, --"Hellfire High Council", - portrait = [[Interface\ENCOUNTERJOURNAL\ui-ej-boss-gurtoggbloodboil]], - }, - [5] = { - boss = boss_5_name, --"Kilrogg Deadeye", - portrait = [[Interface\ENCOUNTERJOURNAL\ui-ej-boss-kilroggdeadeye]], - }, - [6] = { - boss = boss_6_name, --"Gorefiend", - portrait = [[Interface\ENCOUNTERJOURNAL\ui-ej-boss-gorefiend]], - }, - [7] = { - boss = boss_7_name, --"Shadow-Lord Iskar", - portrait = [[Interface\ENCOUNTERJOURNAL\ui-ej-boss-shadowlordiskar]], - }, - [8] = { - boss = boss_8_name, --"Socrethar the Eternal", - portrait = [[Interface\ENCOUNTERJOURNAL\ui-ej-boss-soulboundconstruct]], - }, - [9] = { - boss = boss_9_name, --"Fel Lord Zakuun", - portrait = [[Interface\ENCOUNTERJOURNAL\UI-EJ-BOSS-FelLordZakuun]], - }, - [10] = { - boss = boss_10_name, --"Xhul'horac", - portrait = [[Interface\ENCOUNTERJOURNAL\ui-ej-boss-xhulhorac]], - }, - [11] = { - boss = boss_11_name, --"Tyrant Velhari", - portrait = [[Interface\ENCOUNTERJOURNAL\ui-ej-boss-tyrantvelhari]], - }, - [12] = { - boss = boss_12_name, --"Mannoroth", - portrait = [[Interface\ENCOUNTERJOURNAL\ui-ej-boss-mannorothwod]], - }, - [13] = { - boss = boss_13_name, --"Archimonde", - portrait = [[Interface\ENCOUNTERJOURNAL\ui-ej-boss-archimondewod]], - }, - }, - }) - - Details.InstallHellfireCitadelEncounter = nil - - end - - Details:ScheduleTimer ("InstallHellfireCitadelEncounter", 2) - -end - ---> replacement for healing function: -local Details = Details -local _bit_band = bit.band -local OBJECT_TYPE_PETS = 0x00003000 -local REACTION_FRIENDLY = 0x00000010 -local OBJECT_TYPE_ENEMY = 0x00000040 -local UnitDebuff = UnitDebuff -local ptime = time - -local Aura_of_Contempt = GetSpellInfo (179987) -if (not Aura_of_Contempt) then - return Detais:Msg ("Fail to get Aura of Contempt spellname from spell 179987.") -end - -local function parser_heal (_, token, time, who_serial, who_name, who_flags, alvo_serial, alvo_name, alvo_flags, spellid, spellname, spelltype, amount, overhealing, absorbed, critical, multistrike, is_shield) - ------------------------------------------------------------------------------------------------ ---> early checks and fixes - - --> only capture heal if is in combat - if (not Details.in_combat) then - return - end - - --> check invalid serial against pets - if (who_serial == "") then - if (who_flags and _bit_band (who_flags, OBJECT_TYPE_PETS) ~= 0) then --> é um pet - return - end - end - - --> no name, use spellname - if (not who_name) then - who_name = "[*] "..spellname - end - - --> no target, just ignore - if (not alvo_name) then - return - end - - --> spirit link toten - if (spellid == 98021) then - return Details.parser:SLT_healing (token, time, who_serial, who_name, who_flags, alvo_serial, alvo_name, alvo_flags, spellid, spellname, spelltype, amount, overhealing, absorbed, critical, multistrike, is_shield) - end - - local cura_efetiva - local aura_of_contempt_overheal - overhealing = overhealing or 0 - amount = amount or 0 - absorbed = absorbed or 0 - - if (is_shield) then - cura_efetiva = amount - else - if (UnitDebuff (alvo_name, Aura_of_Contempt)) then - cura_efetiva = amount - aura_of_contempt_overheal = absorbed - cura_efetiva = cura_efetiva - overhealing - overhealing = overhealing + absorbed - else - cura_efetiva = absorbed - cura_efetiva = cura_efetiva + amount - overhealing - end - end - - Details.tabela_vigente[2].need_refresh = true - ------------------------------------------------------------------------------------------------- ---> get actors - - local este_jogador, meu_dono, who_name = Details.tabela_vigente[2]:PegarCombatente (who_serial, who_name, who_flags, true) - local jogador_alvo, alvo_dono, alvo_name = Details.tabela_vigente[2]:PegarCombatente (alvo_serial, alvo_name, alvo_flags, true) - - este_jogador.last_event = ptime() - ------------------------------------------------------------------------------------------------- ---> an enemy healing enemy or an player actor healing a enemy - - if (_bit_band (alvo_flags, REACTION_FRIENDLY) == 0 and not _detalhes.is_in_arena) then - if (not este_jogador.heal_enemy [spellid]) then - este_jogador.heal_enemy [spellid] = cura_efetiva - else - este_jogador.heal_enemy [spellid] = este_jogador.heal_enemy [spellid] + cura_efetiva - end - - este_jogador.heal_enemy_amt = este_jogador.heal_enemy_amt + cura_efetiva - - return - end - ------------------------------------------------------------------------------------------------- ---> group checks - - if (este_jogador.grupo) then - Details.tabela_vigente.totals_grupo [2] = Details.tabela_vigente.totals_grupo [2] + cura_efetiva - end - - if (jogador_alvo.grupo) then - - local t = Details.tabela_vigente.player_last_events [alvo_name] - - if (not t) then - t = Details.tabela_vigente:CreateLastEventsTable (alvo_name) - end - - local i = t.n - - local this_event = t [i] - - this_event [1] = false --> true if this is a damage || false for healing - this_event [2] = spellid --> spellid || false if this is a battle ress line - this_event [3] = amount --> amount of damage or healing - this_event [4] = time --> parser time - this_event [5] = UnitHealth (alvo_name) --> current unit heal - this_event [6] = who_name --> source name - this_event [7] = is_shield - this_event [8] = absorbed - - i = i + 1 - - if (i == Details.deadlog_events+1) then - t.n = 1 - else - t.n = i - end - - end - ------------------------------------------------------------------------------------------------- ---> timer - - if (not este_jogador.iniciar_hps) then - - este_jogador:Iniciar (true) --inicia o hps do jogador - - if (meu_dono and not meu_dono.iniciar_hps) then - meu_dono:Iniciar (true) - if (meu_dono.end_time) then - meu_dono.end_time = nil - else - meu_dono.start_time = ptime() - end - end - - if (este_jogador.end_time) then --> o combate terminou, reabrir o tempo - este_jogador.end_time = nil - else - este_jogador.start_time = ptime() - end - end - ------------------------------------------------------------------------------------------------- ---> add amount - - --> actor target - - if (cura_efetiva > 0) then - - --> combat total - Details.tabela_vigente.totals [2] = Details.tabela_vigente.totals [2] + cura_efetiva - - --> actor healing amount - este_jogador.total = este_jogador.total + cura_efetiva - este_jogador.total_without_pet = este_jogador.total_without_pet + cura_efetiva - - if (aura_of_contempt_overheal) then - este_jogador.aura_of_contempt_overheal = (este_jogador.aura_of_contempt_overheal or 0) + aura_of_contempt_overheal - end - - --> healing taken - jogador_alvo.healing_taken = jogador_alvo.healing_taken + cura_efetiva --> adiciona o dano tomado - if (not jogador_alvo.healing_from [who_name]) then --> adiciona a pool de dano tomado de quem - jogador_alvo.healing_from [who_name] = true - end - - if (is_shield) then - este_jogador.totalabsorb = este_jogador.totalabsorb + cura_efetiva - este_jogador.targets_absorbs [alvo_name] = (este_jogador.targets_absorbs [alvo_name] or 0) + cura_efetiva - end - - --> pet - if (meu_dono) then - meu_dono.total = meu_dono.total + cura_efetiva --> heal do pet - meu_dono.targets [alvo_name] = (meu_dono.targets [alvo_name] or 0) + amount - end - - --> target amount - este_jogador.targets [alvo_name] = (este_jogador.targets [alvo_name] or 0) + amount - end - - if (meu_dono) then - meu_dono.last_event = ptime() - end - - if (overhealing > 0) then - este_jogador.totalover = este_jogador.totalover + overhealing - este_jogador.targets_overheal [alvo_name] = (este_jogador.targets_overheal [alvo_name] or 0) + overhealing - - if (meu_dono) then - meu_dono.totalover = meu_dono.totalover + overhealing - end - end - - --> actor spells table - local spell = este_jogador.spells._ActorTable [spellid] - if (not spell) then - spell = este_jogador.spells:PegaHabilidade (spellid, true, token) - if (is_shield) then - spell.is_shield = true - end - if (Details.tabela_vigente.is_boss and who_flags and _bit_band (who_flags, OBJECT_TYPE_ENEMY) ~= 0) then - _detalhes.spell_school_cache [spellname] = spelltype or school - end - end - - if (is_shield) then - --return spell:Add (alvo_serial, alvo_name, alvo_flags, cura_efetiva, who_name, 0, nil, overhealing, true) - return _detalhes.habilidade_cura.Add (spell, alvo_serial, alvo_name, alvo_flags, cura_efetiva, who_name, 0, nil, overhealing, true, multistrike) - else - --return spell:Add (alvo_serial, alvo_name, alvo_flags, cura_efetiva, who_name, absorbed, critical, overhealing) - return _detalhes.habilidade_cura.Add (spell, alvo_serial, alvo_name, alvo_flags, cura_efetiva, who_name, absorbed, critical, overhealing, nil, multistrike) - end -end - -local listener = CreateFrame ("frame") -listener:RegisterEvent ("ENCOUNTER_START") -listener:RegisterEvent ("ENCOUNTER_END") - -listener:SetScript ("OnEvent", function (self, event, ...) - - local encounterID, encounterName, difficultyID, raidSize, endStatus = select (1, ...) - - -- if (encounterID == 1721) then --kargath for testing - if (encounterID == 1784) then--"Tyrant Velhari" - if (event == "ENCOUNTER_START") then - --> replacing the healing done func - --Details.parser:SetParserFunction ("heal", parser_heal) - else - --> restoring the func - --Details.parser:SetParserFunction ("heal", nil) - end - end - -end) diff --git a/plugins/Details_RaidInfo-HellfireCitadel/Details_RaidInfo-HellfireCitadel.toc b/plugins/Details_RaidInfo-HellfireCitadel/Details_RaidInfo-HellfireCitadel.toc deleted file mode 100644 index 4f0bd63b..00000000 --- a/plugins/Details_RaidInfo-HellfireCitadel/Details_RaidInfo-HellfireCitadel.toc +++ /dev/null @@ -1,6 +0,0 @@ -## Interface: 70000 -## Title: Details: Hellfire Citadel -## Notes: Plugin for Details -## RequiredDeps: Details - -Details_RaidInfo-HellfireCitadel.lua \ No newline at end of file diff --git a/plugins/Details_RaidInfo-HellfireCitadel/boss_faces.tga b/plugins/Details_RaidInfo-HellfireCitadel/boss_faces.tga deleted file mode 100644 index 5de49e72..00000000 Binary files a/plugins/Details_RaidInfo-HellfireCitadel/boss_faces.tga and /dev/null differ diff --git a/plugins/Details_RaidInfo-HellfireCitadel/icon256x128.tga b/plugins/Details_RaidInfo-HellfireCitadel/icon256x128.tga deleted file mode 100644 index 1c34b681..00000000 Binary files a/plugins/Details_RaidInfo-HellfireCitadel/icon256x128.tga and /dev/null differ diff --git a/startup.lua b/startup.lua index f86cafe4..5cba93cc 100644 --- a/startup.lua +++ b/startup.lua @@ -679,7 +679,7 @@ function _G._detalhes:Start() C_Timer.After (2, reset_player_detail_window) end - _detalhes.tooltip.tooltip_max_abilities = 8 + _detalhes.tooltip.tooltip_max_abilities = 5 end _detalhes.AddOnLoadFilesTime = GetTime()