Skip to content

[Bug] EXTdata.lua #1649

Open
Open

Description

@sebyg666

a magial trial weapon with the augment [trail ###] throws an error at line 1540, issue with potency value = nil, for obvious reasons, and the line is not parsed at all.

edit -- this makes the addon im working crash

Activity

  1. cairthenn commented on May 5, 2018

    @cairthenn
    Member

    The extdata lib definitely parses some (most?) trial augments correctly. Additionally, [Trial] tagged augments can also have augments with potency values. What specifically is not working?

    • Are you calling decode on the full item table (not just the extdata string)?
    • What is the exact augment?
  2. sebyg666 commented on May 5, 2018

    @sebyg666
    ContributorAuthor

    yeah the whole item.
    and the exact augment was on a sword like excaliber and it was [trial ###] i dont remember the number
    that was all that showed when the guy shared screen with me. and the addon wouldnt load because of it

  3. Byrth commented on May 23, 2018

    @Byrth
    Contributor

    There is a known bug trying to load extdata with an ebur or ebon unaugmented armor in your inventory, but I thought it handled this kind of thing fine and indeed I made a level 119 Excal after making the extdata library.

  4. Nifim commented on Apr 30, 2025

    @Nifim
    Contributor

    method in question is located here:

    Lua/addons/libs/extdata.lua

    Lines 1680 to 1712 in 41d30b5

    function tools.aug.string_augment(sys,id,val)
    local augment
    local augment_table = augment_values[sys][id]
    if not augment_table then --print('Augments Lib: ',sys,id)
    elseif augment_table.Secondary_Handling then
    -- This is handling for system 1's indices 0x390~0x392, which have their own static augment lookup table
    augment_table = sp_390_augments[ (id-0x390)*16 + 545 + val]
    end
    if augment_table then
    if sys == 3 then
    augment = augment_table[1].stat
    local pot = augment_table[1].potency[val]
    if pot > 0 then
    augment = augment..'+'
    end
    augment = augment..pot
    else
    for i,v in pairs(augment_table) do
    if i > 1 then augment = augment..' ' end
    augment = (augment or '')..v.stat
    local potency = ((val+v.offset)*(v.multiplier or 1))
    if potency > 0 then augment = augment..'+'..potency
    elseif potency < 0 then augment = augment..potency end
    if v.percent then
    augment = augment..'%'
    end
    end
    end
    else
    augment = 'System: '..tostring(sys)..' ID: '..tostring(id)..' Val: '..tostring(val)
    end
    return augment
    end

    does not appear to have been changed since this issue was raised.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions