4 #include "market/store-owners.h"
7 * A store, with an owner, various state flags, a current stock
8 * of items, and a table of items that are often purchased.
10 typedef struct store_type store_type;
14 byte type; /* Store type */
16 byte owner; /* Owner index */
17 byte extra; /* Unused for now */
19 s16b insult_cur; /* Insult counter */
21 s16b good_buy; /* Number of "good" buys */
22 s16b bad_buy; /* Number of "bad" buys */
24 s32b store_open; /* Closed until this turn */
26 s32b last_visit; /* Last visited on this turn */
28 s16b table_num; /* Table -- Number of entries */
29 s16b table_size; /* Table -- Total Size of Array */
30 s16b *table; /* Table -- Legal item kinds */
32 s16b stock_num; /* Stock -- Number of entries */
33 s16b stock_size; /* Stock -- Total Size of Array */
34 object_type *stock; /* Stock -- Actual stock items */
40 #define STORE_GENERAL 0 /*!< 店舗の種類: 雑貨屋 */
41 #define STORE_ARMOURY 1 /*!< 店舗の種類: 防具屋 */
42 #define STORE_WEAPON 2 /*!< 店舗の種類: 武器屋 */
43 #define STORE_TEMPLE 3 /*!< 店舗の種類: 寺院 */
44 #define STORE_ALCHEMIST 4 /*!< 店舗の種類: 錬金術の店 */
45 #define STORE_MAGIC 5 /*!< 店舗の種類: 魔道具屋 */
46 #define STORE_BLACK 6 /*!< 店舗の種類: ブラック・マーケット */
47 #define STORE_HOME 7 /*!< 店舗の種類: 我が家 */
48 #define STORE_BOOK 8 /*!< 店舗の種類: 書店 */
49 #define STORE_MUSEUM 9 /*!< 店舗の種類: 博物館 */
54 #define STORE_INVEN_MAX 24 /* Max number of discrete objs in inven */
55 #define STORE_OBJ_LEVEL 5 /* Magic Level for normal stores */
56 #define STORE_TURNOVER 9 /* Normal shop turnover, per day */
57 #define STORE_MIN_KEEP 6 /* Min slots to "always" keep full */
58 #define STORE_MAX_KEEP 18 /* Max slots to "always" keep full */
59 #define STORE_SHUFFLE 21 /* 1/Chance (per day) of an owner changing */
60 #define STORE_TICKS 1000 /* Number of ticks between turnovers */
63 extern bool combine_and_reorder_home(int store_num);
64 extern void do_cmd_store(player_type *player_ptr);
65 extern void store_shuffle(player_type *player_ptr, int which);
66 extern void store_maint(player_type *player_ptr, int town_num, int store_num);
67 extern void store_init(int town_num, int store_num);