wowkit API
    Preparing search index...

    Interface ClientState

    interface ClientState {
        areAurasHidden: boolean;
        areEnchantReadsBroken: boolean;
        auras: FakeAura[];
        bags: { [itemId: number]: number | undefined };
        bars: { [slot: number]: number | undefined };
        castingSpell: string | undefined;
        character: CharacterClass;
        comboPoints: number;
        cooldowns: {
            [spellId: number]: { duration: number; start: number } | undefined;
        };
        enchants: { [slot: number]: FakeEnchant
        | undefined };
        energy: number;
        equippedItems: { [slot: number]: number | undefined };
        health: number;
        isHealthHidden: boolean;
        isInCombat: boolean;
        isInRaid: boolean;
        isResting: boolean;
        knownSpells: { [spellId: number]: true | undefined };
        level: number;
        mana: { current: number; max: number };
        nameplates: number;
        party: FakePartyMember[];
        pet: { isDead?: boolean } | undefined;
        playerDebuffs: FakeAura[];
        race: { file: string; id: number };
        reagentTexts: { [spellId: number]: string | undefined };
        spells: { [spellId: number]: SpellDefinition | undefined };
        target: FakeTarget | undefined;
        totems: {
            [slot: number]:
                | { duration: number; name: string; start: number }
                | undefined;
        };
        unusableSpells: { [spellId: number]: true
        | undefined };
    }
    Index
    areAurasHidden: boolean

    In combat the game hides the auras: the list comes back empty.

    areEnchantReadsBroken: boolean

    The client gives no answer about weapon enchants (reads fail), as it sometimes does.

    auras: FakeAura[]

    The buffs on the player, in the order the game lists them.

    bags: { [itemId: number]: number | undefined }
    bars: { [slot: number]: number | undefined }

    Action slot (1-12 for the main bar) -> the spell on it.

    castingSpell: string | undefined

    The spell the player is casting now.

    character: CharacterClass
    comboPoints: number
    cooldowns: {
        [spellId: number]: { duration: number; start: number } | undefined;
    }

    Spell ID -> when its cooldown started (game clock) and how long it lasts.

    enchants: { [slot: number]: FakeEnchant | undefined }

    Inventory slot (16 main hand, 17 off hand) -> the temporary enchant on it.

    energy: number
    equippedItems: { [slot: number]: number | undefined }
    health: number

    The player's health in percent.

    isHealthHidden: boolean

    In combat the game hides the player's health (and mana): the reads come back empty.

    isInCombat: boolean
    isInRaid: boolean
    isResting: boolean
    knownSpells: { [spellId: number]: true | undefined }
    level: number
    mana: { current: number; max: number }
    nameplates: number

    How many enemies around fight the player (nameplate1, nameplate2...).

    party1, party2... in this order.

    pet: { isDead?: boolean } | undefined
    playerDebuffs: FakeAura[]

    The debuffs on the player.

    race: { file: string; id: number }

    The race: its ID (4 Night Elf) and the client's race file name.

    reagentTexts: { [spellId: number]: string | undefined }

    The reagent named in a spell's tooltip.

    spells: { [spellId: number]: SpellDefinition | undefined }

    Every spell that exists in the test, learned or not.

    target: FakeTarget | undefined
    totems: {
        [slot: number]:
            | { duration: number; name: string; start: number }
            | undefined;
    }

    Totem slot (fire 1, earth 2, water 3, air 4) -> the totem standing in it.

    unusableSpells: { [spellId: number]: true | undefined }

    Spells that cannot be cast right now (no rage, no mana).