Skip to main content

Boss Mods API Reference

This documentation covers the API available for developers who want to interact with Aurora's Boss Mods functionality, particularly for timer tracking and pull coordination.

Timer Management

Getting Timers

-- Get all active timers
local timers = Aurora.BossMod:getactivetimers()

-- Get a specific timer by text match
local timer = Aurora.BossMod:gettimer("timer text")

-- Get all timers matching text
local matchingTimers = Aurora.BossMod:gettimers("timer text")

-- Check if a specific timer exists
local exists = Aurora.BossMod:hastimer("timer text")

-- Get remaining time for a specific timer
local remaining = Aurora.BossMod:gettimerremaining("timer text")

Pull Timer Functions

-- Get current pull timer information
local pullTimer = Aurora.BossMod:getpulltimer()

-- Check if currently pulling
local isPulling = Aurora.BossMod:ispulling()

-- Get remaining time on pull timer
local remaining = Aurora.BossMod:getpulltimeremaining()

-- Get formatted pull string
local pullString = Aurora.BossMod:getpullstring() -- e.g. "Pulling in 5.1 seconds (BigWigs)"

Timer Data Structure

When getting timer information, the timer objects have the following structure:

local timer = {
text = "Timer Text", -- The display text of the timer
duration = 30, -- Total duration in seconds
expirationTime = 1234567890, -- When the timer expires (GetTime())
remaining = 15.5, -- Time remaining in seconds
type = "bar", -- Timer type
source = "BigWigs", -- Which boss mod created the timer
key = "uniqueKey", -- Unique identifier (if provided)
mod = bwModule -- Reference to boss mod module (BigWigs only)
}

Example Usage

-- Example: React to specific timer
function CheckImportantTimer()
if Aurora.BossMod:hastimer("Important Ability") then
local remaining = Aurora.BossMod:gettimerremaining("Important Ability")
if remaining < 5 then
-- Prepare for ability
PrepareForAbility()
end
end
end

-- Example: Pull timer coordination
function CheckPullStatus()
if Aurora.BossMod:ispulling() then
local remaining = Aurora.BossMod:getpulltimeremaining()
if remaining <= 3 then
-- Do pre-pull ability
CastPrePullAbility()
end
end
end