annotate Spells.h @ 486:7887a9cf9e7b

Spells
author Nomad
date Wed, 27 Feb 2013 17:29:05 +0200
parents 2bc1c8d68f41
children a3939d5067c4
rev   line source
0
Ritor1
parents:
diff changeset
1 #pragma once
Ritor1
parents:
diff changeset
2
Ritor1
parents:
diff changeset
3
Ritor1
parents:
diff changeset
4
Ritor1
parents:
diff changeset
5 /* 360 */
Ritor1
parents:
diff changeset
6 enum SPELL_TYPE
Ritor1
parents:
diff changeset
7 {
486
Nomad
parents: 363
diff changeset
8 SPELL_FIRE_TORCH_LIGHT = 1,
Nomad
parents: 363
diff changeset
9 SPELL_FIRE_FIRE_BOLT = 2,
Nomad
parents: 363
diff changeset
10 SPELL_FIRE_PROTECTION_FROM_FIRE = 3,
Nomad
parents: 363
diff changeset
11 SPELL_FIRE_FIRE_AURA = 4,
Nomad
parents: 363
diff changeset
12 SPELL_FIRE_HASTE = 5,
Nomad
parents: 363
diff changeset
13 SPELL_FIRE_FIREBALL = 6,
Nomad
parents: 363
diff changeset
14 SPELL_FIRE_FIRE_SPIKE = 7,
Nomad
parents: 363
diff changeset
15 SPELL_FIRE_IMMOLATION = 8,
Nomad
parents: 363
diff changeset
16 SPELL_FIRE_METEOR_SHOWER = 9,
Nomad
parents: 363
diff changeset
17 SPELL_FIRE_INFERNO = 10,
Nomad
parents: 363
diff changeset
18 SPELL_FIRE_INCINERATE = 11,
Nomad
parents: 363
diff changeset
19
Nomad
parents: 363
diff changeset
20 SPELL_AIR_WIZARD_EYE = 12,
Nomad
parents: 363
diff changeset
21 SPELL_AIR_FEATHER_FALL = 13,
Nomad
parents: 363
diff changeset
22 SPELL_AIR_PROTECTION_FROM_AIR = 14,
Nomad
parents: 363
diff changeset
23 SPELL_AIR_SPARKS = 15,
Nomad
parents: 363
diff changeset
24 SPELL_AIR_JUMP = 16,
Nomad
parents: 363
diff changeset
25 SPELL_AIR_SHIELD = 17,
Nomad
parents: 363
diff changeset
26 SPELL_AIR_LIGHNING_BOLT = 18,
Nomad
parents: 363
diff changeset
27 SPELL_AIR_INVISIBILITY = 19,
Nomad
parents: 363
diff changeset
28 SPELL_AIR_IMPLOSION = 20,
Nomad
parents: 363
diff changeset
29 SPELL_AIR_FLY = 21,
Nomad
parents: 363
diff changeset
30 SPELL_AIR_STARBURST = 22,
Nomad
parents: 363
diff changeset
31
Nomad
parents: 363
diff changeset
32 SPELL_WATER_AWAKEN = 23,
Nomad
parents: 363
diff changeset
33 SPELL_WATER_POISON_SPRAY = 24,
Nomad
parents: 363
diff changeset
34 SPELL_WATER_PROTECTION_FROM_WATER = 25,
Nomad
parents: 363
diff changeset
35 SPELL_WATER_ICE_BOLT = 26,
Nomad
parents: 363
diff changeset
36 SPELL_WATER_WATER_WALK = 27,
Nomad
parents: 363
diff changeset
37 SPELL_WATER_RECHARGE_ITEM = 28,
Nomad
parents: 363
diff changeset
38 SPELL_WATER_ACID_BURST = 29,
Nomad
parents: 363
diff changeset
39 SPELL_WATER_ENCHANT_ITEM = 30,
Nomad
parents: 363
diff changeset
40 SPELL_WATER_TOWN_PORTAL = 31,
Nomad
parents: 363
diff changeset
41 SPELL_WATER_ICE_BLAST = 32,
Nomad
parents: 363
diff changeset
42 SPELL_WATER_LLOYDS_BEACON = 33,
Nomad
parents: 363
diff changeset
43
Nomad
parents: 363
diff changeset
44 SPELL_EARTH_STUN = 34,
Nomad
parents: 363
diff changeset
45 SPELL_EARTH_SLOW = 35,
Nomad
parents: 363
diff changeset
46 SPELL_EARTH_PROTECTION_FROM_EARTH = 36,
Nomad
parents: 363
diff changeset
47 SPELL_EARTH_DEADLY_SWARM = 37,
Nomad
parents: 363
diff changeset
48 SPELL_EARTH_STONESKIN = 38,
Nomad
parents: 363
diff changeset
49 SPELL_EARTH_BLADES = 39,
Nomad
parents: 363
diff changeset
50 SPELL_EARTH_STONE_TO_FLESH = 40,
Nomad
parents: 363
diff changeset
51 SPELL_EARTH_ROCK_BLAST = 41,
Nomad
parents: 363
diff changeset
52 SPELL_EARTH_TELEKINESIS = 42,
Nomad
parents: 363
diff changeset
53 SPELL_EARTH_DEATH_BLOSSOM = 43,
Nomad
parents: 363
diff changeset
54 SPELL_EARTH_MASS_DISTORTION = 44,
Nomad
parents: 363
diff changeset
55
Nomad
parents: 363
diff changeset
56 SPELL_SPIRIT_DETECT_LIFE = 45,
Nomad
parents: 363
diff changeset
57 SPELL_SPIRIT_BLESS = 46,
Nomad
parents: 363
diff changeset
58 SPELL_SPIRIT_FATE = 47,
Nomad
parents: 363
diff changeset
59 SPELL_SPIRIT_TURN_UNDEAD = 48,
Nomad
parents: 363
diff changeset
60 SPELL_SPIRIT_REMOVE_CURSE = 49,
Nomad
parents: 363
diff changeset
61 SPELL_SPIRIT_PRESERVATION = 50,
Nomad
parents: 363
diff changeset
62 SPELL_SPIRIT_HEROISM = 51,
Nomad
parents: 363
diff changeset
63 SPELL_SPIRIT_SPIRIT_LASH = 52,
Nomad
parents: 363
diff changeset
64 SPELL_SPIRIT_RAISE_DEAD = 53,
Nomad
parents: 363
diff changeset
65 SPELL_SPIRIT_SHARED_LIFE = 54,
Nomad
parents: 363
diff changeset
66 SPELL_SPIRIT_RESSURECTION = 55,
Nomad
parents: 363
diff changeset
67
Nomad
parents: 363
diff changeset
68 SPELL_MIND_REMOVE_FEAR = 56,
Nomad
parents: 363
diff changeset
69 SPELL_MIND_MIND_BLAST = 57,
Nomad
parents: 363
diff changeset
70 SPELL_MIND_PROTECTION_FROM_MIND = 58,
Nomad
parents: 363
diff changeset
71 SPELL_MIND_TELEPATHY = 59,
Nomad
parents: 363
diff changeset
72 SPELL_MIND_CHARM = 60,
Nomad
parents: 363
diff changeset
73 SPELL_MIND_CURE_PARALYSIS = 61,
Nomad
parents: 363
diff changeset
74 SPELL_MIND_BERSERK = 62,
Nomad
parents: 363
diff changeset
75 SPELL_MIND_MASS_FEAR = 63,
Nomad
parents: 363
diff changeset
76 SPELL_MIND_CURE_INSANITY = 64,
Nomad
parents: 363
diff changeset
77 SPELL_MIND_PSYCHIC_SHOCK = 65,
Nomad
parents: 363
diff changeset
78 SPELL_MIND_ENSLAVE = 66,
Nomad
parents: 363
diff changeset
79
Nomad
parents: 363
diff changeset
80 SPELL_BODY_CURE_WEAKNESS = 67,
Nomad
parents: 363
diff changeset
81 SPELL_BODY_FIRST_AID = 68,
Nomad
parents: 363
diff changeset
82 SPELL_BODY_PROTECTION_FROM_BODY = 69,
Nomad
parents: 363
diff changeset
83 SPELL_BODY_HARM = 70,
Nomad
parents: 363
diff changeset
84 SPELL_BODY_REGENERATION = 71,
Nomad
parents: 363
diff changeset
85 SPELL_BODY_CURE_POISON = 72,
Nomad
parents: 363
diff changeset
86 SPELL_BODY_HAMMERHANDS = 73,
Nomad
parents: 363
diff changeset
87 SPELL_BODY_CURE_DISEASE = 74,
Nomad
parents: 363
diff changeset
88 SPELL_BODY_PROTECTION_FROM_MAGIC = 75,
Nomad
parents: 363
diff changeset
89 SPELL_BODY_FLYING_FIST = 76,
Nomad
parents: 363
diff changeset
90 SPELL_BODY_POWER_CURE = 77,
Nomad
parents: 363
diff changeset
91
Nomad
parents: 363
diff changeset
92 SPELL_LIGHT_LIGHT_BOLT = 78,
Nomad
parents: 363
diff changeset
93 SPELL_LIGHT_DESTROY_UNDEAD = 79,
Nomad
parents: 363
diff changeset
94 SPELL_LIGHT_DISPEL_MAGIC = 80,
Nomad
parents: 363
diff changeset
95 SPELL_LIGHT_PARALYZE = 81,
Nomad
parents: 363
diff changeset
96 SPELL_LIGHT_SUMMON_ELEMENTAL = 82,
Nomad
parents: 363
diff changeset
97 SPELL_LIGHT_DAY_OF_THE_GODS = 83,
Nomad
parents: 363
diff changeset
98 SPELL_LIGHT_PRISMATIC_LIGHT = 84,
Nomad
parents: 363
diff changeset
99 SPELL_LIGHT_DAY_OF_PROTECTION = 85,
Nomad
parents: 363
diff changeset
100 SPELL_LIGHT_HOUR_OF_POWER = 86,
Nomad
parents: 363
diff changeset
101 SPELL_LIGHT_SUNRAY = 87,
Nomad
parents: 363
diff changeset
102 SPELL_LIGHT_DIVINE_INTERVENTION = 88,
Nomad
parents: 363
diff changeset
103
Nomad
parents: 363
diff changeset
104 SPELL_DARK_REANIMATE = 89,
Nomad
parents: 363
diff changeset
105 SPELL_DARK_TOXIC_CLOUD = 90,
Nomad
parents: 363
diff changeset
106 SPELL_DARK_VAMPIRIC_WEAPON = 91,
Nomad
parents: 363
diff changeset
107 SPELL_DARK_SHRINKING_RAY = 92,
Nomad
parents: 363
diff changeset
108 SPELL_DARK_SHARPMETAL = 93,
Nomad
parents: 363
diff changeset
109 SPELL_DARK_CONTROL_UNDEAD = 94,
Nomad
parents: 363
diff changeset
110 SPELL_DARK_PAIN_REFLECTION = 95,
Nomad
parents: 363
diff changeset
111 SPELL_DARK_SACRIFICE = 96,
Nomad
parents: 363
diff changeset
112 SPELL_DARK_DRAGON_BREATH = 97,
Nomad
parents: 363
diff changeset
113 SPELL_DARK_ARMAGEDDON = 98,
Nomad
parents: 363
diff changeset
114 SPELL_DARK_SOULDRINKER = 99
0
Ritor1
parents:
diff changeset
115 };
Ritor1
parents:
diff changeset
116
Ritor1
parents:
diff changeset
117
192
1c8add70bcf9 spell init fixed
Gloval
parents: 189
diff changeset
118 enum SPELL_SCHOOL : int
1c8add70bcf9 spell init fixed
Gloval
parents: 189
diff changeset
119 {
1c8add70bcf9 spell init fixed
Gloval
parents: 189
diff changeset
120 SPELL_SCHOOL_FIRE = 0,
1c8add70bcf9 spell init fixed
Gloval
parents: 189
diff changeset
121 SPELL_SCHOOL_AIR = 1,
1c8add70bcf9 spell init fixed
Gloval
parents: 189
diff changeset
122 SPELL_SCHOOL_WATER = 2,
1c8add70bcf9 spell init fixed
Gloval
parents: 189
diff changeset
123 SPELL_SCHOOL_EARTH = 3,
1c8add70bcf9 spell init fixed
Gloval
parents: 189
diff changeset
124 SPELL_SCHOOL_NONE = 4,
1c8add70bcf9 spell init fixed
Gloval
parents: 189
diff changeset
125 SPELL_SCHOOL_MAGIC = 5,
1c8add70bcf9 spell init fixed
Gloval
parents: 189
diff changeset
126 SPELL_SCHOOL_SPIRIT = 6,
1c8add70bcf9 spell init fixed
Gloval
parents: 189
diff changeset
127 SPELL_SCHOOL_MIND = 7,
1c8add70bcf9 spell init fixed
Gloval
parents: 189
diff changeset
128 SPELL_SCHOOL_BODY = 8,
1c8add70bcf9 spell init fixed
Gloval
parents: 189
diff changeset
129 SPELL_SCHOOL_LIGHT = 9,
1c8add70bcf9 spell init fixed
Gloval
parents: 189
diff changeset
130 SPELL_SCHOOL_DARK = 10
1c8add70bcf9 spell init fixed
Gloval
parents: 189
diff changeset
131 };
1c8add70bcf9 spell init fixed
Gloval
parents: 189
diff changeset
132
0
Ritor1
parents:
diff changeset
133
Ritor1
parents:
diff changeset
134
Ritor1
parents:
diff changeset
135 /* 68 */
Ritor1
parents:
diff changeset
136 #pragma pack(push, 1)
Ritor1
parents:
diff changeset
137 struct SpellBuff
Ritor1
parents:
diff changeset
138 {
Ritor1
parents:
diff changeset
139 inline SpellBuff()
Ritor1
parents:
diff changeset
140 {
Ritor1
parents:
diff changeset
141 uExpireTime = 0;
Ritor1
parents:
diff changeset
142 uPower = 0;
Ritor1
parents:
diff changeset
143 uSkill = 0;
Ritor1
parents:
diff changeset
144 uOverlayID = 0;
Ritor1
parents:
diff changeset
145 uCaster = 0;
Ritor1
parents:
diff changeset
146 uFlags = 0;
Ritor1
parents:
diff changeset
147 }
Ritor1
parents:
diff changeset
148
Ritor1
parents:
diff changeset
149 signed int Apply(unsigned __int64 uExpireTime, unsigned __int16 uSkillLevel, unsigned __int16 uPower, int a5, unsigned __int8 a6);
Ritor1
parents:
diff changeset
150 void Reset();
Ritor1
parents:
diff changeset
151 signed int _4585CA(__int64 a2);
Ritor1
parents:
diff changeset
152 bool NotExpired();
Ritor1
parents:
diff changeset
153
Ritor1
parents:
diff changeset
154 unsigned __int64 uExpireTime;
Ritor1
parents:
diff changeset
155 unsigned __int16 uPower;
Ritor1
parents:
diff changeset
156 unsigned __int16 uSkill;
Ritor1
parents:
diff changeset
157 unsigned __int16 uOverlayID;
Ritor1
parents:
diff changeset
158 unsigned __int8 uCaster;
Ritor1
parents:
diff changeset
159 unsigned __int8 uFlags;
Ritor1
parents:
diff changeset
160 };
Ritor1
parents:
diff changeset
161 #pragma pack(pop)
Ritor1
parents:
diff changeset
162
Ritor1
parents:
diff changeset
163
Ritor1
parents:
diff changeset
164 #pragma pack(push, 1)
Ritor1
parents:
diff changeset
165 struct SpellInfo
Ritor1
parents:
diff changeset
166 {
Ritor1
parents:
diff changeset
167 char *pName;
Ritor1
parents:
diff changeset
168 char *pShortName;
Ritor1
parents:
diff changeset
169 char *pDescription;
Ritor1
parents:
diff changeset
170 char *pBasicSkillDesc;
Ritor1
parents:
diff changeset
171 char *pExpertSkillDesc;
Ritor1
parents:
diff changeset
172 char *pMasterSkillDesc;
Ritor1
parents:
diff changeset
173 char *pGrandmasterSkillDesc;
192
1c8add70bcf9 spell init fixed
Gloval
parents: 189
diff changeset
174 SPELL_SCHOOL uSchool;
0
Ritor1
parents:
diff changeset
175 int field_20;
Ritor1
parents:
diff changeset
176 };
Ritor1
parents:
diff changeset
177 #pragma pack(pop)
Ritor1
parents:
diff changeset
178
Ritor1
parents:
diff changeset
179
Ritor1
parents:
diff changeset
180
Ritor1
parents:
diff changeset
181 #pragma pack(push, 1)
Ritor1
parents:
diff changeset
182 struct SpellStats
Ritor1
parents:
diff changeset
183 {
Ritor1
parents:
diff changeset
184 void Initialize();
Ritor1
parents:
diff changeset
185
Ritor1
parents:
diff changeset
186 SpellInfo pInfos[100];
Ritor1
parents:
diff changeset
187 };
Ritor1
parents:
diff changeset
188 #pragma pack(pop)
Ritor1
parents:
diff changeset
189
Ritor1
parents:
diff changeset
190
Ritor1
parents:
diff changeset
191
Ritor1
parents:
diff changeset
192
Ritor1
parents:
diff changeset
193
Ritor1
parents:
diff changeset
194
Ritor1
parents:
diff changeset
195
Ritor1
parents:
diff changeset
196
Ritor1
parents:
diff changeset
197
Ritor1
parents:
diff changeset
198 /* 364 */
Ritor1
parents:
diff changeset
199 #pragma pack(push, 1)
Ritor1
parents:
diff changeset
200 struct stru324_spell
Ritor1
parents:
diff changeset
201 {
Ritor1
parents:
diff changeset
202 __int16 uItemType;
Ritor1
parents:
diff changeset
203 __int16 field_2;
Ritor1
parents:
diff changeset
204 };
Ritor1
parents:
diff changeset
205 #pragma pack(pop)
Ritor1
parents:
diff changeset
206
Ritor1
parents:
diff changeset
207 /* 151 */
Ritor1
parents:
diff changeset
208 #pragma pack(push, 1)
Ritor1
parents:
diff changeset
209 struct SpellData
Ritor1
parents:
diff changeset
210 {
363
2bc1c8d68f41 Allocator and SpellCost Tip
Gloval
parents: 357
diff changeset
211 union
2bc1c8d68f41 Allocator and SpellCost Tip
Gloval
parents: 357
diff changeset
212 {
2bc1c8d68f41 Allocator and SpellCost Tip
Gloval
parents: 357
diff changeset
213 unsigned __int16 mana_per_skill[4];
2bc1c8d68f41 Allocator and SpellCost Tip
Gloval
parents: 357
diff changeset
214 struct
2bc1c8d68f41 Allocator and SpellCost Tip
Gloval
parents: 357
diff changeset
215 {
0
Ritor1
parents:
diff changeset
216 unsigned __int16 uNormalLevelMana;
Ritor1
parents:
diff changeset
217 unsigned __int16 uExpertLevelMana;
Ritor1
parents:
diff changeset
218 unsigned __int16 uMasterLevelMana;
Ritor1
parents:
diff changeset
219 unsigned __int16 uMagisterLevelMana;
363
2bc1c8d68f41 Allocator and SpellCost Tip
Gloval
parents: 357
diff changeset
220 };
2bc1c8d68f41 Allocator and SpellCost Tip
Gloval
parents: 357
diff changeset
221 };
0
Ritor1
parents:
diff changeset
222 unsigned __int16 field_8;
Ritor1
parents:
diff changeset
223 __int16 field_A;
Ritor1
parents:
diff changeset
224 __int16 field_C;
Ritor1
parents:
diff changeset
225 __int16 field_E;
Ritor1
parents:
diff changeset
226 __int16 field_10;
192
1c8add70bcf9 spell init fixed
Gloval
parents: 189
diff changeset
227 __int16 field_12;
1c8add70bcf9 spell init fixed
Gloval
parents: 189
diff changeset
228 // char field_12;
1c8add70bcf9 spell init fixed
Gloval
parents: 189
diff changeset
229 // char field_13;
189
038a4d09406f new texts file, fix text rendender error
Gloval
parents: 0
diff changeset
230 // __int16 field_14;
0
Ritor1
parents:
diff changeset
231 };
Ritor1
parents:
diff changeset
232 #pragma pack(pop)
Ritor1
parents:
diff changeset
233
357
b07cf89108d5 Spell positions in book
Gloval
parents: 192
diff changeset
234 #pragma pack(push, 1)
b07cf89108d5 Spell positions in book
Gloval
parents: 192
diff changeset
235 struct SpellBookIconPos
b07cf89108d5 Spell positions in book
Gloval
parents: 192
diff changeset
236 {
b07cf89108d5 Spell positions in book
Gloval
parents: 192
diff changeset
237 unsigned int Xpos;
b07cf89108d5 Spell positions in book
Gloval
parents: 192
diff changeset
238 unsigned int Ypos;
b07cf89108d5 Spell positions in book
Gloval
parents: 192
diff changeset
239 };
0
Ritor1
parents:
diff changeset
240
357
b07cf89108d5 Spell positions in book
Gloval
parents: 192
diff changeset
241 #pragma pack(pop)
0
Ritor1
parents:
diff changeset
242
Ritor1
parents:
diff changeset
243
Ritor1
parents:
diff changeset
244 extern struct SpellStats *pSpellStats;
Ritor1
parents:
diff changeset
245
363
2bc1c8d68f41 Allocator and SpellCost Tip
Gloval
parents: 357
diff changeset
246 extern struct SpellBookIconPos pIconPos[9][12];
0
Ritor1
parents:
diff changeset
247
Ritor1
parents:
diff changeset
248 extern stru324_spell stru_4E3ACC[];
192
1c8add70bcf9 spell init fixed
Gloval
parents: 189
diff changeset
249 extern SpellData pSpellDatas[100];