3 #include "system/angband.h"
5 #define STORE_OBJ_LEVEL 5 /* Magic Level for normal stores */
7 #define STORE_GENERAL 0 /*!< 店舗の種類: 雑貨屋 */
8 #define STORE_ARMOURY 1 /*!< 店舗の種類: 防具屋 */
9 #define STORE_WEAPON 2 /*!< 店舗の種類: 武器屋 */
10 #define STORE_TEMPLE 3 /*!< 店舗の種類: 寺院 */
11 #define STORE_ALCHEMIST 4 /*!< 店舗の種類: 錬金術の店 */
12 #define STORE_MAGIC 5 /*!< 店舗の種類: 魔道具屋 */
13 #define STORE_BLACK 6 /*!< 店舗の種類: ブラック・マーケット */
14 #define STORE_HOME 7 /*!< 店舗の種類: 我が家 */
15 #define STORE_BOOK 8 /*!< 店舗の種類: 書店 */
16 #define STORE_MUSEUM 9 /*!< 店舗の種類: 博物館 */
18 typedef struct store_type
20 byte type; /* Store type */
22 byte owner; /* Owner index */
23 byte extra; /* Unused for now */
25 s16b insult_cur; /* Insult counter */
27 s16b good_buy; /* Number of "good" buys */
28 s16b bad_buy; /* Number of "bad" buys */
30 s32b store_open; /* Closed until this turn */
32 s32b last_visit; /* Last visited on this turn */
34 s16b table_num; /* Table -- Number of entries */
35 s16b table_size; /* Table -- Total Size of Array */
36 s16b *table; /* Table -- Legal item kinds */
38 s16b stock_num; /* Stock -- Number of entries */
39 s16b stock_size; /* Stock -- Total Size of Array */
40 object_type *stock; /* Stock -- Actual stock items */
43 extern int cur_store_num;
44 extern store_type *st_ptr;
46 void store_delete(void);
47 void store_create(player_type *player_ptr, bool(*black_market_crap)(player_type*, object_type*));
48 void store_item_increase(INVENTORY_IDX item, int num);
49 void store_item_optimize(INVENTORY_IDX item);
50 bool store_will_buy(object_type *o_ptr);
51 int store_carry(object_type *o_ptr);
52 bool store_object_similar(object_type *o_ptr, object_type *j_ptr);