summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/makeitem.h
blob: 5313c57dcb3c18db7dedeba860f140c1201ff63b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
/*
 * File:       makeitem.h
 * Summary:    Item creation routines.
 * Created by: haranp on Sat Apr 21 11:31:42 2007 UTC
 */

#ifndef MAKEITEM_H
#define MAKEITEM_H

#include "itemprop-enum.h"

enum item_make_species_type
{
    MAKE_ITEM_ELVEN       = 1,
    MAKE_ITEM_DWARVEN     = 2,
    MAKE_ITEM_ORCISH      = 3,

    MAKE_ITEM_NO_RACE     = 100,
    MAKE_ITEM_RANDOM_RACE = 250
};

int items( int allow_uniques, object_class_type force_class, int force_type,
           bool dont_place, int item_level, int item_race,
           unsigned mapmask = 0, int force_ego = 0, int agent = -1 );

void item_colour(item_def &item);
void init_rod_mp(item_def &item, int ncharges = -1);

jewellery_type get_random_ring_type();
jewellery_type get_random_amulet_type();
armour_type get_random_body_armour_type(int level);
armour_type get_random_armour_type(int item_level);
void item_set_appearance(item_def &item);

bool is_weapon_brand_ok(int type, int brand);
bool is_armour_brand_ok(int type, int brand);
bool is_missile_brand_ok(int type, int brand);

bool got_curare_roll(const int item_level);

#if DEBUG_DIAGNOSTICS || DEBUG_TESTS
void makeitem_tests();
#endif
#endif