Re: D3 Api item link encoding
I was originally creating profiles per class, but then ended up switching to an approach where I rate the item based on the highest primary (Str, Dex, Int) stat. It's not perfect, but it simplified things for me.
yep seams a good idea to simplify and would still give good results
maybe give some weight too vitality (specialy for HC)
and of course some weight to class specific skill bonuses
I don't know the exact number, but could probably figure it out with a couple queries. Based on some observations, I think the min Affix for a given item is roughly ilvl - 17. That would mean the lowest alvl for an ilvl 63 item is 46.
i would be curious about that i dont think it's a simple range, there must be special rules
it would mean that all chest armor ilvl 63 should have 3 socket or none (i never saw any of thoses http://www.d3lexicon.com/affix#socket-enhancement
and the other one after aLvl 46 have 3 sockets)
also i dont see pants socket after lvl 46
Not sure what you mean by "missing the affix part of the price". Affixes don't have prices so confused about what you are talking about here.
if you look at sell price of items, same items with same afixes have the same sell price (so not stat roll dependant) so it have to be a link between sell prices and affixes (and maybe the chance of an affix to roll)
You're not going to figure it all out without looking at the decompiled ASM code from the game client. While the basic idea is simple, the implementation has a lot of tricky parts including extra rnd values being popped, the rnd function being re-seeded, special rules for when random armor offsets are applied, and you also need to know the implementation of the RandomFloat() function (which is a custom function).
maybe i'll do that when i have some time, dont really feel like decompiling/playing processor right now, i can figure out like 30-40% of my item db with the function i have right now, i just wonder why this function should be so complicated, why reseed ? why special rules ? why a custom function ? why some wasted call to Next() ?
the classic one (val/MAX_UINT) i use seems to be working quite well for most armor values
it's late now and a godd night sleeping often helps