Quantcast Update 4.0 - ESOUI
Thread Tools Display Modes
04/16/18, 02:35 PM   #1
sirinsidiator
 
sirinsidiator's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 1,038
Update 4.0

The next version just hit the PTS, so here is an update thread for that.

New API Version: 100023

PTS Dev Guild
We always create a guild for all addon developers on the PTS, so we can test guild related things and more, ask for help with testing or just chat.
If you need an invite, ask here or over on our Gitter channel.

Links

I'll edit the OP with more useful information as you post it.
__________________
>siri.exe MyAddon
Does your addon work? [y/n] n
There is a typo in there.

Last edited by sirinsidiator : Yesterday at 10:07 AM.
  Reply With Quote
04/16/18, 08:10 PM   #2
Rhyono
AddOn Author - Click to view addons
Join Date: Sep 2016
Posts: 411
Welkynar and Dremora are unfinished motifs. I wonder if Pyandonean is intentionally crown store only.
  Reply With Quote
04/17/18, 08:26 AM   #3
ZOS_ChipHilseberg
ZOS Staff!
Premium Member
Yes this person is from ZeniMax!
Join Date: Oct 2014
Posts: 498
Most of you should already have Summerset access from the Morrowind PTS, but if any active addon author needs it they can message me.
  Reply With Quote
04/17/18, 11:31 AM   #4
Rhyono
AddOn Author - Click to view addons
Join Date: Sep 2016
Posts: 411
I was given Morrowind access, but maybe I'm doing it wrong for Summerset? When clicking the wayshrine it tells me to upgrade.
  Reply With Quote
04/18/18, 09:07 AM   #5
ZOS_ChipHilseberg
ZOS Staff!
Premium Member
Yes this person is from ZeniMax!
Join Date: Oct 2014
Posts: 498
Originally Posted by Rhyono View Post
I was given Morrowind access, but maybe I'm doing it wrong for Summerset? When clicking the wayshrine it tells me to upgrade.
There were some issues with access flags initially. Can you get in today?
  Reply With Quote
04/18/18, 12:39 PM   #6
ZOS_ChipHilseberg
ZOS Staff!
Premium Member
Yes this person is from ZeniMax!
Join Date: Oct 2014
Posts: 498
Here's the UI documentation.
Attached Files
File Type: txt ESOUIDocumentationP18 2.txt (632.4 KB, 89 views)
  Reply With Quote
04/18/18, 02:27 PM   #7
Weolo
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 72
Thanks for the file
  Reply With Quote
04/19/18, 09:01 AM   #8
Uesp
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 14
What's going on with the skills/ability data? Previously when you used the function GetSpecificSkillAbilityInfo() for an active/ultimate ability you would get 12 different ability IDs for all the morph/rank choices. Now, however, it seems it only returns 3 different ability IDs (one for each morph) and the same abilities for all 4 ranks of each morph. Further, it seems the previous rank 2-4 abilities no longer exist and some rank 1 abilities have new IDs.

I was hoping to find some new skill related functions in the API but I can't seem to find any. Is this an on-purpose change in the skill API or is there something buggy going on the current PTS?


This seems to affect a bunch of skill API functions (only checked a few):
  • GetSpecificSkillAbilityInfo() -- Only returns the same ability for all ranks of a morph.
  • GetAbilityProgressionAbilityId() -- Returns the same ability ID regardless of rank.
  • GetAbilityProgressionXPInfoFromAbilityId() -- Doesn't return the correct morph.
  • GetSpecificSkillAbilityKeysByAbilityId() -- Returns the correct morph but the incorrect rank (always 2).
__________________
Daveh -- Founder/Admin of UESP.net
  Reply With Quote
04/19/18, 10:18 AM   #9
Weolo
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 72
I am confused Uesp GetSpecificSkillAbilityInfo() only returns 2 values, not 12.
It seems to be defined the same was it is right now

OLD
Lua Code:
  1. GetSpecificSkillAbilityInfo(skillType, skillIndex, abilityIndex, morphChoice, rankIndex)
  2. Returns: abilityId, rankNeeded

NEW
Lua Code:
  1. GetSpecificSkillAbilityInfo(skillType, skillIndex, abilityIndex, morphChoice, rankIndex)
  2. Returns: abilityId, skillLineRankNeeded
  Reply With Quote
04/19/18, 10:56 AM   #10
Uesp
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 14
Originally Posted by Weolo View Post
I am confused Uesp GetSpecificSkillAbilityInfo() only returns 2 values, not 12.
It seems to be defined the same was it is right now

OLD
Lua Code:
  1. GetSpecificSkillAbilityInfo(skillType, skillIndex, abilityIndex, morphChoice, rankIndex)
  2. Returns: abilityId, rankNeeded

NEW
Lua Code:
  1. GetSpecificSkillAbilityInfo(skillType, skillIndex, abilityIndex, morphChoice, rankIndex)
  2. Returns: abilityId, skillLineRankNeeded
Sorry for the confusion...here's an explicit example comparing Live/PTS:

Live:
Code:
GetSpecificSkillAbilityInfo(1, 13, 2, 0, 0) = 26114, 1
GetSpecificSkillAbilityInfo(1, 13, 2, 0, 1) = 27179, 2
GetSpecificSkillAbilityInfo(1, 13, 2, 0, 2) = 27182, 3
GetSpecificSkillAbilityInfo(1, 13, 2, 0, 3) = 27186, 4
PTS:
Code:
GetSpecificSkillAbilityInfo(1, 13, 2, 0, 0) = 26114, 1
GetSpecificSkillAbilityInfo(1, 13, 2, 0, 1) = 26114, 2
GetSpecificSkillAbilityInfo(1, 13, 2, 0, 2) = 26114, 3
GetSpecificSkillAbilityInfo(1, 13, 2, 0, 3) = 26114, 4
On PTS abilities 27179, 27182, and 27186 do not exist. So either somethings buggy or they changed how the abilities level up from Rank 1-4.
__________________
Daveh -- Founder/Admin of UESP.net
  Reply With Quote
04/19/18, 12:22 PM   #11
calia1120
 
calia1120's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 53
Originally Posted by Weolo View Post
I am confused Uesp GetSpecificSkillAbilityInfo() only returns 2 values, not 12.
It seems to be defined the same was it is right now

OLD
Lua Code:
  1. GetSpecificSkillAbilityInfo(skillType, skillIndex, abilityIndex, morphChoice, rankIndex)
  2. Returns: abilityId, rankNeeded

NEW
Lua Code:
  1. GetSpecificSkillAbilityInfo(skillType, skillIndex, abilityIndex, morphChoice, rankIndex)
  2. Returns: abilityId, skillLineRankNeeded
Here's a comparision of 3.3 (left) to PTS (right) - couple things changed.
__________________
Calia | @Calia1120 | NA Server
GM, Iron Bank of Bravos | Council of Nirn | Elder Scrolls Alliance
My Addons
  Reply With Quote
04/19/18, 12:30 PM   #12
calia1120
 
calia1120's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 53
One more here: the 2nd reference to *luaindex:nilable* is now *integer*, some function and several params have changed. Orange text highlights the differences. Should have my comparision notes up shortly.

__________________
Calia | @Calia1120 | NA Server
GM, Iron Bank of Bravos | Council of Nirn | Elder Scrolls Alliance
My Addons
  Reply With Quote
04/19/18, 02:29 PM   #13
Uesp
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 14
Thanks for the API info although the changes seem minor and not related to the issue/confusion I'm having. I believe it just due to how different skill ranks work behind the scenes so it would only be relevant to a few mod authors that rely on specific ability IDs existing or abilities of different ranks having different IDs.

This is relevant to data mining for our skill browser which was messed up this update as it expected ability data in the same format/organization as previous updates.

Previously we could just do:

Code:
id01 = GetAbilityProgressionAbilityId(progressionIndex, 0, 1)
id02 = GetAbilityProgressionAbilityId(progressionIndex, 0, 2)
id03 = GetAbilityProgressionAbilityId(progressionIndex, 0, 3)
id04 = GetAbilityProgressionAbilityId(progressionIndex, 0, 4)
id11 = GetAbilityProgressionAbilityId(progressionIndex, 1, 1)
id12 = GetAbilityProgressionAbilityId(progressionIndex, 1, 2)
id13 = GetAbilityProgressionAbilityId(progressionIndex, 1, 3)
id14 = GetAbilityProgressionAbilityId(progressionIndex, 1, 4)
id21 = GetAbilityProgressionAbilityId(progressionIndex, 2, 1)
id22 = GetAbilityProgressionAbilityId(progressionIndex, 2, 2)
id23 = GetAbilityProgressionAbilityId(progressionIndex, 2, 3)
id24 = GetAbilityProgressionAbilityId(progressionIndex, 2, 4)
and then the various GetAbility...() functions to get all the ability data for all 12 morph+rank combinations along with morph/rank data. However, now the ability rank seems to be a hidden factor so its not possible to get the ability data (description, tooltip, skill coefficients, etc...) for anything except the characters current rank for all skills. Further meaning I can't mine live data as I would need all active/ultimate skills leveled to rank 4 in order to get the correct tooltip data. Can use PTS templates to get all rank 4 data at least and hope there's no difference between PTS and Live on release day.

I'll keep looking at the API and trying to figure out a better/easier way of getting the data for all ability ranks and will take any suggestions people have. Would also love a ZOS dev to chip in (wink-wink) on this change and whether I'm missing anything obvious.
__________________
Daveh -- Founder/Admin of UESP.net
  Reply With Quote
04/19/18, 03:38 PM   #14
Rhyono
AddOn Author - Click to view addons
Join Date: Sep 2016
Posts: 411
I'm pretty sure I don't have any addons messing with the inventory active, yet I get the tainted stack issue on all containers. Is anyone else having this issue and is this going to be taintgate 2?
  Reply With Quote
04/19/18, 03:55 PM   #15
calia1120
 
calia1120's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 53
Changenotes to 3.3 attached.
Attached Files
File Type: txt 2018-04-18_APIcompare.txt (47.0 KB, 82 views)
__________________
Calia | @Calia1120 | NA Server
GM, Iron Bank of Bravos | Council of Nirn | Elder Scrolls Alliance
My Addons
  Reply With Quote
04/19/18, 04:42 PM   #16
sirinsidiator
 
sirinsidiator's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 1,038
Originally Posted by Rhyono View Post
I'm pretty sure I don't have any addons messing with the inventory active, yet I get the tainted stack issue on all containers. Is anyone else having this issue and is this going to be taintgate 2?
It's caused by the change to ZO_PreHook which will be reverted in the next pts cycle. Until then you can use the LibCustomMenu that votan posted on gitter yesterday.
__________________
>siri.exe MyAddon
Does your addon work? [y/n] n
There is a typo in there.
  Reply With Quote
04/19/18, 05:03 PM   #17
Rhyono
AddOn Author - Click to view addons
Join Date: Sep 2016
Posts: 411
Good, thanks.

I'm hoping someone goofed and the Jewelry line doesn't intentionally use Woodworking images...
  Reply With Quote
04/20/18, 08:00 AM   #18
ZOS_ChipHilseberg
ZOS Staff!
Premium Member
Yes this person is from ZeniMax!
Join Date: Oct 2014
Posts: 498
Originally Posted by Uesp View Post
What's going on with the skills/ability data? Previously when you used the function GetSpecificSkillAbilityInfo() for an active/ultimate ability you would get 12 different ability IDs for all the morph/rank choices. Now, however, it seems it only returns 3 different ability IDs (one for each morph) and the same abilities for all 4 ranks of each morph. Further, it seems the previous rank 2-4 abilities no longer exist and some rank 1 abilities have new IDs.

I was hoping to find some new skill related functions in the API but I can't seem to find any. Is this an on-purpose change in the skill API or is there something buggy going on the current PTS?


This seems to affect a bunch of skill API functions (only checked a few):
  • GetSpecificSkillAbilityInfo() -- Only returns the same ability for all ranks of a morph.
  • GetAbilityProgressionAbilityId() -- Returns the same ability ID regardless of rank.
  • GetAbilityProgressionXPInfoFromAbilityId() -- Doesn't return the correct morph.
  • GetSpecificSkillAbilityKeysByAbilityId() -- Returns the correct morph but the incorrect rank (always 2).
The active skills were changed into single abilities with scaling behavior based on rank. This was to help with updating and maintaining these skills. I'll need to think about what it would mean to target specific ranks of these through APIs. I think it might mean adding rank parameters to a lot of the ability APIs. Which APIs are you using?
  Reply With Quote
04/20/18, 11:06 AM   #19
Uesp
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 14
Originally Posted by ZOS_ChipHilseberg View Post
The active skills were changed into single abilities with scaling behavior based on rank. This was to help with updating and maintaining these skills. I'll need to think about what it would mean to target specific ranks of these through APIs. I think it might mean adding rank parameters to a lot of the ability APIs. Which APIs are you using?
Yah, that's what I assumed was going on. It makes sense as it reduces the number of active skills you have to maintain by a factor x4.

As for adding the skill rank to API functions, it would be any of the GetAbility....() where the value might change between ranks. A few ones I can think of would include:
  • GetAbilityDescription()
  • GetAbilityCost()
  • GetAbilityDuration()
  • GetAbilityCastInfo()
  • GetAbilityRange()
  • GetAbilityRadius()

Unsure if those last few ever change for different ranks. At the very least the description which would let us mine the skill coefficients for all 4 ranks.

I would assume you were thinking of changing the API to something like:
Code:
GetAbilityDescription( *integer* abilityId, *integer:nilable* _rankIndex_)
Returns: *string* _description_
or you could do:
Code:
GetAbilityDescription( *integer* abilityId)
Returns: *string* _desc1_, *string:nilable* _desc2_, *string:nilable* _desc3_, *string:nilable* _desc4_
I assume that at the moment the GetAbilityDescription(abilityId) and similar functions return values for the current rank of the character correct?
__________________
Daveh -- Founder/Admin of UESP.net

Last edited by Uesp : 04/20/18 at 11:08 AM.
  Reply With Quote
04/20/18, 07:43 PM   #20
ArtOfShred
AddOn Author - Click to view addons
Join Date: Jun 2016
Posts: 55
Originally Posted by ZOS_ChipHilseberg View Post
The active skills were changed into single abilities with scaling behavior based on rank. This was to help with updating and maintaining these skills. I'll need to think about what it would mean to target specific ranks of these through APIs. I think it might mean adding rank parameters to a lot of the ability APIs. Which APIs are you using?
This is actually super helpful for me. Makes it way less difficult to do things like custom auras for ground abilities. Although - a method to pull the duration differences between ranks when relevant might be helpful in certain cases.

Also, Chip, would you be able to pass a suggestion along to the development team? Currently there's an inconsistency between ability names for "Off Balance" and "Off-Balance." Might be a good idea to do a pass on it and normalize it in all ability's as well as tooltips (I think tooltips might all say "Off Balance" now but I haven't check every single one). Thanks!

Last edited by ArtOfShred : 04/21/18 at 06:07 AM.
  Reply With Quote

ESOUI » Developer Discussions » Tutorials & Other Helpful Info » Update 4.0

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off