ESO UI API Patch Notes (Version 100008)
These patch notes highlight the larger changes to the ESO API for Update 3, which is currently on the PTS. For the full, updated API take a look at the newest version of the ESO UI documentation.
Items
We added several new functions for querying item information using an item link as the argument. This API provides a general way to fetch item properties, regardless of the system that owns the item. It also reveals more information about items that were part of systems that didn’t have dedicated query functions for all of their properties. Many systems already return item links such as crafting, trading house, inventory, etc.
Added Item Link API
- GetItemLinkName
- GetItemLinkItemType
- GetItemLinkArmorType
- GetItemLinkWeaponType
- GetItemLinkWeaponPower
- GetItemLinkArmorRating(string itemLink, bool considerCondition)
- If considerCondition is true, the result value is scaled down based on how damaged the armor is.
- GetItemLinkRequiredLevel
- GetItemLinkRequiredVeteranRank
- GetItemLinkValue(string itemLink, bool considerCondition)
- If considerCondition is true, the result value is scaled down based on how damaged the armor is.
- GetItemLinkCondition
- Return value is a percentage from 0% - 100%.
- DoesItemLinkHaveArmorDecay
- GetItemLinkMaxEnchantCharges
- GetItemLinkNumEnchantCharges
- DoesItemLinkHaveEnchantCharges
- GetItemLinkEnchantInfo
- GetItemLinkOnUseAbilityInfo
- GetItemLinkTraitInfo
- GetItemLinkSetInfo
- GetItemLinkSetBonusInfo
- GetItemLinkFlavorText
- IsItemLinkCrafted
- IsItemLinkVendorTrash
- GetItemLinkSiegeMaxHP
- Returns the max HP of the siege created by this item.
- GetItemLinkQuality
- GetItemLinkSiegeType
- IsItemLinkUnique
- IsItemLinkUniqueEquipped
- GetItemLinkEquipType
- IsItemLinkConsumable
- GetItemLinkCraftingSkillType
- IsItemLinkEnchantingRune
- GetItemLinkEnchantingRuneClassification
- IsItemLinkBound
- GetItemLinkBindType
- GetItemLinkGlyphMinMaxLevels
- GetItemLinkBookTitle
- IsItemLinkBookKnown
We also added some new functions that take the bagId and slotIndex of an item as arguments.
Added Item API
- GetItemRequiredLevel
- GetItemRequiredVeteranRank
- GetItemCreatorName
- GetItemArmorType
- GetItemWeaponType
- GetItemUniqueId
- Returns a 64 bit value that uniquely identifies that particular item. To compare these 64 bit values use AreId64sEqual or CompareId64s. Relational operators are not guaranteed to work in all cases.
Gamepad
We are in the early stages of adding PC support for gamepad input. Several functions for querying trigger, stick, and button states will appear in the documentation, but these functions have not yet been enabled.
Bags
We modified the bag API to remove some deprecated information and add more information about free and used slots.
Added Bag API
- GetBagSize(Bag bagId)
- GetNumBagUsedSlots(Bag bagId)
- GetNumBagFreeSlots(Bag bagId)
Removed Bag API
- GetBagInfo(Bag bagId)
- This function has been replaced with GetBagSize because the icon return value was no longer valid.
Guild Rank Icons
Guild rank icons were previously static textures assigned to each rank, but now players can select from a range of icons when creating or editing a rank. These new API functions reflect this change. You can query the icon index for a guild rank using GetGuildRankIconIndex and then query texture paths using the index as an argument with the other functions. Existing helper functions such as GetFinalGuildRankTextureLarge will continue to work. Functions that used to map from a rank to a hard coded texture path such as GetDefaultGuildRankTextureLarge no longer exist.
Added New Guild Rank Icon API
- GetGuildRankIconIndex
- GetNumGuildRankIcons
- GetGuildRankSmallIcon
- GetGuildRankLargeIcon
- GetGuildRankListHighlightIcon
- GetGuildRankListUpIcon
- GetGuildRankListDownIcon
- Removed Old Guild Rank Icon API
- GetDefaultGuildRankTextureListUp
- GetDefaultGuildRankTextureListDown
- GetDefaultGuildRankHighlight
- GetDefaultGuildRankTextureLarge
- GetDefaultGuildRankTextureSmall
Guild Kiosk (Trader)
New functions and events were added to support guild kiosks. These functions (except for GetKioskPurchaseCost and GetGuildOwnedKioskInfo) will only return results while the player is interacting with a guild kiosk.
Added Guild Kiosk API
- GetKioskBidWindowSecondsRemaining
- GetKioskGuildInfo
- Returns information about the guild you are inquiring on behalf of.
- GuildKioskBid
- GuildKioskPurchase
- GetGuildOwnedKioskInfo
- Returns the name of the kiosk that the guild owns.
- GetKioskPurchaseCost
- Returns the cost to purchase an unclaimed guild kiosk.
Added Guild Kiosk Events
- EVENT_GUILD_KIOSK_CONSIDER_BID_START
- EVENT_GUILD_KIOSK_CONSIDER_BID_STOP
- EVENT_GUILD_KIOSK_CONSIDER_PURCHASE_START
- EVENT_GUILD_KIOSK_CONSIDER_PURCHASE_STOP
- EVENT_GUILD_KIOSK_ERROR
Guild Bank
We added new API for managing the guild bank. These functions are only usable when the player is connected to a specific guild bank.
Added Guild Bank API
- GetGuildBankedMoney
- DepositMoneyIntoGuildBank
- WithdrawMoneyFromGuildBank
Heraldry
We also added functions for managing guild heraldry. These functions join the heraldry functions from last patch.
Added Heraldry API
- IsCreatingHeraldryForFirstTime
- RevertToSavedHeraldry
- GetNumHeraldryItems
- GetHeraldryItemInfo
- BuyHeraldryItem
- GetHeraldryItemLink
- GetHeraldryGuildBankedMoney
Newly Functional Heraldry API
- ApplyPendingHeraldryChanges
- IsPlayerAllowedToEditHeraldry
- IsCurrentlyCustomizingHeraldry
- GetHeraldryCustomizationCosts
- HasPendingHeraldryChanges
- GetPendingHeraldryCost
- SetPendingHeraldryIndices
- GetPendingHeraldryIndices
- GetNumHeraldryColors
- GetHeraldryColorInfo
- GetNumHeraldryBackgroundCategories
- GetHeraldryBackgroundCategoryInfo
- GetNumHeraldryBackgroundStyles
- GetHeraldryBackgroundStyleInfo
- GetNumHeraldryCrestCategories
- GetHeraldryCrestCategoryInfo
- GetNumHeraldryCrestStyles
- GetHeraldryCrestStyleInfo
- StartHeraldryCustomization
- EndHeraldryCustomization
Abilities
We added several new functions for querying ability information. These functions use an abilityId as the argument. In this patch, abilityIds are only returned by GetAbilityIdByIndex, but more sources of abilityIds will be added in coming patches.
Added AbilityId API
- GetAbilityIdByIndex(luaindex abilityIndex)
- Returns an abilityId (integer) to be used in the following API calls.
- DoesAbilityExist
- GetAbilityName
- IsAbilityPassive
- GetAbilityCastInfo
- Returns if the ability is channeled or casted, its channel time, and its cast time.
- GetAbilityTargetDescription
- Returns a textual description of how the ability is targeted (self, group, cone, etc).
- GetAbilityRange
- GetAbilityRadius
- GetAbilityAngleDistance
- GetAbilityCost
- GetAbilityDescription
- Returns a textual description of what the ability does.
- GetAbilityUpgradeLines
- Returns information about how the ability upgrades when the player morphs an existing ability into this new one. The function returns a set of three strings for each upgrade line. The strings are: a label for what is changing (for example, cooldown), the old value (for example, 10 seconds), and the new value (for example, 5 seconds).
- GetAbilityNewEffectLines
- Returns information about how the ability changes when the player morphs an existing ability into this new one. New effects are described with a single string.
We also added new functions to query ability progression by abilityId.
Added Ability Progression API
- GetAbilityProgressionRankFromAbilityId
- GetAbilityProgressionXPInfoFromAbilityId
Miscellaneous FunctionsAdded Functions
- CanJumpToGroupMember(string unitTag)
- Returns true if the game client believes the local player can teleport to the group member in question. This function may return true even if a jump isn't possible due to the limits of the client's knowledge.
- IsGroupMemberInRemoteRegion(string unitTag)
- Returns true if the group member is not in the same zone as the local player. This includes being in a different instance of the same zone as well as being in a different zone.
- GetGamepadIconPathForKeyCode
- GetMouseIconPathForKeyCode
- IsPlayerTryingToMove
- GetMaxTraits
- Returns the maximum number of traits that could be on an item.
- GetCurrentTradingHouseGuildDetails
- AnimationTimeline:SetPlaybackLoopsRemaining
- LabelControl:SetDesaturation
- TooltipControl:SetHeraldryItem
- WindowManager:GetOverscanOffsets
- WindowManager:SetOverscanOffsets
- This function allows you to adjust the size of the GUI root control.
- WindowManager:SetMouseFocusByName
Changed Functions
- GetGuildEventInfo now returns six parameters describing the history event instead of five.
- GetGameCameraInteractableActionInfo now returns an additional value which is a contextual link. This is used to return the name of the key when the additional info type is ADDITIONAL_INTERACT_INFO_REQUIRES_KEY.
Removed Functions
- GetShortAllianceName
- All short name functions and short strings were removed from localization. This also impacts ItemFilterType and KeyCode short names.
Enumerations
- Added BIND_TYPE Enumeration
- Returned by GetItemLinkBindType.
- Values for all enumerations are listed in the full API documentation. Search for the enumeration prefix (for example, BIND_TYPE).
- Added CAMPAIGN_LEVEL_REQ Enumeration
- New Value for POWERTYPE Enumeration
- Added ENCHANTMENT_CATEGORY Enumeration
- Intended for future trading house functionality. Not presently usable.
- Added ENCHANTMENT_SEARCH_CATEGORY Enumeration
- Intended for future trading house functionality. Not presently usable.
- New Value for ADDITIONAL_INTERACT_INFO Enumeration
- ADDITIONAL_INTERACT_INFO_REQUIRES_KEY
- Returned by GetGameCameraInteractableActionInfo.
- Added GAMEPAD_SETTING Enumeration
- Added GAMEPAD_TOOLTIP_COLOR Enumeration
- New Value for GUILD_PERMISSION Enumeration
- GUILD_PERMISSION_BANK_WITHDRAW_GOLD
- Added INSTANCE_DISPLAY_TYPE Enumeration
- Returned by GetGameCameraInteractableActionInfo as the context when the additional info type is ADDITIONAL_INTERACT_INFO_INSTANCE_TYPE.
- New Values for ITEM_SOUND_CATEGORY
- Many new values. See the full documentation.
- Returned by item sound query functions such as GetSlotItemSound and GetItemSoundCategoryFromLink.
- Added SIEGE_TYPE Enumeration
- Retuned by GetItemLinkSiegeType.
- New Values for TUTORIAL_TRIGGER_ENUMERATION
- Many new values. See the full documentation.
- New Value for CAMPAIGN_REASSIGN_ERROR Enumeration
- CAMPAIGN_REASSIGN_ERROR_LEVEL_REQUIREMENT_NOT_MET
- New Values for GUILD_KIOSK Enumeration
- GUILD_KIOSK_GUILD_OWNS_OTHER_KIOSK
- GUILD_KIOSK_GUILD_TOO_SMALL
- New Value for GUILD_PRIVILEGE Enumeration
- New Values for KEY Enumeration
- Added values for gamepad keys. These begin with KEY_GAMEPAD_*, but are not currently generated.
- Many new values. See the full documentation.
- Added TRANSLATE_ANIMATION_DELTA_TYPE Enumeration
- Used with the translate animation’s SetTranslateDeltas, SetDeltaOffsetX, and SetDeltaOffsetY