git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7200 c06c8d41-db1a-0410-9941-cceddc491573
EHL7B5UIYYHSFX3KXQ43C4GNFJSEUEXFF7U3IL7XU6E5R675WS7AC
Q5YUZONIIPGRWOIQNL6DHRGLKF4V3K5XSZCBH2SL7DP4WPLDNOSQC
P33QUZKDQZ2XKFPFI4HP5A7KG76PTBFGB3ZSGMBN3X6JYOOMYLLQC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
QS3ZRS3E6KL3YJHPKYEWCWJYRBJSXD5OOYF6Y25HZVECGPJRDB5QC
FLAGBNUNSIQNFDN53CDWABJRTTFWDL4PG34AI474ZKPXDEPYHOAQC
SVY2PTCLXR3KNPQAWXVXTTGCC5DR334HOAKHYO3VDDRWM2BWMALAC
SWT4O2TCOAQOVFA6WRA7MCU3KMTMJWFEMIHO64N4PWL5FNHDPADAC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
KFULGQQOHWUTXOM3BXCCYPGGVGGY4Z6265XUFRCBPNLTZAEHJZSQC
JVSCP4FTW2G57C6YD5HZOZXTODGZH7TR75JQGFJBEPX3LCZH236QC
ASLW3Z5PAVZSWJEMMMVZT226P44EKSAD47QS72JIFJESAI3RPN3AC
PI5BATR2SER3RFE76IUGHM2AGXVFOUM3PLU7WC2K2Q2BA5K2E73QC
case WAND_ENSLAVEMENT: result = ZAP_ENSLAVEMENT; break;
case WAND_DRAINING: result = ZAP_NEGATIVE_ENERGY; break;
case WAND_DISINTEGRATION: result = ZAP_DISINTEGRATION; break;
case WAND_FLAME: result = ZAP_FLAME; break;
case WAND_FROST: result = ZAP_FROST; break;
case WAND_SLOWING: result = ZAP_SLOWING; break;
case WAND_HASTING: result = ZAP_HASTING; break;
case WAND_MAGIC_DARTS: result = ZAP_MAGIC_DARTS; break;
case WAND_HEALING: result = ZAP_HEALING; break;
case WAND_PARALYSIS: result = ZAP_PARALYSIS; break;
case WAND_FIRE: result = ZAP_FIRE; break;
case WAND_COLD: result = ZAP_COLD; break;
case WAND_CONFUSION: result = ZAP_CONFUSION; break;
case WAND_INVISIBILITY: result = ZAP_INVISIBILITY; break;
case WAND_DIGGING: result = ZAP_DIGGING; break;
case WAND_FIREBALL: result = ZAP_FIREBALL; break;
case WAND_TELEPORTATION: result = ZAP_TELEPORTATION; break;
case WAND_LIGHTNING: result = ZAP_LIGHTNING; break;
case WAND_POLYMORPH_OTHER: result = ZAP_POLYMORPH_OTHER; break;
case WAND_ENSLAVEMENT: result = ZAP_ENSLAVEMENT; break;
case WAND_DRAINING: result = ZAP_NEGATIVE_ENERGY; break;
case WAND_DISINTEGRATION: result = ZAP_DISINTEGRATION; break;
// NOTE: This order is very special! Its basically the same as ZAP_*,
// and there are bits of the code that still use that fact.
// See item_def::zap().
enum wand_type // mitm[].subtype
enum wand_type
int book_number() const;
int zap() const; // what kind of beam it shoots (if wand).
// XXX should really return zap_type!
int book_number() const;
zap_type zap() const; // what kind of beam it shoots (if wand).
enum zap_type
{
ZAP_FLAME,
ZAP_FROST,
ZAP_SLOWING,
ZAP_HASTING,
ZAP_MAGIC_DARTS,
ZAP_HEALING,
ZAP_PARALYSIS,
ZAP_FIRE,
ZAP_COLD,
ZAP_CONFUSION,
ZAP_INVISIBILITY,
ZAP_DIGGING,
ZAP_FIREBALL,
ZAP_TELEPORTATION,
ZAP_LIGHTNING,
ZAP_POLYMORPH_OTHER,
ZAP_LAST_RANDOM = ZAP_POLYMORPH_OTHER, // maximal random_effects beam
ZAP_VENOM_BOLT,
ZAP_NEGATIVE_ENERGY,
ZAP_CRYSTAL_SPEAR,
ZAP_BEAM_OF_ENERGY,
ZAP_MYSTIC_BLAST,
ZAP_ENSLAVEMENT,
ZAP_PAIN,
ZAP_STICKY_FLAME,
ZAP_DISPEL_UNDEAD,
ZAP_CLEANSING_FLAME,
ZAP_BONE_SHARDS,
ZAP_BANISHMENT,
ZAP_DEGENERATION,
ZAP_STING,
ZAP_HELLFIRE,
ZAP_IRON_BOLT,
ZAP_STRIKING,
ZAP_STONE_ARROW,
ZAP_ELECTRICITY,
ZAP_ORB_OF_ELECTRICITY,
ZAP_SPIT_POISON,
ZAP_DEBUGGING_RAY,
ZAP_BREATHE_FIRE,
ZAP_BREATHE_FROST,
ZAP_BREATHE_ACID,
ZAP_BREATHE_POISON,
ZAP_BREATHE_POWER,
ZAP_ENSLAVE_UNDEAD,
ZAP_AGONY,
ZAP_DISRUPTION,
ZAP_DISINTEGRATION,
ZAP_BREATHE_STEAM,
ZAP_CONTROL_DEMON,
ZAP_ORB_OF_FRAGMENTATION,
ZAP_ICE_BOLT,
ZAP_ICE_STORM,
ZAP_BACKLIGHT,
ZAP_SLEEP,
ZAP_FLAME_TONGUE,
ZAP_SANDBLAST,
ZAP_SMALL_SANDBLAST,
ZAP_MAGMA,
ZAP_POISON_ARROW,
ZAP_BREATHE_STICKY_FLAME,
ZAP_BREATHE_LIGHTNING,
ZAP_PETRIFY,
ZAP_HELLFROST,
NUM_ZAPS
};
// must match wand subtypes! (see item_def::zap())
enum zap_type
{
ZAP_FLAME, // 0
ZAP_FROST,
ZAP_SLOWING,
ZAP_HASTING,
ZAP_MAGIC_DARTS,
ZAP_HEALING, // 5
ZAP_PARALYSIS,
ZAP_FIRE,
ZAP_COLD,
ZAP_CONFUSION,
ZAP_INVISIBILITY, // 10
ZAP_DIGGING,
ZAP_FIREBALL,
ZAP_TELEPORTATION,
ZAP_LIGHTNING,
ZAP_POLYMORPH_OTHER, // 15
ZAP_VENOM_BOLT,
ZAP_NEGATIVE_ENERGY,
ZAP_CRYSTAL_SPEAR,
ZAP_BEAM_OF_ENERGY,
ZAP_MYSTIC_BLAST, // 20
ZAP_ENSLAVEMENT,
ZAP_PAIN,
ZAP_STICKY_FLAME,
ZAP_DISPEL_UNDEAD,
ZAP_CLEANSING_FLAME, // 25
ZAP_BONE_SHARDS,
ZAP_BANISHMENT,
ZAP_DEGENERATION,
ZAP_STING,
ZAP_HELLFIRE, // 30
ZAP_IRON_BOLT,
ZAP_STRIKING,
ZAP_STONE_ARROW,
ZAP_ELECTRICITY,
ZAP_ORB_OF_ELECTRICITY, // 35
ZAP_SPIT_POISON,
ZAP_DEBUGGING_RAY,
ZAP_BREATHE_FIRE,
ZAP_BREATHE_FROST,
ZAP_BREATHE_ACID, // 40
ZAP_BREATHE_POISON,
ZAP_BREATHE_POWER,
ZAP_ENSLAVE_UNDEAD,
ZAP_AGONY,
ZAP_DISRUPTION, // 45
ZAP_DISINTEGRATION, // 46
// ZAP_ISKS_CROSS, // 47: Isk's Cross -- commented out, deprecated {dlb}
ZAP_BREATHE_STEAM = 48, // 48
ZAP_CONTROL_DEMON,
ZAP_ORB_OF_FRAGMENTATION, // 50
ZAP_ICE_BOLT,
ZAP_ICE_STORM,
ZAP_BACKLIGHT, //jmf: added next bunch 19mar2000
ZAP_SLEEP,
ZAP_FLAME_TONGUE,
ZAP_SANDBLAST,
ZAP_SMALL_SANDBLAST,
ZAP_MAGMA,
ZAP_POISON_ARROW,
ZAP_BREATHE_STICKY_FLAME,
ZAP_BREATHE_LIGHTNING,
ZAP_PETRIFY,
ZAP_HELLFROST,
NUM_ZAPS // must remain last member {dlb}
};