Patch 10.0.2/API changes

From Warcraft Wiki
Jump to navigation Jump to search

Summary

  • GameTooltip related APIs have been significantly overhauled. Refer to the Tooltip Changes section for more details.
  • Many bag container related APIs have been moved to the C_Container namespace. Additionally, some of these functions now return structured tables instead of multiple values.
  • A new general-purpose UnitTokenFromGUID(unitGUID) function has been added for mapping a unit GUID to a unit token.

Resources

Tooltip Changes

<GameTooltip> frames no longer expose native methods for retrieving or populating tooltip contents. Instead, a new C_TooltipInfo namespace has been added which provides APIs for retrieving structured data for use in tooltips and a new set of tooltip-related mixins have been added to populate tooltips from these APIs.

Custom Tooltip Frames

Any addons that are creating GameTooltip frames should now ensure they inherit GameTooltipTemplate. This template has been updated to include the new GameTooltipDataMixin mixin, which provides automatic updates of tooltip contents from the TOOLTIP_DATA_UPDATE event as well as a subset of backwards-compatible methods for retrieving or populating tooltip contents from the new C_TooltipInfo APIs.

Scanning Tooltips

The C_TooltipInfo functions can be used to replace existing tooltip scanning techniques, removing the need to create a tooltip frame. The following example will demonstrate extracting information for a unit tooltip on the player.

local tooltipData = C_TooltipInfo.GetUnit("player")

TooltipUtil.SurfaceArgs(tooltipData)

for _, line in ipairs(tooltipData.lines) do
    TooltipUtil.SurfaceArgs(line)
end

-- The above SurfaceArgs calls are required to assign values to the
-- 'type', 'guid', and 'leftText' fields seen below.

print("Tooltip Type: ", tooltipData.type)
print("Unit GUID: ", tooltipData.guid)
print("Unit Name: ", tooltipData.lines[1].leftText)
print("Unit Info: ", tooltipData.lines[2].leftText)
print("Unit Faction: ", tooltipData.lines[3].leftText)

DevTools_Dump({ tooltipData })
> Tooltip Type: 2 (Enum.TooltipDataType.Unit)
> Unit GUID: "Player-4184-00227A8F"
> Unit Name: "Sandse"
> Unit Info: "Level 70 Gnome Mage (Player)"
> Unit Faction: "Alliance"

The tooltipData dump below has been significantly shortened to only show the fields written by TooltipUtil.SurfaceArgs.

tooltipData = {
    type = 2,
    lines = {
        [1] = {
            leftText = "Sandse",
            leftColor = { r = 1, g = 0.81960791349411, b = 0 },
            type = 2,
            unitToken = "player",
        },
        [2] = {
            leftColor = { r = 1, g = 1, b = 1 },
            type = 0,
            leftText = "Level 70 Gnome Mage (Player)",
        },
        [3] = {
            leftColor = { r = 1, g = 1, b = 1 },
            type = 0,
            leftText = "Alliance",
        },
    },
    guid = "Player-4184-00227A8F",
    healthGUID = "Player-4184-00227A8F",
}

Tooltip Script Handlers

The following GameTooltip script handlers have been removed. This change will not be reflected in the UI XML schema definition until a future patch.

Usages of these script handlers should be replaced by registering callbacks with the new TooltipDataProcessor.AddTooltipPostCall function. Note that callbacks registered with this mechanism are global and will be triggered for all tooltips which inherit from GameTooltipTemplate.

local function OnTooltipSetItem(tooltip, data)
    if tooltip == GameTooltip then
        print("OnTooltipSetItem", tooltip, data)
    end
end

-- Replace 'Enum.TooltipDataType.Item' with an appropriate type for the tooltip
-- data you are wanting to process; eg. use 'Enum.TooltipDataType.Spell' for
-- replacing usage of OnTooltipSetSpell.
--
-- If you wish to respond to all tooltip data updates, you can instead replace
-- the enum with 'TooltipDataProcessor.AllTypes' (or the string "ALL").

TooltipDataProcessor.AddTooltipPostCall(Enum.TooltipDataType.Item, OnTooltipSetItem)

Global API

10.0.0 (46366) → 10.0.2 (46924) Dec 1 2022
Added (203) Removed (63)
C_ActionBar.GetProfessionQuality
C_ArtifactUI.IsArtifactItem
C_BarberShop.GetCustomizationScope
C_ClassTalents.CanEditTalents
C_Container.ContainerIDToInventoryID
C_Container.ContainerRefundItemPurchase
C_Container.GetBackpackAutosortDisabled
C_Container.GetBagName
C_Container.GetBankAutosortDisabled
C_Container.GetContainerFreeSlots
C_Container.GetContainerItemCooldown
C_Container.GetContainerItemDurability
C_Container.GetContainerItemEquipmentSetInfo
C_Container.GetContainerItemID
C_Container.GetContainerItemInfo
C_Container.GetContainerItemLink
C_Container.GetContainerItemPurchaseCurrency
C_Container.GetContainerItemPurchaseInfo
C_Container.GetContainerItemPurchaseItem
C_Container.GetContainerItemQuestInfo
C_Container.GetContainerNumFreeSlots
C_Container.GetContainerNumSlots
C_Container.GetInsertItemsLeftToRight
C_Container.GetItemCooldown
C_Container.GetMaxArenaCurrency
C_Container.GetSortBagsRightToLeft
C_Container.IsBattlePayItem
C_Container.IsContainerFiltered
C_Container.PickupContainerItem
C_Container.PlayerHasHearthstone
C_Container.SetBackpackAutosortDisabled
C_Container.SetBagPortraitTexture
C_Container.SetBankAutosortDisabled
C_Container.SetInsertItemsLeftToRight
C_Container.SetItemSearch
C_Container.SetSortBagsRightToLeft
C_Container.ShowContainerSellCursor
C_Container.SocketContainerItem
C_Container.SortBags
C_Container.SortBankBags
C_Container.SortReagentBankBags
C_Container.SplitContainerItem
C_Container.UseContainerItem
C_Container.UseHearthstone
C_CraftingOrders.AreOrderNotesDisabled
C_CraftingOrders.CalculateCraftingOrderPostingFee
C_CraftingOrders.CancelOrder
C_CraftingOrders.CanOrderSkillAbility
C_CraftingOrders.ClaimOrder
C_CraftingOrders.CloseCrafterCraftingOrders
C_CraftingOrders.FulfillOrder
C_CraftingOrders.GetClaimedOrder
C_CraftingOrders.GetCrafterBuckets
C_CraftingOrders.GetCrafterOrders
C_CraftingOrders.GetCraftingOrderTime
C_CraftingOrders.GetCustomerOrders
C_CraftingOrders.GetDefaultOrdersSkillLine
C_CraftingOrders.GetMyOrders
C_CraftingOrders.GetOrderClaimInfo
C_CraftingOrders.ListMyOrders
C_CraftingOrders.OpenCrafterCraftingOrders
C_CraftingOrders.OpenCustomerCraftingOrders
C_CraftingOrders.OrderCanBeRecrafted
C_CraftingOrders.PlaceNewOrder
C_CraftingOrders.RejectOrder
C_CraftingOrders.ReleaseOrder
C_CraftingOrders.RequestCrafterOrders
C_CraftingOrders.RequestCustomerOrders
C_CraftingOrders.ShouldShowCraftingOrderTab
C_CraftingOrders.SkillLineHasOrders
C_CraftingOrders.UpdateIgnoreList
C_Item.GetItemLinkByGUID
C_Mail.GetCraftingOrderMailInfo
C_MythicPlus.GetEndOfRunGearSequenceLevel
C_PaperDollInfo.CanAutoEquipCursorItem
C_PaperDollInfo.CanCursorCanGoInSlot
C_PlayerInfo.HasVisibleInvSlot
C_PlayerInfo.IsExpansionLandingPageUnlockedForPlayer
C_ProfSpecs.GetCurrencyInfoForSkillLine
C_ProfSpecs.ShouldShowPointsReminderForSkillLine
C_ProfSpecs.ShouldShowPointsReminder
C_PvP.GetUIDisplaySeason
C_QuestLog.DoesQuestAwardReputationWithFaction
C_SpecializationInfo.GetPvpTalentInfo
C_SystemVisibilityManager.IsSystemVisible
C_Texture.GetCraftingReagentQualityChatIcon
C_TooltipComparison.GetItemComparisonDelta
C_TooltipComparison.GetItemComparisonInfo
C_TooltipInfo.GetAchievementByID
C_TooltipInfo.GetAction
C_TooltipInfo.GetArtifactItem
C_TooltipInfo.GetArtifactPowerByID
C_TooltipInfo.GetAzeriteEssenceSlot
C_TooltipInfo.GetAzeriteEssence
C_TooltipInfo.GetAzeritePower
C_TooltipInfo.GetBackpackToken
C_TooltipInfo.GetBagItemChild
C_TooltipInfo.GetBagItem
C_TooltipInfo.GetBuybackItem
C_TooltipInfo.GetCompanionPet
C_TooltipInfo.GetConduit
C_TooltipInfo.GetCurrencyByID
C_TooltipInfo.GetCurrencyToken
C_TooltipInfo.GetEnhancedConduit
C_TooltipInfo.GetEquipmentSet
C_TooltipInfo.GetExistingSocketGem
C_TooltipInfo.GetGuildBankItem
C_TooltipInfo.GetHeirloomByItemID
C_TooltipInfo.GetHyperlink
C_TooltipInfo.GetInboxItem
C_TooltipInfo.GetInstanceLockEncountersComplete
C_TooltipInfo.GetInventoryItemByID
C_TooltipInfo.GetInventoryItem
C_TooltipInfo.GetItemByGUID
C_TooltipInfo.GetItemByID
C_TooltipInfo.GetItemInteractionItem
C_TooltipInfo.GetItemKey
C_TooltipInfo.GetLFGDungeonReward
C_TooltipInfo.GetLFGDungeonShortageReward
C_TooltipInfo.GetLootCurrency
C_TooltipInfo.GetLootItem
C_TooltipInfo.GetLootRollItem
C_TooltipInfo.GetMerchantCostItem
C_TooltipInfo.GetMerchantItem
C_TooltipInfo.GetMinimapMouseover
C_TooltipInfo.GetMountBySpellID
C_TooltipInfo.GetOwnedItemByID
C_TooltipInfo.GetPetAction
C_TooltipInfo.GetPossession
C_TooltipInfo.GetPvpBrawl
C_TooltipInfo.GetPvpTalent
C_TooltipInfo.GetQuestCurrency
C_TooltipInfo.GetQuestItem
C_TooltipInfo.GetQuestLogCurrency
C_TooltipInfo.GetQuestLogItem
C_TooltipInfo.GetQuestLogRewardSpell
C_TooltipInfo.GetQuestLogSpecialItem
C_TooltipInfo.GetQuestPartyProgress
C_TooltipInfo.GetQuestRewardSpell
C_TooltipInfo.GetRecipeRankInfo
C_TooltipInfo.GetRecipeReagentItem
C_TooltipInfo.GetRecipeResultItemForOrder
C_TooltipInfo.GetRecipeResultItem
C_TooltipInfo.GetRuneforgeResultItem
C_TooltipInfo.GetSendMailItem
C_TooltipInfo.GetShapeshift
C_TooltipInfo.GetSlottedKeystone
C_TooltipInfo.GetSocketedItem
C_TooltipInfo.GetSocketedRelic
C_TooltipInfo.GetSocketGem
C_TooltipInfo.GetSpellBookItem
C_TooltipInfo.GetSpellByID
C_TooltipInfo.GetTalent
C_TooltipInfo.GetTotem
C_TooltipInfo.GetToyByItemID
C_TooltipInfo.GetTradePlayerItem
C_TooltipInfo.GetTradeTargetItem
C_TooltipInfo.GetTrainerService
C_TooltipInfo.GetTraitEntry
C_TooltipInfo.GetTransmogrifyItem
C_TooltipInfo.GetUnitAura
C_TooltipInfo.GetUnitBuffByAuraInstanceID
C_TooltipInfo.GetUnitBuff
C_TooltipInfo.GetUnitDebuffByAuraInstanceID
C_TooltipInfo.GetUnitDebuff
C_TooltipInfo.GetUnit
C_TooltipInfo.GetUpgradeItem
C_TooltipInfo.GetVoidDepositItem
C_TooltipInfo.GetVoidItem
C_TooltipInfo.GetVoidWithdrawalItem
C_TooltipInfo.GetWeeklyReward
C_TooltipInfo.GetWorldCursor
C_TradeSkillUI.GetCraftingOperationInfoForOrder
C_TradeSkillUI.GetCraftingTargetItems
C_TradeSkillUI.GetItemSlotModificationsForOrder
C_TradeSkillUI.GetProfessionByInventorySlot
C_TradeSkillUI.GetProfessionForCursorItem
C_TradeSkillUI.GetProfessionInventorySlots
C_TradeSkillUI.GetProfessionNameForSkillLineAbility
C_TradeSkillUI.GetQualitiesForRecipe
C_TradeSkillUI.GetRecipeInfoForSkillLineAbility
C_TradeSkillUI.GetRecipeQualityItemIDs
C_TradeSkillUI.GetRecipeRequirements
C_TradeSkillUI.GetSkillLineForGear
C_TradeSkillUI.GetSourceTypeFilter
C_TradeSkillUI.HasFavoriteOrderRecipes
C_TradeSkillUI.IsNearProfessionSpellFocus
C_TradeSkillUI.IsRecipeInBaseSkillLine
C_TradeSkillUI.RecraftRecipeForOrder
C_TradeSkillUI.SetOnlyShowAvailableForOrders
C_TradeSkillUI.SetSourceTypeFilter
C_Traits.GetLoadoutSerializationVersion
C_Traits.GetTraitSystemWidgetSetID
C_UIWidgetManager.GetTextWithSubtextWidgetVisualizationInfo
C_WeeklyRewards.GetWeeklyRewardTextureKit
C_WeeklyRewards.ShouldShowFinalRetirementMessage
C_WeeklyRewards.ShouldShowRetirementMessage
ReplaceTradeskillEnchant
UnitPercentHealthFromGUID
UnitTokenFromGUID
C_TradeSkillUI.IsRecraftItemEquipped
C_TradeSkillUI.RecraftLimitCategoryValid
UnitPartialPower
C_ChallengeMode.SetKeystoneTooltip
C_ItemInteraction.SetCorruptionReforgerItemTooltip
C_ItemInteraction.SetItemConversionOutputTooltip
C_MajorFactions.IsMajorFaction
C_ProfSpecs.GetUnspentPointsForSkillLine
C_TradeSkillUI.CancelCraftingOrder
C_TradeSkillUI.CompleteCraftingOrder
C_TradeSkillUI.DeclineCraftingOrder
C_TradeSkillUI.GetCraftingOrders
C_TradeSkillUI.GetCurrentOrder
C_TradeSkillUI.GetRecipeTools
C_TradeSkillUI.HasCraftingOrderFavorites
C_TradeSkillUI.HasMaxCraftingOrderFavorites
C_TradeSkillUI.IsCraftingOrderFavorite
C_TradeSkillUI.ListCraftingOrder
C_TradeSkillUI.QueryCraftingOrdersFavorites
C_TradeSkillUI.QueryCraftingOrders
C_TradeSkillUI.RecipeCanBeRecrafted
C_TradeSkillUI.SetCraftingOrderFavorite
C_TradeSkillUI.SetTooltipRecipeResultItem
C_TradeSkillUI.StartCraftingOrder
ContainerIDToInventoryID
ContainerRefundItemPurchase
CursorCanGoInSlot
GetBackpackAutosortDisabled
GetBagName
GetBankAutosortDisabled
GetContainerFreeSlots
GetContainerItemCooldown
GetContainerItemDurability
GetContainerItemEquipmentSetInfo
GetContainerItemID
GetContainerItemInfo
GetContainerItemLink
GetContainerItemPurchaseCurrency
GetContainerItemPurchaseInfo
GetContainerItemPurchaseItem
GetContainerItemQuestInfo
GetContainerNumFreeSlots
GetContainerNumSlots
GetInsertItemsLeftToRight
GetMaxArenaCurrency
GetSortBagsRightToLeft
IsBattlePayItem
IsContainerFiltered
IsContainerItemAnUpgrade
IsInventoryItemAnUpgrade
PickupContainerItem
PlayerHasHearthstone
SetBackpackAutosortDisabled
SetBagPortraitTexture
SetBankAutosortDisabled
SetInsertItemsLeftToRight
SetItemSearch
SetSortBagsRightToLeft
ShowContainerSellCursor
SocketContainerItem
SortBags
SortBankBags
SortReagentBankBags
SplitContainerItem
UseContainerItem
UseHearthstone
C_ProfSpecs.GetPerksForPath
  + ret 1: perkInfos
  - ret 1: perkIDs
C_QuestLog.GetBountySetInfoForMapID
  + ret 4: isActivitySet
C_TradeSkillUI.CraftRecipe
  + arg 5: orderID
C_TradeSkillUI.GetHideUnownedFlags
  + ret 2: alwaysShowUnowned
  - ret 2: alwaysHideUnowned
C_TradeSkillUI.GetOriginalCraftRecipeID
  + ret 2: skillLineAbilityID
C_TradeSkillUI.GetReagentSlotStatus
  + arg 3: skillLineAbilityID
C_TradeSkillUI.GetRecipeOutputItemData
  + arg 4: overrideQualityID
C_TradeSkillUI.GetRecraftItems
  # arg 1: recipeID, Nilable: false -> true

Widgets

Added (7) Removed (100)
FogOfWarFrame:OnTooltipAddMoney
FogOfWarFrame:OnTooltipSetAchievement
GameTooltip:OnTooltipSetEquipmentSet
GameTooltip:OnTooltipSetItem
GameTooltip:OnTooltipSetQuest
GameTooltip:OnTooltipSetSpell
GameTooltip:OnTooltipSetUnit
GameTooltip:AddSpellByID
GameTooltip:AddTraitEntry
GameTooltip:AdvanceSecondaryCompareItem
GameTooltip:GetAzeritePowerID
GameTooltip:GetItem
GameTooltip:GetSpell
GameTooltip:GetUnit
GameTooltip:IsEquippedItem
GameTooltip:IsUnit
GameTooltip:ResetSecondaryCompareItem
GameTooltip:SetAchievementByID
GameTooltip:SetAction
GameTooltip:SetArtifactItem
GameTooltip:SetArtifactPowerByID
GameTooltip:SetAzeriteEssence
GameTooltip:SetAzeriteEssenceSlot
GameTooltip:SetAzeritePower
GameTooltip:SetBackpackToken
GameTooltip:SetBagItem
GameTooltip:SetBagItemChild
GameTooltip:SetBuybackItem
GameTooltip:SetCompanionPet
GameTooltip:SetCompareAzeritePower
GameTooltip:SetCompareItem
GameTooltip:SetConduit
GameTooltip:SetCurrencyByID
GameTooltip:SetCurrencyToken
GameTooltip:SetCurrencyTokenByID
GameTooltip:SetEnhancedConduit
GameTooltip:SetEquipmentSet
GameTooltip:SetExistingSocketGem
GameTooltip:SetGuildBankItem
GameTooltip:SetHeirloomByItemID
GameTooltip:SetHyperlink
GameTooltip:SetInboxItem
GameTooltip:SetInstanceLockEncountersComplete
GameTooltip:SetInventoryItem
GameTooltip:SetInventoryItemByID
GameTooltip:SetItemByGUID
GameTooltip:SetItemByID
GameTooltip:SetItemByIDWithQuality
GameTooltip:SetItemKey
GameTooltip:SetLFGDungeonReward
GameTooltip:SetLFGDungeonShortageReward
GameTooltip:SetLootCurrency
GameTooltip:SetLootItem
GameTooltip:SetLootRollItem
GameTooltip:SetMerchantCostItem
GameTooltip:SetMerchantItem
GameTooltip:SetMountBySpellID
GameTooltip:SetOwnedItemByID
GameTooltip:SetPetAction
GameTooltip:SetPossession
GameTooltip:SetPvpBrawl
GameTooltip:SetPvpTalent
GameTooltip:SetQualityReagentSlotItemByID
GameTooltip:SetQuestCurrency
GameTooltip:SetQuestItem
GameTooltip:SetQuestLogCurrency
GameTooltip:SetQuestLogItem
GameTooltip:SetQuestLogRewardSpell
GameTooltip:SetQuestLogSpecialItem
GameTooltip:SetQuestPartyProgress
GameTooltip:SetQuestRewardSpell
GameTooltip:SetRecipeRankInfo
GameTooltip:SetRecipeReagentItem
GameTooltip:SetRuneforgeResultItem
GameTooltip:SetSendMailItem
GameTooltip:SetShapeshift
GameTooltip:SetSocketGem
GameTooltip:SetSocketedItem
GameTooltip:SetSocketedRelic
GameTooltip:SetSpecialPvpBrawl
GameTooltip:SetSpellBookItem
GameTooltip:SetSpellByID
GameTooltip:SetTalent
GameTooltip:SetTotem
GameTooltip:SetToyByItemID
GameTooltip:SetTradePlayerItem
GameTooltip:SetTradeTargetItem
GameTooltip:SetTrainerService
GameTooltip:SetTransmogrifyItem
GameTooltip:SetUnit
GameTooltip:SetUnitAura
GameTooltip:SetUnitBuff
GameTooltip:SetUnitBuffByAuraInstanceID
GameTooltip:SetUnitDebuff
GameTooltip:SetUnitDebuffByAuraInstanceID
GameTooltip:SetUpgradeItem
GameTooltip:SetVoidDepositItem
GameTooltip:SetVoidItem
GameTooltip:SetVoidWithdrawalItem
GameTooltip:SetWeeklyReward

Events

Added (23) Removed (0)
PROFESSION_EQUIPMENT_CHANGED
  + 2: isTool
PVP_ROLE_POPUP_HIDE
  + 1: readyCheckInfo
  - 1: roleQueueInfo
PVP_ROLE_POPUP_SHOW
  + 1: readyCheckInfo
  - 1: roleQueueInfo
UPDATE_TRADESKILL_CAST_COMPLETE
  + 1: isScrapping

CVars

Added (7) Removed (1)
EJSelectedTierEJSelectedTier (Game)
Default: 0, Scope: Character
Stores the last manually selected journal tier in the encounter journal
interactKeyWarningTutorialinteractKeyWarningTutorial (Game)
Default: 0
Has the player seen the interact key warning tutorial since they have logged in
professionAccessorySlotsExampleShownprofessionAccessorySlotsExampleShown (Game)
Default: 0, Scope: Character
If the profession gear slots example has been shown
professionToolSlotsExampleShownprofessionToolSlotsExampleShown (Game)
Default: 0, Scope: Character
If the profession gear slots example has been shown
softTargetInteractionTutorialTotalInteractionssoftTargetInteractionTutorialTotalInteractions (Game)
Default: 0
total interactions that the player has used in soft targetting
unlockedExpansionLandingPagesunlockedExpansionLandingPages (Game)
Scope: Character
Bitfield for which expansion landing pages have been unlocked/seen by the user
unlockedMajorFactionsunlockedMajorFactions (Game)
Scope: Character
Internal cvar for tracking unlocked Major Factions. Used to play a toast when a new faction has been unlocked.
professionGearSlotsExampleShown

Enums

Enum.BattlePetSpeciesFlags
  + 17: NoWildPetAddsAllowed
Enum.BattlepetDbFlags
  + 11: AcquiredViaLicense
Enum.CurrencyDestroyReason
  + 12: FulfillCraftingOrder
Enum.CurrencySource
  + 57: CraftingOrder
  + 58: CatalystBalancing
  + 59: CatalystCraft
  + 60: ProfessionInitialAward
  + 61: PlayerTraitRefund
Enum.GraphicsValidationResult
  + 30: LegacyUnsupported
  + 31: Dx11Unsupported
  + 33: RemoteDesktopUnsupported
Enum.NavigationState
  + 4: Disabled
Enum.ProfTraitPerkNodeFlags
  + 2: IsMajorBonus
Enum.UIItemInteractionFlags
  + 5: AddCurrency
  + 6: UsesCharges
Enum.UIWidgetTextSizeType
  + 1: Small12Pt
  + 2: Medium16Pt
  + 3: Large24Pt
  + 4: Huge27Pt
  + 5: Standard14Pt
  + 6: Small10Pt
  + 7: Small11Pt
  + 8: Medium18Pt
  + 9: Large20Pt
  - 1: Small
  - 2: Medium
  - 3: Large
  - 4: Huge
  - 5: Standard
Enum.UIWidgetVisualizationType
 + 26: TextWithSubtext

Structures

AreaPOIInfo (C_AreaPoiInfo.GetAreaPOIInfo)
  + 10: factionID
  + 11: isPrimaryMapForPOI
  + 12: isAlwaysOnFlightmap
CharCustomizationChoice (C_BarberShop.GetAvailableCustomizations)
  + 7: isLocked
  + 8: lockedText
  - 7: showLocked
  - 8: lockedTooltip
CraftingCurrencyResultData (TRADE_SKILL_CURRENCY_REWARD_RESULT)
  + 3: operationID
  + 4: firstCraftReward
  + 5: showCurrencyText
  - 3: associatedItemGUID
CraftingItemResultData (TRADE_SKILL_ITEM_CRAFTED_RESULT)
  + 12: operationID
  + 13: firstCraftReward
  - 12: associatedItemGUID
CraftingOperationInfo (C_TradeSkillUI.GetCraftingOperationInfo)
  + 13: guaranteedCraftingQualityID
CraftingOrderCustomerOptionInfo (C_CraftingOrders.GetCustomerOptions)
  + 9: qualityIlvlBonuses
  + 10: craftingQualityIDs
  # 13: level, Nilable: false -> true
CraftingReagentSlotSchematic (C_TradeSkillUI.GetRecipeSchematic)
  + 8: orderSource
EncounterJournalItemInfo (C_EncounterJournal.GetLootInfo)
  + 13: displayAsVeryRare
  + 14: displayAsExtremelyRare
ItemInteractionFrameInfo (C_ItemInteraction.GetItemInteractionInfo)
  + 12: slotTooltip
MajorFactionData (C_MajorFactions.GetMajorFactionData)
  + 6: unlockDescription
  + 7: unlockOrder
QuestInfo (C_QuestLog.GetInfo)
  + 10: useMinimalHeader
TextureAndTextRowVisualizationInfo (C_UIWidgetManager.GetTextureAndTextRowVisualizationInfo)
  # 3: textSizeType, Type: UIWidgetTextSizeType -> UIWidgetTextureAndTextSizeType
TradeSkillRecipeInfo (C_TradeSkillUI.GetRecipeInfo)
  + 18: skillLineAbilityID
TraitDefinitionInfo (C_Traits.GetDefinitionInfo)
  + 7: subType