summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/itemprop.h
diff options
context:
space:
mode:
authorzelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573>2009-06-25 02:29:14 +0000
committerzelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573>2009-06-25 02:29:14 +0000
commit2fad05374f70f21d4af3d147325581bf1047b5be (patch)
tree40a46254f044837f658e4dbabb07ce3c52b72804 /crawl-ref/source/itemprop.h
parentab0e3274d569d1cdea4010f4ed1d4b24cd3804e9 (diff)
downloadcrawl-ref-2fad05374f70f21d4af3d147325581bf1047b5be.tar.gz
crawl-ref-2fad05374f70f21d4af3d147325581bf1047b5be.zip
First part of the merger of fixed artefacts into unrandom artefacts
(further changes will be much smaller). Breaks savefile compatibility, and bumps the major savefile version up to 6. Some changes made to some tiles files, but it hasn't been tested with a tiles build. Overview of changes: * Unrand artefacts are now defined in art-data.txt and is turned into C code via util/art-data.pl. This has the dual advantage of being more readable by humans, and that if the unrand data structure changes then you can just change util/art-data.pl and regenerate the C code rather than having to change some 70 different C structs by hand. * util/art-data.pl automatically updates NO_UNRANDARTS, and also automatically generates an enumeration of all the unrands which are equal to their item.special field. * randart.cc and randart.h have been renamed to artefact.cc and artefact.h, since the files covers all types of artefacts, and the differences between randarts, unrandarts and (former) fixed arts have been minimized since the terms were introduced. Also renamed unrand.h to art-data.h * The brands and resistances of former fixed arts are now handled via artefact properties, but the rest of their special behaviours are still hardcoded. * Unrandarts are now distinguished between normal and "special", with the special ones currently just being identical to the list of the formed fixed arts. Special unrandarts are randomly generated less often than normal unrandarts, can be generated in the Abyss if they've been lost, can't be picked up by monsters, and can't be affected by Tukima's Dance. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10035 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/itemprop.h')
-rw-r--r--crawl-ref/source/itemprop.h34
1 files changed, 7 insertions, 27 deletions
diff --git a/crawl-ref/source/itemprop.h b/crawl-ref/source/itemprop.h
index a8ef9e5547..3802983335 100644
--- a/crawl-ref/source/itemprop.h
+++ b/crawl-ref/source/itemprop.h
@@ -116,31 +116,7 @@ enum brand_type // equivalent to (you.inv[].special or mitm[].special) % 30
SPWPN_SHADOW, // unused
SPWPN_DEBUG_RANDART = 25, // 25
NUM_SPECIAL_WEAPONS,
- SPWPN_DUMMY_CRUSHING, // ONLY TEMPORARY USAGE -- converts to VORPAL
-
- // everything above this point is a special artefact wield:
- SPWPN_START_FIXEDARTS = 181,
-
- SPWPN_SINGING_SWORD = SPWPN_START_FIXEDARTS,
- SPWPN_WRATH_OF_TROG,
- SPWPN_SCYTHE_OF_CURSES,
- SPWPN_MACE_OF_VARIABILITY,
- SPWPN_GLAIVE_OF_PRUNE,
- SPWPN_SCEPTRE_OF_TORMENT,
- SPWPN_SWORD_OF_ZONGULDROK,
- SPWPN_SWORD_OF_POWER,
- SPWPN_STAFF_OF_OLGREB,
- SPWPN_VAMPIRES_TOOTH,
- SPWPN_STAFF_OF_WUCAD_MU,
-
- // these three are not generated randomly {dlb}
- SPWPN_START_NOGEN_FIXEDARTS,
-
- SPWPN_SWORD_OF_CEREBOV = SPWPN_START_NOGEN_FIXEDARTS,
- SPWPN_STAFF_OF_DISPATER,
- SPWPN_SCEPTRE_OF_ASMODEUS,
-
- SPWPN_END_FIXEDARTS = SPWPN_SCEPTRE_OF_ASMODEUS
+ SPWPN_DUMMY_CRUSHING // ONLY TEMPORARY USAGE -- converts to VORPAL
};
enum corpse_type
@@ -358,7 +334,8 @@ enum special_armour_type
SPARM_POSITIVE_ENERGY,
SPARM_ARCHMAGI,
SPARM_PRESERVATION,
- SPARM_REFLECTION // 19
+ SPARM_REFLECTION,
+ NUM_SPECIAL_ARMOURS // 20
};
enum special_missile_type // to separate from weapons in general {dlb}
@@ -376,7 +353,8 @@ enum special_missile_type // to separate from weapons in general {dlb}
SPMSL_DISPERSAL,
SPMSL_EXPLODING, // 10
SPMSL_STEEL,
- SPMSL_SILVER
+ SPMSL_SILVER,
+ NUM_SPECIAL_MISSILES // 12
};
enum special_ring_type // jewellery mitm[].special values
@@ -662,6 +640,7 @@ equipment_type get_armour_slot( const item_def &item );
equipment_type get_armour_slot( armour_type arm );
bool jewellery_is_amulet( const item_def &item );
+bool jewellery_is_amulet( int sub_type );
bool check_jewellery_size( const item_def &item, size_type size );
bool hide2armour( item_def &item );
@@ -769,6 +748,7 @@ bool gives_ability(const item_def &item);
bool gives_resistance(const item_def &item);
int item_mass(const item_def &item);
size_type item_size(const item_def &item);
+equipment_type get_item_slot(object_class_type type, int sub_type);
bool is_colourful_item(const item_def &item);