View Single Post
  #245  
Old 03-25-2009, 06:23 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Well, after some quick testing by forcing the encode to send certain values, it seems that the way the structure is set now is perfect or very close to it.

I added these values to the encode:

itbs.backstab = 16;
itbs.dsmitigation = 17;
itbs.heroic_str = 1;
itbs.heroic_int = 2;
itbs.heroic_wis = 3;
itbs.heroic_agi = 4;
itbs.heroic_dex = 5;
itbs.heroic_sta = 6;
itbs.heroic_cha = 7;
itbs.heroic_mr = 8;
itbs.heroic_fr = 9;
itbs.heroic_cr = 10;
itbs.heroic_dr = 11;
itbs.heroic_pr = 12;
itbs.heroic_corr = 13;
itbs.heal_amt = 14;
itbs.spell_dmg = 15;

And here is an example of an item after forcing those values:



Notice that they all match up perfectly

Anyway, I think that means that everything should be correct. The only thing we should need to do is figure out how the augs fit into the last 8 padded bytes in the structure.

I would think that the last of those 8 bytes is almost certainly the null terminator for the whole item or at the very least it is the null terminator for the last aug slot. Since there are only 5 aug slots, 5 of the 8 bytes should definitely be null terminators for those. That leaves 3 that I am unsure about. They are probably either 3 unknowns at the beginning of the 8 or at the end of the 8. One of them may also be clairvoyance, but I have no clue what that even is. Hopefully it wouldn't be too hard to figure that part out.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote