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