d2tweaks-rnd2k/include/diablo2/structures/data/monstats_line.h
2024-04-16 21:45:38 -06:00

235 lines
6.6 KiB
C++

#pragma once
#include <cstdint>
namespace diablo2 {
namespace structures {
struct monstats_line {
uint16_t id; //0x00
uint16_t base_id; //0x02
uint16_t next_in_class; //0x04
uint16_t name_str; //0x06
uint16_t desc_str; //0x08
uint16_t unk0_x0_a; //0x0A
uint32_t mon_stats_flags; //0x0C
uint32_t code; //0x10
uint16_t mon_sound; //0x14
uint16_t u_mon_sound; //0x16
uint16_t mon_stats_ex; //0x18
uint16_t mon_prop; //0x1A
uint16_t mon_type; //0x1C
uint16_t ai; //0x1E
uint16_t spawn; //0x20
uint8_t spawn_x; //0x22
uint8_t spawn_y; //0x23
uint16_t spawn_mode; //0x24
uint16_t minion1; //0x26
uint16_t minion2; //0x28
uint16_t unk0_x2_a; //0x2A
uint8_t party_min; //0x2C
uint8_t party_max; //0x2D
uint8_t rarity; //0x2E
uint8_t min_grp; //0x2F
uint8_t max_grp; //0x30
uint8_t sparse_populate; //0x31
uint16_t velocity; //0x32
uint16_t run; //0x34
uint16_t unk0_x36; //0x36
uint16_t unk0_x38; //0x38
uint16_t miss_a1; //0x3A
uint16_t miss_a2; //0x3C
uint16_t miss_s1; //0x3E
uint16_t miss_s2; //0x40
uint16_t miss_s3; //0x42
uint16_t miss_s4; //0x44
uint16_t miss_c; //0x46
uint16_t miss_sq; //0x48
uint16_t unk0_x4_a; //0x4A
uint8_t align; //0x4C
uint8_t trans_lvl; //0x4D
uint8_t threat; //0x4E
uint8_t ai_del; //0x4F
uint8_t ai_del_n; //0x50
uint8_t ai_del_h; //0x51
uint8_t ai_dist; //0x52
uint8_t ai_dist_n; //0x53
uint16_t ai_dist_h; //0x54
uint16_t ai_p1; //0x56
uint16_t ai_p1_n; //0x58
uint16_t ai_p1_h; //0x5A
uint16_t ai_p2; //0x5C
uint16_t ai_p2_n; //0x5E
uint16_t ai_p2_h; //0x60
uint16_t ai_p3; //0x62
uint16_t ai_p3_n; //0x64
uint16_t ai_p3_h; //0x66
uint16_t ai_p4; //0x68
uint16_t ai_p4_n; //0x6A
uint16_t ai_p4_h; //0x6C
uint16_t ai_p5; //0x6E
uint16_t ai_p5_n; //0x70
uint16_t ai_p5_h; //0x72
uint16_t ai_p6; //0x74
uint16_t ai_p6_n; //0x76
uint16_t ai_p6_h; //0x78
uint16_t ai_p7; //0x7A
uint16_t ai_p7_n; //0x7C
uint16_t ai_p7_h; //0x7E
uint16_t ai_p8; //0x80
uint16_t ai_p8_n; //0x82
uint16_t ai_p8_h; //0x84
uint16_t treasure_class1; //0x86
uint16_t treasure_class2; //0x88
uint16_t treasure_class3; //0x8A
uint16_t treasure_class4; //0x8C
uint16_t treasure_class1_n; //0x8E
uint16_t treasure_class2_n; //0x90
uint16_t treasure_class3_n; //0x92
uint16_t treasure_class4_n; //0x94
uint16_t treasure_class1_h; //0x96
uint16_t treasure_class2_h; //0x98
uint16_t treasure_class3_h; //0x9A
uint16_t treasure_class4_h; //0x9C
uint8_t tc_quest_id; //0x9E
uint8_t tc_quest_cp; //0x9F
uint8_t drain; //0xA0
uint8_t drain_n; //0xA1
uint8_t drain_h; //0xA2
uint8_t to_block; //0xA3
uint8_t b_to_block_n; //0xA4
uint8_t to_block_h; //0xA5
uint16_t crit; //0xA6
uint16_t skill_damage; //0xA8
uint16_t level; //0xAA
uint16_t level_n; //0xAC
uint16_t level_h; //0xAE
uint16_t min_hp; //0xB0
uint16_t min_hp_n; //0xB2
uint16_t min_hp_h; //0xB4
uint16_t max_hp; //0xB6
uint16_t max_hp_n; //0xB8
uint16_t max_hp_h; //0xBA
uint16_t ac; //0xBC
uint16_t ac_n; //0xBE
uint16_t ac_h; //0xC0
uint16_t a1_th; //0xC2
uint16_t a1_th_n; //0xC4
uint16_t a1_th_h; //0xC6
uint16_t a2_th; //0xC8
uint16_t a2_th_n; //0xCA
uint16_t a2_th_h; //0xCC
uint16_t s1_th; //0xCE
uint16_t s1_th_n; //0xD0
uint16_t s1_th_h; //0xD2
uint16_t exp; //0xD4
uint16_t exp_n; //0xD6
uint16_t exp_h; //0xD8
uint16_t a1_min_d; //0xDA
uint16_t a1_min_d_n; //0xDC
uint16_t a1_min_d_h; //0xDE
uint16_t a1_max_d; //0xE0
uint16_t a1_max_d_n; //0xE2
uint16_t a1_max_d_h; //0xE4
uint16_t a2_min_d; //0xE6
uint16_t a2_min_d_n; //0xE8
uint16_t a2_min_d_h; //0xEA
uint16_t a2_max_d; //0xEC
uint16_t a2_max_d_n; //0xEE
uint16_t a2_max_d_h; //0xF0
uint16_t s1_min_d; //0xF2
uint16_t s1_min_d_n; //0xF4
uint16_t s1_min_d_h; //0xF6
uint16_t s1_max_d; //0xF8
uint16_t s1_max_d_n; //0xFA
uint16_t s1_max_d_h; //0xFC
uint8_t el1_mode; //0xFE
uint8_t el2_mode; //0xFF
uint8_t el3_mode; //0x100
uint8_t el1_type; //0x101
uint8_t el2_type; //0x102
uint8_t el3_type; //0x103
uint8_t el1_pct; //0x104
uint8_t el1_pct_n; //0x105
uint8_t el1_pct_h; //0x106
uint8_t el2_pct; //0x107
uint8_t el2_pct_n; //0x108
uint8_t el2_pct_h; //0x109
uint8_t el3_pct; //0x10A
uint8_t el3_pct_n; //0x10B
uint8_t el3_pct_h; //0x10C
uint8_t unk0_x_10d; //0x10D
uint16_t el1_min_d; //0x10E
uint16_t el1_min_d_n; //0x110
uint16_t el1_min_d_h; //0x112
uint16_t el2_min_d; //0x114
uint16_t el2_min_d_n; //0x116
uint16_t el2_min_d_h; //0x118
uint16_t el3_min_d; //0x11A
uint16_t el3_min_d_n; //0x11C
uint16_t el3_min_d_h; //0x11E
uint16_t el1_max_d; //0x120
uint16_t el1_max_d_n; //0x122
uint16_t el1_max_d_h; //0x124
uint16_t el2_max_d; //0x126
uint16_t el2_max_d_n; //0x128
uint16_t el2_max_d_h; //0x12A
uint16_t el3_max_d; //0x12C
uint16_t el3_max_d_n; //0x12E
uint16_t el3_max_d_h; //0x130
uint16_t el_1dur; //0x132
uint16_t el_1dur_n; //0x134
uint16_t el_1dur_h; //0x136
uint16_t el_2dur; //0x138
uint16_t el_2dur_n; //0x13A
uint16_t el_2dur_h; //0x13C
uint16_t el_3dur; //0x13E
uint16_t el_3dur_n; //0x140
uint16_t el_3dur_h; //0x142
uint16_t res_dmg; //0x144
uint16_t res_dmg_n; //0x146
uint16_t res_dmg_h; //0x148
uint16_t res_magic; //0x14A
uint16_t res_magic_n; //0x14C
uint16_t res_magic_h; //0x14E
uint16_t res_fire; //0x150
uint16_t res_fire_n; //0x152
uint16_t res_fire_h; //0x154
uint16_t res_light; //0x156
uint16_t res_light_n; //0x158
uint16_t res_light_h; //0x15A
uint16_t res_cold; //0x15C
uint16_t res_cold_n; //0x15E
uint16_t res_cold_h; //0x160
uint16_t res_poison; //0x162
uint16_t res_poison_n; //0x164
uint16_t res_poiosn_h; //0x166
uint8_t cold_effect; //0x168
uint8_t cold_effect_n; //0x169
uint16_t cold_effect_h; //0x16A
uint32_t send_skills; //0x16C
uint16_t skill1; //0x170
uint16_t skill2; //0x172
uint16_t skill3; //0x174
uint16_t skill4; //0x176
uint16_t skill5; //0x178
uint16_t skill6; //0x17A
uint16_t skill7; //0x17C
uint16_t skill8; //0x17E
uint32_t unk0_x180[6]; //0x180
uint8_t sk1_lvl; //0x198
uint8_t sk2_lvl; //0x199
uint8_t sk3_lvl; //0x19A
uint8_t sk4_lvl; //0x19B
uint8_t sk5_lvl; //0x19C
uint8_t sk6_lvl; //0x19D
uint8_t sk7_lvl; //0x19E
uint8_t sk8_lvl; //0x19F
uint32_t damage_regen; //0x1A0
uint8_t spl_end_death; //0x1A4
uint8_t spl_get_mode_chart; //0x1A5
uint8_t spl_end_generic; //0x1A6
uint8_t spl_client_end; //0x1A7
};
}
}