Skip to content

Commit

Permalink
Added phase and elapsed time for boss wipes on the segment selection …
Browse files Browse the repository at this point in the history
…menu
  • Loading branch information
Tercioo committed Mar 15, 2024
1 parent c1458d4 commit 47bad31
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 3 deletions.
1 change: 1 addition & 0 deletions Definitions.lua
Original file line number Diff line number Diff line change
Expand Up @@ -303,6 +303,7 @@
---@field GetBossImage fun(combat: combat) : texturepath|textureid get the icon of the encounter
---@field SetDateToNow fun(combat: combat, bSetStartDate: boolean?, bSetEndDate: boolean?) set the date to the current time. format: "H:M:S"
---@field GetBossHealth fun(combat: combat) : number get the percentage of the boss health when the combat ended
---@field GetBossHealthString fun(combat: combat) : string get the percentage of the boss health when the combat ended as a string
---@field GetBossName fun(combat: combat) : string? return the name of the unitId "boss1", nil if the unit doesn't existed during the combat


Expand Down
16 changes: 16 additions & 0 deletions classes/class_combat.lua
Original file line number Diff line number Diff line change
Expand Up @@ -881,6 +881,22 @@ local segmentTypeToString = {
return self.boss_hp
end

---Return the percentage of the boss as a string, includes a zero on the left side if the number is less than 10
---@param self combat
---@return string
function classCombat:GetBossHealthString()
local bossHealth = self:GetBossHealth()
if (bossHealth) then
bossHealth = math.floor(bossHealth * 100)
local bossHealthString = tostring(bossHealth)
if (bossHealth < 10) then
bossHealthString = "0" .. bossHealthString
end
return bossHealthString
end
return "00"
end

---Get the boss name
---@param self combat
---@return string?
Expand Down
2 changes: 1 addition & 1 deletion classes/class_utility.lua
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ local statusBarBackgroundTable_ForDeathTooltip = {
--expose in case someone want to customize the death tooltip background
Details.StatusBarBackgroundTable_ForDeathTooltip = statusBarBackgroundTable_ForDeathTooltip

function Details.ShowDeathTooltip(instance, lineFrame, combatObject, deathTable)
function Details.ShowDeathTooltip(instance, lineFrame, combatObject, deathTable) --~death
local events = deathTable[1]
local timeOfDeath = deathTable[2]
local maxHP = max(deathTable[5], 0.001)
Expand Down
10 changes: 8 additions & 2 deletions frames/window_main.lua
Original file line number Diff line number Diff line change
Expand Up @@ -6625,14 +6625,20 @@ local buildSegmentTooltip = function(self, deltaTime)

local combatIcon, categoryIcon = thisCombat:GetCombatIcon()

--remove anything after the first comma from the combat name
local commaIndex = string.find(combatName, ",")
if (commaIndex) then
combatName = string.sub(combatName, 1, commaIndex - 1)
end

if (combatInstanceType == "party") then
gameCooltip:AddLine(combatName, formattedElapsedTime, 1, dungeonColor, combatTimeColor)

elseif (bossInfo.killed) then
gameCooltip:AddLine(combatName, formattedElapsedTime, 1, "lime", combatTimeColor)
else
--include phase string: "P" .. thisCombat:GetCurrentPhase() .. " " ..
gameCooltip:AddLine(combatName, math.floor(thisCombat:GetBossHealth()*100) .. "%", 1, "orange", combatTimeColor) --formattedElapsedTime
local bossHealth = thisCombat:GetBossHealthString()
gameCooltip:AddLine(combatName, "P" .. thisCombat:GetCurrentPhase() .. " " .. bossHealth .. "% " .. formattedElapsedTime, 1, "orange", combatTimeColor) --formattedElapsedTime
end

gameCooltip:AddIcon(combatIcon, "main", "left")
Expand Down

0 comments on commit 47bad31

Please sign in to comment.