More mcastu code reorg
Instead of using two separate functions with switch-cases for wizard and clerical spell lists, define the spell lists as arrays and use a single function to pick a spell from the lists. Adds levels to the monster spells, using the switch-case values, with some minor fudging.
This commit is contained in:
@@ -6,30 +6,30 @@
|
||||
#define MCF_HOSTILE 0x0004 /* cast by hostile monsters only */
|
||||
|
||||
#if defined(MCASTU_ENUM)
|
||||
#define MONSPELL(def, flags) MCAST_##def
|
||||
#define MONSPELL(def, lvl, flags) MCAST_##def
|
||||
#elif defined(MCASTU_INIT)
|
||||
#define MONSPELL(def, flags) flags
|
||||
#define MONSPELL(def, lvl, flags) { lvl, flags }
|
||||
#endif
|
||||
|
||||
MONSPELL(PSI_BOLT, MCF_HOSTILE|MCF_SIGHT),
|
||||
MONSPELL(OPEN_WOUNDS, MCF_HOSTILE|MCF_SIGHT),
|
||||
MONSPELL(LIGHTNING, MCF_HOSTILE|MCF_SIGHT),
|
||||
MONSPELL(FIRE_PILLAR, MCF_HOSTILE|MCF_SIGHT),
|
||||
MONSPELL(GEYSER, MCF_HOSTILE|MCF_SIGHT),
|
||||
MONSPELL(DEATH_TOUCH, MCF_HOSTILE|MCF_SIGHT),
|
||||
MONSPELL(CURE_SELF, MCF_INDIRECT),
|
||||
MONSPELL(HASTE_SELF, MCF_INDIRECT),
|
||||
MONSPELL(DISAPPEAR, MCF_INDIRECT),
|
||||
MONSPELL(AGGRAVATION, MCF_INDIRECT|MCF_HOSTILE|MCF_SIGHT),
|
||||
MONSPELL(STUN_YOU, MCF_HOSTILE|MCF_SIGHT),
|
||||
MONSPELL(WEAKEN_YOU, MCF_HOSTILE|MCF_SIGHT),
|
||||
MONSPELL(CONFUSE_YOU, MCF_HOSTILE|MCF_SIGHT),
|
||||
MONSPELL(PARALYZE, MCF_HOSTILE|MCF_SIGHT),
|
||||
MONSPELL(BLIND_YOU, MCF_HOSTILE|MCF_SIGHT),
|
||||
MONSPELL(DESTRY_ARMR, MCF_HOSTILE|MCF_SIGHT),
|
||||
MONSPELL(CURSE_ITEMS, MCF_HOSTILE|MCF_SIGHT),
|
||||
MONSPELL(INSECTS, MCF_HOSTILE|MCF_INDIRECT|MCF_SIGHT),
|
||||
MONSPELL(SUMMON_MONS, MCF_HOSTILE|MCF_INDIRECT|MCF_SIGHT),
|
||||
MONSPELL(CLONE_WIZ, MCF_HOSTILE|MCF_INDIRECT|MCF_SIGHT),
|
||||
MONSPELL(PSI_BOLT, 0, MCF_HOSTILE|MCF_SIGHT),
|
||||
MONSPELL(OPEN_WOUNDS, 0, MCF_HOSTILE|MCF_SIGHT),
|
||||
MONSPELL(CURE_SELF, 1, MCF_INDIRECT),
|
||||
MONSPELL(HASTE_SELF, 2, MCF_INDIRECT),
|
||||
MONSPELL(CONFUSE_YOU, 2, MCF_HOSTILE|MCF_SIGHT),
|
||||
MONSPELL(STUN_YOU, 3, MCF_HOSTILE|MCF_SIGHT),
|
||||
MONSPELL(DISAPPEAR, 4, MCF_INDIRECT),
|
||||
MONSPELL(PARALYZE, 4, MCF_HOSTILE|MCF_SIGHT),
|
||||
MONSPELL(BLIND_YOU, 6, MCF_HOSTILE|MCF_SIGHT),
|
||||
MONSPELL(WEAKEN_YOU, 6, MCF_HOSTILE|MCF_SIGHT),
|
||||
MONSPELL(DESTRY_ARMR, 8, MCF_HOSTILE|MCF_SIGHT),
|
||||
MONSPELL(INSECTS, 8, MCF_HOSTILE|MCF_INDIRECT|MCF_SIGHT),
|
||||
MONSPELL(CURSE_ITEMS, 10, MCF_HOSTILE|MCF_SIGHT),
|
||||
MONSPELL(LIGHTNING, 11, MCF_HOSTILE|MCF_SIGHT),
|
||||
MONSPELL(FIRE_PILLAR, 12, MCF_HOSTILE|MCF_SIGHT),
|
||||
MONSPELL(GEYSER, 13, MCF_HOSTILE|MCF_SIGHT),
|
||||
MONSPELL(AGGRAVATION, 13, MCF_INDIRECT|MCF_HOSTILE|MCF_SIGHT),
|
||||
MONSPELL(SUMMON_MONS, 15, MCF_HOSTILE|MCF_INDIRECT|MCF_SIGHT),
|
||||
MONSPELL(CLONE_WIZ, 18, MCF_HOSTILE|MCF_INDIRECT|MCF_SIGHT),
|
||||
MONSPELL(DEATH_TOUCH, 20, MCF_HOSTILE|MCF_SIGHT),
|
||||
|
||||
#undef MONSPELL
|
||||
|
||||
Reference in New Issue
Block a user