1 #define NUMSPELLS (43)		/* number of spells in the book */
2 #define MAXSPELLLENGTH 8
3 
4 struct spelldef {
5     int length;
6     int gests[MAXSPELLLENGTH];
7     int extendable; /* with permanency */
8     int selfcast; /* generally cast it on yourself? */
9     char *name;
10 };
11 
12 extern struct spelldef spelllist[NUMSPELLS];
13 extern int reverse_sort_list[NUMSPELLS];
14 extern int alphabet_sort_list[NUMSPELLS];
15 
16 #define SP__DISPEL_MAGIC	(0)
17 #define SP__SUMMON_ELEMENTAL	(1)
18 #define SP__MAGIC_MIRROR	(2)
19 #define SP__LIGHTNING_BOLT	(3)
20 #define SP__CURE_HEAVY_WOUNDS	(4)
21 #define SP__CURE_LIGHT_WOUNDS	(5)
22 #define SP__AMNESIA		(6)
23 #define SP__CONFUSION		(7)
24 #define SP__DISEASE		(8)
25 #define SP__BLINDNESS		(9)
26 #define SP__DELAYED_EFFECT	(10)
27 #define SP__RAISE_DEAD		(11)
28 #define SP__POISON		(12)
29 #define SP__PARALYSIS		(13)
30 #define SP__SUMMON_TROLL	(14)
31 #define SP__FIREBALL		(15)
32 #define SP__SHIELD		(16)
33 #define SP__SURRENDER		(17)
34 #define SP__REMOVE_ENCHANTMENT	(18)
35 #define SP__INVISIBILITY	(19)
36 #define SP__CHARM_MONSTER	(20)
37 #define SP__CHARM_PERSON	(21)
38 #define SP__SUMMON_OGRE		(22)
39 #define SP__FINGER_OF_DEATH	(23)
40 #define SP__HASTE		(24)
41 #define SP__MISSILE		(25)
42 #define SP__SUMMON_GOBLIN	(26)
43 #define SP__ANTI_SPELL		(27)
44 #define SP__PERMANENCY		(28)
45 #define SP__TIME_STOP		(29)
46 #define SP__RESIST_COLD		(30)
47 #define SP__FEAR		(31)
48 #define SP__FIRE_STORM		(32)
49 #define SP__LIGHTNING_BOLT2	(33)
50 #define SP__CAUSE_LIGHT_WOUNDS	(34)
51 #define SP__SUMMON_GIANT	(35)
52 #define SP__CAUSE_HEAVY_WOUNDS	(36)
53 #define SP__COUNTER_SPELL	(37)
54 #define SP__ICE_STORM		(38)
55 #define SP__RESIST_HEAT		(39)
56 #define SP__PROTECTION_FROM_EVIL (40)
57 #define SP__COUNTER_SPELL2	(41)
58 #define	SP__STAB		(42) /* ok, it's not really a spell */
59