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