The item id of the dropped item isn't in the drop struct. It only comes across when you pick it up. There is an actor ID for the icon though. But I don't know if that is visible in memory. These look like IT#####_ACTORDEF I think for drops, where ##### is a base 10 number. There are also IDs for the drops, which is what is passed between client and server when you pick something up.
The ##### corresponds to the graphic used for the item. These are the numbers uRit maps in seq and can be found in the weapon*.h files. For example, I think 0x2a34 is the forge in the guild hall (i.e. IT10803_ACTORDEF is the actor id).
The packet for the server telling your client to spawn the forge in the guild hall:
Code:
Dec 05 2006 18:07:32:053 [Decoded] [Server->Client] [Size: 104]
[OPCode: 0x76f0]
[Name: OP_GroundSpawn][Updated: 06/13/06][Type: makeDropStruct (104) ==]
000 | 08 2a 63 07 b8 27 63 07 50 29 63 07 04 00 00 00 | .*c..'c.P)c.....
016 | 59 01 XX XX 00 00 00 00 9a fe ff 7f 00 00 00 00 | Y...............
032 | 00 00 00 00 00 00 00 00 00 00 80 3f 00 00 00 00 | ...........?....
048 | 00 00 ac 42 00 00 84 c2 49 54 31 30 38 30 33 5f | ...B....IT10803_
064 | 41 43 54 4f 52 44 45 46 00 00 00 00 00 00 00 00 | ACTORDEF........
080 | 00 00 00 00 00 00 00 00 f0 24 00 00 ff 00 00 00 | .........$......
096 | ff ff ff ff 00 00 00 00 | ........
The wire struct (could be very wrong, seq just actively uses x/y/z and idFile):
Code:
struct makeDropStruct
{
/*0000*/ uint32_t prevObject; // Previous object in the linked list
/*0004*/ uint32_t nextObject; // Next object in the linked list
/*0008*/ uint32_t unknown0008; // ***Placeholder
/*0012*/ uint32_t dropId; // DropID
/*0016*/ uint16_t zoneId; // ZoneID
/*0018*/ uint16_t zoneInstance; // Zone instance id
/*0020*/ uint8_t unknown0020[8]; // ***Placeholder
/*0028*/ uint8_t unknown0028[12]; // ***Placeholder (9/23/2006)
/*0040*/ float heading; // Heading
/*0044*/ float z; // Z Position
/*0048*/ float x; // X Position
/*0052*/ float y; // Y Position
/*0056*/ char idFile[16]; // ACTOR ID
/*0072*/ uint32_t unknown0072[5]; // ***Placeholder
/*0092*/ uint32_t dropType; // drop type
/*0096*/ uint32_t unknown0096; // ***Placeholder
/*0100*/ uint32_t userSpawnID; // spawn id of the person using
/*0104*/
};