comparison Monsters.h @ 0:8b8875f5b359

Initial commit
author Nomad
date Fri, 05 Oct 2012 16:07:14 +0200
parents
children e62134245ab0
comparison
equal deleted inserted replaced
-1:000000000000 0:8b8875f5b359
1 #pragma once
2
3
4
5 /* 334 */
6 enum MONSTER_TYPE
7 {
8 MONSTER_DEVIL_1 = 0x16,
9 MONSTER_DEVIL_3 = 0x18,
10 MONSTER_DRAGON_1 = 0x19,
11 MONSTER_DRAGON_3 = 0x1B,
12 MONSTER_ELEMENTAL_WATER_1 = 0x2E,
13 MONSTER_ELEMENTAL_WATER_3 = 0x30,
14 MONSTER_ELF_ARCHER_1 = 0x31,
15 MONSTER_ELF_ARCHER_3 = 0x33,
16 MONSTER_ELF_SPEARMAN_1 = 0x34,
17 MONSTER_ELF_SPEARMAN_3 = 0x36,
18 MONSTER_GHOST_1 = 0x46,
19 MONSTER_GHOST_3 = 0x48,
20 MONSTER_HARPY_1 = 0x55,
21 MONSTER_HARPY_3 = 0x57,
22 MONSTER_LICH_1 = 0x5B,
23 MONSTER_LICH_3 = 0x5D,
24 MONSTER_OOZE_1 = 0x70,
25 MONSTER_OOZE_3 = 0x72,
26 MONSTER_PEASANT_ELF_FEMALE_1_1 = 0x85,
27 MONSTER_PEASANT_ELF_MALE_3_3 = 0x96,
28 MONSTER_SKELETON_1 = 0xC7,
29 MONSTER_SKELETON_3 = 0xC9,
30 MONSTER_TITAN_1 = 0xD3,
31 MONSTER_TITAN_3 = 0xD5,
32 MONSTER_VAMPIRE_1 = 0xD9,
33 MONSTER_VAMPIRE_3 = 0xDB,
34 MONSTER_WIGHT_1 = 0xDF,
35 MONSTER_WIGHT_3 = 0xE1,
36 MONSTER_ZOMBIE_1 = 0xE5,
37 MONSTER_ZOMBIE_3 = 0xE7,
38 MONSTER_PEASANT_GOBLIN_MALE_3_3 = 0xF9,
39 MONSTER_TROLL_3 = 0xFC,
40 MONSTER_TREANT_1 = 0xFD,
41 MONSTER_TREANT_3 = 0xFF,
42 MONSTER_GHOUL_1 = 0x100,
43 MONSTER_GHOUL_3 = 0x102,
44 };
45
46 /* 335 */
47 enum MONSTER_SPECIAL_ABILITY_TYPE
48 {
49 MONSTER_SPECIAL_ABILITY_NONE = 0x0,
50 MONSTER_SPECIAL_ABILITY_SHOT = 0x1,
51 MONSTER_SPECIAL_ABILITY_SUMMON = 0x2,
52 MONSTER_SPECIAL_ABILITY_EXPLODE = 0x3,
53 };
54
55 /* 336 */
56 enum MONSTER_SUPERTYPE
57 {
58 MONSTER_SUPERTYPE_UNDEAD = 0x1,
59 MONSTER_SUPERTYPE_KREEGAN = 0x2,
60 MONSTER_SUPERTYPE_DRAGON = 0x3,
61 MONSTER_SUPERTYPE_ELF = 0x4,
62 MONSTER_SUPERTYPE_WATER_ELEMENTAL = 0x5,
63 MONSTER_SUPERTYPE_TREANT = 0x6,
64 MONSTER_SUPERTYPE_TITAN = 0x7,
65 MONSTER_SUPERTYPE_8 = 0x8,
66 };
67
68
69
70 /* 187 */
71 #pragma pack(push, 1)
72 struct MonsterInfo
73 {
74 char *pName;
75 char *pTexture;
76 unsigned __int8 uLevel;
77 unsigned __int8 uTreasureDropChance;
78 unsigned __int8 uTreasureDiceRolls;
79 unsigned __int8 uTreasureDiceSides;
80 unsigned __int8 uTreasureLevel;
81 unsigned __int8 uTreasureType;
82 unsigned __int8 uFlying;
83 unsigned __int8 uMovementType;
84 unsigned __int8 uAIType;
85 unsigned __int8 uHostilityType;
86 char field_12;
87 unsigned __int8 uSpecialAttack;
88 unsigned __int8 uSpecialAttackType;
89 unsigned __int8 uAttack1Type;
90 unsigned __int8 uAttack1DamageDiceRolls;
91 unsigned __int8 uAttack1DamageDiceSides;
92 unsigned __int8 uAttack1DamageBonus;
93 unsigned __int8 uMissleAttack1Type;
94 unsigned __int8 uAttack2Chance;
95 unsigned __int8 uAttack2Type;
96 unsigned __int8 uAttack2DamageDiceRolls;
97 unsigned __int8 uAttack2DamageDiceSides;
98 unsigned __int8 uAttack2DamageBonus;
99 unsigned __int8 uMissleAttack2Type;
100 unsigned __int8 uSpell1UseChance;
101 unsigned __int8 uSpell1ID;
102 unsigned __int8 uSpell2UseChance;
103 unsigned __int8 uSpell2ID;
104 unsigned __int8 uResFire;
105 unsigned __int8 uResAir;
106 unsigned __int8 uResWater;
107 unsigned __int8 uResEarth;
108 unsigned __int8 uResMind;
109 unsigned __int8 uResSpirit;
110 unsigned __int8 uResBody;
111 unsigned __int8 uResLight;
112 unsigned __int8 uResDark;
113 unsigned __int8 uResPhysical;
114 unsigned __int8 uSpecialAbilityType;
115 unsigned __int8 uSpecialAbilityDamageDiceRolls;
116 unsigned __int8 uSpecialAbilityDamageDiceSides;
117 unsigned __int8 uSpecialAbilityDamageDiceBonus;
118 unsigned __int8 uNumCharactersAttackedPerSpecialAbility;
119 char field_33;
120 unsigned __int16 uID;
121 unsigned __int16 bQuestMonster;
122 unsigned __int16 uSpellSkillAndMastery1;
123 unsigned __int16 uSpellSkillAndMastery2;
124 __int16 field_3C_some_special_attack;
125 __int16 field_3E;
126 unsigned int uHP;
127 unsigned int uAC;
128 unsigned int uExp;
129 unsigned int uBaseSpeed;
130 unsigned int uRecoveryTime;
131 unsigned int uAttackPreference;
132 };
133 #pragma pack(pop)
134
135 /* 188 */
136 #pragma pack(push, 1)
137 struct MonsterPlacement
138 {
139 unsigned int uNumStrings;
140 char *pSubstrings[30];
141 };
142 #pragma pack(pop)
143
144 /* 189 */
145 #pragma pack(push, 1)
146 struct MonsterStats
147 {
148 void Initialize();
149 void InitializePlacements();
150 signed int _4563FF(const char *Str2);
151
152 static bool BelongsToSupertype(unsigned int uMonsterInfoID, enum MONSTER_SUPERTYPE eSupertype);
153
154 MonsterInfo pInfos[265];
155 MonsterPlacement pPlacement;
156 unsigned int uNumMonsters;
157 unsigned int uNumPlacements;
158 int field_5B9C;
159 };
160 #pragma pack(pop)
161
162
163
164 #pragma pack(push, 1)
165 struct MonsterDesc
166 {
167 unsigned __int16 uMonsterHeight;
168 unsigned __int16 uMonsterRadius;
169 unsigned __int16 uMovementSpeed;
170 __int16 uToHitRadius;
171 int uTintColor;
172 unsigned __int16 pSoundSampleIDs[4];
173 char pMonsterName[32];
174 char pSpriteNames[10][10];
175 };
176 #pragma pack(pop)
177
178
179 #pragma pack(push, 1)
180 struct MonsterList
181 {
182 inline MonsterList(): //----- (00458429)
183 uNumMonsters(0), pMonsters(nullptr)
184 {}
185 unsigned __int16 GetMonsterByName(const char *pMonsterName);
186 void ToFile();
187 void FromFile(void *pSerialized);
188 bool FromFileTxt(const char *Args);
189
190 unsigned int uNumMonsters;
191 struct MonsterDesc *pMonsters;
192 };
193 #pragma pack(pop)
194
195
196 extern struct MonsterStats *pMonsterStats;
197 extern struct MonsterList *pMonsterList;