ESOUI

ESOUI (https://www.esoui.com/forums/index.php)
-   Tutorials & Other Helpful Info (https://www.esoui.com/forums/forumdisplay.php?f=172)
-   -   Update 4.0 (https://www.esoui.com/forums/showthread.php?t=7728)

sirinsidiator 04/16/18 02:35 PM

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.

Rhyono 04/16/18 08:10 PM

Welkynar and Dremora are unfinished motifs. I wonder if Pyandonean is intentionally crown store only.

ZOS_ChipHilseberg 04/17/18 08:26 AM

Most of you should already have Summerset access from the Morrowind PTS, but if any active addon author needs it they can message me.

Rhyono 04/17/18 11:31 AM

I was given Morrowind access, but maybe I'm doing it wrong for Summerset? When clicking the wayshrine it tells me to upgrade.

ZOS_ChipHilseberg 04/18/18 09:07 AM

Quote:

Originally Posted by Rhyono (Post 34424)
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?

ZOS_ChipHilseberg 04/18/18 12:39 PM

1 Attachment(s)
Here's the UI documentation.

Weolo 04/18/18 02:27 PM

Thanks for the file

Uesp 04/19/18 09:01 AM

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).

Weolo 04/19/18 10:18 AM

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

Uesp 04/19/18 10:56 AM

Quote:

Originally Posted by Weolo (Post 34443)
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.

calia1120 04/19/18 12:22 PM

Quote:

Originally Posted by Weolo (Post 34443)
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.

calia1120 04/19/18 12:30 PM

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.


Uesp 04/19/18 02:29 PM

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.

Rhyono 04/19/18 03:38 PM

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?

calia1120 04/19/18 03:55 PM

1 Attachment(s)
Changenotes to 3.3 attached.

sirinsidiator 04/19/18 04:42 PM

Quote:

Originally Posted by Rhyono (Post 34453)
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.

Rhyono 04/19/18 05:03 PM

Good, thanks.

I'm hoping someone goofed and the Jewelry line doesn't intentionally use Woodworking images...

ZOS_ChipHilseberg 04/20/18 08:00 AM

Quote:

Originally Posted by Uesp (Post 34442)
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?

Uesp 04/20/18 11:06 AM

Quote:

Originally Posted by ZOS_ChipHilseberg (Post 34465)
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?

ArtOfShred 04/20/18 07:43 PM

Quote:

Originally Posted by ZOS_ChipHilseberg (Post 34465)
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!


All times are GMT -6. The time now is 03:50 AM.

vBulletin © 2024, Jelsoft Enterprises Ltd
© 2014 - 2022 MMOUI