Files
nethack/include/mcastu.h
Pasi Kallinen d78af5cec7 Add monster spell header file mcastu.h
Move the monster spell definitions there, and use hackery
(similar to objects.h) to generate enum and data from
the header file.

I have not tested Windows, VMS, or Amiga builds.
2026-03-24 17:26:24 +02:00

36 lines
1.3 KiB
C

#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, flags) MCAST_##def
#elif defined(MCASTU_INIT)
#define MONSPELL(def, flags) 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),
#undef MONSPELL