#ifndef __ITEM_H__ #define __ITEM_H__ #include #include "element.h" typedef u8 ItemType; #define ITEM_TYPE_SWORD 0x01 #define ITEM_TYPE_GREATSWORD 0x02 #define ITEM_TYPE_THRUSTING_SWORD 0x03 #define ITEM_TYPE_1_HANDED_HAMMER 0x04 #define ITEM_TYPE_2_HANDED_HAMMER 0x05 #define ITEM_TYPE_SHORT_SPEAR 0x06 #define ITEM_TYPE_SPEAR 0x07 #define ITEM_TYPE_WHIP 0x08 #define ITEM_TYPE_CLAW 0x09 #define ITEM_TYPE_BOW 0x0a #define ITEM_TYPE_MACE 0x0b #define ITEM_TYPE_STAFF 0x0c #define ITEM_TYPE_DOLL 0x0d #define ITEM_TYPE_SMALL_SHIELD 0x0e #define ITEM_TYPE_SHIELD 0x0f #define ITEM_TYPE_LIGHT_ARMOR 0x10 #define ITEM_TYPE_ARMOR 0x11 #define ITEM_TYPE_FULL_BODY_ARMOR 0x12 #define ITEM_TYPE_ROBE 0x13 #define ITEM_TYPE_GARMENT 0x14 #define ITEM_TYPE_HELM 0x15 #define ITEM_TYPE_HEAD_GEAR 0x16 #define ITEM_TYPE_SPELLBOOK 0x17 #define ITEM_TYPE_FAN 0x18 #define ITEM_TYPE_ACCESSORY 0x19 #define ITEM_TYPE_INVALID 0xFF typedef u16 ItemId; #define ITEM_ID_GALLANT_DOLL 132 typedef struct { /* 0x00 */ char* name; /* 0x04 */ ItemType type; /* 0x05 */ Element element; /* 0x06 */ u8 field_0x6; /* 0x07 */ u8 field_0x7; /* 0x08 */ u16 buy_price; /* 0x0a */ s8 strength; /* 0x0b */ s8 intelligence; /* 0x0c */ s8 agility; /* 0x0d */ s8 dexterity; /* 0x0e */ s8 vitality; /* 0x0f */ s8 mentality; /* 0x10 */ s8 field_0x10; /* 0x11 */ s8 res_strike; /* 0x12 */ s8 res_wind; /* 0x13 */ s8 res_fire; /* 0x14 */ s8 res_earth; /* 0x15 */ s8 res_water; /* 0x16 */ s8 res_holy; /* 0x17 */ u8 res_dark; /* 0x18 */ u8 field_0x18; /* 0x19 */ u8 field_0x19; /* 0x1a */ u8 field_0x1a; /* 0x1b */ u8 field_0x1b; /* 0x1c */ u8 field_0x1c; /* 0x1d */ u8 field_0x1d; /* 0x1e */ u8 field_0x1e; /* 0x1f */ u8 field_0x1f; } ItemData; // size:0x20 extern char* ITEM_TYPE_NAMES[]; extern ItemData ITEM_DATA[]; extern s8 (*FP_ITEM_GET_RESISTANCE[])(ItemId index); extern char* item_get_name(ItemId index); extern ItemType item_get_type(ItemId index); extern Element item_get_element(ItemId index); extern u8 item_get_field_0x6(ItemId index); extern u16 item_get_buy_price(ItemId index); extern s8 item_get_field_0x10(ItemId index); extern s8 item_get_strength(ItemId index); extern s8 item_get_vitality(ItemId index); extern s8 item_get_intelligence(ItemId index); extern s8 item_get_mentality(ItemId index); extern s8 item_get_agility(ItemId index); extern s8 item_get_dexterity(ItemId index); extern s8 item_get_resistance_strike(ItemId index); extern s8 item_get_resistance_wind(ItemId index); extern s8 item_get_resistance_fire(ItemId index); extern s8 item_get_resistance_earth(ItemId index); extern s8 item_get_resistance_water(ItemId index); extern s8 item_get_resistance_holy(ItemId index); extern s8 item_get_resistance_dark(ItemId index); extern u8 item_get_field_0x18_b68(ItemId index); extern u8 item_get_field_0x18_b46(ItemId index); extern u8 item_get_field_0x18_b24(ItemId index); extern u8 item_get_field_0x18_b12(ItemId index); extern u8 item_get_field_0x19_b68(ItemId index); extern u8 item_get_field_0x19_b46(ItemId index); extern u8 item_get_field_0x19_b24(ItemId index); extern u8 item_get_field_0x19_b12(ItemId index); extern u8 item_get_field_0x1a_b7(ItemId index); extern u8 item_is_weapon(ItemId index); extern ItemId item_get_first_weapon(ItemId arg0, ItemId arg1, ItemId arg2, ItemId arg3); extern ItemId item_get_first_spellbook(ItemId arg0, ItemId arg1, ItemId arg2, ItemId arg3); #endif