From 3d45092b1f7e5df50d86bd3a0f9b7f5743ca761c Mon Sep 17 00:00:00 2001 From: Robert Vollmert Date: Tue, 17 Nov 2009 15:10:56 +0100 Subject: Split itemprop enums out into itemprop-enum.h. Other headers now don't need to include all of itemprop.h. --- crawl-ref/source/itemprop-enum.h | 569 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 569 insertions(+) create mode 100644 crawl-ref/source/itemprop-enum.h (limited to 'crawl-ref/source/itemprop-enum.h') diff --git a/crawl-ref/source/itemprop-enum.h b/crawl-ref/source/itemprop-enum.h new file mode 100644 index 0000000000..f913199999 --- /dev/null +++ b/crawl-ref/source/itemprop-enum.h @@ -0,0 +1,569 @@ +#ifndef ITEMPROP_ENUM_H +#define ITEMPROP_ENUM_H + +enum armour_type +{ + ARM_ROBE, // 0 + ARM_LEATHER_ARMOUR, + ARM_RING_MAIL, + ARM_SCALE_MAIL, + ARM_CHAIN_MAIL, + ARM_SPLINT_MAIL, // 5 + ARM_BANDED_MAIL, + ARM_PLATE_MAIL, + + ARM_CLOAK, + + ARM_CAP, + ARM_WIZARD_HAT, // 10 + ARM_HELMET, + + ARM_GLOVES, + + ARM_BOOTS, + + ARM_BUCKLER, + ARM_SHIELD, // 15 + ARM_LARGE_SHIELD, + ARM_MAX_RACIAL = ARM_LARGE_SHIELD, + + ARM_CRYSTAL_PLATE_MAIL, + + ARM_ANIMAL_SKIN, + + ARM_TROLL_HIDE, + ARM_TROLL_LEATHER_ARMOUR, // 20 + + ARM_DRAGON_HIDE, + ARM_DRAGON_ARMOUR, + ARM_ICE_DRAGON_HIDE, + ARM_ICE_DRAGON_ARMOUR, + ARM_STEAM_DRAGON_HIDE, // 25 + ARM_STEAM_DRAGON_ARMOUR, + ARM_MOTTLED_DRAGON_HIDE, + ARM_MOTTLED_DRAGON_ARMOUR, + ARM_STORM_DRAGON_HIDE, + ARM_STORM_DRAGON_ARMOUR, // 30 + ARM_GOLD_DRAGON_HIDE, + ARM_GOLD_DRAGON_ARMOUR, + ARM_SWAMP_DRAGON_HIDE, + ARM_SWAMP_DRAGON_ARMOUR, + + ARM_CENTAUR_BARDING, // 35 + ARM_NAGA_BARDING, + + NUM_ARMOURS // 37 +}; + +enum armour_property_type +{ + PARM_AC, // 0 + PARM_EVASION +}; + +enum boot_type // used in pluses2 +{ + TBOOT_BOOTS = 0, + TBOOT_NAGA_BARDING, + TBOOT_CENTAUR_BARDING, + NUM_BOOT_TYPES +}; + +const int SP_FORBID_EGO = -1; +const int SP_FORBID_BRAND = -1; + +enum brand_type // equivalent to (you.inv[].special or mitm[].special) % 30 +{ + SPWPN_FORBID_BRAND = -1, // -1 + SPWPN_NORMAL, // 0 + SPWPN_FLAMING, + SPWPN_FREEZING, + SPWPN_HOLY_WRATH, + SPWPN_ELECTROCUTION, + SPWPN_ORC_SLAYING, // 5 + SPWPN_DRAGON_SLAYING, + SPWPN_VENOM, + SPWPN_PROTECTION, + SPWPN_DRAINING, + SPWPN_SPEED, // 10 + SPWPN_VORPAL, + SPWPN_FLAME, // ranged, only + SPWPN_FROST, // ranged, only + SPWPN_VAMPIRICISM, + SPWPN_PAIN, // 15 + SPWPN_DISTORTION, + SPWPN_REACHING, + SPWPN_RETURNING, // 18 + SPWPN_CHAOS, + + MAX_PAN_LORD_BRANDS = SPWPN_CHAOS, + + SPWPN_CONFUSE, // 20 + SPWPN_PENETRATION, + SPWPN_REAPING, + SPWPN_DEBUG_RANDART = 25, // 25 + NUM_SPECIAL_WEAPONS, + SPWPN_DUMMY_CRUSHING // ONLY TEMPORARY USAGE -- converts to VORPAL +}; + +enum corpse_type +{ + CORPSE_BODY, // 0 + CORPSE_SKELETON +}; + +enum hands_reqd_type +{ + HANDS_ONE, + HANDS_HALF, + HANDS_TWO, + + HANDS_DOUBLE // not a level, marks double ended weapons (== half) +}; + +enum helmet_desc_type +{ + THELM_DESC_PLAIN = 0, + THELM_DESC_WINGED, + THELM_DESC_HORNED, + THELM_DESC_CRESTED, + THELM_DESC_PLUMED, + THELM_DESC_MAX_SOFT = THELM_DESC_PLUMED, + THELM_DESC_SPIKED, + THELM_DESC_VISORED, + THELM_DESC_GOLDEN, + THELM_NUM_DESCS +}; + +enum gloves_desc_type +{ + TGLOV_DESC_GLOVES = 0, + TGLOV_DESC_GAUNTLETS, + TGLOV_DESC_BRACERS +}; + +enum jewellery_type +{ + RING_FIRST_RING = 0, + + RING_REGENERATION = RING_FIRST_RING, // 0 + RING_PROTECTION, + RING_PROTECTION_FROM_FIRE, + RING_POISON_RESISTANCE, + RING_PROTECTION_FROM_COLD, + RING_STRENGTH, // 5 + RING_SLAYING, + RING_SEE_INVISIBLE, + RING_INVISIBILITY, + RING_HUNGER, + RING_TELEPORTATION, // 10 + RING_EVASION, + RING_SUSTAIN_ABILITIES, + RING_SUSTENANCE, + RING_DEXTERITY, + RING_INTELLIGENCE, // 15 + RING_WIZARDRY, + RING_MAGICAL_POWER, + RING_LEVITATION, + RING_LIFE_PROTECTION, + RING_PROTECTION_FROM_MAGIC, // 20 + RING_FIRE, + RING_ICE, + RING_TELEPORT_CONTROL, // 23 + + NUM_RINGS, // 24, keep as last ring; can overlap + // safely with first amulet. + + AMU_FIRST_AMULET = 35, + AMU_RAGE = AMU_FIRST_AMULET, // 35 + AMU_RESIST_SLOW, + AMU_CLARITY, + AMU_WARDING, + AMU_RESIST_CORROSION, + AMU_THE_GOURMAND, // 40 + AMU_CONSERVATION, + AMU_CONTROLLED_FLIGHT, + AMU_INACCURACY, + AMU_RESIST_MUTATION, + AMU_GUARDIAN_SPIRIT, + + NUM_JEWELLERY +}; + +enum launch_retval +{ + LRET_FUMBLED = 0, // must be left as 0 + LRET_LAUNCHED, + LRET_THROWN +}; + +enum misc_item_type +{ + MISC_BOTTLED_EFREET, // 0 + MISC_CRYSTAL_BALL_OF_SEEING, + MISC_AIR_ELEMENTAL_FAN, + MISC_LAMP_OF_FIRE, + MISC_STONE_OF_EARTH_ELEMENTALS, + MISC_LANTERN_OF_SHADOWS, + MISC_HORN_OF_GERYON, + MISC_BOX_OF_BEASTS, + MISC_CRYSTAL_BALL_OF_ENERGY, + MISC_EMPTY_EBONY_CASKET, + MISC_CRYSTAL_BALL_OF_FIXATION, + MISC_DISC_OF_STORMS, + + // pure decks + MISC_DECK_OF_ESCAPE, + MISC_DECK_OF_DESTRUCTION, + MISC_DECK_OF_DUNGEONS, + MISC_DECK_OF_SUMMONING, + MISC_DECK_OF_WONDERS, + MISC_DECK_OF_PUNISHMENT, + + // mixed decks + MISC_DECK_OF_WAR, + MISC_DECK_OF_CHANGES, + MISC_DECK_OF_DEFENCE, + + MISC_RUNE_OF_ZOT, + + NUM_MISCELLANY // mv: used for random generation +}; + +enum missile_type +{ + MI_DART, // 0 + MI_NEEDLE, + MI_ARROW, + MI_BOLT, + MI_JAVELIN, + MI_MAX_RACIAL = MI_JAVELIN, + + MI_STONE, // 5 + MI_LARGE_ROCK, + MI_SLING_BULLET, + MI_THROWING_NET, + + NUM_MISSILES, // 9 + MI_NONE // was MI_EGGPLANT... used for launch type detection +}; + +enum rune_type +{ + // Note: that runes DIS-SWAMP have the same numeric value as the branch + RUNE_DIS = BRANCH_DIS, + RUNE_GEHENNA = BRANCH_GEHENNA, + RUNE_COCYTUS = BRANCH_COCYTUS, + RUNE_TARTARUS = BRANCH_TARTARUS, + RUNE_SLIME_PITS = BRANCH_SLIME_PITS, + RUNE_VAULTS = BRANCH_VAULTS, + RUNE_SNAKE_PIT = BRANCH_SNAKE_PIT, + RUNE_ELVEN_HALLS = BRANCH_ELVEN_HALLS, // unused + RUNE_TOMB = BRANCH_TOMB, + RUNE_SWAMP = BRANCH_SWAMP, + RUNE_SHOALS = BRANCH_SHOALS, + + // Runes 50 and 51 are for Pandemonium (general demon) and the Abyss + RUNE_DEMONIC = 50, + RUNE_ABYSSAL, + + // Runes 60-63 correspond to the Pandemonium demonlords, + // and are equal to the corresponding vault. + RUNE_MNOLEG = 60, + RUNE_LOM_LOBON, + RUNE_CEREBOV, + RUNE_GLOORX_VLOQ, + NUM_RUNE_TYPES, // should always be last + RUNE_NONE +}; + +enum scroll_type +{ + SCR_IDENTIFY, // 0 + SCR_TELEPORTATION, + SCR_FEAR, + SCR_NOISE, + SCR_REMOVE_CURSE, + SCR_DETECT_CURSE, // 5 + SCR_SUMMONING, + SCR_ENCHANT_WEAPON_I, + SCR_ENCHANT_ARMOUR, + SCR_TORMENT, + SCR_RANDOM_USELESSNESS, // 10 + SCR_CURSE_WEAPON, + SCR_CURSE_ARMOUR, + SCR_IMMOLATION, + SCR_BLINKING, + SCR_PAPER, // 15 + SCR_MAGIC_MAPPING, + SCR_FOG, + SCR_ACQUIREMENT, + SCR_ENCHANT_WEAPON_II, + SCR_VORPALISE_WEAPON, // 20 + SCR_RECHARGING, + SCR_ENCHANT_WEAPON_III, + SCR_HOLY_WORD, + SCR_VULNERABILITY, + SCR_SILENCE, // 25 + NUM_SCROLLS +}; + +enum special_armour_type +{ + SPARM_FORBID_EGO = -1, // -1 + SPARM_NORMAL, // 0 + SPARM_RUNNING, + SPARM_FIRE_RESISTANCE, + SPARM_COLD_RESISTANCE, + SPARM_POISON_RESISTANCE, + SPARM_SEE_INVISIBLE, // 5 + SPARM_DARKNESS, + SPARM_STRENGTH, + SPARM_DEXTERITY, + SPARM_INTELLIGENCE, + SPARM_PONDEROUSNESS, // 10 + SPARM_LEVITATION, + SPARM_MAGIC_RESISTANCE, + SPARM_PROTECTION, + SPARM_STEALTH, + SPARM_RESISTANCE, // 15 + SPARM_POSITIVE_ENERGY, + SPARM_ARCHMAGI, + SPARM_PRESERVATION, + SPARM_REFLECTION, + SPARM_SPIRIT_SHIELD, // 20 + SPARM_ARCHERY, + NUM_SPECIAL_ARMOURS // 22 +}; + +enum special_missile_type // to separate from weapons in general {dlb} +{ + SPMSL_FORBID_BRAND = -1, // -1 + SPMSL_NORMAL, // 0 + SPMSL_FLAME, + SPMSL_FROST, + SPMSL_POISONED, + SPMSL_CURARE, + SPMSL_RETURNING, // 5 + SPMSL_CHAOS, + SPMSL_PENETRATION, + SPMSL_REAPING, + SPMSL_DISPERSAL, + SPMSL_EXPLODING, // 10 + SPMSL_STEEL, + SPMSL_SILVER, + SPMSL_ELECTRIC, + NUM_SPECIAL_MISSILES // 13 +}; + +enum special_ring_type // jewellery mitm[].special values +{ + SPRING_RANDART = 200, + SPRING_UNRANDART = 201 +}; + +enum stave_type +{ + // staves + STAFF_WIZARDRY = 0, + STAFF_POWER, + STAFF_FIRE, + STAFF_COLD, + STAFF_POISON, + STAFF_ENERGY, + STAFF_DEATH, + STAFF_CONJURATION, + STAFF_ENCHANTMENT, + STAFF_SUMMONING, + STAFF_AIR, + STAFF_EARTH, + STAFF_CHANNELING, // 12 + // rods + STAFF_FIRST_ROD, + STAFF_SMITING = STAFF_FIRST_ROD, + STAFF_SPELL_SUMMONING, + STAFF_DESTRUCTION_I, + STAFF_DESTRUCTION_II, + STAFF_DESTRUCTION_III, + STAFF_DESTRUCTION_IV, + STAFF_WARDING, + STAFF_DISCOVERY, + STAFF_DEMONOLOGY, + STAFF_STRIKING, + STAFF_VENOM, // 23 + NUM_STAVES // must remain last member {dlb} +}; + +enum weapon_type +{ + WPN_CLUB, // 0 + WPN_WHIP, + WPN_HAMMER, + WPN_MACE, + WPN_FLAIL, + WPN_MORNINGSTAR, // 5 + WPN_SPIKED_FLAIL, + WPN_DIRE_FLAIL, + WPN_EVENINGSTAR, + WPN_GREAT_MACE, + + WPN_DAGGER, // 10 + WPN_QUICK_BLADE, + WPN_SHORT_SWORD, + WPN_SABRE, + + WPN_FALCHION, + WPN_LONG_SWORD, // 15 + WPN_SCIMITAR, + WPN_GREAT_SWORD, + + WPN_HAND_AXE, + WPN_WAR_AXE, + WPN_BROAD_AXE, // 20 + WPN_BATTLEAXE, + WPN_EXECUTIONERS_AXE, + + WPN_SPEAR, + WPN_TRIDENT, + WPN_HALBERD, // 25 + WPN_GLAIVE, + WPN_BARDICHE, + + WPN_BLOWGUN, + WPN_HAND_CROSSBOW, + WPN_CROSSBOW, // 30 + WPN_BOW, + WPN_LONGBOW, + WPN_MAX_RACIAL = WPN_LONGBOW, + + WPN_ANKUS, + WPN_DEMON_WHIP, + WPN_GIANT_CLUB, // 35 + WPN_GIANT_SPIKED_CLUB, + + WPN_KNIFE, + + WPN_KATANA, + WPN_DEMON_BLADE, + WPN_DOUBLE_SWORD, // 40 + WPN_TRIPLE_SWORD, + + WPN_DEMON_TRIDENT, + WPN_SCYTHE, + + WPN_QUARTERSTAFF, + WPN_LAJATANG, // 45 + + WPN_SLING, + + WPN_MAX_NONBLESSED = WPN_SLING, + + WPN_BLESSED_FALCHION, + WPN_BLESSED_LONG_SWORD, + WPN_BLESSED_SCIMITAR, + WPN_BLESSED_GREAT_SWORD, // 50 + + WPN_BLESSED_KATANA, + WPN_BLESSED_EUDEMON_BLADE, + WPN_BLESSED_DOUBLE_SWORD, + WPN_BLESSED_TRIPLE_SWORD, + + NUM_WEAPONS, // 55 - must be last regular member {dlb} + +// special cases + WPN_UNARMED = 500, // 500 + WPN_UNKNOWN = 1000, // 1000 + WPN_RANDOM +}; + +enum weapon_description_type +{ + DWPN_PLAIN = 0, // 0 - added to round out enum {dlb} + DWPN_RUNED = 1, // 1 + DWPN_GLOWING, + DWPN_ORCISH, + DWPN_ELVEN, + DWPN_DWARVEN // 5 +}; + +enum weapon_property_type +{ + PWPN_DAMAGE, // 0 + PWPN_HIT, + PWPN_SPEED, + PWPN_ACQ_WEIGHT +}; + +enum vorpal_damage_type +{ + // These are the types of damage a weapon can do. You can set more + // than one of these. + DAM_BASH = 0x0000, // non-melee weapon blugeoning + DAM_BLUDGEON = 0x0001, // crushing + DAM_SLICE = 0x0002, // slicing/chopping + DAM_PIERCE = 0x0004, // stabbing/piercing + DAM_WHIP = 0x0008, // whip slashing (no butcher) + DAM_MAX_TYPE = DAM_WHIP, + + // These are used for vorpal weapon descriptions. You shouldn't set + // more than one of these. + DVORP_NONE = 0x0000, // used for non-melee weapons + DVORP_CRUSHING = 0x1000, + DVORP_SLICING = 0x2000, + DVORP_PIERCING = 0x3000, + DVORP_CHOPPING = 0x4000, // used for axes + DVORP_SLASHING = 0x5000, // used for whips + DVORP_STABBING = 0x6000, // used for knives/daggers + + DVORP_CLAWING = 0x7000, // claw damage + DVORP_TENTACLE = 0x8000, // tentacle damage + + // These are shortcuts to tie vorpal/damage types for easy setting... + // as above, setting more than one vorpal type is trouble. + DAMV_NON_MELEE = DVORP_NONE | DAM_BASH, // launchers + DAMV_CRUSHING = DVORP_CRUSHING | DAM_BLUDGEON, + DAMV_SLICING = DVORP_SLICING | DAM_SLICE, + DAMV_PIERCING = DVORP_PIERCING | DAM_PIERCE, + DAMV_CHOPPING = DVORP_CHOPPING | DAM_SLICE, + DAMV_SLASHING = DVORP_SLASHING | DAM_WHIP, + DAMV_STABBING = DVORP_STABBING | DAM_PIERCE, + + DAM_MASK = 0x0fff, // strips vorpal specification + DAMV_MASK = 0xf000 // strips non-vorpal specification +}; + +enum wand_type +{ + WAND_FLAME, + WAND_FROST, + WAND_SLOWING, + WAND_HASTING, + WAND_MAGIC_DARTS, + WAND_HEALING, + WAND_PARALYSIS, + WAND_FIRE, + WAND_COLD, + WAND_CONFUSION, + WAND_INVISIBILITY, + WAND_DIGGING, + WAND_FIREBALL, + WAND_TELEPORTATION, + WAND_LIGHTNING, + WAND_POLYMORPH_OTHER, + WAND_ENSLAVEMENT, + WAND_DRAINING, + WAND_RANDOM_EFFECTS, + WAND_DISINTEGRATION, + NUM_WANDS +}; + +enum zap_count_type +{ + ZAPCOUNT_EMPTY = -1, + ZAPCOUNT_UNKNOWN = -2, + ZAPCOUNT_RECHARGED = -3, + ZAPCOUNT_MAX_CHARGED = -4 +}; + +#endif + -- cgit v1.2.3-54-g00ecf