I just noticed that your items are showing up in the old item UI window like Titanium. I prefer the old one (Titanium version) to the new window for item stats on Live. I thought it was already changed in SoF though. Or, is there an option somewhere that lets you decide which one to use? I know I saw a screenshot of an item from SoF when it was being beta tested, and it had the new item window. Maybe they still used the old one when that particular build was made?
Also, I looked at the SendAA packets from Derision's ShowEQ log and it looks like it lines up the same as EQLive does now. Same size and layout of the structure as far as I can tell. Here is an example of one of those packets without any extra effects on it:
Code:
Jul 24 2008 14:16:39:296 [Decoded] [Server->Client] [Size: 104]
[OPCode: 0x2c77]
000 | ba 00 00 00 01 ba 00 00 00 ba 00 00 00 ba 00 00 | ................
016 | 00 ba 00 00 00 3b 00 00 00 03 00 00 00 47 00 00 | .....;.......G..
032 | 00 01 00 00 00 00 00 00 00 00 00 00 00 03 00 00 | ................
048 | 00 d4 0a 00 00 07 00 00 00 07 00 00 00 00 08 00 | ................
064 | 00 01 00 00 00 ff ff ff ff ff ff ff ff 03 00 00 | ................
080 | 00 00 00 00 00 00 00 00 03 00 00 00 ff ff ff ff | ................
096 | 00 00 00 00 00 00 00 00 | ........
One thing to help alot with items is the 13th floor:
http://eqitems.13th-floor.org/
Just search for the item you are trying to break down and then look at the raw data. It should help a ton when lining up the fields.
I also use HexVis alot or Windows Calculator for converting the hex easily to see if it matches 13th floor.
Code:
3 bytes of 0x00 usually sometimes the last byte is 0x01, all bags seem to have the last byte as 0x01
That last uint8 is Item Type. It is 00 for normal items, 01 for bags and should be 02 for books. This should be done on the Serialization because I think it tells the client how treat the item when you right click it. Since you can't read books or use clickies if an item is inside a bag, it should be because the item type isn't sent when they are inside a bag, so the client knows only to show the item stats.
Just from looking at the log Derision posted, here is my best guess for item Serialization (pretty much matches with what KLS has so far):
Code:
35 00 00 00 - Not sure what this is. Maybe a total items count?
//This field only got sent before the first item. No other items have it.
01 00 00 00 uint32 stacksize;
00 00 00 00 uint32 unknown004;
1c 00 00 00 uint32 slot;
00 00 00 00 uint32 price;
01 00 00 00 uint32 merchcount;
00 00 00 00 uint32 unknown020;
1a b9 02 00 uint32 serialnumber;
00 00 00 00 uint32 instnodrop;
00 00 00 00 uint32 unknown032;
00 00 00 00 uint32 typepotion;
00 00 00 00 uint32 unknown040;
00 00 00 00 uint32 unknown044;
00 00 00 00 uint32 unknown048;
00 00 00 00 uint32 unknown052;
00 00 00 00 uint32 unknown056;
00 uint8 unknown060;
00 uint8 unknown061;
01 uint8 itemtype; // this is a bag
Here is the best breakdown I can figure for the beginning of the Item Struct:
Code:
4a 6f 75 72 6e 65 79 6d 61 6e 27 73 20 42 6f 6f 74 73 00 | Journeyman's Boots - char Name
4a 6f 75 72 6e 65 79 6d 61 6e 27 73 20 42 6f 6f 74 73 00 | Journeyman's Boots - char Lore
49 54 36 33 00 | IT63 - char IDFile
fc 08 00 00 | 2300 - uint32 ID
19 | 2.5 - uint8 Weight
01 - uint8 NoRent
00 00 - uint16 NoDrop
01 - uint8 Size
00 00 08 00 | 524288 - uint32 Slots
00 00 00 00 - uint32 Price
fc 02 00 00 | 764 - uint32 Icon
01 - uint8 unknown0013
01 00 00 00 - uint32 unknown0014
00 - bool BenefitFlag
00 - bool Tradeskills
00 - sint8 CR
00 - sint8 DR
00 - sint8 PR
00 - sint8 MR
00 - sint8 FR
00 - sint8 Corruption
00 - sint8 AStr
00 - sint8 ASta
00 - sint8 AAgi
00 - sint8 ADex
00 - sint8 ACha
00 - sint8 AInt
00 - sint8 AWis
00 00 00 00 - sint32 HP
00 00 00 00 - sint32 Mana
00 00 00 00 - uint32 Endur
01 00 00 00 - sint32 AC
00 00 00 00 - sint32 unknown0015
00 00 00 00 - sint32 unknown0016
00 00 00 00 - sint32 unknown0017
ff ff 00 00 - sint32 Classes
ff ff 00 00 - sint32 Races
00 00 00 00 - sint32 Deity
00 00 00 00 - sint32 SkillModValue
00 00 00 00 - uint32 unknown0038
ff ff ff ff - uint32 SkillModType
00 00 00 00 - uint32 BaneDmgRace
00 00 00 00 - uint32 BaneDmgBody
00 00 00 00 - uint32 BaneDmgRaceAmt
00 00 00 00 - sint32 BaneDmgAmt
01 00 00 00 - bool Magic
00 00 00 00 - sint32 CastTime_
00 - uint8 ReqLevel
00 - uint8 RecLevel
00 - uint8 RecSkill
00 00 00 00 - uint32 BardType
00 00 00 00 - sint32 BardValue
00 - sint8 Light
00 - uint8 Delay
00 - uint8 ElemDmgType
00 00 00 00 - uint32 ElemDmgAmt
00 00 00 00 - uint32 Range
00 00 00 00 - uint32 Damage
00 00 00 ff - uint32 Color
0a - uint8 ItemType
01 00 00 00 - uint8 Material
00 00 00 00 - uint32 unknown0060
00 00 00 00 - uint8 unknown0061
00 00 c6 42 - uint32 SellRate
Most of the rest of it should line up with the structure breakdown I posted for EQLive items. I can work out the rest of it if needed. I will definitely check into these logs more later tonight.