Maintenance for the week of March 25:
• [COMPLETE] ESO Store and Account System for maintenance – March 28, 9:00AM EDT (13:00 UTC) - 12:00PM EDT (16:00 UTC)

Update 6 API Patch Notes & Change Log (PTS)

ZOS_JasonLeavey
ZOS_JasonLeavey
✭✭✭✭✭
ESO UI API Patch Notes (Version 100011)
These patch notes highlight the larger changes to the ESO API. For the full, updated API take a look at the newest version of the ESO UI documentation.

Constants in XML
Numerical attributes in XML can now be populated using Lua globals.
For example:
TEXTURE_SIZE = 100
<Texture name=”TextureTemplate1” virtual=”true”>
<Dimensions x=” TEXTURE_SIZE” y=” TEXTURE_SIZE”/>
</Texture>

You may also use a negative sign to invert constants.

ApplyTemplateToControl
Templates can now be applied to existing controls using the ApplyTemplateToControl function. Calling this function will set the properties of the control (and its children if the template specifies children) to the template’s values. This can be used for switching the look of a single control chain without having to call a long list of Lua functions to do so.

For example:

ApplyTemplateToControl(textureControl1, “TextureTemplate1”)

Override
A new attribute has been added to the GUI XML named “override.” It allows you to override attributes of inherited children by declaring the child controls again, setting override to true, and setting attributes. This allows for customization of virtual templates without having to use Lua to make changes to the children.
For example:
<Control name=”VirtualFrame” virtual=”true”>
<Controls>
<Texture name=”$(parent)Icon” textureFile=”test.dds” blendMode=”ADD”>
<Dimensions x =”32” y=”32”/>
</Texture>
</Controls>
</Control>
<Control name=”Frame” inherits=”VirtualFrame”>
<Controls>
<Texture name=”$(parent)Icon” override=”true” blendMode=”COLOR_DODGE”/>
</Control>
</Control>
If override is not set to true, the above will generate a duplicate control error for the icon texture.

GUI Canvas
The minimum GUI Canvas is now 1920 x 1080. This is a slightly wider aspect ratio than the previous 1680 x 1050.


SetShouldRenderWorld
Added a new function that lets you disable world rendering. Useful for full screen UIs with intensive processing.

Secure Render Mode
While the Crown Store is showing, only secure controls will render and receive input. A control is secure if it was created by the stock ESO UI and has not been modified by add-on code in a way that creates a security violation. The only current security violation is calling SetText from insecure code. A security violation is cleared when secure code executes the function that created the violation. For example, calling SetText on a tutorial that is shown for the Crown Store will cause it to not render the tutorial text until it is set from secure code again. Once again, these rules only apply while the Crown Store is open. To check if the game is in secure render mode use WINDOW_MANAGER: IsSecureRenderModeEnabled() or register for EVENT_SECURE_RENDER_MODE_CHANGED.

New Systems
The collectibles, justice, and champion systems were added this patch and their APIs are now functional.

Collectibles
Functions
  • GetNumCollectibleCategories
  • GetCollectibleCategoryInfo
  • GetCollectibleSubCategoryInfo
  • GetUnlockedCollectiblesCount
  • GetTotalCollectiblesCount
  • GetCollectibleId
  • GetCollectibleInfo
  • GetCategoryInfoFromCollectibleId
  • GetTotalCollectiblesByCategoryType
  • GetCollectibleIdFromType
  • IsCollectibleCategorySlottable
  • IsCollectibleSlottable
  • IsCollectibleRenameable
  • UseCollectible
  • GetCollectibleLink
  • StartCollectibleSearch
  • GetCollectiblesSearchResults
  • IsValidCollectibleName
  • RenameCollectible
  • GetCollectibleNickname
  • GetCollectibleCurrentActionBarSlot
  • PickupCollectible
  • SelectSlotCollectible
  • GetStoreCollectibleInfo
Enumerations
  • COLLECTIBLE_CATEGORY_TYPE
  • COLLECTIBLE_ITEM_TYPE
  • COLLECTIBLE_UNLOCK_STATE
Events
  • EVENT_COLLECTIBLES_SEARCH_RESULTS_READY
  • EVENT_COLLECTIBLE_RENAME_ERROR
  • EVENT_COLLECTION_UPDATED
Justice
Functions
  • IsUnitJusticeGuard
  • IsUnitInvulnerableGuard
  • GetItemLaunderPrice
  • IsItemLinkStolen
  • AreAnyItemsStolen
  • LaunderItem
  • GetLootItemInfo – Added isStolen return.
  • IsJusticeEnabledForZone
  • IsJusticeEnabled
  • IsKillOnSight
  • GetInfamy
  • GetBounty
  • GetPlayerInfamyData
  • GetBountyPayoffAmount
  • GetInfamyLevel
  • GetInfamyMeterSize
  • GetFenceSellTransactionInfo
  • GetFenceLaunderTransactionInfo
Enumerations
  • INFAMY_THRESHOLD
  • JUSTICE_SKILL
  • PICKPOCKET_DIFFICULTY
  • ITEM_LAUNDER_RESULT
Events
  • EVENT_JUSTICE_BOUNTY_PAYOFF_AMOUNT_UPDATED
  • EVENT_JUSTICE_FENCE_UPDATE
  • EVENT_JUSTICE_GOLD_PICKPOCKETED
  • EVENT_JUSTICE_GOLD_REMOVED
  • EVENT_JUSTICE_INFAMY_UPDATED
  • EVENT_JUSTICE_ITEM_PICKPOCKETED
  • EVENT_JUSTICE_NOW_KOS
  • EVENT_JUSTICE_NO_LONGER_KOS
  • EVENT_JUSTICE_PICKPOCKET_FAILED
  • EVENT_JUSTICE_STOLEN_ITEMS_REMOVED
Champion
Functions
  • GetPlayerChampionXP
  • GetPlayerChampionPointsEarned
  • GetEnlightenedMultiplier
  • GetEnlightenedPool
  • IsEnlightenedAvailableForAccount
  • IsEnlightenedAvailableForCharacter
  • GetChampionXPInRank
  • GetNumChampionDisciplines
  • GetChampionDisciplineName
  • GetChampionDisciplineDescription
  • GetChampionDisciplineAttribute
  • GetNumChampionDisciplineSkills
  • GetChampionSkillPosition
  • GetChampionSkillName
  • GetMaxPossiblePointsInChampionSkill
  • GetNumPointsSpentOnChampionSkill
  • GetNumPointsSpentInChampionDiscipline
  • GetChampionSkillUnlockLevel
  • GetNumUnspentChampionPoints
  • ClearPendingChampionPoints
  • AddPendingChampionPoints
  • SpendPendingChampionPoints
  • SetChampionMusicActive
  • GetChampionAbilityDescription
  • GetChampionAbilityId
  • GetChampionRespecCost
  • GetChampionPointAttributeForRank
  • IsChampionSystemUnlocked

Enumerations
  • CHAMPION_PURCHASE
Events
  • EVENT_CHAMPION_POINT_GAINED
  • EVENT_CHAMPION_PURCHASE_RESULT
  • EVENT_CHAMPION_SYSTEM_UNLOCKED
  • EVENT_UNSPENT_CHAMPION_POINTS_CHANGED

Mounts
The mounts API has been reworked to match the new mount system. It now centers around mount collectibles/skins and shared riding skills. This also impacts the global Lua stables manager.
Functions

Added
  • HasMountSkin
  • GetMountSkinId
  • GetRidingStats
  • GetMaxRidingTraining
  • GetTimeUntilCanBeTrained
  • GetTrainingCost
  • TrainRiding

Removed
  • GetMaxMountLevel
  • GetNumStableSlots
  • GetMaxStableSlots
  • BuyStableSlot
  • GetNextStableSlotCost
  • CanBuyStableSlotUpgrade
  • IsStableSlotEmpty
  • SetActiveMount
  • SellMount
  • GetStableSlotInfo
  • GetStableSlotMountStats
  • GetTimeUntilMountCanBeFed
  • GetNumMountFeedOptions
  • GetMountFeedOptionInfo
  • FeedMount
  • IsValidMountName
  • RenameMount – Handled by collectible renaming.
  • GetStoreMountInfo

•Enumerations
Removed
  • STORE_ENTRY_TYPE_MOUNT
•Events
[*] Added
  • EVENT_ACTIVE_MOUNT_CHANGED
  • EVENT_MOUNT_INFO_UPDATED
Removed
  • EVENT_MOUNTS_FULL_UPDATE
  • EVENT_MOUNT_ADDED_TO_STABLE
  • EVENT_MOUNT_UPDATE
  • EVENT_STABLE_FULL
•Globals
Removed
  • ACTIVE_MOUNT_INDEX

Raid Scoring
Raid scoring is now point based instead of time based.
• Functions
Added
  • GetCurrentRaidScore
o Removed
  • GetCurrentRaidTime
o Changed
  • GetRaidLeaderboardLocalPlayerInfo – returns best score instead of best time.
• Enumerations
o Added
[*]
    RAID_POINT_REASON[/*]
• Events
o Added
  • EVENT_RAID_TRIAL_NEW_BEST_SCORE
  • EVENT_RAID_TRIAL_SCORE_UPDATE
o Removed
  • EVENT_RAID_TRIAL_NEW_BEST_TIME
o Changed
  • EVENT_RAID_TRIAL_COMPLETE, EVENT_RAID_TRIAL_FAILED – Now report best score and total time. Removed penalty time.

Completed Quest API
Added an API for querying information on quests that the player has completed.
• Functions
o Added
  •  GetNextCompletedQuestId
  •  GetCompletedQuestInfo
  •  GetCompletedQuestLocationInfo

Miscellaneous Functions
• Added
  • GetAPIVersion
  • GetCriticalStrikeChance
  • GetAbilityEffectDescription
  • CanInteractWithItem
  • IsItemLinkStackable
  • GetItemLinkStacks
  • GetMapNameByIndex
  • GetZoneDescription
  • IsInAvAZone
  • IsAchievementComplete
Jason Leavey
Community Coordinator - The Elder Scrolls Online: Tamriel Unlimited
Facebook | Twitter | Google+ | Tumblr | Instagram | YouTube
Staff Post
  • ArconSeptim
    ArconSeptim
    ✭✭✭✭
    Awesome!
  • Elsonso
    Elsonso
    ✭✭✭✭✭
    ✭✭✭✭✭
    Thanks!
    PC NA/EU: @Elsonso
    XBox EU/NA: @ElsonsoJannus
    X/Twitter: ElsonsoJannus
  • Randactyl
    Randactyl
    ✭✭✭
    Nice, thanks for getting this out :)
    Randactyl | NA Megaserver | Blood for the Pact! | Sun's Death, Chrysamere Pact

    My Addons
    Beta Addons
    Check out my GitHub repos to follow my latest changes and see some addons before they are released.
  • d.droeschelb16_ESO
    Thanks! ;) We need more of these posts! ;)
  • ZOS_ChipHilseberg
    ZOS_ChipHilseberg
    ✭✭✭
    Additional Note:
    The link format was update in 1.6. There is now a new bit for stolen in the 3rd from the last position. Enchant Charges/Condition and instance data were pushed down to accommodate it. So it is now: ...Stolen:Enchant Charges/Condition:Instance Data.
    Staff Post
  • helediron
    helediron
    ✭✭✭✭✭
    Could you please finally revert some of the API nerfs from end of beta? At least allow to show incoming damage type and source.
    Edited by helediron on January 31, 2015 8:58AM
    On hiatus. PC,EU,AD - crafting completionist - @helediron 900+ cp, @helestor 1000+ cp, @helestar 800+ cp, @helester 700+ cp - Dragonborn Z Suomikilta, Harrods, Master Crafter. - Blog - Crafthouse: all stations, all munduses, all dummies, open to everyone
  • Jayshua
    Jayshua
    ✭✭
    @ZOS_ChipHilseberg‌

    Any chance we could get added to the default API, the auto-stacking of items that have been traded from another player or taken from your mailbox? This seems like a typical addition / quality of life improvement that should have been in at launch?

    Thanks for you time!
    PC - NA - EP
    Jayshua / Imperial Warden
    Master Craftsman / 50 All Professions
  • d.droeschelb16_ESO
    GetBountyPayoffAmount() does not seem to work.
    function expected instead of nil ...

    Is there a way to get the current bountypayoff without using an event?
  • ZOS_JessicaFolsom
    ZOS_JessicaFolsom
    Community Manager
    GetBountyPayoffAmount() does not seem to work.
    function expected instead of nil ...

    Is there a way to get the current bountypayoff without using an event?

    This API has been replaced with GetFullBountyPayoffAmount and GetReducedBountyPayoffAmount. There is a newly updated version of the Update 6 API. 'Full' returns the bounty accrued, while 'Reduced' returns the bounty that must be paid (reduced by the Sly passive.)
    Jessica Folsom
    Lead Community Manager - ZeniMax Online Studios
    Facebook | Twitter | Twitch | Tumblr | Instagram | YouTube | Support
    Staff Post
  • Ayantir
    Ayantir
    ✭✭✭✭
    Hello ZOS,

    As I've updated whole documentation, it looks like you forget events for social and guild in your event listing.
    Could you please fix this for next update or provide us something ?

    For community information, Social and Guild Events we already know are (I've checked them, they shouldn't get changed) :
    * EVENT_GUILD_DATA_LOADED
    * EVENT_GUILD_DESCRIPTION_CHANGED (*integer* _guildId_)
    * EVENT_GUILD_HISTORY_CATEGORY_UPDATED (*integer* _guildId_, *integer* _category_)
    * EVENT_GUILD_HISTORY_RESPONSE_RECEIVED
    * EVENT_GUILD_KEEP_CLAIM_UPDATED (*integer* _guildId_)
    * EVENT_GUILD_MEMBER_ADDED (*integer* _guildId_, *string* _DisplayName_)
    * EVENT_GUILD_MEMBER_CHARACTER_LEVEL_CHANGED (*integer* _guildId_, *string* _DisplayName_, *string* _CharacterName_, *integer* _newLevel_)
    * EVENT_GUILD_MEMBER_CHARACTER_UPDATED (*integer* _guildId_, *string* _DisplayName_)
    * EVENT_GUILD_MEMBER_CHARACTER_VETERAN_RANK_CHANGED (*integer* _guildId_, *string* _DisplayName_, *string* _CharacterName_, *integer* _newVeteranRank_)
    * EVENT_GUILD_MEMBER_CHARACTER_ZONE_CHANGED (*integer* _guildId_, *string* _DisplayName_, *string* _CharacterName_, *string* _newZone_)
    * EVENT_GUILD_MEMBER_NOTE_CHANGED (*integer* _guildId_, *string* _DisplayName_, *string* _newNote_)
    * EVENT_GUILD_MEMBER_PLAYER_STATUS_CHANGED (*integer* _guildId_, *string* _DisplayName_, *integer* _oldStatus_, *integer* _newStatus_)
    * EVENT_GUILD_MEMBER_RANK_CHANGED (*integer* _guildId_, *string* _DisplayName_, *integer* _newRank_)
    * EVENT_GUILD_MEMBER_REMOVED (*integer* _guildId_, *string* _DisplayName_, *string* _CharacterName_)
    * EVENT_GUILD_MOTD_CHANGED (*integer* _guildId_)
    * EVENT_GUILD_RANK_CHANGED (*integer* _guildId_, *integer* _rankId_)
    * EVENT_GUILD_RANKS_CHANGED (*integer* _guildId_)
    * EVENT_GUILD_SELF_JOINED_GUILD (*integer* _guildId_, *string* _guildName_)
    * EVENT_GUILD_SELF_LEFT_GUILD (*integer* _guildId_, *string* _guildName_)
    * EVENT_SAVE_GUILD_RANKS_RESPONSE (*integer* _guildId_, *integer* _result_)


    * EVENT_FRIEND_ADDED
    * EVENT_FRIEND_CHARACTER_LEVEL_CHANGED (*string* _DisplayName_, *string* _CharacterName_, *integer* _newLevel_)
    * EVENT_FRIEND_CHARACTER_UPDATED (*string* _DisplayName_)
    * EVENT_FRIEND_CHARACTER_VETERAN_RANK_CHANGED (*string* _DisplayName_, *string* _CharacterName_, *integer* _newVeteranRank_)
    * EVENT_FRIEND_CHARACTER_ZONE_CHANGED (*string* _DisplayName_, *string* _CharacterName_, *string* _newZone_)
    * EVENT_FRIEND_NOTE_UPDATED (*string* _DisplayName_, *string* _newNote_)
    * EVENT_FRIEND_PLAYER_STATUS_CHANGED (*string* _DisplayName_, *string* _CharacterName_, *integer* _oldStatus_, *integer* _newStatus_)
    * EVENT_FRIEND_REMOVED (*string* _DisplayName_)
    * EVENT_IGNORE_ADDED (*string* _DisplayName_)
    * EVENT_IGNORE_NOTE_UPDATED (*string* _DisplayName_, *string* _newNote_)
    * EVENT_IGNORE_REMOVED (*string* _DisplayName_)
    * EVENT_SOCIAL_DATA_LOADED|/quote]



    Thank you.
    Edited by Ayantir on March 18, 2015 5:28PM
    Obsessive Compulsive Elder Scrolls addons Coder
    A Few millions downloads of ESO addons now.
    Master crafter on my main char since release. All tradeskills, recipes \o/, researchs (since long), 35 styles known
    My little french Guild: Cercle de l'Eveil
Sign In or Register to comment.