summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/itemprop.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.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.h')
-rw-r--r--crawl-ref/source/itemprop.h566
1 files changed, 2 insertions, 564 deletions
diff --git a/crawl-ref/source/itemprop.h b/crawl-ref/source/itemprop.h
index c0cd22966f..ac95f91f2d 100644
--- a/crawl-ref/source/itemprop.h
+++ b/crawl-ref/source/itemprop.h
@@ -8,571 +8,9 @@
#ifndef ITEMPROP_H
#define ITEMPROP_H
-struct bolt;
+#include "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
-};
+struct bolt;
void init_properties(void);