Mercurial > mm7
annotate Spells.h @ 1591:d687f6e7c610
Boat dialogue
author | Ritor1 |
---|---|
date | Wed, 11 Sep 2013 18:01:16 +0600 |
parents | ff1867836af5 |
children | 85e9766d6124 |
rev | line source |
---|---|
0 | 1 #pragma once |
2 | |
1504 | 3 #include <array> |
4 | |
839 | 5 #include "VectorTypes.h" |
0 | 6 |
7 /* 360 */ | |
8 enum SPELL_TYPE | |
9 { | |
486 | 10 SPELL_FIRE_TORCH_LIGHT = 1, |
11 SPELL_FIRE_FIRE_BOLT = 2, | |
12 SPELL_FIRE_PROTECTION_FROM_FIRE = 3, | |
13 SPELL_FIRE_FIRE_AURA = 4, | |
14 SPELL_FIRE_HASTE = 5, | |
15 SPELL_FIRE_FIREBALL = 6, | |
16 SPELL_FIRE_FIRE_SPIKE = 7, | |
17 SPELL_FIRE_IMMOLATION = 8, | |
18 SPELL_FIRE_METEOR_SHOWER = 9, | |
19 SPELL_FIRE_INFERNO = 10, | |
20 SPELL_FIRE_INCINERATE = 11, | |
21 | |
22 SPELL_AIR_WIZARD_EYE = 12, | |
23 SPELL_AIR_FEATHER_FALL = 13, | |
24 SPELL_AIR_PROTECTION_FROM_AIR = 14, | |
25 SPELL_AIR_SPARKS = 15, | |
26 SPELL_AIR_JUMP = 16, | |
27 SPELL_AIR_SHIELD = 17, | |
28 SPELL_AIR_LIGHNING_BOLT = 18, | |
29 SPELL_AIR_INVISIBILITY = 19, | |
30 SPELL_AIR_IMPLOSION = 20, | |
31 SPELL_AIR_FLY = 21, | |
32 SPELL_AIR_STARBURST = 22, | |
33 | |
34 SPELL_WATER_AWAKEN = 23, | |
35 SPELL_WATER_POISON_SPRAY = 24, | |
36 SPELL_WATER_PROTECTION_FROM_WATER = 25, | |
37 SPELL_WATER_ICE_BOLT = 26, | |
38 SPELL_WATER_WATER_WALK = 27, | |
39 SPELL_WATER_RECHARGE_ITEM = 28, | |
40 SPELL_WATER_ACID_BURST = 29, | |
41 SPELL_WATER_ENCHANT_ITEM = 30, | |
42 SPELL_WATER_TOWN_PORTAL = 31, | |
43 SPELL_WATER_ICE_BLAST = 32, | |
44 SPELL_WATER_LLOYDS_BEACON = 33, | |
45 | |
46 SPELL_EARTH_STUN = 34, | |
47 SPELL_EARTH_SLOW = 35, | |
48 SPELL_EARTH_PROTECTION_FROM_EARTH = 36, | |
49 SPELL_EARTH_DEADLY_SWARM = 37, | |
50 SPELL_EARTH_STONESKIN = 38, | |
51 SPELL_EARTH_BLADES = 39, | |
52 SPELL_EARTH_STONE_TO_FLESH = 40, | |
53 SPELL_EARTH_ROCK_BLAST = 41, | |
54 SPELL_EARTH_TELEKINESIS = 42, | |
55 SPELL_EARTH_DEATH_BLOSSOM = 43, | |
56 SPELL_EARTH_MASS_DISTORTION = 44, | |
57 | |
58 SPELL_SPIRIT_DETECT_LIFE = 45, | |
59 SPELL_SPIRIT_BLESS = 46, | |
60 SPELL_SPIRIT_FATE = 47, | |
61 SPELL_SPIRIT_TURN_UNDEAD = 48, | |
62 SPELL_SPIRIT_REMOVE_CURSE = 49, | |
63 SPELL_SPIRIT_PRESERVATION = 50, | |
64 SPELL_SPIRIT_HEROISM = 51, | |
65 SPELL_SPIRIT_SPIRIT_LASH = 52, | |
66 SPELL_SPIRIT_RAISE_DEAD = 53, | |
67 SPELL_SPIRIT_SHARED_LIFE = 54, | |
68 SPELL_SPIRIT_RESSURECTION = 55, | |
69 | |
70 SPELL_MIND_REMOVE_FEAR = 56, | |
71 SPELL_MIND_MIND_BLAST = 57, | |
72 SPELL_MIND_PROTECTION_FROM_MIND = 58, | |
73 SPELL_MIND_TELEPATHY = 59, | |
74 SPELL_MIND_CHARM = 60, | |
75 SPELL_MIND_CURE_PARALYSIS = 61, | |
76 SPELL_MIND_BERSERK = 62, | |
77 SPELL_MIND_MASS_FEAR = 63, | |
78 SPELL_MIND_CURE_INSANITY = 64, | |
79 SPELL_MIND_PSYCHIC_SHOCK = 65, | |
80 SPELL_MIND_ENSLAVE = 66, | |
81 | |
82 SPELL_BODY_CURE_WEAKNESS = 67, | |
83 SPELL_BODY_FIRST_AID = 68, | |
84 SPELL_BODY_PROTECTION_FROM_BODY = 69, | |
85 SPELL_BODY_HARM = 70, | |
86 SPELL_BODY_REGENERATION = 71, | |
87 SPELL_BODY_CURE_POISON = 72, | |
88 SPELL_BODY_HAMMERHANDS = 73, | |
89 SPELL_BODY_CURE_DISEASE = 74, | |
90 SPELL_BODY_PROTECTION_FROM_MAGIC = 75, | |
91 SPELL_BODY_FLYING_FIST = 76, | |
92 SPELL_BODY_POWER_CURE = 77, | |
93 | |
94 SPELL_LIGHT_LIGHT_BOLT = 78, | |
95 SPELL_LIGHT_DESTROY_UNDEAD = 79, | |
96 SPELL_LIGHT_DISPEL_MAGIC = 80, | |
97 SPELL_LIGHT_PARALYZE = 81, | |
98 SPELL_LIGHT_SUMMON_ELEMENTAL = 82, | |
99 SPELL_LIGHT_DAY_OF_THE_GODS = 83, | |
100 SPELL_LIGHT_PRISMATIC_LIGHT = 84, | |
101 SPELL_LIGHT_DAY_OF_PROTECTION = 85, | |
102 SPELL_LIGHT_HOUR_OF_POWER = 86, | |
103 SPELL_LIGHT_SUNRAY = 87, | |
104 SPELL_LIGHT_DIVINE_INTERVENTION = 88, | |
105 | |
106 SPELL_DARK_REANIMATE = 89, | |
107 SPELL_DARK_TOXIC_CLOUD = 90, | |
108 SPELL_DARK_VAMPIRIC_WEAPON = 91, | |
109 SPELL_DARK_SHRINKING_RAY = 92, | |
110 SPELL_DARK_SHARPMETAL = 93, | |
111 SPELL_DARK_CONTROL_UNDEAD = 94, | |
112 SPELL_DARK_PAIN_REFLECTION = 95, | |
113 SPELL_DARK_SACRIFICE = 96, | |
114 SPELL_DARK_DRAGON_BREATH = 97, | |
115 SPELL_DARK_ARMAGEDDON = 98, | |
488 | 116 SPELL_DARK_SOULDRINKER = 99, |
117 | |
118 SPELL_BOW_ARROW = 100, | |
119 SPELL_101 = 101, | |
490 | 120 SPELL_LASER_PROJECTILE = 102, |
488 | 121 |
495 | 122 BECOME_MAGIC_GUILD_MEMBER = 150, |
511 | 123 SPELL_QUEST_COMPLETED = 151, |
488 | 124 SPELL_152 = 152, |
920 | 125 SPELL_DISEASE = 153 |
0 | 126 }; |
127 | |
128 | |
192 | 129 enum SPELL_SCHOOL : int |
130 { | |
131 SPELL_SCHOOL_FIRE = 0, | |
132 SPELL_SCHOOL_AIR = 1, | |
133 SPELL_SCHOOL_WATER = 2, | |
134 SPELL_SCHOOL_EARTH = 3, | |
135 SPELL_SCHOOL_NONE = 4, | |
136 SPELL_SCHOOL_MAGIC = 5, | |
137 SPELL_SCHOOL_SPIRIT = 6, | |
138 SPELL_SCHOOL_MIND = 7, | |
139 SPELL_SCHOOL_BODY = 8, | |
140 SPELL_SCHOOL_LIGHT = 9, | |
141 SPELL_SCHOOL_DARK = 10 | |
142 }; | |
143 | |
0 | 144 |
145 | |
146 /* 68 */ | |
147 #pragma pack(push, 1) | |
148 struct SpellBuff | |
149 { | |
150 inline SpellBuff() | |
151 { | |
152 uExpireTime = 0; | |
153 uPower = 0; | |
154 uSkill = 0; | |
155 uOverlayID = 0; | |
156 uCaster = 0; | |
157 uFlags = 0; | |
158 } | |
159 | |
1340 | 160 bool Apply(signed __int64 uExpireTime, unsigned __int16 uSkillLevel, unsigned __int16 uPower, int uOverlayID, unsigned __int8 caster); |
0 | 161 void Reset(); |
1340 | 162 bool IsBuffExpiredToTime(__int64 time_end); |
0 | 163 bool NotExpired(); |
164 | |
1340 | 165 signed __int64 uExpireTime; |
0 | 166 unsigned __int16 uPower; |
167 unsigned __int16 uSkill; | |
168 unsigned __int16 uOverlayID; | |
169 unsigned __int8 uCaster; | |
170 unsigned __int8 uFlags; | |
171 }; | |
172 #pragma pack(pop) | |
173 | |
174 | |
175 #pragma pack(push, 1) | |
176 struct SpellInfo | |
177 { | |
178 char *pName; | |
179 char *pShortName; | |
180 char *pDescription; | |
181 char *pBasicSkillDesc; | |
182 char *pExpertSkillDesc; | |
183 char *pMasterSkillDesc; | |
184 char *pGrandmasterSkillDesc; | |
192 | 185 SPELL_SCHOOL uSchool; |
0 | 186 int field_20; |
187 }; | |
188 #pragma pack(pop) | |
189 | |
190 | |
191 | |
192 #pragma pack(push, 1) | |
193 struct SpellStats | |
194 { | |
195 void Initialize(); | |
196 | |
197 SpellInfo pInfos[100]; | |
198 }; | |
199 #pragma pack(pop) | |
200 | |
201 | |
202 | |
203 | |
204 | |
205 | |
206 | |
207 | |
208 | |
209 /* 364 */ | |
210 #pragma pack(push, 1) | |
211 struct stru324_spell | |
212 { | |
924 | 213 __int16 uType; |
0 | 214 __int16 field_2; |
215 }; | |
216 #pragma pack(pop) | |
217 | |
218 /* 151 */ | |
219 #pragma pack(push, 1) | |
220 struct SpellData | |
221 { | |
488 | 222 union |
223 { | |
224 unsigned __int16 mana_per_skill[4]; | |
225 struct | |
226 { | |
227 unsigned __int16 uNormalLevelMana; | |
228 unsigned __int16 uExpertLevelMana; | |
229 unsigned __int16 uMasterLevelMana; | |
230 unsigned __int16 uMagisterLevelMana; | |
231 }; | |
232 }; | |
233 union | |
234 { | |
235 unsigned __int16 recovery_per_skill[4]; | |
236 struct | |
237 { | |
238 unsigned __int16 uNormalLevelRecovery; | |
239 unsigned __int16 uExpertLevelRecovery; | |
240 unsigned __int16 uMasterLevelRecovery; | |
241 unsigned __int16 uMagisterLevelRecovery; | |
242 }; | |
243 }; | |
0 | 244 __int16 field_10; |
192 | 245 __int16 field_12; |
246 // char field_12; | |
247 // char field_13; | |
189 | 248 // __int16 field_14; |
0 | 249 }; |
250 #pragma pack(pop) | |
251 | |
357 | 252 #pragma pack(push, 1) |
253 struct SpellBookIconPos | |
254 { | |
255 unsigned int Xpos; | |
256 unsigned int Ypos; | |
257 }; | |
0 | 258 |
357 | 259 #pragma pack(pop) |
0 | 260 |
839 | 261 /* 154 */ |
262 #pragma pack(push, 1) | |
263 struct TownPortalData | |
264 { | |
265 Vec3_int_ pos; | |
266 __int16 rot_y; | |
267 __int16 rot_x; | |
268 unsigned __int16 uMapInfoID; | |
269 __int16 field_12; | |
270 }; | |
271 #pragma pack(pop) | |
1206
ab6560001f5b
arrays to std::arrays phase 2 - some more arrays converted
Grumpy7
parents:
982
diff
changeset
|
272 extern std::array<TownPortalData, 6> TownPortalList; //4ECBB8 |
839 | 273 |
0 | 274 |
275 extern struct SpellStats *pSpellStats; | |
276 | |
1206
ab6560001f5b
arrays to std::arrays phase 2 - some more arrays converted
Grumpy7
parents:
982
diff
changeset
|
277 extern std::array<std::array<struct SpellBookIconPos, 12>, 9> pIconPos; |
0 | 278 |
1206
ab6560001f5b
arrays to std::arrays phase 2 - some more arrays converted
Grumpy7
parents:
982
diff
changeset
|
279 extern std::array<stru324_spell, 103> stru_4E3ACC; |
ab6560001f5b
arrays to std::arrays phase 2 - some more arrays converted
Grumpy7
parents:
982
diff
changeset
|
280 extern std::array<SpellData, 100> pSpellDatas; |
ab6560001f5b
arrays to std::arrays phase 2 - some more arrays converted
Grumpy7
parents:
982
diff
changeset
|
281 extern std::array<unsigned int, 25> wand_spell_ids; |