Here's an update regarding data found in item links, for anyone still interested
Code:
First, on all items, whether LIs or not, we find (in order):
- 8 bytes: instance item ID
- 4 bytes: generic item ID
If the item is a LI:
- 1 byte indicating whether the item has a custom name (value = 1 if custom name, 0 otherwise)
- if item has a custom name:
- 1 byte indicating the number of characters in the name
- the name of the item as a sequence of characters in UTF-16 (2 bytes per character)
- if item does not have a custom name:
- 2*4 bytes, I assume at least one ID to a localizable resource
- 4 bytes: unknown meaning, never seen anything but a value of 1
- 2 bytes: unknown meaning, never seen anything but a value of 1
- 4 bytes: the ID to a LI title
- 1 byte: unknown/unused
- 1 byte: number of legacies
- n legacies, for each:
- 4 bytes: ID of the legacy
- 4 bytes: rank of the legacy
- 1 byte: unknown/unused
- 1 byte: number of relics
- n relics, for each:
- 4 bytes: ID the relic
- 4 bytes: type of the relic (value of 1 to 4 for gem/setting/rune/crafted, didn't write down which is which)
- 4 bytes: number of additional stats (stats of 2h LIs)
- n * 4 bytes: IDs to stats
- 4 bytes: legendary points spent
- 4 bytes: legendary points left
- 4 bytes: DPS rank if a weapon, or 0
- 4 bytes: Rank of the primary LI legacy (Tactical Damage Rating, Tactical Healing Rating, Shield Use, etc) or 0 if a weapon
- 4 bytes: ID to the primary LI legacy or 0 if a weapon
- 4 bytes: 0x100010EF always
On both regular items and LIs:
- 1 byte: unknown/unused
- 1 byte: number of element in the top level array as described in my previous posts
(...)
Possible fields in the secondary array and their meaning:
- 0x10000E20 : "Crafted by" data, followed with:
- 1 byte: unknown/unused
- 1 byte: number of characters in the name of crafter
- the name of the item as a sequence of characters in UTF-16 (2 bytes per character)
- 4 bytes: unknown, always seem to be the same (0 ? 1 ?)
- 2 bytes: unknown, always seem to be the same (0 ? 1 ?)
- 0x10000884 : Crafting name of the item, same structure as above
- 0x10000AC1 + 8 bytes : "bound" ID of the player to which the item is bound, or a special ID for bound to account
- 0x10001D5F + 4 bytes : Level of the LI (value between 1 - 70)
- 0x100031A4 + 4 bytes : rank of the primary LI legacy (redundant with prior info)
- 0x100026BC: list of legacies (on unbound identified items, apparently)
- 4 bytes: number of legacies
- n * 2*4 bytes: 0x100026BD + ID of legacy (redundant with prior info)
- 0x100000C4 + 4 bytes : item level as displayed to players (eg: 85)
- 0x10000669 + 4 bytes : the 'real' item level (currently up to 110 or so)
- 0x10004996 + 4 bytes : number of upgrades (crystals)
- 0x1000132C + 4 bytes : durability (as in: current value, not the max)
- 0x10000835 + 4 bytes : worth of an item in coppers
- 0x10000E7B + 4 bytes : quantity (for stacks)
- 0x0000034E + 4 bytes : storage info (haven't really paid much attention to specifics, possible to identify bag slots)
- 0x10001042 + 4 bytes : second value of dps range in floating point (IEEE 754). First value can seemingly be computed as 3/5 of that (and of course, average hit = 4/5, so DPS = value * 4/5 / weapon swing delay)
- 0x10000ACD + 4 bytes : unknown
- 0x100038A7 + 1 byte : unknown, always seems 0
- 0x10000AC2 + 1 byte : unknown, always seems 0
Right, that was indigest
Note: while LI links tend to hold a lot of that info, regular item links typically only hold two or maybe three of those fields.