#ifndef __ITEM_H__ #define __ITEM_H__ #include #include "assert.h" #include "element.h" #include "equipment_type.h" #include "equipment_id.h" typedef struct { /* 0x00 */ char *name; /* 0x04 */ EquipmentType 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; } EquipmentData; // size:0x20 ASSERT_SIZE(EquipmentData, 0x20); extern EquipmentData obEquipmentData[]; extern s8 (*obEquipmentGetResistance[])(EquipmentId index); extern char *obEquipmentGetName(EquipmentId index); extern EquipmentType obEquipmentGetType(EquipmentId index); extern Element obEquipmentGetElement(EquipmentId index); extern u8 equipment_get_field_0x6(EquipmentId index); extern u16 obEquipmentGetBuyPrice(EquipmentId index); extern s8 equipment_get_field_0x10(EquipmentId index); extern s8 obEquipmentGetStrength(EquipmentId index); extern s8 obEquipmentGetVitality(EquipmentId index); extern s8 obEquipmentGetIntelligence(EquipmentId index); extern s8 obEquipmentGetMentality(EquipmentId index); extern s8 obEquipmentGetAgility(EquipmentId index); extern s8 obEquipmentGetDexterity(EquipmentId index); extern s8 obEquipmentGetResistanceStrike(EquipmentId index); extern s8 obEquipmentGetResistanceWind(EquipmentId index); extern s8 obEquipmentGetResistanceFire(EquipmentId index); extern s8 obEquipmentGetResistanceEarth(EquipmentId index); extern s8 obEquipmentGetResistanceWater(EquipmentId index); extern s8 obEquipmentGetResistanceVirtue(EquipmentId index); extern s8 obEquipmentGetResistanceBane(EquipmentId index); extern u8 equipment_get_field_0x18_b68(EquipmentId index); extern u8 equipment_get_field_0x18_b46(EquipmentId index); extern u8 equipment_get_field_0x18_b24(EquipmentId index); extern u8 equipment_get_field_0x18_b12(EquipmentId index); extern u8 equipment_get_field_0x19_b68(EquipmentId index); extern u8 equipment_get_field_0x19_b46(EquipmentId index); extern u8 equipment_get_field_0x19_b24(EquipmentId index); extern u8 equipment_get_field_0x19_b12(EquipmentId index); extern u8 equipment_get_field_0x1a_b7(EquipmentId index); extern u8 obEquipmentIsWeapon(EquipmentId index); extern EquipmentId obEquipmentGetFirstWeapon(EquipmentId arg0, EquipmentId arg1, EquipmentId arg2, EquipmentId arg3); extern EquipmentId obEquipmentGetFirstSpellbook(EquipmentId arg0, EquipmentId arg1, EquipmentId arg2, EquipmentId arg3); #endif