OSDN Git Service

[Refactor] #40635 Separated market/building-initializer.c/h from init.c/h
[hengband/hengband.git] / src / inventory / inventory-describer.c
1 #include "inventory/inventory-describer.h"
2 #include "game-option/birth-options.h"
3 #include "inventory/inventory-slot-types.h"
4 #include "system/object-type-definition.h"
5 #include "player/player-status-flags.h"
6
7 /*!
8  * @brief 所持/装備オブジェクトIDの部位表現を返す /
9  * Return a string mentioning how a given item is carried
10  * @param owner_ptr プレーヤーへの参照ポインタ
11  * @param i 部位表現を求めるプレイヤーの所持/装備オブジェクトID
12  * @return 部位表現の文字列ポインタ
13  */
14 concptr mention_use(player_type *owner_ptr, int i)
15 {
16     concptr p;
17
18     /* Examine the location */
19     switch (i) {
20 #ifdef JP
21     case INVEN_RARM:
22         p = owner_ptr->heavy_wield[0] ? "運搬中" : ((have_two_handed_weapons(owner_ptr) && have_right_hand_weapon(owner_ptr)) ? " 両手" : (left_hander ? " 左手" : " 右手"));
23         break;
24 #else
25     case INVEN_RARM:
26         p = owner_ptr->heavy_wield[0] ? "Just lifting" : (have_right_hand_weapon(owner_ptr) ? "Wielding" : "On arm");
27         break;
28 #endif
29
30 #ifdef JP
31     case INVEN_LARM:
32         p = owner_ptr->heavy_wield[1] ? "運搬中" : ((have_two_handed_weapons(owner_ptr) && have_left_hand_weapon(owner_ptr)) ? " 両手" : (left_hander ? " 右手" : " 左手"));
33         break;
34 #else
35     case INVEN_LARM:
36         p = owner_ptr->heavy_wield[1] ? "Just lifting" : (have_left_hand_weapon(owner_ptr) ? "Wielding" : "On arm");
37         break;
38 #endif
39
40     case INVEN_BOW:
41         p = (adj_str_hold[owner_ptr->stat_ind[A_STR]] < owner_ptr->inventory_list[i].weight / 10) ? _("運搬中", "Just holding") : _("射撃用", "Shooting");
42         break;
43     case INVEN_RIGHT:
44         p = (left_hander ? _("左手指", "On left hand") : _("右手指", "On right hand"));
45         break;
46     case INVEN_LEFT:
47         p = (left_hander ? _("右手指", "On right hand") : _("左手指", "On left hand"));
48         break;
49     case INVEN_NECK:
50         p = _("  首", "Around neck");
51         break;
52     case INVEN_LITE:
53         p = _(" 光源", "Light source");
54         break;
55     case INVEN_BODY:
56         p = _("  体", "On body");
57         break;
58     case INVEN_OUTER:
59         p = _("体の上", "About body");
60         break;
61     case INVEN_HEAD:
62         p = _("  頭", "On head");
63         break;
64     case INVEN_HANDS:
65         p = _("  手", "On hands");
66         break;
67     case INVEN_FEET:
68         p = _("  足", "On feet");
69         break;
70     default:
71         p = _("ザック", "In pack");
72         break;
73     }
74
75     return p;
76 }
77
78 /*!
79  * @brief 所持/装備オブジェクトIDの現在の扱い方の状態表現を返す /
80  * Return a string describing how a given item is being worn.
81  * @param i 状態表現を求めるプレイヤーの所持/装備オブジェクトID
82  * @return 状態表現内容の文字列ポインタ
83  * @details
84  * Currently, only used for items in the equipment, inventory.
85  */
86 concptr describe_use(player_type *owner_ptr, int i)
87 {
88     concptr p;
89     switch (i) {
90 #ifdef JP
91     case INVEN_RARM:
92         p = owner_ptr->heavy_wield[0]
93             ? "運搬中の"
94             : ((have_two_handed_weapons(owner_ptr) && have_right_hand_weapon(owner_ptr)) ? "両手に装備している" : (left_hander ? "左手に装備している" : "右手に装備している"));
95         break;
96 #else
97     case INVEN_RARM:
98         p = owner_ptr->heavy_wield[0] ? "just lifting" : (have_right_hand_weapon(owner_ptr) ? "attacking monsters with" : "wearing on your arm");
99         break;
100 #endif
101
102 #ifdef JP
103     case INVEN_LARM:
104         p = owner_ptr->heavy_wield[1]
105             ? "運搬中の"
106             : ((have_two_handed_weapons(owner_ptr) && have_left_hand_weapon(owner_ptr)) ? "両手に装備している" : (left_hander ? "右手に装備している" : "左手に装備している"));
107         break;
108 #else
109     case INVEN_LARM:
110         p = owner_ptr->heavy_wield[1] ? "just lifting" : (have_left_hand_weapon(owner_ptr) ? "attacking monsters with" : "wearing on your arm");
111         break;
112 #endif
113
114     case INVEN_BOW:
115         p = (adj_str_hold[owner_ptr->stat_ind[A_STR]] < owner_ptr->inventory_list[i].weight / 10) ? _("持つだけで精一杯の", "just holding")
116                                                                                                   : _("射撃用に装備している", "shooting missiles with");
117         break;
118     case INVEN_RIGHT:
119         p = (left_hander ? _("左手の指にはめている", "wearing on your left hand") : _("右手の指にはめている", "wearing on your right hand"));
120         break;
121     case INVEN_LEFT:
122         p = (left_hander ? _("右手の指にはめている", "wearing on your right hand") : _("左手の指にはめている", "wearing on your left hand"));
123         break;
124     case INVEN_NECK:
125         p = _("首にかけている", "wearing around your neck");
126         break;
127     case INVEN_LITE:
128         p = _("光源にしている", "using to light the way");
129         break;
130     case INVEN_BODY:
131         p = _("体に着ている", "wearing on your body");
132         break;
133     case INVEN_OUTER:
134         p = _("身にまとっている", "wearing on your back");
135         break;
136     case INVEN_HEAD:
137         p = _("頭にかぶっている", "wearing on your head");
138         break;
139     case INVEN_HANDS:
140         p = _("手につけている", "wearing on your hands");
141         break;
142     case INVEN_FEET:
143         p = _("足にはいている", "wearing on your feet");
144         break;
145     default:
146         p = _("ザックに入っている", "carrying in your pack");
147         break;
148     }
149
150     return p;
151 }