1 #pragma once
2 
3 #include "tag-version.h"
4 
5 enum spell_type : int
6 {
7     SPELL_NO_SPELL,
8     SPELL_TELEPORT_SELF,
9     SPELL_FIRST_SPELL = SPELL_TELEPORT_SELF,
10     SPELL_CAUSE_FEAR,
11     SPELL_MAGIC_DART,
12     SPELL_FIREBALL,
13     SPELL_APPORTATION,
14 #if TAG_MAJOR_VERSION == 34
15     SPELL_DELAYED_FIREBALL,
16     SPELL_STRIKING,
17 #endif
18     SPELL_CONJURE_FLAME,
19     SPELL_DIG,
20     SPELL_BOLT_OF_FIRE,
21     SPELL_BOLT_OF_COLD,
22     SPELL_LIGHTNING_BOLT,
23     SPELL_BOLT_OF_MAGMA,
24     SPELL_POLYMORPH,
25     SPELL_SLOW,
26     SPELL_HASTE,
27     SPELL_PARALYSE,
28     SPELL_CONFUSE,
29     SPELL_INVISIBILITY,
30     SPELL_THROW_FLAME,
31     SPELL_THROW_FROST,
32 #if TAG_MAJOR_VERSION == 34
33     SPELL_CONTROLLED_BLINK,
34 #endif
35     SPELL_FREEZING_CLOUD,
36     SPELL_MEPHITIC_CLOUD,
37 #if TAG_MAJOR_VERSION == 34
38     SPELL_RING_OF_FLAMES,
39 #endif
40     SPELL_VENOM_BOLT,
41     SPELL_OLGREBS_TOXIC_RADIANCE,
42     SPELL_TELEPORT_OTHER,
43     SPELL_MINOR_HEALING,
44     SPELL_MAJOR_HEALING,
45     SPELL_DEATHS_DOOR,
46     SPELL_MASS_CONFUSION,
47     SPELL_SMITING,
48     SPELL_SUMMON_SMALL_MAMMAL,
49     SPELL_ABJURATION,
50 #if TAG_MAJOR_VERSION == 34
51     SPELL_SUMMON_SCORPIONS,
52 #endif
53     SPELL_BOLT_OF_DRAINING,
54     SPELL_LEHUDIBS_CRYSTAL_SPEAR,
55 #if TAG_MAJOR_VERSION == 34
56     SPELL_BOLT_OF_INACCURACY,
57 #endif
58     SPELL_POISONOUS_CLOUD,
59     SPELL_FIRE_STORM,
60     SPELL_BLINK,
61     SPELL_ISKENDERUNS_MYSTIC_BLAST,
62 #if TAG_MAJOR_VERSION == 34
63     SPELL_SUMMON_SWARM,
64 #endif
65     SPELL_SUMMON_HORRIBLE_THINGS,
66     SPELL_CHARMING,
67     SPELL_ANIMATE_DEAD,
68     SPELL_PAIN,
69 #if TAG_MAJOR_VERSION == 34
70     SPELL_CONTROL_UNDEAD,
71 #endif
72     SPELL_ANIMATE_SKELETON,
73     SPELL_VAMPIRIC_DRAINING,
74     SPELL_HAUNT,
75     SPELL_BORGNJORS_REVIVIFICATION,
76     SPELL_FREEZE,
77 #if TAG_MAJOR_VERSION == 34
78     SPELL_SUMMON_ELEMENTAL,
79 #endif
80     SPELL_OZOCUBUS_REFRIGERATION,
81     SPELL_STICKY_FLAME,
82     SPELL_SUMMON_ICE_BEAST,
83     SPELL_OZOCUBUS_ARMOUR,
84     SPELL_CALL_IMP,
85     SPELL_REPEL_MISSILES,
86     SPELL_BERSERKER_RAGE,
87     SPELL_DISPEL_UNDEAD,
88 #if TAG_MAJOR_VERSION == 34
89     SPELL_FULSOME_DISTILLATION,
90 #endif
91     SPELL_POISON_ARROW,
92 #if TAG_MAJOR_VERSION == 34
93     SPELL_TWISTED_RESURRECTION,
94     SPELL_REGENERATION,
95 #endif
96     SPELL_BANISHMENT,
97 #if TAG_MAJOR_VERSION == 34
98     SPELL_CIGOTUVIS_DEGENERATION,
99 #endif
100     SPELL_STING,
101     SPELL_SUBLIMATION_OF_BLOOD,
102     SPELL_TUKIMAS_DANCE,
103     SPELL_HURL_DAMNATION,
104     SPELL_SUMMON_DEMON,
105 #if TAG_MAJOR_VERSION == 34
106     SPELL_DEMONIC_HORDE,
107 #endif
108     SPELL_SUMMON_GREATER_DEMON,
109     SPELL_CORPSE_ROT,
110 #if TAG_MAJOR_VERSION == 34
111     SPELL_FIRE_BRAND,
112     SPELL_FREEZING_AURA,
113     SPELL_LETHAL_INFUSION,
114 #endif
115     SPELL_IRON_SHOT,
116     SPELL_STONE_ARROW,
117     SPELL_SHOCK,
118     SPELL_SWIFTNESS,
119 #if TAG_MAJOR_VERSION == 34
120     SPELL_FLY,
121     SPELL_INSULATION,
122     SPELL_CURE_POISON,
123     SPELL_CONTROL_TELEPORT,
124     SPELL_POISON_WEAPON,
125 #endif
126     SPELL_DEBUGGING_RAY,
127 #if TAG_MAJOR_VERSION == 34
128     SPELL_RECALL,
129 #endif
130     SPELL_AGONY,
131     SPELL_SPIDER_FORM,
132     SPELL_MINDBURST,
133     SPELL_BLADE_HANDS,
134     SPELL_STATUE_FORM,
135     SPELL_ICE_FORM,
136     SPELL_DRAGON_FORM,
137 #if TAG_MAJOR_VERSION > 34
138     SPELL_IRRADIATE,
139 #endif
140     SPELL_NECROMUTATION,
141     SPELL_DEATH_CHANNEL,
142     SPELL_SYMBOL_OF_TORMENT,
143 #if TAG_MAJOR_VERSION == 34
144     SPELL_DEFLECT_MISSILES,
145 #endif
146     SPELL_THROW_ICICLE,
147     SPELL_GLACIATE,
148     SPELL_AIRSTRIKE,
149     SPELL_SHADOW_CREATURES,
150     SPELL_CONFUSING_TOUCH,
151 #if TAG_MAJOR_VERSION == 34
152     SPELL_SURE_BLADE,
153 #endif
154     SPELL_FLAME_TONGUE,
155     SPELL_PASSWALL,
156     SPELL_IGNITE_POISON,
157 #if TAG_MAJOR_VERSION == 34
158     SPELL_STICKS_TO_SNAKES,
159 #endif
160     SPELL_CALL_CANINE_FAMILIAR,
161     SPELL_SUMMON_DRAGON,
162     SPELL_HIBERNATION,
163     SPELL_ENGLACIATION,
164 #if TAG_MAJOR_VERSION == 34
165     SPELL_SEE_INVISIBLE,
166     SPELL_PHASE_SHIFT,
167     SPELL_SUMMON_BUTTERFLIES,
168     SPELL_WARP_BRAND,
169 #endif
170     SPELL_SILENCE,
171     SPELL_SHATTER,
172     SPELL_DISPERSAL,
173     SPELL_DISCHARGE,
174     SPELL_CORONA,
175     SPELL_INTOXICATE,
176 #if TAG_MAJOR_VERSION == 34
177     SPELL_EVAPORATE,
178 #endif
179     SPELL_LRD,
180     SPELL_SANDBLAST,
181 #if TAG_MAJOR_VERSION == 34
182     SPELL_CONDENSATION_SHIELD,
183     SPELL_STONESKIN,
184 #endif
185     SPELL_SIMULACRUM,
186     SPELL_CONJURE_BALL_LIGHTNING,
187     SPELL_CHAIN_LIGHTNING,
188     SPELL_EXCRUCIATING_WOUNDS,
189     SPELL_PORTAL_PROJECTILE,
190     SPELL_MONSTROUS_MENAGERIE,
191     SPELL_PETRIFY,
192     SPELL_GOLUBRIAS_PASSAGE,
193 
194     // Mostly monster-only spells after this point:
195     SPELL_CALL_DOWN_DAMNATION,
196 #if TAG_MAJOR_VERSION == 34
197     SPELL_VAMPIRE_SUMMON,
198 #endif
199     SPELL_BRAIN_FEED,
200 #if TAG_MAJOR_VERSION == 34
201     SPELL_FAKE_RAKSHASA_SUMMON,
202 #endif
203     SPELL_STEAM_BALL,
204     SPELL_SUMMON_UFETUBUS,
205     SPELL_SUMMON_HELL_BEAST,
206     SPELL_ENERGY_BOLT,
207     SPELL_SPIT_POISON,
208     SPELL_SUMMON_UNDEAD,
209     SPELL_CANTRIP,
210     SPELL_QUICKSILVER_BOLT,
211     SPELL_METAL_SPLINTERS,
212     SPELL_MIASMA_BREATH,
213     SPELL_SUMMON_DRAKES,
214     SPELL_BLINK_OTHER,
215     SPELL_SUMMON_MUSHROOMS,
216     SPELL_SPIT_ACID,
217     SPELL_ACID_SPLASH,
218     SPELL_FIRE_BREATH,
219     SPELL_COLD_BREATH,
220 #if TAG_MAJOR_VERSION == 34
221     SPELL_DRACONIAN_BREATH,
222 #endif
223     SPELL_WATER_ELEMENTALS,
224     SPELL_PORKALATOR,
225     SPELL_CREATE_TENTACLES,
226     SPELL_TOMB_OF_DOROKLOHE,
227     SPELL_SUMMON_EYEBALLS,
228     SPELL_HASTE_OTHER,
229     SPELL_FIRE_ELEMENTALS,
230     SPELL_EARTH_ELEMENTALS,
231     SPELL_AIR_ELEMENTALS,
232     SPELL_SLEEP,
233     SPELL_BLINK_OTHER_CLOSE,
234     SPELL_BLINK_CLOSE,
235     SPELL_BLINK_RANGE,
236     SPELL_BLINK_AWAY,
237 #if TAG_MAJOR_VERSION == 34
238     SPELL_MISLEAD,
239 #endif
240     SPELL_FAKE_MARA_SUMMON,
241 #if TAG_MAJOR_VERSION == 34
242     SPELL_SUMMON_RAKSHASA,
243 #endif
244     SPELL_SUMMON_ILLUSION,
245     SPELL_PRIMAL_WAVE,
246     SPELL_CALL_TIDE,
247     SPELL_IOOD,
248     SPELL_INK_CLOUD,
249     SPELL_MIGHT,
250 #if TAG_MAJOR_VERSION == 34
251     SPELL_SUNRAY,
252 #endif
253     SPELL_AWAKEN_FOREST,
254     SPELL_DRUIDS_CALL,
255 #if TAG_MAJOR_VERSION == 34
256     SPELL_IRON_ELEMENTALS,
257 #endif
258     SPELL_SUMMON_SPECTRAL_ORCS,
259 #if TAG_MAJOR_VERSION == 34
260     SPELL_RESURRECT,
261     SPELL_HOLY_LIGHT,
262     SPELL_HOLY_WORD,
263 #endif
264     SPELL_SUMMON_HOLIES,
265     SPELL_HEAL_OTHER,
266 #if TAG_MAJOR_VERSION == 34
267     SPELL_SACRIFICE,
268 #endif
269     SPELL_HOLY_FLAMES,
270     SPELL_HOLY_BREATH,
271     SPELL_TROGS_HAND,
272     SPELL_BROTHERS_IN_ARMS,
273     SPELL_INJURY_MIRROR,
274     SPELL_DRAIN_LIFE,
275 #if TAG_MAJOR_VERSION == 34
276     SPELL_MIASMA_CLOUD,
277     SPELL_POISON_CLOUD,
278     SPELL_FIRE_CLOUD,
279     SPELL_STEAM_CLOUD,
280 #endif
281     SPELL_MALIGN_GATEWAY,
282     SPELL_NOXIOUS_CLOUD,
283     SPELL_POLAR_VORTEX,
284     SPELL_STICKY_FLAME_RANGE,
285     SPELL_LEDAS_LIQUEFACTION,
286 #if TAG_MAJOR_VERSION == 34
287     SPELL_HOMUNCULUS,
288 #endif
289     SPELL_SUMMON_HYDRA,
290     SPELL_DARKNESS,
291     SPELL_MESMERISE,
292 #if TAG_MAJOR_VERSION == 34
293     SPELL_MELEE, // like SPELL_NO_SPELL, but doesn't cause a re-roll
294 #endif
295     SPELL_FIRE_SUMMON,
296 #if TAG_MAJOR_VERSION == 34
297     SPELL_SHROUD_OF_GOLUBRIA,
298 #endif
299     SPELL_INNER_FLAME,
300     SPELL_PETRIFYING_CLOUD,
301 #if TAG_MAJOR_VERSION == 34
302     SPELL_AURA_OF_ABJURATION,
303 #endif
304     SPELL_BEASTLY_APPENDAGE,
305 #if TAG_MAJOR_VERSION == 34
306     SPELL_SILVER_BLAST,
307 #endif
308     SPELL_ENSNARE,
309     SPELL_THUNDERBOLT,
310     SPELL_SUMMON_MINOR_DEMON,
311     SPELL_DISJUNCTION,
312     SPELL_CHAOS_BREATH,
313 #if TAG_MAJOR_VERSION == 34
314     SPELL_FRENZY,
315     SPELL_SUMMON_TWISTER,
316 #endif
317     SPELL_BATTLESPHERE,
318     SPELL_FULMINANT_PRISM,
319     SPELL_DAZZLING_FLASH,
320     SPELL_FORCE_LANCE,
321     SPELL_MALMUTATE,
322     SPELL_MIGHT_OTHER,
323     SPELL_SENTINEL_MARK,
324     SPELL_WORD_OF_RECALL,
325     SPELL_INJURY_BOND,
326     SPELL_SPECTRAL_CLOUD,
327     SPELL_GHOSTLY_FIREBALL,
328     SPELL_CALL_LOST_SOUL,
329     SPELL_DIMENSION_ANCHOR,
330     SPELL_BLINK_ALLIES_ENCIRCLE,
331     SPELL_AWAKEN_VINES,
332 #if TAG_MAJOR_VERSION == 34
333     SPELL_CONTROL_WINDS,
334 #endif
335     SPELL_THORN_VOLLEY,
336     SPELL_WALL_OF_BRAMBLES,
337     SPELL_WATERSTRIKE,
338 #if TAG_MAJOR_VERSION == 34
339     SPELL_HASTE_PLANTS,
340 #endif
341     SPELL_WIND_BLAST,
342     SPELL_STRIP_WILLPOWER,
343 #if TAG_MAJOR_VERSION == 34
344     SPELL_INFUSION,
345 #endif
346     SPELL_WEREBLOOD,
347 #if TAG_MAJOR_VERSION == 34
348     SPELL_SPECTRAL_WEAPON,
349     SPELL_SONG_OF_SHIELDING,
350 #endif
351     SPELL_SUMMON_VERMIN,
352     SPELL_MALIGN_OFFERING,
353     SPELL_SEARING_RAY,
354     SPELL_DISCORD,
355 #if TAG_MAJOR_VERSION == 34
356     SPELL_SHAFT_SELF,
357 #endif
358     SPELL_BLINKBOLT,
359     SPELL_INVISIBILITY_OTHER,
360     SPELL_VIRULENCE,
361 #if TAG_MAJOR_VERSION == 34
362     SPELL_IGNITE_POISON_SINGLE,
363 #endif
364     SPELL_ORB_OF_ELECTRICITY,
365 #if TAG_MAJOR_VERSION == 34
366     SPELL_EXPLOSIVE_BOLT,
367 #endif
368     SPELL_FLASH_FREEZE,
369     SPELL_LEGENDARY_DESTRUCTION,
370 #if TAG_MAJOR_VERSION == 34
371     SPELL_EPHEMERAL_INFUSION,
372 #endif
373     SPELL_FORCEFUL_INVITATION,
374     SPELL_PLANEREND,
375     SPELL_CHAIN_OF_CHAOS,
376     SPELL_CALL_OF_CHAOS,
377     SPELL_BLACK_MARK,
378 #if TAG_MAJOR_VERSION == 34
379     SPELL_GRAND_AVATAR,
380 #endif
381     SPELL_SAP_MAGIC,
382 #if TAG_MAJOR_VERSION == 34
383     SPELL_CORRUPT_BODY,
384     SPELL_REARRANGE_PIECES,
385 #endif
386     SPELL_MAJOR_DESTRUCTION,
387     SPELL_BLINK_ALLIES_AWAY,
388     SPELL_SHADOW_SHARD,
389     SPELL_SHADOW_BOLT,
390     SPELL_CRYSTAL_BOLT,
391     SPELL_SUMMON_FOREST,
392     SPELL_SUMMON_LIGHTNING_SPIRE,
393     SPELL_SUMMON_GUARDIAN_GOLEM,
394 #if TAG_MAJOR_VERSION == 34
395     SPELL_RANDOM_BOLT,
396     SPELL_CLOUD_CONE,
397     SPELL_WEAVE_SHADOWS,
398 #endif
399     SPELL_DRAGON_CALL,
400     SPELL_SPELLFORGED_SERVITOR,
401 #if TAG_MAJOR_VERSION == 34
402     SPELL_FORCEFUL_DISMISSAL,
403 #endif
404     SPELL_SUMMON_MANA_VIPER,
405     SPELL_PHANTOM_MIRROR,
406     SPELL_DRAIN_MAGIC,
407     SPELL_CORROSIVE_BOLT,
408 #if TAG_MAJOR_VERSION == 34
409     SPELL_SERPENT_OF_HELL_BREATH_REMOVED,
410 #endif
411     SPELL_SUMMON_EMPEROR_SCORPIONS,
412 #if TAG_MAJOR_VERSION == 34
413     SPELL_HYDRA_FORM,
414     SPELL_IRRADIATE,
415 #endif
416     SPELL_SPIT_LAVA,
417     SPELL_ELECTRICAL_BOLT,
418     SPELL_FLAMING_CLOUD,
419     SPELL_THROW_BARBS,
420     SPELL_BATTLECRY,
421     SPELL_WARNING_CRY,
422     SPELL_SEAL_DOORS,
423     SPELL_FLAY,
424     SPELL_BERSERK_OTHER,
425 #if TAG_MAJOR_VERSION == 34
426     SPELL_THROW,
427 #endif
428     SPELL_CORRUPTING_PULSE,
429     SPELL_SIREN_SONG,
430     SPELL_AVATAR_SONG,
431     SPELL_PARALYSIS_GAZE,
432     SPELL_CONFUSION_GAZE,
433     SPELL_DRAINING_GAZE,
434     SPELL_DEATH_RATTLE,
435     SPELL_SUMMON_SCARABS,
436 #if TAG_MAJOR_VERSION == 34
437     SPELL_HUNTING_CRY,
438 #endif
439     SPELL_SEARING_BREATH,
440     SPELL_CHILLING_BREATH,
441 #if TAG_MAJOR_VERSION == 34
442     SPELL_SCATTERSHOT,
443 #endif
444     SPELL_CLEANSING_FLAME,
445     SPELL_THROW_ALLY,
446 #if TAG_MAJOR_VERSION == 34
447     SPELL_CIGOTUVIS_EMBRACE,
448     SPELL_SINGULARITY,
449 #endif
450     SPELL_GRAVITAS,
451 #if TAG_MAJOR_VERSION == 34
452     SPELL_CHANT_FIRE_STORM,
453 #endif
454     SPELL_ENTROPIC_WEAVE,
455     SPELL_SUMMON_EXECUTIONERS,
456     SPELL_VIOLENT_UNRAVELLING,
457     SPELL_DOOM_HOWL,
458     SPELL_AWAKEN_EARTH,
459     SPELL_AURA_OF_BRILLIANCE,
460     SPELL_ICEBLAST,
461     SPELL_SLUG_DART,
462     SPELL_SPRINT,
463     SPELL_GREATER_SERVANT_MAKHLEB,
464     SPELL_SERPENT_OF_HELL_GEH_BREATH,
465     SPELL_SERPENT_OF_HELL_COC_BREATH,
466     SPELL_SERPENT_OF_HELL_TAR_BREATH,
467     SPELL_SERPENT_OF_HELL_DIS_BREATH,
468     SPELL_BIND_SOULS,
469     SPELL_INFESTATION,
470     SPELL_STILL_WINDS,
471     SPELL_RESONANCE_STRIKE,
472     SPELL_GHOSTLY_SACRIFICE,
473     SPELL_DREAM_DUST,
474     SPELL_BECKONING,
475     SPELL_UPHEAVAL,
476     SPELL_RANDOM_EFFECTS,
477     SPELL_POISONOUS_VAPOURS,
478 #if TAG_MAJOR_VERSION == 34
479     SPELL_RING_OF_THUNDER,
480 #endif
481     SPELL_IGNITION,
482 #if TAG_MAJOR_VERSION == 34
483     SPELL_VORTEX,
484 #endif
485     SPELL_BORGNJORS_VILE_CLUTCH,
486     SPELL_HARPOON_SHOT,
487     SPELL_GRASPING_ROOTS,
488     SPELL_SONIC_WAVE,
489     SPELL_THROW_PIE,
490     SPELL_SPORULATE,
491     SPELL_STARBURST,
492     SPELL_FOXFIRE,
493     SPELL_HAILSTORM,
494     SPELL_NOXIOUS_BOG,
495     SPELL_AGONY_RANGE,
496     SPELL_DISPEL_UNDEAD_RANGE,
497     SPELL_FROZEN_RAMPARTS,
498     SPELL_MAXWELLS_COUPLING,
499     SPELL_ROLL,
500     SPELL_SPLINTERSPRAY,
501     SPELL_WOODWEAL,
502     SPELL_HURL_SLUDGE,
503     SPELL_MARSHLIGHT,
504     SPELL_SUMMON_TZITZIMITL,
505     SPELL_SUMMON_HELL_SENTINEL,
506     SPELL_ANIMATE_ARMOUR,
507     SPELL_MANIFOLD_ASSAULT,
508     SPELL_CREEPING_FROST,
509     SPELL_CALL_DOWN_LIGHTNING,
510     SPELL_GOAD_BEASTS,
511     SPELL_CONCENTRATE_VENOM,
512     SPELL_ERUPTION,
513     SPELL_PYROCLASTIC_SURGE,
514     SPELL_WEAKENING_GAZE,
515     SPELL_STORM_FORM,
516     SPELL_STUNNING_BURST,
517     NUM_SPELLS
518 };
519