Sorry for not reading the entire thread, but here's a small info dump for people interested in parsing item links (I wrote a little more on it here. This is about auctionhouse attributes but links have approximately the same format: http://www.ownedcore.com/forums/diab...ml#post2349371 ([WIP] AuctionAction .98a AH Bot))
Item links are essentially a string version of this protobuf (https://github.com/DarkLotus/mooege/...ns/Items.proto)
Code:
message Generator
{
required uint32 seed = 1 [default = 0];
required .D3.GameBalance.Handle gb_handle = 2;
repeated sfixed32 base_affixes = 3;
optional .D3.Items.RareItemName rare_item_name = 4;
optional sfixed32 enchant_affix = 5 [default = -1];
required uint32 flags = 6 [default = 0];
required uint32 durability = 7;
required uint64 stack_size = 8;
optional uint32 dye_type = 9 [default = 0];
optional sint32 item_quality_level = 10 [default = 1];
optional sint32 item_binding_level = 11 [default = 0];
optional uint32 max_durability = 12 [default = 0];
repeated .D3.Items.EmbeddedGenerator contents = 13;
optional uint64 item_unlock_timestamp = 14 [default = 0];
optional uint32 enchant_range_val = 15 [default = 0];
}
(The field ordering is definitely not the same as the text item links begin with "HItem:<gb_type>, <gb_id>:<seed>:<affix-list>....)
There is enough information to calculate all the modifiers but it is a fairly non-trivial process, check out the mooege generator code to see how it's done: https://github.com/DarkLotus/mooege/.../Core/GS/Items