OSDN Git Service

0bab06d4f558cf9a1f8def93e2733ea7f7c15438
[hengband/hengband.git] / src / autopick.h
1 #pragma once
2
3 #define DO_AUTOPICK       0x01
4 #define DO_AUTODESTROY    0x02
5 #define DO_DISPLAY        0x04
6 #define DONT_AUTOPICK     0x08
7 #define ITEM_DISPLAY      0x10
8 #define DO_QUERY_AUTOPICK 0x20
9
10 /*!
11  * @struct autopick_type
12  * @brief 自動拾い/破壊設定データの構造体 / A structure type for entry of auto-picker/destroyer
13  */
14 typedef struct {
15         concptr name;          /*!< 自動拾い/破壊定義の名称一致基準 / Items which have 'name' as part of its name match */
16         concptr insc;          /*!< 対象となったアイテムに自動で刻む内容 / Items will be auto-inscribed as 'insc' */
17         BIT_FLAGS flag[2];       /*!< キーワードに関する汎用的な条件フラグ / Misc. keyword to be matched */
18         byte action;        /*!< 対象のアイテムを拾う/破壊/放置するかの指定フラグ / Auto-pickup or Destroy or Leave items */
19         byte dice;          /*!< 武器のダイス値基準値 / Weapons which have more than 'dice' dice match */
20         byte bonus;         /*!< アイテムのボーナス基準値 / Items which have more than 'bonus' magical bonus match */
21 } autopick_type;
22
23 /*
24  *  List for auto-picker/destroyer entries
25  */
26 extern int max_autopick;
27 extern int max_max_autopick;
28 extern autopick_type *autopick_list;
29
30 /* autopick.c */
31 extern void autopick_load_pref(bool disp_mes);
32 extern errr process_autopick_file_command(char *buf);
33 extern concptr autopick_line_from_entry(autopick_type *entry);
34 extern int is_autopick(object_type *o_ptr);
35 extern void autopick_alter_item(INVENTORY_IDX item, bool destroy);
36 extern void autopick_delayed_alter(floor_type *floor_ptr);
37 extern void autopick_pickup_items(grid_type *g_ptr);
38 extern bool autopick_autoregister(object_type *o_ptr);
39 extern void do_cmd_edit_autopick(player_type *player_ptr);