summaryrefslogtreecommitdiffstats
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
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.
-rw-r--r--crawl-ref/source/actor.cc1
-rw-r--r--crawl-ref/source/attitude-change.cc1
-rw-r--r--crawl-ref/source/godabil.cc1
-rw-r--r--crawl-ref/source/goditem.cc1
-rw-r--r--crawl-ref/source/itemprop-enum.h569
-rw-r--r--crawl-ref/source/itemprop.h566
-rw-r--r--crawl-ref/source/l_food.cc1
-rw-r--r--crawl-ref/source/makeitem.h2
-rw-r--r--crawl-ref/source/mon-stuff.cc1
-rw-r--r--crawl-ref/source/newgame.h2
-rw-r--r--crawl-ref/source/player.h2
-rw-r--r--crawl-ref/source/show.cc1
-rw-r--r--crawl-ref/source/spells2.h2
-rw-r--r--crawl-ref/source/spells3.h2
-rw-r--r--crawl-ref/source/wiz-fsim.cc1
-rw-r--r--crawl-ref/source/wiz-item.cc1
-rw-r--r--crawl-ref/source/xom.cc1
17 files changed, 586 insertions, 569 deletions
diff --git a/crawl-ref/source/actor.cc b/crawl-ref/source/actor.cc
index 26466c1e1f..1a79413525 100644
--- a/crawl-ref/source/actor.cc
+++ b/crawl-ref/source/actor.cc
@@ -3,6 +3,7 @@
#include "actor.h"
#include "artefact.h"
#include "env.h"
+#include "itemprop.h"
#include "player.h"
#include "random.h"
#include "state.h"
diff --git a/crawl-ref/source/attitude-change.cc b/crawl-ref/source/attitude-change.cc
index a0029ae21c..27b71ecfcf 100644
--- a/crawl-ref/source/attitude-change.cc
+++ b/crawl-ref/source/attitude-change.cc
@@ -14,6 +14,7 @@
#include "files.h"
#include "godabil.h"
#include "goditem.h"
+#include "itemprop.h"
#include "message.h"
#include "mon-behv.h"
#include "mon-iter.h"
diff --git a/crawl-ref/source/godabil.cc b/crawl-ref/source/godabil.cc
index aef7df3fc5..ab4be021d6 100644
--- a/crawl-ref/source/godabil.cc
+++ b/crawl-ref/source/godabil.cc
@@ -18,6 +18,7 @@
#include "files.h"
#include "godabil.h"
#include "invent.h"
+#include "itemprop.h"
#include "items.h"
#include "kills.h"
#include "message.h"
diff --git a/crawl-ref/source/goditem.cc b/crawl-ref/source/goditem.cc
index 65ddba4de7..41d2d275c5 100644
--- a/crawl-ref/source/goditem.cc
+++ b/crawl-ref/source/goditem.cc
@@ -15,6 +15,7 @@
#include <cmath>
#include "itemname.h"
+#include "itemprop.h"
#include "religion.h"
#include "spl-book.h"
#include "spl-cast.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
+
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);
diff --git a/crawl-ref/source/l_food.cc b/crawl-ref/source/l_food.cc
index 90fc6e1d72..2467b877a7 100644
--- a/crawl-ref/source/l_food.cc
+++ b/crawl-ref/source/l_food.cc
@@ -5,6 +5,7 @@
#include "food.h"
#include "invent.h"
+#include "itemprop.h"
#include "items.h"
#include "player.h"
diff --git a/crawl-ref/source/makeitem.h b/crawl-ref/source/makeitem.h
index 5445467c4b..d434143058 100644
--- a/crawl-ref/source/makeitem.h
+++ b/crawl-ref/source/makeitem.h
@@ -7,7 +7,7 @@
#ifndef MAKEITEM_H
#define MAKEITEM_H
-#include "itemprop.h"
+#include "itemprop-enum.h"
enum item_make_species_type
{
diff --git a/crawl-ref/source/mon-stuff.cc b/crawl-ref/source/mon-stuff.cc
index 07890d5236..a2c2f9ac5a 100644
--- a/crawl-ref/source/mon-stuff.cc
+++ b/crawl-ref/source/mon-stuff.cc
@@ -23,6 +23,7 @@
#include "godabil.h"
#include "hiscores.h"
#include "itemname.h"
+#include "itemprop.h"
#include "items.h"
#include "kills.h"
#include "message.h"
diff --git a/crawl-ref/source/newgame.h b/crawl-ref/source/newgame.h
index 3c1b65abd8..6a93f3958b 100644
--- a/crawl-ref/source/newgame.h
+++ b/crawl-ref/source/newgame.h
@@ -10,7 +10,7 @@
#include "enum.h"
-#include "itemprop.h"
+#include "itemprop-enum.h"
enum death_knight_type
{
diff --git a/crawl-ref/source/player.h b/crawl-ref/source/player.h
index 432a104731..06b65d2d1f 100644
--- a/crawl-ref/source/player.h
+++ b/crawl-ref/source/player.h
@@ -9,7 +9,7 @@
#define PLAYER_H
#include "actor.h"
-#include "itemprop.h"
+#include "itemprop-enum.h"
#include "species.h"
#include <vector>
diff --git a/crawl-ref/source/show.cc b/crawl-ref/source/show.cc
index dbcd0c85c4..a08deaad8c 100644
--- a/crawl-ref/source/show.cc
+++ b/crawl-ref/source/show.cc
@@ -9,6 +9,7 @@
#include "env.h"
#include "fprop.h"
#include "halo.h"
+#include "itemprop.h"
#include "mon-util.h"
#include "monster.h"
#include "options.h"
diff --git a/crawl-ref/source/spells2.h b/crawl-ref/source/spells2.h
index 74111a2434..efa011c3ba 100644
--- a/crawl-ref/source/spells2.h
+++ b/crawl-ref/source/spells2.h
@@ -8,7 +8,7 @@
#define SPELLS2_H
#include "enum.h"
-#include "itemprop.h"
+#include "itemprop-enum.h"
struct dist;
diff --git a/crawl-ref/source/spells3.h b/crawl-ref/source/spells3.h
index a73cdf88d3..6b2cb7dad4 100644
--- a/crawl-ref/source/spells3.h
+++ b/crawl-ref/source/spells3.h
@@ -8,7 +8,7 @@
#ifndef SPELLS3_H
#define SPELLS3_H
-#include "itemprop.h" // from _raise_remains()
+#include "itemprop-enum.h"
struct dist;
struct bolt;
diff --git a/crawl-ref/source/wiz-fsim.cc b/crawl-ref/source/wiz-fsim.cc
index 31d052a268..e998abb7d4 100644
--- a/crawl-ref/source/wiz-fsim.cc
+++ b/crawl-ref/source/wiz-fsim.cc
@@ -13,6 +13,7 @@
#include "beam.h"
#include "dbg-util.h"
#include "fight.h"
+#include "itemprop.h"
#include "items.h"
#include "item_use.h"
#include "it_use2.h"
diff --git a/crawl-ref/source/wiz-item.cc b/crawl-ref/source/wiz-item.cc
index bae01bc91a..f7e5d81e11 100644
--- a/crawl-ref/source/wiz-item.cc
+++ b/crawl-ref/source/wiz-item.cc
@@ -17,6 +17,7 @@
#include "dbg-util.h"
#include "decks.h"
#include "effects.h"
+#include "itemprop.h"
#include "items.h"
#include "item_use.h"
#include "it_use2.h"
diff --git a/crawl-ref/source/xom.cc b/crawl-ref/source/xom.cc
index f9725dcc31..b79f99207f 100644
--- a/crawl-ref/source/xom.cc
+++ b/crawl-ref/source/xom.cc
@@ -20,6 +20,7 @@
#include "feature.h"
#include "goditem.h"
#include "it_use2.h"
+#include "itemprop.h"
#include "items.h"
#include "kills.h"
#include "los.h"