Apply the new ground_level method.
[crawl.git] / crawl-ref / source / makeitem.h
blob4de0ccb51e8da27e85b213662b2cfd4ef43ac82c
1 /*
2 * File: makeitem.h
3 * Summary: Item creation routines.
4 * Created by: haranp on Sat Apr 21 11:31:42 2007 UTC
5 */
7 #ifndef MAKEITEM_H
8 #define MAKEITEM_H
10 #include "decks.h"
11 #include "itemprop-enum.h"
13 enum item_make_species_type
15 MAKE_ITEM_ELVEN = 1,
16 MAKE_ITEM_DWARVEN = 2,
17 MAKE_ITEM_ORCISH = 3,
19 MAKE_ITEM_NO_RACE = 100,
20 MAKE_ITEM_RANDOM_RACE = 250,
23 int create_item_named(std::string name, coord_def pos,
24 std::string *error);
26 int items(int allow_uniques, object_class_type force_class, int force_type,
27 bool dont_place, int item_level, int item_race,
28 uint32_t mapmask = 0, int force_ego = 0, int agent = -1,
29 bool mundane = false);
31 void item_colour(item_def &item);
32 void init_rod_mp(item_def &item, int ncharges = -1, int item_level = -1);
34 jewellery_type get_random_ring_type();
35 jewellery_type get_random_amulet_type();
36 armour_type get_random_body_armour_type(int level);
37 armour_type get_random_armour_type(int item_level);
38 void item_set_appearance(item_def &item);
40 bool is_weapon_brand_ok(int type, int brand, bool strict);
41 bool is_armour_brand_ok(int type, int brand, bool strict);
42 bool is_missile_brand_ok(int type, int brand, bool strict);
44 bool got_curare_roll(const int item_level);
45 void reroll_brand(item_def &item, int item_level);
47 deck_rarity_type random_deck_rarity();
49 #if defined(DEBUG_DIAGNOSTICS) || defined(DEBUG_TESTS)
50 void makeitem_tests();
51 #endif
52 #endif