AgentSkillsCN

wow-api-transmog

WoW Retail变身、外观收藏、变身套装、变身造型、染色颜料,以及理发店API的完整参考。涵盖C_Transmogrify(在NPC处应用变身效果)、C_TransmogCollection(外观来源信息、分类、搜索、收藏状态)、C_TransmogSets(套装收藏、套装信息、基础套装、变体)、C_TransmogOutfits(造型管理、保存/加载)、C_DyeColor/C_DyeColorInfo(12.0.0版本中新推出的装甲染色系统),以及C_BarberShop(个性化定制)。当您需要处理变身、外观收藏、衣橱管理、变身套装、造型管理、装甲染色,或角色个性化定制时,此功能将为您提供全面支持。

SKILL.md
--- frontmatter
name: wow-api-transmog
description: "Complete reference for WoW Retail Transmogrification, Appearance Collection, Transmog Sets, Transmog Outfits, Dye Colors, and Barber Shop APIs. Covers C_Transmogrify (applying transmog at NPC), C_TransmogCollection (appearance source info, categories, search, collected status), C_TransmogSets (set collection, set info, base sets, variants), C_TransmogOutfits (outfit management, save/load), C_DyeColor/C_DyeColorInfo (armor dye system new in 12.0.0), and C_BarberShop (customization). Use when working with transmog, appearance collections, wardrobe, transmog sets, outfit management, armor dyes, or character customization."

Transmog API (Retail — Patch 12.0.0)

Comprehensive reference for transmogrification, appearances, sets, outfits, dyes, and barber shop 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_Transmogrify — Applying transmog at NPC
  • C_TransmogCollection — Appearance sources, categories, collection status
  • C_TransmogSets — Transmog set management
  • C_TransmogOutfits — Outfit save/load
  • C_DyeColor / C_DyeColorInfo — Armor dye system (new in 12.0.0)
  • C_BarberShop — Character customization

C_Transmogrify — Applying Transmog

FunctionReturnsDescription
C_Transmogrify.ApplyAllPending()Apply all pending transmogs
C_Transmogrify.CanHaveSecondaryAppearanceForSlotID(slotID)canHaveHas secondary slot?
C_Transmogrify.CanTransmogItem(itemInfo)canTransmog, selfFailure, canTransmogKnownAppearance, canTransmogUncollectedCan transmog?
C_Transmogrify.CanTransmogItemWithItem(targetItemInfo, sourceItemInfo)canTransmogCan transmog source to target?
C_Transmogrify.ClearAllPending()Clear all pending transmogs
C_Transmogrify.ClearPending(slotID)Clear pending for slot
C_Transmogrify.Close()Close transmog window
C_Transmogrify.GetBaseCategory(slotID)categoryBase category for slot
C_Transmogrify.GetCost()costCurrent transmog cost
C_Transmogrify.GetCreatureDisplayIDForSource(sourceID)displayIDCreature display for source
C_Transmogrify.GetItemIDForSource(sourceID)itemIDItem ID for source
C_Transmogrify.GetPending(slotID)pendingInfoPending transmog for slot
C_Transmogrify.GetSlotEffectiveCategory(slotID)categoryEffective category for slot
C_Transmogrify.GetSlotInfo(slotID)isTransmogrified, hasPending, isPendingCollected, canTransmogrify, cannotTransmogrifyReason, hasUndo, isHideVisual, textureSlot transmog info
C_Transmogrify.GetSlotUseError(slotID)errorCode, errorStringSlot error
C_Transmogrify.GetSlotVisualInfo(slotID)baseSourceID, baseVisualID, appliedSourceID, appliedVisualID, pendingSourceID, pendingVisualID, hasPendingUndo, hideVisual, hasActiveSecondaryAppearanceSlot visual details
C_Transmogrify.SetPending(slotID, transmogType, modification, sourceID)Set pending transmog

C_TransmogCollection — Appearance Sources

Source & Appearance Info

FunctionReturnsDescription
C_TransmogCollection.GetSourceInfo(sourceID)sourceInfoSource details
C_TransmogCollection.GetAppearanceSourceInfo(sourceID)category, appearanceID, canHaveIllusion, icon, isCollected, itemLink, transmogLink, sourceType, ...Appearance source info
C_TransmogCollection.GetSourceItemID(sourceID)itemIDItem for source
C_TransmogCollection.PlayerHasTransmog(itemID [, itemAppearanceModID])hasTransmogHas transmog collected?
C_TransmogCollection.PlayerHasTransmogItemModifiedAppearance(itemModifiedAppearanceID)hasAppearanceHas modified appearance?
C_TransmogCollection.PlayerHasTransmogByItemInfo(itemInfo)hasTransmogHas transmog by item info?
C_TransmogCollection.GetItemInfo(itemInfo)appearanceID, sourceIDSource for item
C_TransmogCollection.GetAllAppearanceSources(appearanceID)sourceIDsAll sources for appearance
C_TransmogCollection.GetAppearanceSources(appearanceID [, categoryID [, transmogType]])sourcesSources with info

Categories

FunctionReturnsDescription
C_TransmogCollection.GetCategoryAppearances(categoryID)appearancesAll appearances in category
C_TransmogCollection.GetCategoryCollectedCount(categoryID)collectedCollected count
C_TransmogCollection.GetCategoryTotal(categoryID)totalTotal in category
C_TransmogCollection.GetNumTransmogSources()numSourcesTotal sources
C_TransmogCollection.IsAppearanceCollected(appearanceID)isCollectedIs appearance collected?

Illusions

FunctionReturnsDescription
C_TransmogCollection.GetIllusions()illusionsAll weapon illusions
C_TransmogCollection.GetIllusionSourceInfo(sourceID)name, hyperlink, sourceTextIllusion source info
C_TransmogCollection.PlayerKnowsSource(sourceID)isKnownKnows source?

Search & Filtering

FunctionReturnsDescription
C_TransmogCollection.SetSearch(searchType, searchText)Set search filter
C_TransmogCollection.GetSearchResults(searchType)resultsGet search results
C_TransmogCollection.ClearSearch(searchType)Clear search
C_TransmogCollection.IsSearchInProgress(searchType)inProgressIs search running?
C_TransmogCollection.EndSearch()End search
C_TransmogCollection.GetIsAppearanceFavorite(appearanceID)isFavoriteIs favorite?
C_TransmogCollection.SetIsAppearanceFavorite(appearanceID, isFavorite)Set favorite

C_TransmogSets — Transmog Sets

FunctionReturnsDescription
C_TransmogSets.GetAllSets()setsAll transmog sets
C_TransmogSets.GetBaseSetsCounts()numCollected, numTotalbase sets progress
C_TransmogSets.GetSetInfo(setID)setInfoSet details
C_TransmogSets.GetSetSources(setID)sourcesSources in set
C_TransmogSets.GetSetPrimaryAppearances(setID)appearancesPrimary appearances
C_TransmogSets.GetBaseSets()baseSetsAll base sets
C_TransmogSets.GetBaseSetID(setID)baseSetIDBase set for variant
C_TransmogSets.GetVariantSets(baseSetID)variantSetsVariants of base set
C_TransmogSets.GetUsableSets()usableSetsSets usable by class
C_TransmogSets.HasUsableSets()hasUsableHas usable sets?
C_TransmogSets.IsSetCollected(setID)isCollectedSet fully collected?
C_TransmogSets.IsSetUsable(setID)isUsableSet usable by player?
C_TransmogSets.IsNewAppearance(appearanceID)isNewNew since last viewed?
C_TransmogSets.ClearNewAppearance(appearanceID)Mark as seen
C_TransmogSets.GetNumSetsCollected()numCollectedSets collected count
C_TransmogSets.GetNumSetsTotal()numTotalTotal number of sets
C_TransmogSets.GetSetSourceCounts(setID)numCollected, numTotalSources in set progress
C_TransmogSets.SetHasNewSources(setID)hasNewSourcesNew sources in set?
C_TransmogSets.SetIsFavorite(setID, isFavorite)Toggle favorite
C_TransmogSets.GetIsFavorite(setID)isFavoriteIs favorite set?

C_TransmogOutfits — Outfits

FunctionReturnsDescription
C_TransmogOutfits.GetOutfits()outfitsAll saved outfits
C_TransmogOutfits.GetOutfitInfo(outfitID)name, iconOutfit info
C_TransmogOutfits.NewOutfit(name, icon, sources)outfitIDCreate new outfit
C_TransmogOutfits.DeleteOutfit(outfitID)Delete outfit
C_TransmogOutfits.RenameOutfit(outfitID, name)Rename outfit
C_TransmogOutfits.SetOutfitIcon(outfitID, icon)Set outfit icon
C_TransmogOutfits.SaveOutfit(outfitID, sources)Update outfit
C_TransmogOutfits.GetOutfitSources(outfitID)sourcesGet all sources in outfit
C_TransmogOutfits.GetSlotSourceID(outfitID, slotID)sourceIDSource for slot

C_DyeColor / C_DyeColorInfo — Armor Dyes (12.0.0)

New system for applying dye colors to armor appearances.

FunctionReturnsDescription
C_DyeColorInfo.GetDyeColorInfo(dyeColorID)infoDye color details
C_DyeColorInfo.GetAvailableDyeColors()dyeColorsAvailable dye colors
C_DyeColorInfo.GetDyeColorCategories()categoriesDye color categories
C_DyeColorInfo.IsDyeColorUnlocked(dyeColorID)isUnlockedIs color unlocked?
C_DyeColorInfo.GetNumUnlockedDyeColors()numUnlockedUnlocked dye count

C_BarberShop — Character Customization

FunctionReturnsDescription
C_BarberShop.IsViewingAlteredForm()isViewingViewing alt form?
C_BarberShop.SetViewingAlteredForm(isViewing)Toggle alt form view
C_BarberShop.GetAvailableCustomizations()customizationsAvailable customizations
C_BarberShop.GetCurrentCustomizations()customizationsCurrent selections
C_BarberShop.SetCustomizationChoice(customizationCategoryID, choiceIndex)Set a choice
C_BarberShop.PreviewCustomizationChoice(customizationCategoryID, choiceIndex)Preview a choice
C_BarberShop.GetCustomizationScope()scopeCustomization scope
C_BarberShop.HasAnyChanges()hasChangesHas unsaved changes?
C_BarberShop.ApplyCustomizationChoices()Apply changes
C_BarberShop.Cancel()Cancel and close
C_BarberShop.ResetCustomizationChoices()Reset to current
C_BarberShop.GetCurrentCost()costCost for changes
C_BarberShop.MarkCustomizationChoiceAsSeen(choiceID)Mark choice seen
C_BarberShop.MarkCustomizationOptionAsSeen(optionID)Mark option seen
C_BarberShop.SetSelectedSex(sex)Set selected sex

Key Events

EventPayloadDescription
TRANSMOGRIFY_OPENTransmog NPC opened
TRANSMOGRIFY_CLOSETransmog NPC closed
TRANSMOGRIFY_UPDATEslotIDTransmog slot updated
TRANSMOGRIFY_SUCCESSslotIDTransmog applied
TRANSMOG_COLLECTION_SOURCE_ADDEDsourceIDNew source collected
TRANSMOG_COLLECTION_SOURCE_REMOVEDsourceIDSource removed
TRANSMOG_COLLECTION_UPDATEDCollection changed
TRANSMOG_COLLECTION_CAMERA_UPDATECamera update
TRANSMOG_SETS_UPDATE_FAVORITESet favorite changed
TRANSMOG_SEARCH_UPDATEDsearchTypeSearch results updated
TRANSMOG_OUTFITS_CHANGEDOutfits changed
BARBER_SHOP_OPENBarber shop opened
BARBER_SHOP_CLOSEBarber shop closed
BARBER_SHOP_COST_UPDATECost updated
BARBER_SHOP_APPEARANCE_APPLIEDAppearance applied
BARBER_SHOP_RESULTsuccessBarber shop result

Gotchas & Restrictions

  1. Transmog NPC requiredC_Transmogrify.ApplyAllPending() and related functions only work at a transmog NPC.
  2. sourceID vs appearanceID — A sourceID is a specific item drop source. An appearanceID is the visual look (multiple sources can share one appearance).
  3. Category by armor type — Transmog categories are divided by armor slot and armor type (cloth, leather, mail, plate).
  4. Dye system is new — The dye color system is new in 12.0.0 and APIs may evolve.
  5. Barber shop requires presenceC_BarberShop functions only work while at the barber shop NPC.
  6. Outfit limit — There's a maximum number of saved outfits per character.
  7. Set variants — A base set can have multiple variants (different difficulties, etc.). Use GetVariantSets().
  8. illusion = weapon enchant visual — Illusions are the weapon glow effects. Separate from armor transmog.