C_CatalogShop
namespaceavailable in: camelotStatus in wowlua
38 functions: 0 implemented, 3 recorded, 35 guessed. 18 events, 0 of them fired by the emulator on its own.
Functions
| function | what it does | status |
|---|---|---|
BulkPurchaseProducts | Buys several shop products at once and returns whether the purchase started. · by wowlua(productIDs: number[]): boolean | guessed |
BulkRefundDecors | Refunds several housing decor items bought in the shop. · by wowlua(decorGUIDs: string[]) | guessed |
CloseCatalogShopInteraction | Closes the in-game shop. · by wowlua() | guessed |
ConfirmHousingPurchase | Confirms the purchase of housing products. · by wowlua(productIDs: number[]) | guessed |
FindBestCurrencyProductForNeededAmount | Returns the shop product that best covers the virtual currency still needed, or nil. · by wowlua(vcCurrencyCode: string, amountNeeded: number): number? | guessed |
GetAvailableCategoryIDs | Returns the IDs of the shop's categories. · by wowlua(): number[] | recorded |
GetAvailableTransmogRaceInfos | Returns the races a transmog product can be previewed on. · by wowlua(): AvailableRaceInfo[] | guessed |
GetCatalogShopProductDisplayInfo | Returns how a shop product is shown, such as its model and texts. · by wowlua(catalogShopProductID: number): CatalogShopProductDisplayInfo | guessed |
GetCategoryInfo | Returns information about a shop category. · by wowlua(categoryID: number): CatalogShopCategoryInfo | guessed |
GetCategorySectionInfo | Returns information about a section of a shop category. · by wowlua(categoryID: number, sectionID: number): CatalogShopSectionInfo | guessed |
GetFailureInfo | Returns the error of the last failed shop action, or nil. · by wowlua(): (StoreError?, number?) | guessed |
GetFirstCategoryByProductID | Returns the first shop category the product is in, or nil. · by wowlua(productID: number): CatalogShopCategoryInfo? | guessed |
GetNewProducts | Returns the IDs of the shop's new products. · by wowlua(): number[] | guessed |
GetProductAvailabilityTimeRemainingSecs | Returns how many seconds the shop product stays available, or nil when it has no end. · by wowlua(catalogShopProductID: number): number? | guessed |
GetProductIDsForBundle | Returns the products a shop bundle contains. · by wowlua(bundleProductID: number): CatalogShopBundleChildInfo[] | guessed |
GetProductIDsForCategory | Returns the IDs of the products in a shop category. · by wowlua(categoryID: number): number[] | guessed |
GetProductIDsForCategorySection | Returns the IDs of the products in a section of a shop category. · by wowlua(categoryID: number, sectionID: number): number[] | guessed |
GetProductInfo | Returns information about a shop product. · by wowlua(productID: number): CatalogShopProductInfo? | guessed |
GetProductSortOrder | Returns the position of a product in a section of a shop category, or nil. · by wowlua(categoryID: number, sectionID: number, productID: number): number? | guessed |
GetRefundableDecors | Returns the housing decor items bought in the shop that can be refunded. · by wowlua(productIdFilterOpt: number?): (RefundableDecorInfo[], number) | guessed |
GetSectionIDsForCategory | Returns the IDs of the sections in a shop category. · by wowlua(categoryID: number): number[] | guessed |
GetSpellVisualInfoForMount | Returns how a mount's spell visual is shown in the shop. · by wowlua(spellVisualID: number): CatalogShopSpellVisualInfo | guessed |
GetVCProductInfos | Returns the shop's virtual currency products. · by wowlua(): CatalogShopVCProductInfo[] | guessed |
GetVirtualCurrencyBalance | Returns the player's balance of a virtual currency, or nil when it is not known. · by wowlua(currencyCode: string): string? | guessed |
HasNewProducts | Whether the shop has new products. · by wowlua(): boolean | recorded |
IsProductIncludedInAnyBundle | Whether the product is part of a bundle. · by wowlua(productID: number): boolean | guessed |
IsShop2Enabled | Whether the new in-game shop is enabled. · by wowlua(): boolean? | recorded |
OnLegalDisclaimerClicked | Tells the shop that the player clicked a product's legal disclaimer. · by wowlua(catalogShopProductID: number) | guessed |
OnLegalPersonalizedOptOutClicked | Tells the shop that the player opted out of personalized offers. · by wowlua() | guessed |
OpenCatalogShopInteractionFromHouse | Opens the in-game shop from the player's house. · by wowlua(): string | guessed |
OpenCatalogShopInteractionFromShop | Opens the in-game shop from the shop. · by wowlua(): string | guessed |
ProductDisplayedTelemetry | Reports that a shop product was shown. · by wowlua(categoryId: number, sectionId: number, catalogShopProductID: number) | guessed |
ProductSelectedTelemetry | Reports that a shop product was selected. · by wowlua(categoryId: number, sectionId: number, catalogShopProductID: number, wasCodeSelection: boolean) | guessed |
PurchaseProduct | Buys a shop product and returns whether the purchase started. · by wowlua(productID: number): boolean | guessed |
RefreshRefundableDecors | Asks the server again for the housing decor items that can be refunded. · by wowlua() | guessed |
RefreshVirtualCurrencyBalance | Asks the server again for the player's balance of a virtual currency. · by wowlua(currencyCode: string) | guessed |
ShouldShowHousingWarning | Whether the shop should show its housing warning. · by wowlua(): boolean | guessed |
StartHousingVCPurchaseConfirmation | Starts confirming the purchase of a housing product with virtual currency. · by wowlua(productID: number) | guessed |
"by wowlua": no one documents this function, so wowlua wrote the description from its name, signature and behaviour.
Events
| event | payload | fired by the emulator |
|---|---|---|
BULK_PURCHASE_RESULT_RECEIVED | result: BulkPurchaseResult, productResults: BulkPurchaseIndividualProductResult[], bestTopUpProductID: number?, totalCost: number? | not implemented |
BULK_REFUND_RESULT_RECEIVED | result: BulkRefundResult | not implemented |
CATALOG_SHOP_ADD_PENDING_PRODUCT | productID: number | not implemented |
CATALOG_SHOP_DATA_REFRESH | shoppingSessionUUIDStr: string? | not implemented |
CATALOG_SHOP_DISABLED | no payload | not implemented |
CATALOG_SHOP_FETCH_FAILURE | shoppingSessionUUIDStr: string? | not implemented |
CATALOG_SHOP_FETCH_SUCCESS | shoppingSessionUUIDStr: string? | not implemented |
CATALOG_SHOP_OPEN_SIMPLE_CHECKOUT | checkoutID: number | not implemented |
CATALOG_SHOP_PURCHASE_SUCCESS | productID: number | not implemented |
CATALOG_SHOP_REBUILD_SCROLL_BOX | no payload | not implemented |
CATALOG_SHOP_REFUNDABLE_DECORS_UPDATED | no payload | not implemented |
CATALOG_SHOP_REMOVE_PENDING_PRODUCT | productID: number | not implemented |
CATALOG_SHOP_RESULT_ERROR | no payload | not implemented |
CATALOG_SHOP_SPECIFIC_PRODUCT_REFRESH | productID: number | not implemented |
CATALOG_SHOP_VIRTUAL_CURRENCY_BALANCE_UPDATE | currencyCode: string, balance: string | not implemented |
CATALOG_SHOP_VIRTUAL_CURRENCY_BALANCE_UPDATE_FAILURE | currencyCode: string | not implemented |
SET_SEEN_PRODUCTS | productIds: number[] | not implemented |
SHOW_NEW_PRODUCT_NOTIFICATION | no payload | not implemented |
An event the emulator doesn't fire on its own can still be fired from a test: mock.fireEvent("BULK_PURCHASE_RESULT_RECEIVED").
Structures
AvailableRaceInfo· raceID, displayNameBulkPurchaseIndividualProductResult· recordId, parentProductId?, entitlementId, externalTransactionId, statusCatalogShopBundleChildInfo· childProductID, displayOrder, quantityInBundleCatalogShopCategoryInfo· ID, displayName, iconTexture, linkTag, isDisabled, showPersistentRefundButtonCatalogShopProductDisplayInfo· defaultPreviewModelSceneID, defaultCardModelSceneID, defaultWideCardModelSceneID, itemID, overridePreviewModelSceneID?, overrideCardModelSceneID?, overrideWideCardModelSceneID?, creatureDisplayInfoIDs, spellVisualIDs, mainHandItemModifiedAppearanceID?, offHandItemModifiedAppearanceID?, itemModifiedAppearanceIDs, iconFileDataID?, iconTextureKit?, productType?, itemDescription?, hasUnknownLicense, productPMTURL?, additionalProductPMTURLs, otherProductImageAtlasName?, otherProductGameTitleBaseTag?, otherProductGameType?, customLoopingSoundStart?, customLoopingSoundMiddle?, customLoopingSoundEnd?, specialActorID_1?, specialActorID_2?, specialActorID_3?, specialActorID_4?, specialActorID_5?, gameFlavorID?, decorFileDataID?, quantity?, houseTextureAtlas?CatalogShopProductInfo· catalogShopProductID, name, type?, description, iconTexture, isFullyOwned, isPurchasePending, refundable, price, originalPrice, discountPercentage, itemID, mountID, mountTypeName, speciesID, transmogSetID, itemModifiedAppearanceID, subItems, subItemsLoaded, backgroundTexture, foregroundTexture?, smallCardBGTexture?, smallCardFGTexture?, wideCardBGTexture?, wideCardFGTexture?, previewIconTexture?, optionalWideCardBackgroundTexture?, isBundle, bundleChildrenSize, licenseTermType, licenseTermDuration, virtualCurrencies, isHidden, isMystery, hasPendingOrders, numBundleDetailCards, isDynamicallyDiscounted, shouldShowOriginalPrice, wideCardBGOverrideProductURL?, previewBGOverrideProductURL?, previewSmallBGOverrideProductURL?, decorQuantity?, isVCProduct, containsHousingItem, deferredGameTimeDaysCatalogShopSectionInfo· ID, displayName, parentCatalogShopCategoryInfoID?, cardType?, scrollGridSize?, shouldShowRecommendationOptOutDisclaimerCatalogShopSpellVisualInfo· animID?, spellVisualKitID?CatalogShopSubItemInfo· name, itemID, itemAppearanceID, invType, qualityCatalogShopVCProductInfo· vcProductIDCatalogShopVirtualCurrency· amount, currencyCodeDecorQuantity· placedQuantity, storedQuantityRefundableDecorInfo· decorGUID, timeRemainingSeconds, name, price
sources
Signatures, events and structures: Blizzard's API documentation (Blizzard_APIDocumentationGenerated) (CatalogShop system, camelot 1.60.1). Descriptions: written by wowlua where no documentation describes the entry.