General round of fixes, implementations and polishing

- Polished tooltips from damage and healing done.
- Added new sound: "Details Truck".
- Added 'right click to close' icons before the phrase, also the text is move visible now.
- Added ReopenAllWindows() as alias for a Portuguese function named ReabrirTodasInstancias().
- Added a close button for the breakdown options panel.
- Added support for mask in the spec icons shown in the regular window. Require to add: Instance.row_info.icon_mas = masktexture.
- Event "COMBAT_MYTHICPLUS_OVERALL_READY" now sends the overall mythic+ combat as payload.
This commit is contained in:
Tercio Jose
2024-03-11 15:43:10 -03:00
parent acc03f4769
commit 2c613e063d
29 changed files with 554 additions and 328 deletions
+17 -17
View File
@@ -1499,24 +1499,24 @@
GameCooltip:AddStatusBar (100, 1, 0, 0, 0, 0.8)
end
function Details:AddTooltipBackgroundStatusbar (side, value, useSpark, statusBarColor)
function Details:AddTooltipBackgroundStatusbar(side, value, useSpark, statusBarColor)
Details.tooltip.background [4] = 0.8
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,
["SparkTexture"] = true,
["SparkHeightOffset"] = true,
["SparkWidthOffset"] = true,
["SparkHeight"] = true,
["SparkWidth"] = true,
["SparkAlpha"] = true,
["SparkColor"] = true,
["SparkPositionXOffset"] = true,
["SparkPositionYOffset"] = true,
--]]
useSpark = true
useSpark = value ~= 100
--GameCooltip:SetOption("SparkHeightOffset", 6)
GameCooltip:SetOption("SparkTexture", [[Interface\Buttons\WHITE8X8]])
GameCooltip:SetOption("SparkWidth", 1)
@@ -1536,7 +1536,6 @@
end
local rBG, gBG, bBG, aBG = unpack(Details.tooltip.background)
GameCooltip:AddStatusBar (value, 1, r, g, b, a, useSpark, {value = 100, color = {rBG, gBG, bBG, aBG}, texture = [[Interface\AddOns\Details\images\bar_serenity]]})
else
GameCooltip:AddStatusBar (value, 2, unpack(Details.tooltip.bar_color))
end
@@ -1549,7 +1548,7 @@
-- /run local a,b=Details.tooltip.header_statusbar,0.3;a[1]=b;a[2]=b;a[3]=b;a[4]=0.8;
function Details:AddTooltipSpellHeaderText (headerText, headerColor, amount, iconTexture, L, R, T, B, separator, iconSize)
function Details:AddTooltipSpellHeaderText(headerText, headerColor, amount, iconTexture, L, R, T, B, separator, iconSize)
if (separator and separator == true) then
GameCooltip:AddLine ("", "", nil, nil, 1, 1, 1, 1, 8)
return
@@ -1576,9 +1575,10 @@
local GameCooltip = GameCooltip
GameCooltip:Reset()
GameCooltip:SetType ("tooltip")
GameCooltip:SetType("tooltip")
GameCooltip:SetOption("StatusBarTexture", [[Interface\AddOns\Details\images\bar_background_dark_withline]])
--GameCooltip:SetOption("StatusBarTexture", [[Interface\AddOns\Details\images\bar_background_dark_withline]])
GameCooltip:SetOption("StatusBarTexture", [[Interface\AddOns\Details\images\bar_textures\bar_rounded.png]])
GameCooltip:SetOption("TextSize", Details.tooltip.fontsize)
GameCooltip:SetOption("TextFont", Details.tooltip.fontface)
@@ -1586,8 +1586,8 @@
GameCooltip:SetOption("TextColorRight", Details.tooltip.fontcolor_right)
GameCooltip:SetOption("TextShadow", Details.tooltip.fontshadow and "OUTLINE")
GameCooltip:SetOption("LeftBorderSize", -2) --offset between the left border and the left icon, default: 10 + offset
GameCooltip:SetOption("RightBorderSize", 2) --offset between the right border and the right icon, default: -10 + offset
GameCooltip:SetOption("LeftBorderSize", -0) --offset between the left border and the left icon, default: 10 + offset
GameCooltip:SetOption("RightBorderSize", 0) --offset between the right border and the right icon, default: -10 + offset
GameCooltip:SetOption("VerticalOffset", 5) --amount of space to leave between the top border and the first line of the tooltip, default: 0
GameCooltip:SetOption("RightTextMargin", 0) --offset between the right text to the right icon, default: -3
GameCooltip:SetOption("AlignAsBlizzTooltip", false)
-30
View File
@@ -5888,42 +5888,12 @@ local SPELL_POWER_PAIN = SPELL_POWER_PAIN or (PowerEnum and PowerEnum.Pain) or 1
end)
end
local okay, errorText = pcall(function()
local mapChallengeModeID, mythicLevel, time, onTime, keystoneUpgradeLevels, practiceRun, oldOverallDungeonScore, newOverallDungeonScore, IsMapRecord, IsAffixRecord, PrimaryAffix, isEligibleForScore, members = C_ChallengeMode.GetCompletionInfo()
if (mapChallengeModeID) then
local statName = "mythicdungeoncompletedDF2"
local mythicDungeonRuns = Details222.PlayerStats:GetStat(statName)
mythicDungeonRuns = mythicDungeonRuns or {}
mythicDungeonRuns[mapChallengeModeID] = mythicDungeonRuns[mapChallengeModeID] or {}
mythicDungeonRuns[mapChallengeModeID][mythicLevel] = mythicDungeonRuns[mapChallengeModeID][mythicLevel] or {}
local currentRun = mythicDungeonRuns[mapChallengeModeID][mythicLevel]
currentRun.completed = (currentRun.completed or 0) + 1
currentRun.totalTime = (currentRun.totalTime or 0) + time
if (not currentRun.minTime or time < currentRun.minTime) then
currentRun.minTime = time
end
currentRun.history = currentRun.history or {}
local day, month, year = tonumber(date("%d")), tonumber(date("%m")), tonumber(date("%Y"))
local amountDeaths = C_ChallengeMode.GetDeathCount() or 0
tinsert(currentRun.history, {day = day, month = month, year = year, runTime = time, onTime = onTime, deaths = amountDeaths, affix = PrimaryAffix})
Details222.PlayerStats:SetStat("mythicdungeoncompletedDF2", mythicDungeonRuns)
end
end)
--send mythic dungeon end event
local zoneName, instanceType, difficultyID, difficultyName, maxPlayers, dynamicDifficulty, isDynamic, instanceMapID, instanceGroupSize = GetInstanceInfo()
if (difficultyID == 8) then
Details:SendEvent("COMBAT_MYTHICDUNGEON_END")
end
if (not okay) then
Details:Msg("something went wrong (0x7878):", errorText)
end
Details222.MythicPlus.LogStep("===== Mythic+ Finished =====")
end
+10 -3
View File
@@ -495,6 +495,15 @@
end
end
function Details:CreateRightClickToCloseLabel(parent)
local mouseIcon = detailsFramework:CreateAtlasString(Details:GetTextureAtlas("right-mouse-click"), 12, 9)
local rightClickToBackLabel = detailsFramework:CreateLabel(parent, mouseIcon .. " right click to close", "GameFontNormal")
rightClickToBackLabel:SetAlpha(0.834)
rightClickToBackLabel.textcolor = "gray"
parent.RightClickLabel = rightClickToBackLabel
return rightClickToBackLabel
end
function Details:CreatePluginWindowContainer()
local pluginContainerFrame = CreateFrame("frame", "DetailsPluginContainerWindow", UIParent, "BackdropTemplate")
pluginContainerFrame:EnableMouse(true)
@@ -548,10 +557,8 @@
DetailsFramework:BuildStatusbarAuthorInfo(statusBar)
local rightClickToBackLabel = detailsFramework:CreateLabel(statusBar, "right click to close", "GameFontNormal")
local rightClickToBackLabel = Details:CreateRightClickToCloseLabel(statusBar)
rightClickToBackLabel:SetPoint("bottomright", statusBar, "bottomright", -150, 5)
rightClickToBackLabel:SetAlpha(0.834)
rightClickToBackLabel.textcolor = "gray"
local bigDogTexture = detailsFramework:NewImage(optionsLeftSideBarMenu, [[Interface\MainMenuBar\UI-MainMenuBar-EndCap-Human]], 180*0.7, 200*0.7, "overlay", {0, 1, 0, 1}, "backgroundBigDog", "$parentBackgroundBigDog")
bigDogTexture:SetPoint("bottomleft", custom_window, "bottomleft", 0, 1)
+2 -1
View File
@@ -720,8 +720,9 @@
self.barras [index]:SetWidth(self.baseframe:GetWidth()+self.bar_mod)
end
else
local rightOffset = self.row_info.row_offsets.right
for index = 1, self.rows_fit_in_window do
self.barras [index]:SetWidth(self.baseframe:GetWidth()+self.row_info.space.right)
self.barras [index]:SetWidth(self.baseframe:GetWidth()+self.row_info.space.right + rightOffset)
end
end