Maintenance for the week of September 16:
• PC/Mac: No maintenance – September 16
• PC/Mac: NA and EU megaservers for patch maintenance – September 17, 4:00AM EDT (8:00 UTC) - 9:00AM EDT (13:00 UTC)
• Xbox One: NA and EU megaservers for maintenance – September 17, 4:00AM EDT (8:00 UTC) - 9:00AM EDT (13:00 UTC)
• PlayStation®4: NA and EU megaservers for maintenance – September 17, 4:00AM EDT (8:00 UTC) - 9:00AM EDT (13:00 UTC)

Update 23 API Patch Notes & Change Log (PTS)

ZOS_GinaBruno
ZOS_GinaBruno
Community Manager
ESO UI API Patch Highlights (V100028)
A summary of important changes to the ESO UI API in this package.

Multi-Crafting
The crafting API has been modified to support performing multiple operations at one time. You may now make multiple items in a single craft, or deconstruct multiple items in a single deconstruct. The main change to the crafting API to allow this was adding a new parameter indicating the number of iterations to be performed.
  • CraftAlchemyItem(solventBagId, solventSlotIndex, reagent1BagId, reagent1SlotIndex, reagent2BagId, reagent2SlotIndex, reagent3BagId, reagent3SlotIndex, numIterations)
  • GetCostToCraftAlchemyItemsolventBagId, solventSlotIndex, numIterations) – cost.
  • GetAlchemyResultQuantity(solventBagId, solventSlotIndex, numIterations) – resultQuantity.
  • CraftProvisionerItem(recipeListIndex, recipeIndex, numIterations)
  • GetCostToCraftProvisionerItem(recipeListIndex, recipeIndex, numIterations)
  • GetRecipeResultQuantity(recipeListIndex, recipeIndex, numIterations) – quantity.
  • CraftEnchantingItem(potencyRuneBagId, potencyRuneSlotIndex, essenceRuneBagId, essenceRuneSlotIndex, aspectRuneBagId, aspectRuneSlotIndex, numIterations)
  • GetCostToCraftEnchantingItem(potencyRuneBagId, potencyRuneSlotIndex, essenceRuneBagId, essenceRuneSlotIndex, aspectRuneBagId, aspectRuneSlotIndex, numIterations)
  • CraftSmithingItem(patternIndex, materialIndex, materialQuantity, itemStyleId, traitIndex, useUniversalStyleItem, numIterations)
  • GetCostToCraftSmithingItem(patternIndex, materialIndex, materialQuantity, itemStyleId, traitIndex, useUniversalStyleItem, numIterations)
The amount of craft operations that can be performed is limited by many things including inventory space, material quantities, and the max operations that the server can handle in one operation. To check how many iterations of possible use the new max iterations functions:
  • GetMaxIterationsPossibleForAlchemyItem(solventBagId, solventSlotIndex, reagent1BagId, reagent1SlotIndex, reagent2BagId, reagent2SlotIndex, reagent3BagId, reagent3SlotIndex) -numIterations, limitReason.
  • GetMaxIterationsPossibleForRecipe(recipeListIndex, recipeIndex) - maxIterations, limitReason.
  • GetMaxIterationsPossibleForEnchantingItem(potencyRuneBagId, potencyRuneSlotIndex, essenceRuneBagId, essenceRuneSlotIndex, aspectRuneBagId, aspectRuneSlotIndex) - numIterations, limitReason.
  • GetMaxIterationsPossibleForSmithingItem(patternIndex, materialIndex, materialQuantity, itemStyleId, traitIndex, useUniversalStyleItem) - numIterations, limitReason.
Multi-deconstruction on the other hand is limited by the constants:
  • MAX_ITEM_SLOTS_PER_DECONSTRUCTION
  • MAX_ITERATIONS_PER_DECONSTRUCTION
Because deconstruction can now target multiple items, we have replaced the existing single system, single target functions with a function that can compile multiple deconstructs into one request:
  • PrepareDeconstructMessage()
  • AddItemToDeconstructMessage(bagId, slotIndex, quantity) – wasItemAdded.
  • SendDeconstructMessage() – wasMessageSent.

Multi-Bidding
A single guild may now bid on multiple guild traders during a bidding cycle. The amount allowed is configurable and can be queried with (presently 10):
  • GetMaxKioskBidsPerGuild() – maxBidsPerGuild.
Attempting to bid on more traders than that will return the result: GUILD_KIOSK_TOO_MANY_BIDS.

The GetKioskGuildInfo function has been changed to return the number of total bids that a guild has active so that you can check this state:
  • GetKioskGuildInfo(guildId) – bankedMoney, existingBidAmount, numTotalBids, queryResult.
New functions have also been added to query all outstanding bids for a guild. These functions only work for guilds that you have bid permissions in.
  • RequestGuildKioskActiveBids(guildId) – result.
  • GetNumGuildKioskActiveBids(guildId) – numBids.
  • GetGuildKioskActiveBidInfo(guildId, index) - timeSinceBidS, bidAmount, kioskName, bidderDisplayName.
When the results are returned, the following event will be fired:
  • EVENT_GUILD_KIOSK_ACTIVE_BIDS_RESPONSE (guildId, result)

Add On Dependency Versioning
You may now depend on an add on with a specific version or above. This allows you to depend on specific versions of libraries when a new piece of functionality was added. Just append “>=” followed by the integer version number to any entry in the dependencies or optional dependencies list. The add on dependency info function now also returns the minimum version and version of the dependency:
  • GetAddOnDependencyInfo(addOnIndex, addOnDependencyIndex) – name, exists, active, minVersion, version.
Also, the default add on window now displays for each failed dependency why it is not valid.

Miscellaneous
Guild trader NPC functions:
  • IsUnitGuildKiosk(unitTag) – isGuildKiosk.
  • GetUnitGuildKioskOwner(unitTag) – ownerGuildId.
Item link set functions:
  • GetItemLinkNumContainerSetIds(itemLink) – numSetIds.
  • GetItemLinkContainerSetInfo(itemLink, containerSetIndex) - hasSet, setName, numBonuses, numEquipped, maxEquipped, setId.
  • GetItemLinkContainerSetBonusInfo(itemLink, containerSetIndex, bonusIndex) - numRequired, bonusDescription.
Various:
  • GetESOFullVersionString() – versionString.
  • EVENT_GROUP_MEMBER_JOINED (memberCharacterName, memberDisplayName, isLocalPlayer) – Gained member display name and is local player.
Edited by ZOS_GinaBruno on July 9, 2019 3:07PM
Gina Bruno
Community Manager - The Elder Scrolls Online
Dev Tracker | Service Alerts | Facebook | Twitter
Staff Post
Sign In or Register to comment.