#define MCF_NONE 0x0000 #define MCF_INDIRECT 0x0001 /* untargeted/indirect spell */ #define MCF_SIGHT 0x0002 /* monster needs to see hero */ #define MCF_HOSTILE 0x0004 /* cast by hostile monsters only */ #if defined(MCASTU_ENUM) #define MONSPELL(def, lvl, flags) MCAST_##def #elif defined(MCASTU_INIT) #define MONSPELL(def, lvl, flags) { lvl, flags } #elif defined(DUMP_MCASTU_ENUM1) #define MONSPELL(def, lvl, flags) MCAST_DUMPENUM_##def #elif defined(DUMP_MCASTU_ENUM2) #define MONSPELL(def, lvl, flags) { MCAST_DUMPENUM_##def, #def } #endif 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