diff --git a/boot.lua b/boot.lua index 5b32fd9d6..78768a26b 100644 --- a/boot.lua +++ b/boot.lua @@ -10,8 +10,8 @@ local addonName, Details222 = ... local version, build, date, tocversion = GetBuildInfo() - _detalhes.build_counter = 10722 - _detalhes.alpha_build_counter = 10722 --if this is higher than the regular counter, use it instead + _detalhes.build_counter = 10727 + _detalhes.alpha_build_counter = 10727 --if this is higher than the regular counter, use it instead _detalhes.dont_open_news = true _detalhes.game_version = version _detalhes.userversion = version .. " " .. _detalhes.build_counter diff --git a/classes/class_utility.lua b/classes/class_utility.lua index 64c748ff5..1efd528d3 100644 --- a/classes/class_utility.lua +++ b/classes/class_utility.lua @@ -598,7 +598,7 @@ end ---@param whichRowLine number ---@param rankPosition number ---@param instance table -function atributo_misc:UpdateDeathRow(morte, whichRowLine, rankPosition, instance) +function atributo_misc:UpdateDeathRow(morte, whichRowLine, rankPosition, instance) --todo: change this function name morte["dead"] = true local thisRow = instance.barras[whichRowLine] @@ -753,8 +753,23 @@ function atributo_misc:RefreshWindow(instance, combatObject, bIsForceRefresh, bI local whichRowLine = 1 - --if sort direction is descending, need to invert the values in the table which holds the deaths in the combat - if (instance.bars_sort_direction == 1) then + local bIsRaidCombat = combatObject:GetCombatType() == DETAILS_SEGMENTTYPE_RAID_BOSS + local bIsMythicDungeonOverall = combatObject:IsMythicDungeonOverall() + local bIsOverallData = instance:GetSegmentId() == DETAILS_SEGMENTID_OVERALL + + local bReverseDeathLog = false + if (bIsRaidCombat and Details.combat_log.inverse_deathlog_raid) then + bReverseDeathLog = true + + elseif (bIsMythicDungeonOverall and Details.combat_log.inverse_deathlog_mplus) then + bReverseDeathLog = true + + elseif (bIsOverallData and Details.combat_log.inverse_deathlog_overalldata) then + bReverseDeathLog = true + end + + if (bReverseDeathLog) then + --reverse the table local tempTable = {} for i = #allDeathsInTheCombat, 1, -1 do tempTable[#tempTable+1] = allDeathsInTheCombat[i] @@ -779,13 +794,11 @@ function atributo_misc:RefreshWindow(instance, combatObject, bIsForceRefresh, bI return _detalhes:EndRefresh(instance, total, combatObject, utilityActorContainer) else - if (instance.atributo == 5) then --custom - --faz o sort da categoria e retorna o amount corrigido - table.sort (conteudo, _detalhes.SortIfHaveKey) + table.sort(conteudo, Details.SortIfHaveKey) - --n�o mostrar resultados com zero - for i = amount, 1, -1 do --de tr�s pra frente + --strip results with zero + for i = amount, 1, -1 do if (not conteudo[i][keyName] or conteudo[i][keyName] < 1) then amount = amount - 1 else @@ -793,18 +806,15 @@ function atributo_misc:RefreshWindow(instance, combatObject, bIsForceRefresh, bI end end - --pega o total ja aplicado na tabela do combate - total = combatObject.totals [class_type] [keyName] - - --grava o total + --get the total done from the combat total data + total = combatObject.totals[class_type][keyName] instance.top = conteudo[1][keyName] elseif (modo == modo_ALL) then --mostrando ALL + table.sort(conteudo, Details.SortIfHaveKey) - table.sort (conteudo, _detalhes.SortIfHaveKey) - - --n�o mostrar resultados com zero - for i = amount, 1, -1 do --de tr�s pra frente + --strip results with zero + for i = amount, 1, -1 do if (not conteudo[i][keyName] or conteudo[i][keyName] < 1) then amount = amount - 1 else @@ -812,20 +822,17 @@ function atributo_misc:RefreshWindow(instance, combatObject, bIsForceRefresh, bI end end - --pega o total ja aplicado na tabela do combate - total = combatObject.totals [class_type] [keyName] - - --grava o total + --get the total done from the combat total data + total = combatObject.totals[class_type][keyName] instance.top = conteudo[1][keyName] - elseif (modo == modo_GROUP) then --mostrando GROUP + elseif (modo == modo_GROUP) then + table.sort(conteudo, Details.SortGroupIfHaveKey) - --if (refresh_needed) then - table.sort (conteudo, _detalhes.SortGroupIfHaveKey) - --end for index, player in ipairs(conteudo) do - if (player.grupo) then --� um player e esta em grupo - if (not player[keyName] or player[keyName] < 1) then --dano menor que 1, interromper o loop + if (player.grupo) then --is a player and is in the player group + --stop when the amount is zero + if (not player[keyName] or player[keyName] < 1) then amount = index - 1 break elseif (index == 1) then --esse IF aqui, precisa mesmo ser aqui? n�o daria pra pega-lo com uma chave [1] nad grupo == true? @@ -842,29 +849,28 @@ function atributo_misc:RefreshWindow(instance, combatObject, bIsForceRefresh, bI end end - --refaz o mapa do container + --refresh the container map utilityActorContainer:remapear() if (bIsExport) then return total, keyName, instance.top, amount end - if (amount < 1) then --n�o h� barras para mostrar + --check if there's nothing to show + if (amount < 1) then instance:EsconderScrollBar() --precisaria esconder a scroll bar - return _detalhes:EndRefresh (instance, total, combatObject, utilityActorContainer) --retorna a tabela que precisa ganhar o refresh + return Details:EndRefresh(instance, total, combatObject, utilityActorContainer) end - --estra mostrando ALL ent�o posso seguir o padr�o correto? primeiro, atualiza a scroll bar... - instance:RefreshScrollBar (amount) + instance:RefreshScrollBar(amount) - --depois faz a atualiza��o normal dele atrav�s dos_ iterators local whichRowLine = 1 local barras_container = instance.barras local percentage_type = instance.row_info.percent_type local bars_show_data = instance.row_info.textR_show_data local bars_brackets = instance:GetBarBracket() local bars_separator = instance:GetBarSeparator() - local use_animations = _detalhes.is_using_row_animations and (not instance.baseframe.isStretching and not bIsForceRefresh) + local bUseAnimations = _detalhes.is_using_row_animations and (not instance.baseframe.isStretching and not bIsForceRefresh) if (total == 0) then total = 0.00000001 @@ -875,22 +881,22 @@ function atributo_misc:RefreshWindow(instance, combatObject, bIsForceRefresh, bI if (instance.bars_sort_direction == 1) then --top to bottom for i = instance.barraS[1], instance.barraS[2], 1 do --vai atualizar s� o range que esta sendo mostrado - conteudo[i]:RefreshLine(instance, barras_container, whichRowLine, i, total, subAttribute, bIsForceRefresh, keyName, nil, percentage_type, use_animations, bars_show_data, bars_brackets, bars_separator) + conteudo[i]:RefreshLine(instance, barras_container, whichRowLine, i, total, subAttribute, bIsForceRefresh, keyName, nil, percentage_type, bUseAnimations, bars_show_data, bars_brackets, bars_separator) whichRowLine = whichRowLine+1 end elseif (instance.bars_sort_direction == 2) then --bottom to top for i = instance.barraS[2], instance.barraS[1], -1 do --vai atualizar s� o range que esta sendo mostrado if (conteudo[i]) then - conteudo[i]:RefreshLine(instance, barras_container, whichRowLine, i, total, subAttribute, bIsForceRefresh, keyName, nil, percentage_type, use_animations, bars_show_data, bars_brackets, bars_separator) + conteudo[i]:RefreshLine(instance, barras_container, whichRowLine, i, total, subAttribute, bIsForceRefresh, keyName, nil, percentage_type, bUseAnimations, bars_show_data, bars_brackets, bars_separator) whichRowLine = whichRowLine+1 end end end - if (use_animations) then - instance:PerformAnimations (whichRowLine-1) + if (bUseAnimations) then + instance:PerformAnimations(whichRowLine-1) end if (instance.atributo == 5) then --custom diff --git a/core/parser.lua b/core/parser.lua index 20d01a9d9..e23ac6878 100755 --- a/core/parser.lua +++ b/core/parser.lua @@ -113,8 +113,11 @@ local cacheAnything = { arenaHealth = {}, paladin_vivaldi_blessings = {}, + track_hunter_frenzy = false, } + + --cache the data for passive trinkets procs local _trinket_data_cache = {} @@ -2506,7 +2509,7 @@ --BfA monk talent monk_guard_talent [sourceSerial] = amount - elseif (spellId == 272790) then --hunter pet Frenzy quick fix for show the Frenzy uptime + elseif (spellId == 272790 and cacheAnything.track_hunter_frenzy) then --hunter pet Frenzy quick fix for show the Frenzy uptime if (pet_frenzy_cache[sourceName]) then if (DetailsFramework:IsNearlyEqual(pet_frenzy_cache[sourceName], time, 0.2)) then return @@ -2715,7 +2718,7 @@ end if (tipo == "BUFF") then - if (spellid == 272790) then --hunter pet Frenzy spellid + if (spellid == 272790 and cacheAnything.track_hunter_frenzy) then --hunter pet Frenzy spellid local miscActorObject = misc_cache[sourceName] if (miscActorObject) then --fastest way to query utility spell data @@ -2803,7 +2806,7 @@ end if (tipo == "BUFF") then - if (spellid == 272790) then --hunter pet Frenzy spellid + if (spellid == 272790 and cacheAnything.track_hunter_frenzy) then --hunter pet Frenzy spellid if (not pet_frenzy_cache[sourceName]) then return end @@ -6006,6 +6009,8 @@ local SPELL_POWER_PAIN = SPELL_POWER_PAIN or (PowerEnum and PowerEnum.Pain) or 1 wipe(cacheAnything.paladin_vivaldi_blessings) + cacheAnything.track_hunter_frenzy = Details.combat_log.track_hunter_frenzy + damage_cache = setmetatable({}, _detalhes.weaktable) damage_cache_pets = setmetatable({}, _detalhes.weaktable) damage_cache_petsOwners = setmetatable({}, _detalhes.weaktable) diff --git a/frames/window_options2.lua b/frames/window_options2.lua index d9da155d5..24c10886d 100644 --- a/frames/window_options2.lua +++ b/frames/window_options2.lua @@ -2,13 +2,9 @@ if (true) then --return end - local Details = _G.Details local DF = _G.DetailsFramework local Loc = _G.LibStub("AceLocale-3.0"):GetLocale("Details") ---local SharedMedia = _G.LibStub:GetLibrary("LibSharedMedia-3.0") ---local LDB = _G.LibStub("LibDataBroker-1.1", true) ---local LDBIcon = LDB and _G.LibStub("LibDBIcon-1.0", true) --options panel namespace Details.options = {} @@ -26,7 +22,6 @@ local options_text_template = DF:GetTemplate("font", "OPTIONS_FONT_TEMPLATE") local options_dropdown_template = DF:GetTemplate("dropdown", "OPTIONS_DROPDOWN_TEMPLATE") local options_switch_template = DF:GetTemplate("switch", "OPTIONS_CHECKBOX_TEMPLATE") local options_slider_template = DF:GetTemplate("slider", "OPTIONS_SLIDER_TEMPLATE") - local options_button_template = DF:GetTemplate("button", "OPTIONS_BUTTON_TEMPLATE") local options_button_template_selected = DF.table.copy({}, DF:GetTemplate("button", "OPTIONS_BUTTON_TEMPLATE")) options_button_template_selected.backdropbordercolor = {1, .8, .2} @@ -95,7 +90,7 @@ function Details.options.InitializeOptionsWindow(instance) --what the window is showing local atributo = instance.atributo local sub_atributo = instance.sub_atributo - + if (atributo == 5) then --custom local CustomObject = _detalhes.custom [sub_atributo] if (not CustomObject) then @@ -108,7 +103,7 @@ function Details.options.InitializeOptionsWindow(instance) end else local modo = instance.modo - + if (modo == 1) then --solo plugin atributo = _detalhes.SoloTables.Mode or 1 local SoloInfo = _detalhes.SoloTables.Menu [atributo] @@ -117,7 +112,7 @@ function Details.options.InitializeOptionsWindow(instance) else instanceList [#instanceList+1] = {value = index, label = "#".. index .. " unknown", onclick = onSelectInstance, icon = ""} end - + elseif (modo == 4) then --raid plugin local plugin_name = instance.current_raid_plugin or instance.last_raid_plugin if (plugin_name) then @@ -298,18 +293,20 @@ function Details.options.InitializeOptionsWindow(instance) [15] = "Broadcaster Tools", [16] = Loc ["STRING_OPTIONSMENU_SPELLS"], [17] = Loc ["STRING_OPTIONSMENU_DATACHART"], - [18] = "Mythic Dungeon", - [19] = "Search Results", - + [20] = "Combat Log", } local optionsSectionsOrder = { - 1, "", 3, 4, "", 5, 6, 7, 12, 13, "", 9, 2, 8, 10, 11, 18, "", 14, 15, 16, 17, "", 19 + 1, 20, "", 3, 4, "", 5, 6, 7, 12, 13, "", 9, 2, 8, 10, 11, 18, "", 14, 15, 16, 17, "", 19 } - local maxSectionIds = 19 + local maxSectionIds = 0 + for k in pairs(sectionsName) do + maxSectionIds = maxSectionIds + 1 + end + Details.options.maxSectionIds = maxSectionIds local buttonYPosition = -40 @@ -403,7 +400,7 @@ function Details.options.InitializeOptionsWindow(instance) Details:OpenOptionsWindow(_G.DetailsOptionsWindow.instance) end end - + Details.options.SelectOptionsSection(1) end diff --git a/frames/window_options2_sections.lua b/frames/window_options2_sections.lua index d28b33e9e..389542a27 100644 --- a/frames/window_options2_sections.lua +++ b/frames/window_options2_sections.lua @@ -24,6 +24,7 @@ end ~17 - charts data ~18 - mythic dungeon ~19 - search results + ~20 - combatlog options --]] @@ -226,31 +227,8 @@ do return eraseDataOptions end - --deathlog limit - local onSelectDeathLogLimit = function(_, _, limitAmount) - _detalhes:SetDeathLogLimit(limitAmount) - end - local DeathLogLimitOptions = { - {value = 16, label = "16 Records", onclick = onSelectDeathLogLimit, icon = [[Interface\WorldStateFrame\ColumnIcon-GraveyardDefend0]]}, - {value = 32, label = "32 Records", onclick = onSelectDeathLogLimit, icon = [[Interface\WorldStateFrame\ColumnIcon-GraveyardDefend0]]}, - {value = 45, label = "45 Records", onclick = onSelectDeathLogLimit, icon = [[Interface\WorldStateFrame\ColumnIcon-GraveyardDefend0]]}, - } - local buildDeathLogLimitMenu = function() - return DeathLogLimitOptions - end - local sectionOptions = { {type = "label", get = function() return Loc ["STRING_OPTIONS_GENERAL_ANCHOR"] end, text_template = subSectionTitleTextTemplate}, - {--segments locked - type = "toggle", - get = function() return Details.instances_segments_locked end, - set = function(self, fixedparam, value) - Details.instances_segments_locked = value - end, - name = Loc ["STRING_OPTIONS_LOCKSEGMENTS"], - desc = Loc ["STRING_OPTIONS_LOCKSEGMENTS_DESC"], - boxfirst = true, - }, {--animate bars type = "toggle", get = function() return _detalhes.use_row_animations end, @@ -329,48 +307,16 @@ do }, {type = "blank"}, + {type = "label", get = function() return "Segments:" end, text_template = subSectionTitleTextTemplate}, - {--auto erase settings | erase data - type = "select", - get = function() return _detalhes.segments_auto_erase end, - values = function() - return buildEraseDataMenu() - end, - name = Loc ["STRING_OPTIONS_ED"], - desc = Loc ["STRING_OPTIONS_ED_DESC"], - }, - - {--auto erase trash segments - type = "toggle", - get = function() return _detalhes.trash_auto_remove end, - set = function(self, fixedparam, value) - _detalhes.trash_auto_remove = value - afterUpdate() - end, - name = Loc ["STRING_OPTIONS_CLEANUP"], - desc = Loc ["STRING_OPTIONS_CLEANUP_DESC"], - boxfirst = true, - }, - {--auto erase world segments - type = "toggle", - get = function() return _detalhes.world_combat_is_trash end, - set = function(self, fixedparam, value) - _detalhes.world_combat_is_trash = value - afterUpdate() - end, - name = Loc ["STRING_OPTIONS_PERFORMANCE_ERASEWORLD"], - desc = Loc ["STRING_OPTIONS_PERFORMANCE_ERASEWORLD_DESC"], - boxfirst = true, - }, - {--erase chart data + {--segments locked type = "toggle", - get = function() return _detalhes.clear_graphic end, + get = function() return Details.instances_segments_locked end, set = function(self, fixedparam, value) - _detalhes.clear_graphic = value - afterUpdate() + Details.instances_segments_locked = value end, - name = Loc ["STRING_OPTIONS_ERASECHARTDATA"], - desc = Loc ["STRING_OPTIONS_ERASECHARTDATA_DESC"], + name = Loc ["STRING_OPTIONS_LOCKSEGMENTS"], + desc = Loc ["STRING_OPTIONS_LOCKSEGMENTS_DESC"], boxfirst = true, }, @@ -424,52 +370,50 @@ do }, {type = "blank"}, + {type = "label", get = function() return "Auto Erase:" end, text_template = subSectionTitleTextTemplate}, - {--pvp frags + {--auto erase settings | erase data + type = "select", + get = function() return _detalhes.segments_auto_erase end, + values = function() + return buildEraseDataMenu() + end, + name = Loc ["STRING_OPTIONS_ED"], + desc = Loc ["STRING_OPTIONS_ED_DESC"], + }, + + {--auto erase trash segments type = "toggle", - get = function() return _detalhes.only_pvp_frags end, + get = function() return _detalhes.trash_auto_remove end, set = function(self, fixedparam, value) - _detalhes.only_pvp_frags = value + _detalhes.trash_auto_remove = value afterUpdate() end, - name = Loc ["STRING_OPTIONS_PVPFRAGS"], - desc = Loc ["STRING_OPTIONS_PVPFRAGS_DESC"], + name = Loc ["STRING_OPTIONS_CLEANUP"], + desc = Loc ["STRING_OPTIONS_CLEANUP_DESC"], boxfirst = true, }, - - {--damage taken everything + {--auto erase world segments type = "toggle", - get = function() return _detalhes.damage_taken_everything end, + get = function() return _detalhes.world_combat_is_trash end, set = function(self, fixedparam, value) - _detalhes.damage_taken_everything = value + _detalhes.world_combat_is_trash = value afterUpdate() end, - name = Loc ["STRING_OPTIONS_DTAKEN_EVERYTHING"], - desc = Loc ["STRING_OPTIONS_DTAKEN_EVERYTHING_DESC"], + name = Loc ["STRING_OPTIONS_PERFORMANCE_ERASEWORLD"], + desc = Loc ["STRING_OPTIONS_PERFORMANCE_ERASEWORLD_DESC"], boxfirst = true, }, - - {--death log size - type = "select", - get = function() return _detalhes.deadlog_events end, - values = function() - return buildDeathLogLimitMenu() - end, - name = Loc ["STRING_OPTIONS_DEATHLIMIT"], - desc = Loc ["STRING_OPTIONS_DEATHLIMIT_DESC"], - }, - {--death log min healing - type = "range", - get = function() return _detalhes.deathlog_healingdone_min end, + {--erase chart data + type = "toggle", + get = function() return _detalhes.clear_graphic end, set = function(self, fixedparam, value) - _detalhes.deathlog_healingdone_min = value + _detalhes.clear_graphic = value afterUpdate() end, - min = 0, - max = 100000, - step = 1, - name = Loc ["STRING_OPTIONS_DEATHLOG_MINHEALING"], - desc = Loc ["STRING_OPTIONS_DEATHLOG_MINHEALING_DESC"], + name = Loc ["STRING_OPTIONS_ERASECHARTDATA"], + desc = Loc ["STRING_OPTIONS_ERASECHARTDATA_DESC"], + boxfirst = true, }, {type = "breakline"}, @@ -601,31 +545,6 @@ do {type = "blank"}, - {--click through - type = "toggle", - get = function() return currentInstance.clickthrough_window end, - set = function(self, fixedparam, value) - Details:InstanceGroupCall(currentInstance, "UpdateClickThroughSettings", nil, value, value, value) - afterUpdate() - end, - name = "Click Through", - desc = "Click Through", - boxfirst = true, - }, - {--click only in combat - type = "toggle", - get = function() return currentInstance.clickthrough_incombatonly end, - set = function(self, fixedparam, value) - Details:InstanceGroupCall(currentInstance, "UpdateClickThroughSettings", value) - afterUpdate() - end, - name = "Click Through Only in Combat", - desc = "Click Through Only in Combat", - boxfirst = true, - }, - - {type = "blank"}, - {type = "label", get = function() return "Immersion" end, text_template = subSectionTitleTextTemplate}, --localize-me {--show pets when solo type = "toggle", @@ -2948,6 +2867,29 @@ do desc = Loc ["STRING_OPTIONS_INSTANCE_BACKDROP_DESC"], }, + {type = "blank"}, + {--click through + type = "toggle", + get = function() return currentInstance.clickthrough_window end, + set = function(self, fixedparam, value) + Details:InstanceGroupCall(currentInstance, "UpdateClickThroughSettings", nil, value, value, value) + afterUpdate() + end, + name = "Click Through", + desc = "Click Through", + boxfirst = true, + }, + {--click only in combat + type = "toggle", + get = function() return currentInstance.clickthrough_incombatonly end, + set = function(self, fixedparam, value) + Details:InstanceGroupCall(currentInstance, "UpdateClickThroughSettings", value) + afterUpdate() + end, + name = "Click Through Only in Combat", + desc = "Click Through Only in Combat", + boxfirst = true, + }, {type = "blank"}, {--disable grouping @@ -6982,18 +6924,143 @@ do end ---[[] +-- ~20 combat log settings do local buildSection = function(sectionFrame) + --deathlog limit + local onSelectDeathLogLimit = function(_, _, limitAmount) + _detalhes:SetDeathLogLimit(limitAmount) + end + local DeathLogLimitOptions = { + {value = 16, label = "16 Records", onclick = onSelectDeathLogLimit, icon = [[Interface\WorldStateFrame\ColumnIcon-GraveyardDefend0]]}, + {value = 32, label = "32 Records", onclick = onSelectDeathLogLimit, icon = [[Interface\WorldStateFrame\ColumnIcon-GraveyardDefend0]]}, + {value = 45, label = "45 Records", onclick = onSelectDeathLogLimit, icon = [[Interface\WorldStateFrame\ColumnIcon-GraveyardDefend0]]}, + } + local buildDeathLogLimitMenu = function() + return DeathLogLimitOptions + end local sectionOptions = { + {type = "label", get = function() return "Death Log Options:" end, text_template = subSectionTitleTextTemplate}, + {--reverse death logs + type = "toggle", + get = function() return Details.combat_log.inverse_deathlog_raid end, + set = function(self, fixedparam, value) + Details.combat_log.inverse_deathlog_raid = value + end, + name = "Invert Death Log (Raid)", + desc = "Invert Death Log (Raid)", + }, + + {--reverse death logs + type = "toggle", + get = function() return Details.combat_log.inverse_deathlog_mplus end, + set = function(self, fixedparam, value) + Details.combat_log.inverse_deathlog_mplus = value + end, + name = "Invert Death Log (M+)", + desc = "Invert Death Log (M+)", + }, + + {--reverse death logs + type = "toggle", + get = function() return Details.combat_log.inverse_deathlog_overalldata end, + set = function(self, fixedparam, value) + Details.combat_log.inverse_deathlog_overalldata = value + end, + name = "Invert Death Log (Overall Data)", + desc = "Invert Death Log (Overall Data)", + }, + + {--pvp frags + type = "toggle", + get = function() return _detalhes.only_pvp_frags end, + set = function(self, fixedparam, value) + _detalhes.only_pvp_frags = value + afterUpdate() + end, + name = Loc ["STRING_OPTIONS_PVPFRAGS"], + desc = Loc ["STRING_OPTIONS_PVPFRAGS_DESC"], + boxfirst = true, + }, + {--death log size + type = "select", + get = function() return _detalhes.deadlog_events end, + values = function() + return buildDeathLogLimitMenu() + end, + name = Loc ["STRING_OPTIONS_DEATHLIMIT"], + desc = Loc ["STRING_OPTIONS_DEATHLIMIT_DESC"], + }, + + {--death log min healing + type = "range", + get = function() return _detalhes.deathlog_healingdone_min end, + set = function(self, fixedparam, value) + _detalhes.deathlog_healingdone_min = value + afterUpdate() + end, + min = 0, + max = 100000, + step = 1, + name = Loc ["STRING_OPTIONS_DEATHLOG_MINHEALING"], + desc = Loc ["STRING_OPTIONS_DEATHLOG_MINHEALING_DESC"], + }, + + {type = "blank"}, + {type = "label", get = function() return "Damage Options:" end, text_template = subSectionTitleTextTemplate}, + {--damage taken everything + type = "toggle", + get = function() return _detalhes.damage_taken_everything end, + set = function(self, fixedparam, value) + _detalhes.damage_taken_everything = value + afterUpdate() + end, + name = Loc ["STRING_OPTIONS_DTAKEN_EVERYTHING"], + desc = Loc ["STRING_OPTIONS_DTAKEN_EVERYTHING_DESC"], + boxfirst = true, + }, + + {type = "blank"}, + {type = "label", get = function() return "Class Options:" end, text_template = subSectionTitleTextTemplate}, + + {--damage taken everything + type = "toggle", + get = function() return Details.combat_log.track_hunter_frenzy end, + set = function(self, fixedparam, value) + Details.combat_log.track_hunter_frenzy = value + afterUpdate() + Details:ClearParserCache() + end, + name = DF:AddClassIconToText("Hunter Track Pet Frenzy", false, "HUNTER"), + desc = "Hunter Track Pet Frenzy", + boxfirst = true, + }, + + } + sectionFrame.sectionOptions = sectionOptions + sectionOptions.always_boxfirst = true DF:BuildMenu(sectionFrame, sectionOptions, startX, startY-20, heightSize, false, options_text_template, options_dropdown_template, options_switch_template, true, options_slider_template, options_button_template) end tinsert(Details.optionsSection, buildSection) end ---]] + +--[=[ +do + local buildSection = function(sectionFrame) + + local sectionOptions = { + + } + + DF:BuildMenu(sectionFrame, sectionOptions, startX, startY-20, heightSize, false, options_text_template, options_dropdown_template, options_switch_template, true, options_slider_template, options_button_template) + end + + tinsert(Details.optionsSection, buildSection) +end +--]=] \ No newline at end of file diff --git a/functions/profiles.lua b/functions/profiles.lua index bdff055ac..dbf561af1 100644 --- a/functions/profiles.lua +++ b/functions/profiles.lua @@ -1143,6 +1143,13 @@ local default_player_data = { last_coach_name = false, }, + combat_log = { + inverse_deathlog_raid = false, + inverse_deathlog_mplus = false, + inverse_deathlog_overalldata = false, + track_hunter_frenzy = false, + }, + --this is used by the new data capture for charts data_harvest_for_charsts = { players = {