summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/itemprop-enum.h
diff options
context:
space:
mode:
authorRobert Vollmert <rvollmert@gmx.net>2009-11-17 15:10:56 +0100
committerRobert Vollmert <rvollmert@gmx.net>2009-11-17 15:10:56 +0100
commit3d45092b1f7e5df50d86bd3a0f9b7f5743ca761c (patch)
tree8133566d6d2abf11b4183bddd966b460057df909 /crawl-ref/source/itemprop-enum.h
parent02dec00a6a1cfb49a5bde44fa515f0982d459f44 (diff)
downloadcrawl-ref-3d45092b1f7e5df50d86bd3a0f9b7f5743ca761c.tar.gz
crawl-ref-3d45092b1f7e5df50d86bd3a0f9b7f5743ca761c.zip
Split itemprop enums out into itemprop-enum.h.
Other headers now don't need to include all of itemprop.h.
Diffstat (limited to 'crawl-ref/source/itemprop-enum.h')
-rw-r--r--crawl-ref/source/itemprop-enum.h569
1 files changed, 569 insertions, 0 deletions
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
+