wow-api-pvp

PvP API (Retail — Patch 12.0.0)

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "wow-api-pvp" with this command: npx skills add jburlison/wowaddonapiagents/jburlison-wowaddonapiagents-wow-api-pvp

PvP API (Retail — Patch 12.0.0)

Comprehensive reference for PvP, battlegrounds, arenas, rated PvP, war mode, and duels.

Source: https://warcraft.wiki.gg/wiki/World_of_Warcraft_API Current as of: Patch 12.0.0 (Build 65655) — January 28, 2026 Scope: Retail only.

Scope

  • C_PvP — PvP info, rated stats, rewards, queuing

  • Battlegrounds — BG state, score, flags

  • Arenas — Arena info, teams, ratings

  • War Mode — War mode toggle, bonuses

  • Duels — Accept, cancel, start

  • Honor/Conquest — Currency tracking

C_PvP — Core PvP System

PvP State & Info

Function Returns Description

C_PvP.IsPVPMap()

isPVP

In a PvP map?

C_PvP.IsInPVPBattleground()

inBG

In a battleground? (deprecated name for IsInBattleground )

C_PvP.IsInBattleground()

inBG

In a battleground?

C_PvP.IsBattleground()

isBG

Current zone is BG?

C_PvP.IsArena()

isArena

In an arena?

C_PvP.IsSoloShuffle()

isSoloShuffle

In solo shuffle?

C_PvP.IsBlitz()

isBlitz

In blitz BG?

C_PvP.IsRatedBattleground()

isRated

In rated BG?

C_PvP.IsRatedArena()

isRated

In rated arena?

C_PvP.IsRatedMap()

isRated

In any rated match?

C_PvP.IsWarModeDesired()

isDesired

War mode toggled on?

C_PvP.IsWarModeActive()

isActive

War mode currently active?

C_PvP.IsWarModeFeatureEnabled()

isEnabled

War mode feature available?

C_PvP.CanToggleWarMode(toggle)

canToggle

Can toggle war mode?

C_PvP.ToggleWarMode()

— Toggle war mode

C_PvP.GetWarModeRewardBonus()

bonusPercent

War mode XP/resource bonus %

C_PvP.IsPvPTalentsUnlocked()

isUnlocked

PvP talents available?

C_PvP.GetPVPActiveMatchDuration()

duration

Active match duration

C_PvP.GetPVPActiveMatchState()

state

Match state

Rated PvP

Function Returns Description

C_PvP.GetRatedBGRewards()

rewardInfo

Rated BG rewards

C_PvP.GetArenaRewards(teamSize)

rewardInfo

Arena rewards

C_PvP.GetSeasonBestInfo()

tierID, nextTierID

Season best tier

C_PvP.GetCurrentSeasonNumber()

season

Current PvP season

C_PvP.GetRankInfo(hk, guid)

rankName, rankNumber

PvP rank info

C_PvP.GetGlobalPvpScalingInfoForSpecID(specID)

info

PvP scaling

C_PvP.GetLevelUpBattlegrounds()

bgIDs

Available BGs for level

C_PvP.GetRandomBGInfo()

info

Random BG info

C_PvP.GetRandomBGRewards()

rewardInfo

Random BG rewards

C_PvP.GetRandomEpicBGInfo()

info

Random epic BG info

C_PvP.GetSkirmishInfo(bracketIndex)

info

Skirmish info

C_PvP.GetPvpTierInfo(tierID)

tierInfo

PvP tier details

C_PvP.GetPvpTierID(bracketIndex, guid)

tierID

Player's tier in bracket

Honor & Conquest

Function Returns Description

C_PvP.GetHonorRewardInfo(honorLevel)

rewardInfo

Honor level reward

GetHonorLevel()

level

Current honor level

UnitHonorLevel(unit)

level

Unit's honor level

GetMaxPlayerHonorLevel()

maxLevel

Max honor level

GetPVPLifetimeStats()

hk, dk, highestRank

Lifetime PvP stats

GetPVPSessionStats()

hk, dk

Session PvP stats

GetPVPYesterdayStats()

hk, dk, honor

Yesterday's stats

Battleground Score

Function Returns Description

GetNumBattlefieldScores()

numScores

Score entries

GetBattlefieldScore(index)

name, killingBlows, honorKills, deaths, honorGained, faction, race, class, classToken, damageDone, healingDone, bgRating, ratingChange, preMatchMMR, mmrChange, talentSpec

Score info

GetBattlefieldStatData(index, statIndex)

value

BG-specific stat

GetNumBattlefieldStats()

numStats

BG stat columns

GetBattlefieldStatInfo(statIndex)

name, icon, tooltip

Stat column info

Battleground/Arena Queue

Function Returns Description

C_PvP.RequestCrowdControlSpell(unitToken)

— Request CC info

JoinBattlefield(index [, asGroup [, isRated]])

— Join BG queue

LeaveBattlefield()

— Leave BG

AcceptBattlefieldPort(index, acceptFlag)

— Accept/decline BG port

GetBattlefieldPortExpiration(index)

expiration

Port expiration time

GetBattlefieldStatus(index)

status, mapName, teamSize, registeredMatch, suspendedQueue, queueType, gameID, role, asGroup, shortDescription, longDescription

Queue status

GetMaxBattlefieldID()

maxID

Max battlefield ID

GetBattlefieldInstanceRunTime()

runTime

Instance elapsed ms

GetBattlefieldTimeWaited(index)

timeWaited

Time in queue

GetBattlefieldEstimatedWaitTime(index)

waitTime

Estimated wait

GetBattlefieldWinner()

winner

Winning faction

Duel Functions

Function Returns Description

AcceptDuel()

— Accept duel request

CancelDuel()

— Decline/cancel duel

StartDuel(unit)

— Request duel

War Game Functions

Function Returns Description

C_PvP.StartWarGame(targetName, warGameType, ...)

— Start war game

C_PvP.IsWarGameByMasterAllowed()

allowed

Can start war games?

Common Patterns

Check PvP Context

local function GetPvPContext() if C_PvP.IsArena() then return "arena" elseif C_PvP.IsInBattleground() then return "battleground" elseif C_PvP.IsWarModeActive() then return "warmode" else return "pve" end end

Display Rated PvP Info

local function PrintRatedInfo() local season = C_PvP.GetCurrentSeasonNumber() print("PvP Season:", season)

-- Check bracket ratings
for bracketIndex = 1, 4 do
    local tierID = C_PvP.GetPvpTierID(bracketIndex, UnitGUID("player"))
    if tierID then
        local tierInfo = C_PvP.GetPvpTierInfo(tierID)
        if tierInfo then
            print("Bracket", bracketIndex, ":", tierInfo.pvpTierEnum, tierInfo.tierName)
        end
    end
end

end

Key Events

Event Payload Description

PVP_MATCH_ACTIVE

— PvP match started

PVP_MATCH_COMPLETE

winner Match ended

PVP_MATCH_INACTIVE

— Match inactive

UPDATE_BATTLEFIELD_STATUS

battlefieldIndex Queue status changed

UPDATE_BATTLEFIELD_SCORE

— Scoreboard updated

BATTLEFIELD_QUEUE_TIMEOUT

— Queue timed out

WARGAME_REQUESTED

opposingPartyMemberName, bgName, timeout, tournamentRules War game request

DUEL_REQUESTED

playerName Duel request received

DUEL_FINISHED

— Duel ended

DUEL_INBOUNDS

— Player in duel bounds

DUEL_OUTOFBOUNDS

— Player out of bounds

HONOR_LEVEL_UPDATE

isHigherLevel Honor level changed

PVP_RATED_STATS_UPDATE

— Rated stats updated

PVP_REWARDS_UPDATE

— PvP rewards updated

WAR_MODE_STATUS_UPDATE

isWarModeDesired War mode toggled

PLAYER_FLAGS_CHANGED

unitTarget PvP flag changed

PVP_TIMER_UPDATE

— PvP timer updated

PVP_VEHICLE_INFO_UPDATED

— PvP vehicle info changed

PVP_WORLDSTATE_UPDATE

— World state updated

ARENA_OPPONENT_UPDATE

unitToken, updateReason Arena opponent updated

ARENA_PREP_OPPONENT_SPECIALIZATIONS

— Arena opponent specs

ARENA_SEASON_WORLD_STATE

— Arena season state

Gotchas & Restrictions

  • War mode toggle location — Can only toggle war mode in Stormwind/Orgrimmar (capital cities), not anywhere.

  • BG score indices — GetBattlefieldScore() indices are 1-based and may not match player order.

  • Queue index — GetBattlefieldStatus() uses queue index (1-based), not battlefield ID.

  • PvP talents — PvP talents are managed through C_SpecializationInfo , not C_PvP . See the talents skill.

  • AcceptBattlefieldPort hardware event — Requires a hardware event to accept.

  • 12.0.0 instance restrictions — In BGs and arenas, enemy player info (name, class, health) may be secret values.

  • Honor is a currency — Honor and conquest are currencies. Use C_CurrencyInfo for tracking amounts.

  • Season resets — Rated PvP data resets each season. GetCurrentSeasonNumber() tracks the season.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

wow-addon-structure

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

wow-api-map-navigation

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

wow-api-lua-environment

No summary provided by upstream source.

Repository SourceNeeds Review