Every report contains zero or more fights. Fights can be encounters or trash. An entire dungeon is considered one Fight as well, but you can access individual dungeon pulls within the Fight if needed. The Fight interface provides information such as the encounter id, the fight length, and the fight difficulty. Events that occurred during the fight are accessible from the events property, as well as other accessors that enable the fetching of specific categories of events.

interface Fight {
    allCombatantInfoEvents: CombatantInfoEvent[];
    allEnemyDeathEvents: DeathEvent[];
    allEvents: AnyEvent[];
    allFriendlyPlayerDeathEvents: DeathEvent[];
    classicSeasonId: null | number;
    combatantInfoEvents: CombatantInfoEvent[];
    difficulty: number;
    downtimeTransitions: null | Band[];
    dungeonPulls: DungeonPull[];
    encounterId: number;
    endTime: number;
    enemyDeathEvents: DeathEvent[];
    enemyParticipants: Actor[];
    events: AnyEvent[];
    friendlyParticipants: Actor[];
    friendlyPlayerDeathEvents: DeathEvent[];
    hasClassicWorldBuffs: boolean;
    id: number;
    idInReport: number;
    isKill: boolean;
    keystoneDungeonAffixes: null | number[];
    keystoneDungeonLevel: null | number;
    keystoneDungeonTime: null | number;
    maps: Map;
    maxX: number;
    maxY: number;
    minX: number;
    minY: number;
    name: string;
    phaseNames: null | string[];
    phaseTransitions: null | Band[][];
    report: Report;
    size: number;
    startTime: number;
    towerLayer: null | number;
    worldMarkers: WorldMarker[];
    zone: null | Zone;
    allEventsByCategoryAndDisposition(category: EventCategory, disposition: ActorDisposition): AnyEvent[];
    damageEventsForHealingEvent(event: AnyEvent): null | EventAndAmount[];
    eventsByCategoryAndDisposition(category: EventCategory, disposition: ActorDisposition): AnyEvent[];
    eventsPriorToDeath(event: DeathEvent): AnyEvent[];
    healingEventsForDamageEvent(event: AnyEvent): null | EventAndAmount[];
    instanceCountForNpc(actor: Actor): number;
    instanceGroupCountForNpc(actor: Actor): number;
    isEnemyParticipant(actor: Actor): boolean;
    isEventExcludedFromDamageRankings(event: AnyEvent): boolean;
    isFriendlyParticipant(actor: Actor): boolean;
    itemLevelForPlayer(actor: Actor): number;
    phaseForEvent(event: AnyEvent): null | number;
    roleForPlayer(actor: Actor): string;
    specForPlayer(actor: Actor): number;
}

Properties

allCombatantInfoEvents: CombatantInfoEvent[]

All combatant info events. These are cached, so this is faster than trying to find them on your own.

allEnemyDeathEvents: DeathEvent[]

Death events of enemies. These are cached, so this is faster than trying to find them on your own. For PvE content, the deaths are limited to NPCs. For supported PvP content, the deaths are of enemy players.

allEvents: AnyEvent[]

All of the events in this fight.

allFriendlyPlayerDeathEvents: DeathEvent[]

Death events of all friendly players. These are cached, so this is faster than trying to find them on your own.

classicSeasonId: null | number

The season of Classic the fight belongs to. For example, Season of Mastery will have a season id of 1.

combatantInfoEvents: CombatantInfoEvent[]

Combatant info events respecting the user's filters. These are cached, so this is faster than trying to find them on your own.

difficulty: number

The encounter difficulty.

downtimeTransitions: null | Band[]

For fights where downtime is supported and used to shrink the total time over which damage dealt is considered, this will contain an array of the start/end bands for every chunk of downtime.

dungeonPulls: DungeonPull[]

For dungeons, individual pulls are stored and can be accessed.

encounterId: number

The encounter id of the fight. Trash fights just have an encounter id of 0.

endTime: number

The end time of the fight. This is an offset relative to the start of the report, not an absolute time. This offset is in milliseconds.

enemyDeathEvents: DeathEvent[]

Death events of enemies respecting the user's filters. These are cached, so this is faster than trying to find them on your own. For PvE content, the deaths are limited to NPCs. For supported PvP content, the deaths are of enemy players.

enemyParticipants: Actor[]

All the enemy participants in the fight.

events: AnyEvent[]

The events of the fight respecting the user's filters.

friendlyParticipants: Actor[]

All the friendly participants in the fight.

friendlyPlayerDeathEvents: DeathEvent[]

Death events of friendly players respecting the user's filters. These are cached, so this is faster than trying to find them on your own.

hasClassicWorldBuffs: boolean

Whether or not the fight had classic world buffs on any player (Vanilla only)

id: number

The id of the fight within its containing report group.

idInReport: number

The id of the fight within its containing report.

isKill: boolean

Whether or not a fight with an encounter id was a kill.

keystoneDungeonAffixes: null | number[]

If the fight is a keystone dungeon, then this field contains the set of affixes in effect. Null otherwise.

keystoneDungeonLevel: null | number

If the fight is a keystone dungeon, then this field contains the keystone level. Null otherwise.

keystoneDungeonTime: null | number

If the fight is a keystone dungeon, then this field contains the official completion time. Null otherwise.

maps: Map

The maps used by the fight.

maxX: number
maxY: number
minX: number

The bounding box for the fight in coordinates.

minY: number
name: string

A localized name for the fight. For encounters, it will be the encounter name, and for trash fights, it will be the name of the NPC with the most hit points that was involved in the fight.

phaseNames: null | string[]

The phase names for all possible phases.

phaseTransitions: null | Band[][]

The phase transitions. Each entry in the array contains all of the start/end bands for that specific phase.

report: Report

The report that the fight belongs to.

size: number

The encounter size (number of players).

startTime: number

The start time of the fight. This is an offset relative to the start of the report, not an absolute time. This offset is in milliseconds.

towerLayer: null | number

If the fight is a tower run (e.g., Torghast), then this field contains the layer number. Null otherwise.

worldMarkers: WorldMarker[]

The world markers used by this fight.

zone: null | Zone

The zone used by the fight.

Methods

  • This method will obtain a cached subset of events matching the specified category and disposition.

    Parameters

    • category: EventCategory

      The category of events to fetch

    • disposition: ActorDisposition

      The disposition of the actors to check. A value of "neutral" will be treated like "enemy".

    Returns AnyEvent[]

    The cached event set. Use this method to quickly retrieve a subset of events.

  • Get the set of damage events and amounts that represent the damage healed by this event. The amount are distinct from the events themselves so that you can see when a heal only partially healed some of the damage.

    Parameters

    Returns null | EventAndAmount[]

    • An array of events and the amount of damage healed for each event.
  • This method will obtain a cached subset of events matching the specified category and disposition. The events will be filtered to the user's current event filters (e.g., phase, death cutoff, start/end time).

    Parameters

    • category: EventCategory

      The category of events to fetch

    • disposition: ActorDisposition

      The disposition of the actors to check. A value of "neutral" will be treated like "enemy".

    Returns AnyEvent[]

    The cached event set. Use this method to quickly retrieve a subset of events.

  • Get the set of events that occurred prior to a specified player death.

    Parameters

    Returns AnyEvent[]

    • An array of events going back to the last overheal the player received.
  • Get the set of healing events and amounts that represent the heals that were done for this damage. The amount are distinct from the events themselves so that you can see when a heal only partially healed some of the damage.

    Parameters

    Returns null | EventAndAmount[]

    • An array of events and the amount of damage healed for each event.
  • The instance count for a given actor.

    Parameters

    • actor: Actor

      The actor to fetch the group count for.

    Returns number

    • The instance count of the actor
  • The instance group count for a given actor.

    Parameters

    • actor: Actor

      The actor to fetch the group count for.

    Returns number

    • The group count of the actor
  • Whether or not an actor is an enemy participant.

    Parameters

    • actor: Actor

      The actor to check.

    Returns boolean

    Whether or not the actor is an enemy participant

  • Whether or not this event should be excluded from damage rankings.

    Parameters

    Returns boolean

    Whether or not the event counts as part of damage done ranks.

  • Whether or not an actor is a friendly participant.

    Parameters

    • actor: Actor

      The actor to check.

    Returns boolean

    Whether or not the actor is a friendly participant

  • The item level for a given actor.

    Parameters

    • actor: Actor

      The player to fetch the item level for.

    Returns number

    • The item level of the actor
  • Helper function to obtain the phase an event occurs in.

    Parameters

    • event: AnyEvent

      The event whose timestamp will be checked against the phase transitions.

    Returns null | number

    The phase the event occurs in, or null if the fight has no phases.

  • The role that an actor played in a specific fight.

    Parameters

    Returns string

    The role of the actor, or their subType if unknown.

  • The spec for a given actor.

    Parameters

    • actor: Actor

      The player to fetch the spec for.

    Returns number

    • The spec of the actor