AgentSkillsCN

wow-api-reputation

WoW Retail声望、阵营、主要阵营、帕拉贡,以及社区倡议API的完整参考。涵盖C_Reputation(阵营信息、排名、关注阵营、标题、友谊声望、帕拉贡)、C_MajorFactions(龙之飞升+声望阵营、声望等级、奖励)、C_NeighborhoodInitiative(12.0.0版本中关于住房街区声望的更新)、阵营扩张数据,以及与声望相关的各类事件。当您需要处理声望追踪、阵营排名、声望体系、帕拉贡奖励、友谊声望,或社区倡议时,此功能将为您提供全面支持。

SKILL.md
--- frontmatter
name: wow-api-reputation
description: "Complete reference for WoW Retail Reputation, Faction, Major Factions, Paragon, and Neighborhood Initiative APIs. Covers C_Reputation (faction info, standings, watched faction, headers, friendship reps, paragon), C_MajorFactions (Dragonflight+ renown factions, renown levels, rewards), C_NeighborhoodInitiative (12.0.0 housing neighborhood reputation), faction expansion data, and reputation-related events. Use when working with reputation tracking, faction standings, renown systems, paragon rewards, friendship reputations, or neighborhood initiatives."

Reputation API (Retail — Patch 12.0.0)

Comprehensive reference for reputation, faction, major factions, paragon, and neighborhood initiative APIs.

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_Reputation — Faction info, standings, watched faction, headers
  • C_MajorFactions — Renown factions (Dragonflight+)
  • Friendship Reputations — Friendship-style rep (Tillers, etc.)
  • Paragon — Paragon reputation (post-max)
  • C_NeighborhoodInitiative — Housing neighborhood rep (12.0.0)

C_Reputation — Core Reputation System

Faction Info

FunctionReturnsDescription
C_Reputation.GetNumFactions()numFactionsNumber of factions in list
C_Reputation.GetFactionDataByIndex(index)factionDataFaction data at index
C_Reputation.GetFactionDataByID(factionID)factionDataFaction data by ID
C_Reputation.IsFactionActive(factionID)isActiveIs faction active?
C_Reputation.IsMajorFaction(factionID)isMajorIs major faction?
C_Reputation.IsAccountWideReputation(factionID)isAccountWideAccount-wide rep?
C_Reputation.GetFactionParagonInfo(factionID)currentValue, threshold, questID, hasRewardPending, tooLowLevelForParagonParagon info
C_Reputation.IsFactionParagon(factionID)isParagonHas paragon?
C_Reputation.RequestFactionParagonPreloadRewardData(factionID)Preload paragon data

Faction Data Fields

The factionData table contains:

  • factionID — Unique faction ID
  • name — Faction name
  • description — Description text
  • reaction — Standing index (1=Hated to 8=Exalted)
  • currentReactionThreshold — Min rep for current standing
  • nextReactionThreshold — Rep needed for next standing
  • currentStanding — Current rep value
  • atWarWith — At war? (PvP hostile)
  • canToggleAtWar — Can toggle at war?
  • isChild — Is sub-faction?
  • isHeader — Is a header row?
  • isHeaderWithRep — Header that has rep?
  • isCollapsed — Is header collapsed?
  • isWatched — Is watched faction?
  • hasBonusRepGain — Has rep bonus?
  • canSetInactive — Can set inactive?

Watched Faction

FunctionReturnsDescription
C_Reputation.GetWatchedFactionData()factionDataWatched faction info
C_Reputation.SetWatchedFactionByIndex(index)Set watched by index

Faction List Management

FunctionReturnsDescription
C_Reputation.ExpandFactionHeader(index)Expand header
C_Reputation.CollapseFactionHeader(index)Collapse header
C_Reputation.SetFactionActive(index)Set faction active
C_Reputation.SetFactionInactive(index)Set faction inactive
C_Reputation.ToggleAtWar(index)Toggle at war

Standing Names

IndexStanding
1Hated
2Hostile
3Unfriendly
4Neutral
5Friendly
6Honored
7Revered
8Exalted

C_MajorFactions — Renown System

Major factions use renown levels instead of traditional reputation standings.

FunctionReturnsDescription
C_MajorFactions.GetMajorFactionData(factionID)majorFactionDataMajor faction info
C_MajorFactions.GetMajorFactionIDs(expansionID)factionIDsMajor factions for expansion
C_MajorFactions.GetCurrentRenownLevel(factionID)renownLevelCurrent renown level
C_MajorFactions.GetRenownLevels(factionID)levelsAll renown levels
C_MajorFactions.GetRenownRewardsForLevel(factionID, renownLevel)rewardsRewards at level
C_MajorFactions.HasMaximumRenown(factionID)hasMaxAt max renown?
C_MajorFactions.IsWeeklyRenownCapped(factionID)isCappedWeekly cap reached?
C_MajorFactions.GetMajorFactionRenownInfo(factionID)renownInfoRenown progress info

Major Faction Data Fields

  • factionID — Faction ID
  • name — Faction name
  • celebrationSoundKit — Sound on level up
  • renownLevel — Current renown level
  • renownReputationEarned — Rep earned toward next level
  • renownLevelThreshold — Rep needed for next level
  • textureKit — UI texture kit
  • expansionID — Which expansion
  • isUnlocked — Is faction unlocked?
  • unlockDescription — How to unlock

Friendship Reputations

Some factions use friendship instead of traditional reputation.

FunctionReturnsDescription
C_Reputation.GetFriendshipReputation(factionID)friendshipDataFriendship rep info
C_Reputation.IsFactionFriendship(factionID)isFriendshipUses friendship?

Friendship Data Fields

  • friendshipFactionID — Faction ID
  • standing — Current standing text (e.g., "Good Friend")
  • maxRep — Max rep for current tier
  • reputation — Current rep value
  • nextThreshold — Next tier threshold
  • text — Standing description
  • texture — Standing icon
  • reaction — Reaction index
  • reversedColor — Reverse progress bar color?

C_NeighborhoodInitiative — Housing Neighborhood (12.0.0)

New in 12.0.0 for the player housing system.

FunctionReturnsDescription
C_NeighborhoodInitiative.GetCurrentInitiative()initiativeInfoCurrent initiative
C_NeighborhoodInitiative.GetInitiativeProgress()progressProgress info
C_NeighborhoodInitiative.GetInitiativeRewards()rewardsInitiative rewards

Common Patterns

List All Factions with Standing

lua
local numFactions = C_Reputation.GetNumFactions()
for i = 1, numFactions do
    local data = C_Reputation.GetFactionDataByIndex(i)
    if data and not data.isHeader then
        local standingNames = {"Hated","Hostile","Unfriendly","Neutral","Friendly","Honored","Revered","Exalted"}
        local standing = standingNames[data.reaction] or "Unknown"
        print(data.name, standing, data.currentStanding)
    end
end

Check Renown Level

lua
local function GetRenownProgress(factionID)
    if C_Reputation.IsMajorFaction(factionID) then
        local data = C_MajorFactions.GetMajorFactionData(factionID)
        if data then
            print(data.name, "Renown:", data.renownLevel)
            print("Progress:", data.renownReputationEarned, "/", data.renownLevelThreshold)
            return data.renownLevel
        end
    end
    return nil
end

Check Paragon Reward

lua
local function CheckParagonReward(factionID)
    if C_Reputation.IsFactionParagon(factionID) then
        local currentValue, threshold, questID, hasReward = 
            C_Reputation.GetFactionParagonInfo(factionID)
        if hasReward then
            print("Paragon reward available for faction", factionID)
        end
        return hasReward
    end
    return false
end

Key Events

EventPayloadDescription
UPDATE_FACTIONReputation changed
QUEST_LOG_UPDATEQuest/rep update (shared)
MAJOR_FACTION_RENOWN_LEVEL_CHANGEDfactionID, newRenownLevel, oldRenownLevelRenown level up
MAJOR_FACTION_UNLOCKEDfactionIDMajor faction unlocked
UPDATE_EXPANSION_LEVELExpansion level changed

Gotchas & Restrictions

  1. Headers in faction listC_Reputation.GetFactionDataByIndex() returns headers. Check isHeader to skip.
  2. Major factions vs traditional — Check C_Reputation.IsMajorFaction() to determine which API to use.
  3. Paragon is post-exaltedGetFactionParagonInfo() only works for factions at Exalted (or max renown for major factions).
  4. Friendship rep display — Friendship factions show custom standing names. Use GetFriendshipReputation() for proper display text.
  5. Account-wide rep — Some 12.0.0 reps are account-wide. Check IsAccountWideReputation().
  6. Collapsed headers — Collapsed headers hide child factions from the indexed list. Expand before iterating.
  7. Faction IDs are stable — Unlike indices, factionIDs are stable and can be persisted in SavedVariables.
  8. Neighborhood initiative — New 12.0.0 system; APIs may evolve.