OSDN Git Service

[Refactor] #37353 BIAS_* と artifact_bias_name を artifact.c/h へ移動。 / Move BIAS_* and...
[hengband/hengband.git] / src / objectkind-hook.c
1 #include "angband.h"
2 #include "objectkind-hook.h"
3
4 /*!
5  * @brief オブジェクトがクロークかどうかを判定する /
6  * Hack -- determine if a template is Cloak
7  * @param k_idx 判定したいオブジェクトのベースアイテムID
8  * @return オブジェクトがクロークならばTRUEを返す
9  */
10 bool kind_is_cloak(KIND_OBJECT_IDX k_idx)
11 {
12         object_kind *k_ptr = &k_info[k_idx];
13
14         /* Analyze the item type */
15         if (k_ptr->tval == TV_CLOAK)
16         {
17                 return (TRUE);
18         }
19
20         /* Assume not good */
21         return (FALSE);
22 }
23
24
25 /*!
26  * @brief オブジェクトが竿状武器かどうかを判定する /
27  * Hack -- determine if a template is Polearm
28  * @param k_idx 判定したいオブジェクトのベースアイテムID
29  * @return オブジェクトが竿状武器ならばTRUEを返す
30  */
31 bool kind_is_polearm(KIND_OBJECT_IDX k_idx)
32 {
33         object_kind *k_ptr = &k_info[k_idx];
34
35         /* Analyze the item type */
36         if (k_ptr->tval == TV_POLEARM)
37         {
38                 return (TRUE);
39         }
40
41         /* Assume not good */
42         return (FALSE);
43 }
44
45
46 /*!
47  * @brief オブジェクトが剣かどうかを判定する /
48  * Hack -- determine if a template is Sword
49  * @param k_idx 判定したいオブジェクトのベースアイテムID
50  * @return オブジェクトが剣ならばTRUEを返す
51  */
52 bool kind_is_sword(KIND_OBJECT_IDX k_idx)
53 {
54         object_kind *k_ptr = &k_info[k_idx];
55
56         /* Analyze the item type */
57         if ((k_ptr->tval == TV_SWORD) && (k_ptr->sval > 2))
58         {
59                 return (TRUE);
60         }
61
62         /* Assume not good */
63         return (FALSE);
64 }
65
66
67 /*!
68  * @brief オブジェクトが魔法書かどうかを判定する /
69  * Hack -- determine if a template is Book
70  * @param k_idx 判定したいオブジェクトのベースアイテムID
71  * @return オブジェクトが魔法書ならばTRUEを返す
72  */
73 bool kind_is_book(KIND_OBJECT_IDX k_idx)
74 {
75         object_kind *k_ptr = &k_info[k_idx];
76
77         /* Analyze the item type */
78         if ((k_ptr->tval >= TV_LIFE_BOOK) && (k_ptr->tval <= TV_CRUSADE_BOOK))
79         {
80                 return (TRUE);
81         }
82
83         /* Assume not good */
84         return (FALSE);
85 }
86
87
88 /*!
89  * @brief オブジェクトがベースアイテム時点でGOODかどうかを判定する /
90  * Hack -- determine if a template is Good book
91  * @param k_idx 判定したいオブジェクトのベースアイテムID
92  * @return オブジェクトがベースアイテム時点でGOODなアイテムならばTRUEを返す
93  */
94 bool kind_is_good_book(KIND_OBJECT_IDX k_idx)
95 {
96         object_kind *k_ptr = &k_info[k_idx];
97
98         /* Analyze the item type */
99         if ((k_ptr->tval >= TV_LIFE_BOOK) && (k_ptr->tval <= TV_CRUSADE_BOOK) && (k_ptr->tval != TV_ARCANE_BOOK) && (k_ptr->sval > 1))
100         {
101                 return (TRUE);
102         }
103
104         /* Assume not good */
105         return (FALSE);
106 }
107
108
109 /*!
110  * @brief オブジェクトが鎧かどうかを判定する /
111  * Hack -- determine if a template is Armor
112  * @param k_idx 判定したいオブジェクトのベースアイテムID
113  * @return オブジェクトが鎧ならばTRUEを返す
114  */
115 bool kind_is_armor(KIND_OBJECT_IDX k_idx)
116 {
117         object_kind *k_ptr = &k_info[k_idx];
118
119         /* Analyze the item type */
120         if (k_ptr->tval == TV_HARD_ARMOR)
121         {
122                 return (TRUE);
123         }
124
125         /* Assume not good */
126         return (FALSE);
127 }
128
129
130 /*!
131  * @brief オブジェクトが打撃武器かどうかを判定する /
132  * Hack -- determine if a template is hafted weapon
133  * @param k_idx 判定したいオブジェクトのベースアイテムID
134  * @return オブジェクトが打撃武器ならばTRUEを返す
135  */
136 bool kind_is_hafted(KIND_OBJECT_IDX k_idx)
137 {
138         object_kind *k_ptr = &k_info[k_idx];
139
140         /* Analyze the item type */
141         if (k_ptr->tval == TV_HAFTED)
142         {
143                 return (TRUE);
144         }
145
146         /* Assume not good */
147         return (FALSE);
148 }
149
150 /*
151  * Hack -- determine if a template is potion
152  */
153 bool kind_is_potion(KIND_OBJECT_IDX k_idx)
154 {
155         return k_info[k_idx].tval == TV_POTION;
156 }