More fixes

This commit is contained in:
Tercio Jose
2022-11-27 15:24:32 -03:00
parent 25cb9e8ffe
commit ebe8c496d1
22 changed files with 233 additions and 65 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
## Interface: 100002
## Title: Details! Damage Meter
## Notes: Essential tool to impress that chick in your raid.
## SavedVariables: _detalhes_global
## SavedVariables: _detalhes_global, __details_backup
## SavedVariablesPerCharacter: _detalhes_database
## OptionalDeps: Ace3, LibSharedMedia-3.0, LibWindow-1.1, LibDBIcon-1.0, NickTag-1.0, LibDataBroker-1.1, LibGraph-2.0
## Version: #@project-version@
+1
View File
@@ -57,6 +57,7 @@ functions\plater.lua
functions\deathmenu.lua
functions\macros.lua
functions\testbars.lua
functions\warcraftlogs.lua
core\timemachine.lua
+2 -1
View File
@@ -1,7 +1,7 @@
## Interface: 30400
## Title: Details! Damage Meter
## Notes: Essential tool to impress that chick in your raid.
## SavedVariables: _detalhes_global
## SavedVariables: _detalhes_global, __details_backup
## SavedVariablesPerCharacter: _detalhes_database
## OptionalDeps: Ace3, LibSharedMedia-3.0, LibWindow-1.1, LibDBIcon-1.0, NickTag-1.0, LibDataBroker-1.1, LibItemUpgradeInfo-1.0, LibGroupInSpecT-1.1, LibCompress, LibGraph-2.0
## Version: #@project-version@
@@ -57,6 +57,7 @@ functions\plater.lua
functions\deathmenu.lua
functions\macros.lua
functions\testbars.lua
functions\warcraftlogs.lua
core\timemachine.lua
+31 -2
View File
@@ -162,6 +162,16 @@ function DF:CreateCoolTip()
["SelectedBottomAnchorMod"] = true,
["SelectedLeftAnchorMod"] = true,
["SelectedRightAnchorMod"] = true,
["SparkTexture"] = true,
["SparkHeightOffset"] = true,
["SparkWidthOffset"] = true,
["SparkHeight"] = true,
["SparkWidth"] = true,
["SparkAlpha"] = true,
["SparkColor"] = true,
["SparkPositionXOffset"] = true,
["SparkPositionYOffset"] = true,
}
gameCooltip.AliasList = {
@@ -548,6 +558,9 @@ function DF:CreateCoolTip()
statusbar.spark:SetBlendMode("ADD")
statusbar.spark:SetSize(12, 24)
statusbar.spark:SetPoint("LEFT", statusbar, "RIGHT", -20, -1)
statusbar.spark.originalWidth = 12
statusbar.spark.originalHeight = 24
statusbar.spark.originalTexture = "Interface\\CastingBar\\UI-CastingBar-Spark"
statusbar.background = statusbar:CreateTexture("$parent_Background", "ARTWORK")
statusbar.background:Hide()
@@ -1153,10 +1166,26 @@ function DF:CreateCoolTip()
end
function gameCooltip:RefreshSpark(menuButton)
local sparkTexture = gameCooltip.OptionsTable.SparkTexture or menuButton.spark.originalTexture
local sparkAlpha = gameCooltip.OptionsTable.SparkAlpha or 1
local sparkColor = gameCooltip.OptionsTable.SparkColor or "white"
local sparkWidth = gameCooltip.OptionsTable.SparkWidth or menuButton.spark.originalWidth
local sparkHeight = gameCooltip.OptionsTable.SparkHeight or menuButton.spark.originalHeight
local sparkWidthOffset = gameCooltip.OptionsTable.SparkWidthOffset or 0
local sparkHeightOffset = gameCooltip.OptionsTable.SparkHeightOffset or 0
local positionXOffset = gameCooltip.OptionsTable.SparkPositionXOffset or 0
local positionYOffset = gameCooltip.OptionsTable.SparkPositionYOffset or 0
menuButton.spark:SetSize(sparkWidth + sparkWidthOffset, sparkHeight + sparkHeightOffset)
menuButton.spark:SetTexture(sparkTexture)
menuButton.spark:SetVertexColor(DF:ParseColors(sparkColor))
menuButton.spark:SetAlpha(sparkAlpha)
menuButton.spark:ClearAllPoints()
menuButton.spark:SetPoint("left", menuButton.statusbar, "left", (menuButton.statusbar:GetValue() * (menuButton.statusbar:GetWidth() / 100)) - 5, 0)
menuButton.spark:SetPoint("left", menuButton.statusbar, "left", (menuButton.statusbar:GetValue() * (menuButton.statusbar:GetWidth() / 100)) - 5 + positionXOffset, 0 + positionYOffset)
menuButton.spark2:ClearAllPoints()
menuButton.spark2:SetPoint("left", menuButton.statusbar, "left", menuButton.statusbar:GetValue() * (menuButton.statusbar:GetWidth()/100) - 16, 0)
menuButton.spark2:SetPoint("left", menuButton.statusbar, "left", menuButton.statusbar:GetValue() * (menuButton.statusbar:GetWidth()/100) - 16 + positionXOffset, 0 + positionYOffset)
end
function gameCooltip:StatusBar(menuButton, statusBarSettings)
+1 -1
View File
@@ -1,6 +1,6 @@
local dversion = 396
local dversion = 397
local major, minor = "DetailsFramework-1.0", dversion
local DF, oldminor = LibStub:NewLibrary(major, minor)
+14 -5
View File
@@ -6,12 +6,12 @@
local addonName, Details222 = ...
local version, build, date, tocversion = GetBuildInfo()
_detalhes.build_counter = 10290
_detalhes.alpha_build_counter = 10290 --if this is higher than the regular counter, use it instead
_detalhes.build_counter = 10300
_detalhes.alpha_build_counter = 10300 --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
_detalhes.realversion = 146 --core version, this is used to check API version for scripts and plugins (see alias below)
_detalhes.realversion = 147 --core version, this is used to check API version for scripts and plugins (see alias below)
_detalhes.APIVersion = _detalhes.realversion --core version
_detalhes.version = _detalhes.userversion .. " (core " .. _detalhes.realversion .. ")" --simple stirng to show to players
@@ -24,6 +24,7 @@
_detalhes.BFACORE = 131 --core version on BFA launch
_detalhes.SHADOWLANDSCORE = 143 --core version on Shadowlands launch
_detalhes.DRAGONFLIGHT = 147 --core version on Dragonflight launch
Details = _detalhes
@@ -54,6 +55,14 @@
--namespace for the player breakdown window
Details.PlayerBreakdown = {}
--color namespace
Details222.ColorScheme = {
["gradient-background"] = {0.1215, 0.1176, 0.1294, 0.8},
}
function Details222.ColorScheme.GetColorFor(colorScheme)
return Details222.ColorScheme[colorScheme]
end
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--initialization stuff
@@ -69,8 +78,8 @@ do
local news = {
{"v10.0.2.10277.146", "Nov 18th, 2022"},
"REMINDER: '/details coach' to get damage/healing/deaths in real time as the 21st person (coach) for the next raid tier in dragonflight.",
"",
"New <Plugin: Cast Log> show a time line of spells used by players in the group, Raid Leader: show all attack and defense cooldowns used by the raid.",
"New Compare tab: recreated from scratch, this new Compare has no player limitation, pets merged, bigger lines.",
"New <Plugin: Cast Log> show a time line of spells used by players in the group, Raid Leader: show all attack and defense cooldowns used by the raid (download it now on wago or curseforge).",
"Wago: Details! Standalone version is now hosted on addons.wago.io and WowUp.com.",
"",
+7 -7
View File
@@ -488,7 +488,7 @@ end
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--damage taken by spell
local byspell_tooltip_background = {value = 100, color = {0.1960, 0.1960, 0.1960, 0.9097}, texture = [[Interface\AddOns\Details\images\bar_background2]]}
local byspell_tooltip_background = {value = 100, color = {0.1960, 0.1960, 0.1960, 0.9097}, texture = [[Interface\AddOns\Details\images\bar_background_dark]]}
function Details:ToolTipBySpell (instance, tabela, thisLine, keydown)
@@ -5091,7 +5091,7 @@ function atributo_damage:MontaDetalhesDamageDone (spellId, spellLine, instance)
end
t4[1] = 0
t4[2] = {p = 100, c = {0.282353, 0.239216, 0.545098, 0.6}}
t4[2] = {p = 100, c = {0.200, 0.576, 0.498, 0.6}}
t4[3] = "Spell Empower Average Level: " .. format("%.2f", empowerLevelSum / empowerAmount)
t4[4] = ""
t4[5] = ""
@@ -5100,23 +5100,23 @@ function atributo_damage:MontaDetalhesDamageDone (spellId, spellLine, instance)
t4[11] = ""
if (level1AverageDamage ~= "0") then
t4[4] = "Level 1 Average: " .. level1AverageDamage .. " (" .. (empowerAmountPerLevel[1] or 0) .. ")"
t4[4] = "Level 1 Avg: " .. level1AverageDamage .. " (" .. (empowerAmountPerLevel[1] or 0) .. ")"
end
if (level2AverageDamage ~= "0") then
t4[6] = "Level 2 Average: " .. level2AverageDamage .. " (" .. (empowerAmountPerLevel[2] or 0) .. ")"
t4[6] = "Level 2 Avg: " .. level2AverageDamage .. " (" .. (empowerAmountPerLevel[2] or 0) .. ")"
end
if (level3AverageDamage ~= "0") then
t4[11] = "Level 3 Average: " .. level3AverageDamage .. " (" .. (empowerAmountPerLevel[3] or 0) .. ")"
t4[11] = "Level 3 Avg: " .. level3AverageDamage .. " (" .. (empowerAmountPerLevel[3] or 0) .. ")"
end
if (level4AverageDamage ~= "0") then
t4[10] = "Level 4 Average: " .. level4AverageDamage .. " (" .. (empowerAmountPerLevel[4] or 0) .. ")"
t4[10] = "Level 4 Avg: " .. level4AverageDamage .. " (" .. (empowerAmountPerLevel[4] or 0) .. ")"
end
if (level5AverageDamage ~= "0") then
t4[5] = "Level 5 Average: " .. level5AverageDamage .. " (" .. (empowerAmountPerLevel[5] or 0) .. ")"
t4[5] = "Level 5 Avg: " .. level5AverageDamage .. " (" .. (empowerAmountPerLevel[5] or 0) .. ")"
end
end
+1 -1
View File
@@ -295,7 +295,7 @@ function Details.ShowDeathTooltip(instance, lineFrame, combatObject, deathTable)
elseif (evType == 4) then
--debuff
gameCooltip:AddLine("" .. format("%.1f", eventTime - timeOfDeath) .. "s " .. spellName .. " (" .. source .. ")", "x" .. amount .. AURA_TYPE_DEBUFF .. " (" .. healthPercent .. "%)", 1, "white", "white")
gameCooltip:AddLine("" .. format("%.1f", eventTime - timeOfDeath) .. "s " .. spellName .. " (" .. source .. ")", "x" .. amount .. " " .. AURA_TYPE_DEBUFF .. " (" .. healthPercent .. "%)", 1, "white", "white")
gameCooltip:AddIcon(spellIcon)
gameCooltip:AddStatusBar(100, 1, barTypeColors.debuff, showSpark)
end
+25 -1
View File
@@ -1589,6 +1589,30 @@
Details.tooltip.icon_size.W = Details.tooltip.line_height
Details.tooltip.icon_size.H = Details.tooltip.line_height
--[[spark options
["SparkTexture"] = true,
["SparkHeightOffset"] = true,
["SparkWidthOffset"] = true,
["SparkHeight"] = true,
["SparkWidth"] = true,
["SparkAlpha"] = true,
["SparkColor"] = true,
["SparkPositionXOffset"] = true,
["SparkPositionYOffset"] = true,
--]]
useSpark = true
--GameCooltip:SetOption("SparkHeightOffset", 6)
GameCooltip:SetOption("SparkTexture", [[Interface\Buttons\WHITE8X8]])
GameCooltip:SetOption("SparkWidth", 1)
GameCooltip:SetOption("SparkHeight", 20)
GameCooltip:SetOption("SparkColor", "gray")
GameCooltip:SetOption("SparkAlpha", 0.15)
GameCooltip:SetOption("SparkPositionXOffset", 5)
--GameCooltip:SetOption("SparkAlpha", 0.3)
--GameCooltip:SetOption("SparkPositionXOffset", -2)
value = value or 100
if (not side) then
@@ -1634,7 +1658,7 @@
GameCooltip:Reset()
GameCooltip:SetType ("tooltip")
GameCooltip:SetOption("StatusBarTexture", [[Interface\AddOns\Details\images\bar_background]])
GameCooltip:SetOption("StatusBarTexture", [[Interface\AddOns\Details\images\bar_background_dark]])
GameCooltip:SetOption("TextSize", Details.tooltip.fontsize)
GameCooltip:SetOption("TextFont", Details.tooltip.fontface)
+49 -15
View File
@@ -241,6 +241,11 @@
--Seal of Command
[20424] = 69403, --53739 and 53733
--odyn's fury warrior
[385062] = 385059,
[385061] = 385059,
[385060] = 385059,
}
else --retail
@@ -5161,7 +5166,7 @@ local SPELL_POWER_PAIN = SPELL_POWER_PAIN or (PowerEnum and PowerEnum.Pain) or 1
if (not isWOTLK) then
C_Timer.After(1, function()
if (Details.show_warning_id1) then
if (Details.show_warning_id1_amount < 10) then
if (Details.show_warning_id1_amount < 2) then
Details.show_warning_id1_amount = Details.show_warning_id1_amount + 1
Details:Msg("|cFFFFFF00you might find differences on damage done, this is due to a bug in the game client, nothing related to Details! itself (" .. Details.show_warning_id1_amount .. " / 10).")
end
@@ -5276,7 +5281,7 @@ local SPELL_POWER_PAIN = SPELL_POWER_PAIN or (PowerEnum and PowerEnum.Pain) or 1
if (not isWOTLK) then
C_Timer.After(1, function()
if (Details.show_warning_id1) then
if (Details.show_warning_id1_amount < 10) then
if (Details.show_warning_id1_amount < 2) then
Details.show_warning_id1_amount = Details.show_warning_id1_amount + 1
Details:Msg("|cFFFFFF00you may find differences on damage done, this is due to a bug in the game client, nothing related to Details! itself (" .. Details.show_warning_id1_amount .. " / 10).")
end
@@ -6021,18 +6026,34 @@ local SPELL_POWER_PAIN = SPELL_POWER_PAIN or (PowerEnum and PowerEnum.Pain) or 1
local saver = CreateFrame("frame", nil, UIParent)
saver:RegisterEvent("PLAYER_LOGOUT")
saver:SetScript("OnEvent", function(...)
__details_backup = __details_backup or {
_exit_error = {},
_instance_backup = {},
}
local exitErrors = __details_backup._exit_error
local addToExitErrors = function(text)
table.insert(exitErrors, 1, text)
table.remove(exitErrors, 10)
end
local currentStep = ""
--save the time played on this class, run protected
pcall(function()
local savePlayTimeClass, savePlayTimeError = pcall(function()
Details.SavePlayTimeOnClass()
end)
local currentStep = 0
if (not savePlayTimeClass) then
addToExitErrors("Saving Play Time:" .. savePlayTimeError)
end
--SAVINGDATA = true
_detalhes_global.exit_log = {}
_detalhes_global.exit_errors = _detalhes_global.exit_errors or {}
currentStep = "Checking the framework integrity"
if (not _detalhes.gump) then
--failed to load the framework
tinsert(_detalhes_global.exit_log, "The framework wasn't in Details member 'gump'.")
@@ -6041,9 +6062,14 @@ local SPELL_POWER_PAIN = SPELL_POWER_PAIN or (PowerEnum and PowerEnum.Pain) or 1
end
local saver_error = function(errortext)
_detalhes_global = _detalhes_global or {}
tinsert(_detalhes_global.exit_errors, 1, currentStep .. "|" .. date() .. "|" .. _detalhes.userversion .. "|" .. errortext .. "|" .. debugstack())
tremove(_detalhes_global.exit_errors, 6)
--if the error log cause an error?
local writeLog = function()
_detalhes_global = _detalhes_global or {}
tinsert(_detalhes_global.exit_errors, 1, currentStep .. "|" .. date() .. "|" .. _detalhes.userversion .. "|" .. errortext .. "|" .. debugstack())
tremove(_detalhes_global.exit_errors, 6)
addToExitErrors(currentStep .. "|" .. date() .. "|" .. _detalhes.userversion .. "|" .. errortext .. "|" .. debugstack())
end
xpcall(writeLog, addToExitErrors)
end
_detalhes.saver_error_func = saver_error
@@ -6058,17 +6084,24 @@ local SPELL_POWER_PAIN = SPELL_POWER_PAIN or (PowerEnum and PowerEnum.Pain) or 1
--do not save window pos
if (_detalhes.tabela_instancias) then
currentStep = "Dealing With Instances"
tinsert(_detalhes_global.exit_log, "2 - Clearing user place from instances.")
for id, instance in _detalhes:ListInstances() do
if (id) then
tinsert(_detalhes_global.exit_log, " - " .. id .. " has baseFrame: " .. (instance.baseframe and "yes" or "no") .. ".")
if (instance.baseframe) then
instance.baseframe:SetUserPlaced (false)
instance.baseframe:SetDontSavePosition (true)
local clearInstances = function()
currentStep = "Dealing With Instances"
tinsert(_detalhes_global.exit_log, "2 - Clearing user place from instances.")
for id, instance in _detalhes:ListInstances() do
if (id) then
tinsert(_detalhes_global.exit_log, " - " .. id .. " has baseFrame: " .. (instance.baseframe and "yes" or "no") .. ".")
if (instance.baseframe) then
instance.baseframe:SetUserPlaced (false)
instance.baseframe:SetDontSavePosition (true)
end
end
end
end
xpcall(clearInstances, saver_error)
else
tinsert(_detalhes_global.exit_errors, 1, "not _detalhes.tabela_instancias")
tremove(_detalhes_global.exit_errors, 6)
addToExitErrors("not _detalhes.tabela_instancias")
end
--leave combat start save tables
@@ -6087,6 +6120,7 @@ local SPELL_POWER_PAIN = SPELL_POWER_PAIN or (PowerEnum and PowerEnum.Pain) or 1
if (_detalhes.wipe_full_config) then
tinsert(_detalhes_global.exit_log, "5 - Is a full config wipe.")
addToExitErrors("true: _detalhes.wipe_full_config")
_detalhes_global = nil
_detalhes_database = nil
return
+23 -5
View File
@@ -66,6 +66,14 @@ info.currentTabsInUse = {}
--self = instancia
--jogador = classe_damage ou classe_heal
do
local gradientStartColor = Details222.ColorScheme.GetColorFor("gradient-background")
local gradientUp = DetailsFramework:CreateTexture(info, {gradient = "vertical", fromColor = "transparent", toColor = gradientStartColor}, 1, 300, "artwork", {0, 1, 0, 1})
gradientUp:SetPoint("tops", 1, 1)
local gradientDown = DetailsFramework:CreateTexture(info, {gradient = "vertical", fromColor = gradientStartColor, toColor = "transparent"}, 1, 50, "artwork", {0, 1, 0, 1})
gradientDown:SetPoint("bottoms")
end
function Details:GetBreakdownTabsInUse()
return info.currentTabsInUse
end
@@ -619,7 +627,9 @@ function gump:CriaDetalheInfo(index)
spellInfoBlock.GetFrame = getFrameFromDetailInfoBlock
spellInfoBlock.bg = CreateFrame("StatusBar", "DetailsPlayerDetailsWindow_DetalheInfoBG" .. index, _detalhes.playerDetailWindow.container_detalhes, "BackdropTemplate")
spellInfoBlock.bg:SetStatusBarTexture("Interface\\AddOns\\Details\\images\\bar_detalhes2")
--spellInfoBlock.bg:SetStatusBarTexture("") --Interface\\AddOns\\Details\\images\\bar_detalhes2
--bar_detalhes2 bar_background
spellInfoBlock.bg:SetStatusBarTexture("Interface\\AddOns\\Details\\images\\bar_background") --Interface\\AddOns\\Details\\images\\bar_detalhes2
spellInfoBlock.bg:SetStatusBarColor(1, 1, 1, .84)
spellInfoBlock.bg:SetMinMaxValues(0, 100)
spellInfoBlock.bg:SetValue(100)
@@ -655,7 +665,7 @@ function gump:CriaDetalheInfo(index)
spellInfoBlock.bg.reportar:SetScript("OnLeave", detalhes_inforeport_onleave)
spellInfoBlock.bg_end = spellInfoBlock.bg:CreateTexture("DetailsPlayerDetailsWindow_DetalheInfoBG_bg_end" .. index, "BACKGROUND")
spellInfoBlock.bg_end:SetHeight(47)
spellInfoBlock.bg_end:SetHeight(40)
spellInfoBlock.bg_end:SetTexture("Interface\\AddOns\\Details\\images\\bar_detalhes2_end")
_detalhes.playerDetailWindow.grupos_detalhes[index] = spellInfoBlock
@@ -749,7 +759,7 @@ function gump:SetaDetalheInfoAltura(index, xmod, ymod)
spellInfoBlock.bg:SetWidth(background:GetWidth())
spellInfoBlock.bg_end:SetPoint("LEFT", spellInfoBlock.bg, "LEFT", spellInfoBlock.bg:GetValue()*2.19, 0)
spellInfoBlock.bg_end:SetHeight(background:GetHeight()+2)
spellInfoBlock.bg_end:SetHeight(background:GetHeight()-2)
spellInfoBlock.bg_end:SetWidth(6)
spellInfoBlock.bg_end:SetAlpha(.75)
@@ -1211,7 +1221,7 @@ local default_skin = function()
end
--info container
info:SetDetailInfoConfigs("Interface\\AddOns\\Details\\images\\bar_detalhes2", {1, 1, 1, 0.5}, 0, 0)
info:SetDetailInfoConfigs("Interface\\AddOns\\Details\\images\\bar_background_dark_dark", {1, 1, 1, 0.5}, 0, 0)
window.bg1_sec_texture:SetPoint("topleft", window.bg1, "topleft", 348, -86)
window.bg1_sec_texture:SetHeight(262)
@@ -1441,7 +1451,7 @@ local elvui_skin = function()
end
--seta configs dos 5 blocos da direita
info:SetDetailInfoConfigs("Interface\\AddOns\\Details\\images\\bar_serenity", {1, 1, 1, 0.35}, -6 + 100, 0)
info:SetDetailInfoConfigs("Interface\\AddOns\\Details\\images\\bar_background_dark", {1, 1, 1, 0.35}, -6 + 100, 0)
window.bg1_sec_texture:SetPoint("topleft", window.bg1, "topleft", 446, -86)
window.bg1_sec_texture:SetWidth(337)
@@ -1818,6 +1828,9 @@ function gump:CriaJanelaInfo()
right_background1:SetSize(220, 43)
Details.gump:ApplyStandardBackdrop(right_background1)
este_gump ["right_background" .. i] = right_background1
local gradientDown = DetailsFramework:CreateTexture(right_background1, {gradient = "vertical", fromColor = {0, 0, 0, 0.1}, toColor = "transparent"}, 1, 43, "artwork", {0, 1, 0, 1})
gradientDown:SetPoint("bottoms")
end
-- fundos especiais de friendly fire e outros
@@ -2927,6 +2940,11 @@ function gump:CriaJanelaInfo()
DF:ReskinSlider(debuffScroll)
tab.DebuffScroll = debuffScroll
if (not frame.__background) then
DetailsFramework:ApplyStandardBackdrop(frame)
frame.__background:SetAlpha(0.6)
end
end
local auras_tab_fill = function(tab, player, combat)
+37 -9
View File
@@ -1,7 +1,7 @@
local Details = _G.Details
local detailsFramework = _G.DetailsFramework
local openRaidLib = LibStub:GetLibrary("LibOpenRaid-1.0")
local openRaidLib = LibStub:GetLibrary("LibOpenRaid-1.0", true)
local addonName, Details222 = ...
local breakdownWindowPlayerList = {}
@@ -49,6 +49,7 @@
if (playerObject) then
local line = self:GetLine(i)
line.playerObject = playerObject
line.combatObject = combatObject
line.index = index
line:UpdateLine(topResult, encounterId, difficultyId)
end
@@ -124,7 +125,7 @@
self.roleIcon:SetTexture("")
end
local playerGear = openRaidLib.GetUnitGear(self.playerObject.nome)
local playerGear = openRaidLib and openRaidLib.GetUnitGear(self.playerObject.nome)
--do not show the role icon
self.roleIcon:SetTexture("") --not in use
@@ -141,17 +142,26 @@
local actorSpecId = self.playerObject.spec
local actorTotal = self.playerObject.total
local combatObject = self.combatObject
--warcraftlogs percentile
if (self.playerObject.tipo == DETAILS_ATTRIBUTE_DAMAGE) then
local parcePercent = Details222.WarcraftLogs.GetDamageParsePercent(encounterId, difficultyId, actorSpecId, actorTotal)
if (parcePercent) then
self.percentileText:SetText(math.floor(parcePercent))
local actorDPS = self.playerObject.total / combatObject:GetCombatTime()
local parsePercent = Details222.WarcraftLogs.GetDamageParsePercent(encounterId, difficultyId, actorSpecId, actorDPS)
if (parsePercent) then
parsePercent = math.floor(parsePercent)
local colorName = Details222.WarcraftLogs.GetParseColor(parsePercent)
self.percentileText:SetTextColor(detailsFramework:ParseColors(colorName))
self.percentileText:SetText(math.floor(parsePercent))
self.percentileText.alpha = 1
else
parcePercent = Details222.ParsePercent.GetPercent(DETAILS_ATTRIBUTE_DAMAGE, difficultyId, encounterId, actorSpecId, actorTotal)
if (parcePercent) then
self.percentileText:SetText(math.floor(parcePercent))
parsePercent = Details222.ParsePercent.GetPercent(DETAILS_ATTRIBUTE_DAMAGE, difficultyId, encounterId, actorSpecId, actorDPS)
if (parsePercent) then
parsePercent = math.floor(parsePercent)
local colorName = Details222.WarcraftLogs.GetParseColor(parsePercent)
self.percentileText:SetTextColor(detailsFramework:ParseColors(colorName))
self.percentileText:SetText(math.floor(parsePercent))
self.percentileText.alpha = 1
else
self.percentileText:SetText("#.def")
@@ -225,6 +235,7 @@
playerName.outline = fontOutline
end
--~create
playerName.textcolor = {1, 1, 1, .9}
local className = detailsFramework:CreateLabel(upFrame, "", "GameFontNormal")
@@ -244,7 +255,7 @@
rankText.textsize = fontSize
local totalStatusBar = CreateFrame("statusbar", nil, line)
totalStatusBar:SetSize(scrollbox_size[1]-19-player_line_height, 4)
totalStatusBar:SetSize(scrollbox_size[1]-player_line_height, 4)
totalStatusBar:SetMinMaxValues(0, 100)
totalStatusBar:SetStatusBarTexture([[Interface\AddOns\Details\images\bar_skyline]])
totalStatusBar:SetFrameLevel(line:GetFrameLevel()+1)
@@ -297,6 +308,11 @@
f.Header:SetPoint("topleft", playerScroll, "topleft", 0, -1)
f.Header:SetPoint("topright", playerScroll, "topright", 0, -1)
detailsFramework:ApplyStandardBackdrop(f.Header)
f.Header.__background:SetColorTexture(.60, .60, .60)
--print(f.Header:GetSize())
local playerSelectionLabel = detailsFramework:CreateLabel(playerScroll, "click to select a player", 14)
playerSelectionLabel:SetPoint("bottom", playerScroll, "bottom", 0, 7)
@@ -367,6 +383,18 @@
f:HookScript("OnShow", function()
Details:UpdateBreakdownPlayerList()
end)
f:HookScript("OnHide", function()
for lineIndex, line in ipairs(f.playerScrollBox:GetLines()) do
line.playerObject = nil
line.combatObject = nil
end
end)
local gradientStartColor = Details222.ColorScheme.GetColorFor("gradient-background")
local gradientBelow = DetailsFramework:CreateTexture(f.playerScrollBox,
{gradient = "vertical", fromColor = gradientStartColor, toColor = "transparent"}, 1, 90, "artwork", {0, 1, 0, 1})
gradientBelow:SetPoint("bottoms", 1, 1)
end
function Details.PlayerBreakdown.CreatePlayerListFrame()
+25 -8
View File
@@ -1,11 +1,9 @@
local Details = _G.Details
local detailsFramework = _G.DetailsFramework
local openRaidLib = LibStub:GetLibrary("LibOpenRaid-1.0")
local openRaidLib = LibStub:GetLibrary("LibOpenRaid-1.0", true)
local addonName, Details222 = ...
local specIdToClassId = {}
--wrap warcraftlogs addon api
Details222.WarcraftLogs = {} --namespace
@@ -15,6 +13,27 @@
return WarcraftLogs
end
function Details222.WarcraftLogs.GetParseColor(percent)
if (percent == 100) then
return "moccasin"
elseif (percent >= 91) then
return "palevioletred"
elseif (percent >= 70) then
return "blueviolet"
elseif (percent >= 50) then
return "SHAMAN"
elseif (percent >= 30) then
return "lime"
else
return "gray"
end
end
function Details222.WarcraftLogs.GetPlayerProfile(actorObject)
local playerName, playerRealm = actorObject:Name():match("(%w+)%-(%w+)")
@@ -93,8 +112,8 @@
end
--details wrap
function Details222.WarcraftLogs.GetDamageParsePercent(encounterId, difficultyId, specId, damageDone)
local classId = LIB_OPEN_RAID_SPECID_TO_CLASSID[specId]
function Details222.WarcraftLogs.GetDamageParsePercent(encounterId, difficultyId, specId, amount)
local classId = LIB_OPEN_RAID_SPECID_TO_CLASSID and LIB_OPEN_RAID_SPECID_TO_CLASSID[specId]
local classPercentileTable = Details222.WarcraftLogs.GetClassPercentileForEncounterID(encounterId, difficultyId, classId) --wrapped
local specPercentile = classPercentileTable[specId]
@@ -102,7 +121,7 @@
local minDamage = specPercentile.min
local maxDamage = specPercentile.max
local percentScalar = detailsFramework:MapRangeClamped(minDamage, maxDamage, 0, 100, damageDone)
local percentScalar = detailsFramework:MapRangeClamped(minDamage, maxDamage, 0, 100, amount)
return percentScalar
else
return nil
@@ -310,9 +329,7 @@
},
--[14] = {} --normal
--[17] = {} --raid finder
--},
}
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

@@ -20,6 +20,7 @@ do
local compareTwo = Details:NewPluginObject ("Details_Compare2", _G.DETAILSPLUGIN_ALWAYSENABLED)
--> just localizing here the plugin's main frame
local frame = compareTwo.Frame
--> set the description
compareTwo:SetPluginDescription("Replaces the default comparison window on the player breakdown.")
@@ -1328,6 +1329,10 @@ do
return newComparisonFrame
end
if (not frame.__background) then
DetailsFramework:ApplyStandardBackdrop(frame)
frame.__background:SetAlpha(0.6)
end
end
local buildSpellAndTargetTables = function (player, combat, attribute)
@@ -1375,7 +1380,7 @@ do
--main tab function to be executed when the tab is shown
local playerComparisonFill = function (tab, player, combat)
local frame = tab.frame
--update player name
frame.mainPlayerName.text = player:GetDisplayName()
+10 -8
View File
@@ -543,14 +543,16 @@ function Details:StartMeUp() --I'll never stop!
Details.cached_specs[UnitGUID("player")] = GetSpecializationInfo(GetSpecialization() or 0)
end
if (not Details.data_wipes_exp["9"]) then
wipe(Details.encounter_spell_pool or {})
wipe(Details.boss_mods_timers or {})
wipe(Details.spell_school_cache or {})
wipe(Details.spell_pool or {})
wipe(Details.npcid_pool or {})
wipe(Details.current_exp_raid_encounters or {})
Details.data_wipes_exp["9"] = true
if (GetExpansionLevel() == 9) then
if (not Details.data_wipes_exp["10"]) then
wipe(Details.encounter_spell_pool or {})
wipe(Details.boss_mods_timers or {})
wipe(Details.spell_school_cache or {})
wipe(Details.spell_pool or {})
wipe(Details.npcid_pool or {})
wipe(Details.current_exp_raid_encounters or {})
Details.data_wipes_exp["10"] = true
end
end
Details.boss_mods_timers.encounter_timers_dbm = Details.boss_mods_timers.encounter_timers_dbm or {}