#pragma once #include namespace diablo2 { namespace structures { //https://phrozen-library.fandom.com/wiki/Items_line struct items_line { char flippy_file[32]; //0x00 char inv_file[32]; //0x20 char unique_inv_file[32]; //0x40 char setinv_file[32]; //0x60 union { uint32_t number_code; //0x80 char string_code[4]; //0x80 }; uint32_t norm_code; //0x84 uint32_t uber_code; //0x88 uint32_t ultra_code; //0x8C uint32_t alternate_gfx; //0x90 void* spell; //0x94 uint16_t state; //0x98 uint16_t cstate1; //0x9A uint16_t cstate2; //0x9C uint16_t stat1; //0x9E uint16_t stat2; //0xA0 uint16_t stat3; //0xA2 uint32_t calc1; //0xA4 uint32_t calc2; //0xA8 uint32_t calc3; //0xAC uint32_t len; //0xB0 uint16_t spell_desc; //0xB4 uint16_t spell_desc_str; //0xB6 uint32_t spell_desc_calc; //0xB8 uint32_t better_gem; //0xBC uint32_t weapon_class; //0xC0 uint32_t two_handed_weapon_class; //0xC4 uint32_t transmog_type; //0xC8 uint32_t min_ac; //0xCC uint32_t max_ac; //0xD0 uint32_t gamble_cost; //0xD4 uint32_t speed; //0xD8 uint32_t bit_field1; //0xDC uint32_t cost; //0xE0 uint32_t min_stack; //0xE4 uint32_t max_stack; //0xE8 uint32_t spawn_stack; //0xEC uint32_t gem_offset; //0xF0 uint16_t name_str; //0xF4 uint16_t version; //0xF6 uint16_t auto_prefix; //0xF8 uint16_t missile_type; //0xFA uint8_t rarity; //0xFC uint8_t level; //0xFD uint8_t min_damage; //0xFE uint8_t max_damage; //0xFF uint8_t min_misdamage; //0x100 uint8_t max_misdamage; //0x101 uint8_t two_hand_min_damage; //0x102 uint8_t two_hand_max_damage; //0x103 uint16_t range_adder; //0x104 uint16_t str_bonus; //0x106 uint16_t dex_bonus; //0x108 uint16_t req_str; //0x10A uint16_t req_dex; //0x10C uint8_t absorbs; //0x10E uint8_t inv_width; //0x10F uint8_t inv_height; //0x110 uint8_t block; //0x111 uint8_t durability; //0x112 uint8_t no_durability; //0x11 uint8_t missile; //0x114 uint8_t component; //0x115 uint8_t right_arm; //0x116 uint8_t left_arm; //0x117 uint8_t torso; //0x118 uint8_t legs; //0x119 uint8_t right_spad; //0x11A uint8_t left_spad; //0x11B uint8_t two_handed; //0x11C uint8_t useable; //0x11D uint16_t type; //0x11E uint16_t type2; //0x120 uint16_t subtype; //0x122 uint16_t drop_sound; //0x124 uint16_t use_sound; //0x126 uint8_t drop_sfx_frame; //0x128 uint8_t unique; //0x129 uint8_t quest; //0x12A uint8_t quest_diff_check; //0x12B uint8_t transparent; //0x12C uint8_t trans_tbl; //0x12D uint8_t pad0_x12_e; //0x12E uint8_t light_radius; //0x12F uint8_t belt; //0x130 uint8_t auto_belt; //0x131 uint8_t stackable; //0x132 uint8_t spawnable; //0x133 uint8_t spell_icon; //0x134 uint8_t dur_warning; //0x135 uint8_t quantity_warning; //0x136 uint8_t has_inv; //0x137 uint8_t gem_sockets; //0x138 uint8_t transmogrify; //0x139 uint8_t transmog_min; //0x13A uint8_t transmog_max; //0x13B uint8_t hit_class; //0x13C uint8_t one_or_two_handed; //0x13D uint8_t gem_apply_type; //0x13E uint8_t level_req; //0x13F uint8_t magic_lvl; //0x140 uint8_t transform; //0x141 uint8_t inv_trans; //0x142 uint8_t compact_save; //0x143 uint8_t skip_name; //0x144 uint8_t nameable; //0x145 uint8_t akara_min; //0x146 uint8_t gheed_min; //0x147 uint8_t charsi_min; //0x148 uint8_t fara_min; //0x149 uint8_t lysander_min; //0x14A uint8_t drognan_min; //0x14B uint8_t hralti_min; //0x14C uint8_t alkor_min; //0x14D uint8_t ormus_min; //0x14E uint8_t elzix_min; //0x14F uint8_t asheara_min; //0x150 uint8_t cain_min; //0x151 uint8_t halbu_min; //0x152 uint8_t jamella_min; //0x153 uint8_t malah_min; //0x154 uint8_t larzuk_min; //0x155 uint8_t drehya_min; //0x156 uint8_t akara_max; //0x157 uint8_t gheed_max; //0x158 uint8_t charsi_max; //0x159 uint8_t fara_max; //0x15A uint8_t lysander_max; //0x15B uint8_t drognan_max; //0x15C uint8_t hralti_max; //0x15D uint8_t alkor_max; //0x15E uint8_t ormus_max; //0x15F uint8_t elzix_max; //0x160 uint8_t asheara_max; //0x161 uint8_t cain_max; //0x162 uint8_t halbu_max; //0x163 uint8_t jamella_max; //0x164 uint8_t malah_max; //0x165 uint8_t larzuk_max; //0x166 uint8_t drehya_max; //0x167 uint8_t akara_magic_min; //0x168 uint8_t gheed_magic_min; //0x169 uint8_t charsi_magic_min; //0x16A uint8_t fara_magic_min; //0x16B uint8_t lysander_magic_min; //0x16C uint8_t drognan_magic_min; //0x16D uint8_t hralti_magic_min; //0x16E uint8_t alkor_magic_min; //0x16F uint8_t ormus_magic_min; //0x170 uint8_t elzix_magic_min; //0x171 uint8_t asheara_magic_min; //0x172 uint8_t cain_magic_min; //0x173 uint8_t halbu_magic_min; //0x174 uint8_t jamella_magic_min; //0x175 uint8_t malah_magic_min; //0x176 uint8_t larzuk_magic_min; //0x177 uint8_t drehya_magic_min; //0x178 uint8_t akara_magic_max; //0x179 uint8_t gheed_magic_max; //0x17A uint8_t charsi_magic_max; //0x17B uint8_t fara_magic_max; //0x17C uint8_t lysander_magic_max; //0x17D uint8_t drognan_magic_max; //0x17E uint8_t hralti_magic_max; //0x17F uint8_t alkor_magic_max; //0x180 uint8_t ormus_magic_max; //0x181 uint8_t elzix_magic_max; //0x182 uint8_t asheara_magic_max; //0x183 uint8_t cain_magic_max; //0x184 uint8_t halbu_magic_max; //0x185 uint8_t jamella_magic_max; //0x186 uint8_t malah_magic_max; //0x187 uint8_t larzuk_magic_max; //0x188 uint8_t drehya_magic_max; //0x189 uint8_t akara_magic_lvl; //0x18A uint8_t gheed_magic_lvl; //0x18B uint8_t charsi_magic_lvl; //0x18C uint8_t fara_magic_lvl; //0x18D uint8_t lysander_magic_lvl; //0x18E uint8_t drognan_magic_lvl; //0x18F uint8_t hralti_magic_lvl; //0x190 uint8_t alkor_magic_lvl; //0x191 uint8_t ormus_magic_lvl; //0x192 uint8_t elzix_magic_lvl; //0x193 uint8_t asheara_magic_lvl; //0x194 uint8_t cain_magic_lvl; //0x195 uint8_t halbu_magic_lvl; //0x196 uint8_t jamella_magic_lvl; //0x197 uint8_t malah_magic_lvl; //0x198 uint8_t larzuk_magic_lvl; //0x199 uint8_t drehya_magic_lvl; //0x19A uint8_t pad0_x19_b; //0x19B uint32_t nightmare_upgrade; //0x19C uint32_t hell_upgrade; //0x1A0 uint8_t perm_store_item; //0x1A4 uint8_t multi_buy; //0x1A5 uint16_t pad0_x1_a6; //0x1A6 }; } }