The Gold Road Chapter – which includes the Scribing system – and Update 42 is now available to test on the PTS! You can read the latest patch notes here: https://forums.elderscrollsonline.com/en/discussion/656454/

Has the bug with Legerdemain XP been reported yet?

onlinegamer1
onlinegamer1
✭✭✭✭✭
When you listen for event EVENT_SKILL_XP_UPDATE, it returns: skillType, skillIndex, reason, rank, previousXP, currentXP

When you gain Legerdemain XP, the last two (previousXP, currentXP) are not correct.

On one of my characters, he was 4/60, but this event showed 104/160 (added 100 to each)
On another character, he was 6/60, but these variables showed 46/100 (added 40 to each).

I am manually correcting for this in my addon, but will this be fixed soon?
  • onlinegamer1
    onlinegamer1
    ✭✭✭✭✭
    I should note, that the event EVENT_EXPERIENCE_GAIN is accurate for Legerdemain, showing how much I actually gained (1 XP usually, 2,4 or 8 for higher chest difficulties). However, it seems like EVENT_SKILL_XP_UPDATE is triggered after, not before like virtually all other skill updates.
  • ZOS_ChipHilseberg
    ZOS_ChipHilseberg
    ✭✭✭
    We're taking a look at it. Thanks for the heads up.
    Staff Post
  • onlinegamer1
    onlinegamer1
    ✭✭✭✭✭
    We're taking a look at it. Thanks for the heads up.

    I suspect it has something to do with the current Rank of Legerdemain.

    I have a new character and upon picking my first chest to achieve the skill line, the two variables were reporting accurate numbers when Legerdemain was Rank 1.

    As soon as it went to Rank 2, the numbers reported by the Event (above) were off again.
  • onlinegamer1
    onlinegamer1
    ✭✭✭✭✭
    More info:

    At Rank 1, each XP earned reflected accurate PreviousXP and CurrentXP. Example:
    10/40
    11/40
    12/40
    ...
    39/40

    As soon as I hit 40 (rank up to Rank 2), it said: 40/100.
    Rank 1 has a max of 40.
    Rank 2 has a max of 60. 60+40=100.

    I gained more XP, and it said:
    41/100
    42/100
    43/100

    instead of:
    1/60
    2/60
    3/60
    etc.

    That is your problem. Both the PreviousXP and CurrentXP are going linear from the first Rank, and not "resetting" for the next rank.

    Confirmed the following "offsets":

    Rank 1: max=40, offset=0
    Rank 2: max=60, offset=40 (prev rank max)
    Rank 3: max=80, offset=100 (sum of prev 2 ranks max)
    Rank 4: max=100, offset=180 (sum of prev 3 ranks max)
    etc.
    Edited by onlinegamer1 on March 23, 2015 11:43PM
  • Ayantir
    Ayantir
    ✭✭✭✭
    I'm currently adding legerdemain xp to lootdrop, and I don't see your problem?
    (maybe zos fixed it in 2.0.2 ?)
    self.control:RegisterForEvent( EVENT_SKILL_XP_UPDATE, function( ... ) self:OnSkillXPUpdated( ... )     end )
    OnSkillXPUpdated( eventCode,  skillType,  skillIndex,  reason,  rank,  previousXP,  currentXP)
    

    -> 7 (my rank)
    -> 548, 549 : my previous global xp in skillline and my current global xp in skill line. same outputs for all other skilllines?

    And if I lastSkillXP, nextSkillXP, currentSkillXP = GetSkillLineXPInfo(skillType, skillIndex)
    I got 540/700/549 : xp needed to hit r7 - xp needed to hit next rank - current xp


    I tested with a char rank 1 in legerdemain. I did my market to reach rank 2.

    [11:58:42] rank : 1 ; previousXP = 39 ; currentXP = 40
    [11:58:53] rank : 2 ; previousXP = 40 ; currentXP = 41

    ?
    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
  • onlinegamer1
    onlinegamer1
    ✭✭✭✭✭
    Ayantir wrote: »
    I'm currently adding legerdemain xp to lootdrop, and I don't see your problem?
    (maybe zos fixed it in 2.0.2 ?)
    self.control:RegisterForEvent( EVENT_SKILL_XP_UPDATE, function( ... ) self:OnSkillXPUpdated( ... )     end )
    OnSkillXPUpdated( eventCode,  skillType,  skillIndex,  reason,  rank,  previousXP,  currentXP)
    

    -> 7 (my rank)
    -> 548, 549 : my previous global xp in skillline and my current global xp in skill line. same outputs for all other skilllines?

    And if I lastSkillXP, nextSkillXP, currentSkillXP = GetSkillLineXPInfo(skillType, skillIndex)
    I got 540/700/549 : xp needed to hit r7 - xp needed to hit next rank - current xp


    I tested with a char rank 1 in legerdemain. I did my market to reach rank 2.

    [11:58:42] rank : 1 ; previousXP = 39 ; currentXP = 40
    [11:58:53] rank : 2 ; previousXP = 40 ; currentXP = 41

    ?

    Correct, that's the bug.

    If you open your UI and look at "World" / "Legerdemain", its not "41", its "1" out of "60" for Rank 2. But the API is returning "41" out of "100".
  • Ayantir
    Ayantir
    ✭✭✭✭
    Excuse me but if not a bug, it's a feature,

    For developpers, we got the true value (41).
    For end-users, we got the most interesting value. And it's the same in all skilllines. Look at classes, weapon skillines, it's the same thing everywhere.

    The displayed value is currentXP - lastRankXP / nextRankXP - lastRankXP

    I've checked, it's the same thing since months
    Edited by Ayantir on March 24, 2015 1:53PM
    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
  • onlinegamer1
    onlinegamer1
    ✭✭✭✭✭
    Thanks, the API docs are hard to understand ... oh wait, there are none....
  • ZOS_ChipHilseberg
    ZOS_ChipHilseberg
    ✭✭✭
    Sounds like this is solved then. Thanks for the assist Ayantir.
    Staff Post
Sign In or Register to comment.