Windcatcher, here is a item structure deffinition I have edited as best as I can. It is based on EQEmu/hackersquest/ShowEQ, with a few entries from you
Code:
#define ITEM_STRUCT_SIZE 356
// #define SHORT_BOOK_ITEM_STRUCT_SIZE 356
// #define SHORT_CONTAINER_ITEM_STRUCT_SIZE 356
struct Item_Struct
{
/*0000*/ char name[64]; // Name of item
/*0064*/ char lore[80]; // Lore text
/*0144*/ char idfile[6]; // Not sure what this is used for
/*0150*/ sint16 flag;
/*0152*/ uint8 unknown0150[22]; // Placeholder
/*0174*/ uint8 weight; // Weight of item
/*0175*/ sint8 nosave; // Nosave flag 1=normal, 0=nosave, -1=spell?
/*0176*/ sint8 nodrop; // Nodrop flag 1=normal, 0=nodrop, -1=??
/*0177*/ uint8 size; // Size of item
/*0178*/ int8 type; // 0 - generic item, 1 - container, 2 - book
/*0179*/ uint8 unknown0178; // ***Placeholder
/*0180*/ uint16 item_nr; // Unique Item number
/*0182*/ uint16 icon_nr; // Icon Number
/*0184*/ sint16 equipSlot; // Current Equip slot
/*0186*/ uint8 unknwn0186[2]; // Equip slot cont.?
/*0188*/ uint32 equipableSlots; // Slots where this item goes
/*0192*/ sint32 cost; // Item cost in copper
/*0196*/ uint8 unknown0196[32]; // ***Placeholder
union
{
struct
{
// 0228- have different meanings depending on flags
/*0228*/ sint8 STR; // Strength
/*0229*/ sint8 STA; // Stamina
/*0230*/ sint8 CHA; // Charisma
/*0231*/ sint8 DEX; // Dexterity
/*0232*/ sint8 INT; // Intelligence
/*0233*/ sint8 AGI; // Agility
/*0234*/ sint8 WIS; // Wisdom
/*0235*/ sint8 MR; // Magic Resistance
/*0236*/ sint8 FR; // Fire Resistance
/*0237*/ sint8 CR; // Cold Resistance
/*0238*/ sint8 DR; // Disease Resistance
/*0239*/ sint8 PR; // Poison Resistance
/*0240*/ uint16 HP; // Hitpoints
/*0242*/ uint16 MANA; // Mana
/*0244*/ uint16 AC; // Armor Class
/*0246*/ uint8 maxCharges; // Number of charges
/*0247*/ uint8 GMflag; // GM flag 0 - normal item, -1 - gm item
/*0248*/ uint8 light; // Light effect of this item
/*0249*/ uint8 delay; // Weapon Delay
/*0250*/ uint8 damage; // Weapon Damage
/*0251*/ sint8 effecttype0; // 0=combat, 1=click anywhere w/o class check, 2=latent/worn, 3=click anywhere EXPENDABLE, 4=click worn, 5=click anywhere w/ class check, -1=no effect
/*0252*/ uint8 range; // Range of weapon
/*0253*/ uint8 skill; // Skill of this weapon | Item Type?
// 0 - 1H Slashing
// 1 - 2H Slashing
// 2 - 1H Piercing
// 3 - 1H Blunt
// 4 - 2H Blunt
// 5 - archery
// 6 - archery - 2
// 7 - throwing
// 8 - shield
// 10 - defence
// 11 - precious stones
// 12 - lockpicks
// 14 - food
// 15 - water
// 16 - source of light
// 17 - archery (more stones, arrow components)
// 18 - bandages
// 19 - throwing (more)
// 20 - spells
// 21 - EXPENDABLE (potion)
// 23 - wind instrument
// 24 - stringed instrument
// 25 - brass instrument
// 26 - percussion instrument
// 27 - arrows
// 27 - archery related item
// 29 - jewelry
// 30 - skull (1 item)
// 32 - ???
// 33 - keys
// 34 - coins
// 35 - ???
// 36 - fishing pole
// 37 - fishing bait
// 38 - alcohol
// 39 - more keys, some letters
// 40 - compass
// 42 - poisons
/*0254*/ sint8 magic; // Magic flag
// 00 (0000) = ???
// 01 (0001) = magic
// 12 (1100) = ???
// 14 (1110) = ???
// 15 (1111) = ???
/*0255*/ sint8 level0; // Casting level
/*0256*/ uint8 material; // Material?
// 0 Armor (cloth)
// 1 Armor (leather)
// 2 Armor (chain)
// 3 Armor (plate)
// 4 Armor (monk)
// 5 Armor (chitin)
// 7 Armor (scale)
// 10 Robe (advisor pattern)
// 11 Robe (FBR pattern)
// 12 Robe (ishva pattern)
// 13 Robe (oracle pattern)
// 14 Robe (kedge pattern)
// 15 Robe (SMR pattern)
// 16 Robe (plain)
// 17 Armor (icy)
// 18 Armor (dragonskin)
// 19 Armor (stability pattern)
// 20 Armor (ulthork)
// 21 Armor (ry'gorr pattern)
// 22 Armor (guardian pattern)
// 105 unknown
// 213 unknown
/*0258*/ uint8 unknown0258[3]; // ***Placeholder
/*0260*/ uint32 color; // Amounts of RGB in original color
/*0264*/ uint16 deity; // deity
/*0266*/ uint16 spellId0; // SpellID of special effect
/*0268*/ uint16 classes; // Classes that can use this item
/*0270*/ uint8 unknown0270[2]; // ***Placeholder
/*0272*/ uint16 races; // Races that can use this item
/*0274*/ sint8 unknown0274[2]; // ***Placeholder
/*0276*/ sint8 stackable; // 1= stackable, 3 = normal, 0 = ? (not stackable)
/*0277*/ uint8 level; // Casting level
union // 0278 has different meanings depending on an stackable
{
/*0278*/ sint8 number; // Number of items in stack
/*0278*/ sint8 charges; // Number of charges (-1 = unlimited)
};
/*0279*/ sint8 effecttype; // 0=combat, 1=click anywhere w/o class check, 2=latent/worn, 3=click anywhere EXPENDABLE, 4=click worn, 5=click anywhere w/ class check, -1=no effect
/*0280*/ uint16 spellId; // spellId of special effect
/*0282*/ uint8 effectmask; // Windcatchers label
/*0283*/ uint8 unknown0283[3]; // ***Placeholder
/*0288*/ uint32 sellRate; // multiplyer to item price in case of it selling from shopkeeper
/*0290*/ uint16 foodSize; // Value for size of food or drink
/*0292*/ uint32 casttime; // Cast time of clicky item in miliseconds
/*0296*/ uint8 unknown0296[16]; // ***Placeholder
/*0312*/ uint16 skillModId; // ID of skill that item modifies
/*0314*/ sint16 skillModPercent; // Percent that item modifies skill
/*0316*/ uint16 baneRaceDMG; // Race bane damage applies to
/*0318*/ uint16 baneBodyDMG; // Body type bane damage applies to
/*0320*/ uint8 bandDMG; // Ammount of bane damage
/*0321*/ uint8 unknown0321[3]; // ***Placeholder
/*0324*/ uint8 reqLevel; // Required Level
/*0325*/ uint8 reqSkill; // Required Skill
/*0326*/ uint8 unknown0326[2]; // ***Placeholder
/*0328*/ uint8 elemDMGtype; // Elemental Damage Type
/*0329*/ uint8 elemDMG; // Elemental Damage ammount
/*0330*/ uint16 factionModindex[4]; // Faction Modifier Index
/*0338*/ uint16 factionModvalue[4]; // Faction Modifier values
/*0346*/ uint8 unknown0346[2]; // ***Placeholder
/*0348*/ uint32 Diety2; // Diety only wearable
/*0352*/ uint8 unknown0352[4]; // ***Placeholder
} common;
struct // Book Structure (flag == 0x7669)
{
/*0228*/ sint8 bookType; // 0 - note, 1 - book
/*0229*/ sint8 bookOpen; // 0 - closed/rolled up, 1 - open/unrolled
/*0230*/ sint8 unknown0230; // ***Placeholder
/*0231*/ char file[33]; // Filename of book text on server
/*0264*/ sint8 unknown0264[92]; // ***Placeholder
} book;
struct // containers flag == 0x5400 or 0x5450
{
/*0228*/ sint8 unknown0228[40]; // ***Placeholder
/*0268*/ sint8 containerType; // Container Type ?
// 0x10 - deluxe sewing kit
// 0x12 - fletching kit
// 0x2B - fier'dal fletching kit
// 0x10 - small sewing kit
// 0x10 - large sewing kit
// 0x14 - jeweller kit
/*0269*/ uint8 numSlots; // number of slots in container
/*0270*/ sint8 unknown0270; // ***Placeholder
/*0271*/ sint8 sizeCapacity; // Maximum size item container can hold
/*0272*/ uint8 weightReduction; // % weight reduction of container
/*0273*/ sint8 unknown0273[83]; // ***Placeholder
} container;
};
};