OSDN Git Service

45317ca4e26fc77848eccd5007c73827fdeece47
[hengbandforosx/hengbandosx.git] / src / lore / combat-types-setter.cpp
1 #include "lore/combat-types-setter.h"
2 #include "monster-attack/monster-attack-effect.h"
3 #include "monster-attack/monster-attack-types.h"
4 #include "term/term-color-types.h"
5
6 void set_monster_blow_method(lore_type *lore_ptr, int m)
7 {
8     rbm_type method = lore_ptr->r_ptr->blow[m].method;
9     lore_ptr->p = NULL;
10     lore_ptr->pc = TERM_WHITE;
11     switch (method) {
12     case RBM_HIT:
13         lore_ptr->p = _("殴る", "hit");
14         lore_ptr->pc = TERM_L_WHITE;
15         break;
16     case RBM_TOUCH:
17         lore_ptr->p = _("触る", "touch");
18         break;
19     case RBM_PUNCH:
20         lore_ptr->p = _("パンチする", "punch");
21         lore_ptr->pc = TERM_L_WHITE;
22         break;
23     case RBM_KICK:
24         lore_ptr->p = _("蹴る", "kick");
25         lore_ptr->pc = TERM_L_WHITE;
26         break;
27     case RBM_CLAW:
28         lore_ptr->p = _("ひっかく", "claw");
29         lore_ptr->pc = TERM_L_UMBER;
30         break;
31     case RBM_BITE:
32         lore_ptr->p = _("噛む", "bite");
33         lore_ptr->pc = TERM_L_UMBER;
34         break;
35     case RBM_STING:
36         lore_ptr->p = _("刺す", "sting");
37         break;
38     case RBM_SLASH:
39         lore_ptr->p = _("斬る", "slash");
40         lore_ptr->pc = TERM_L_UMBER;
41         break;
42     case RBM_BUTT:
43         lore_ptr->p = _("角で突く", "butt");
44         lore_ptr->pc = TERM_L_WHITE;
45         break;
46     case RBM_CRUSH:
47         lore_ptr->p = _("体当たりする", "crush");
48         lore_ptr->pc = TERM_L_WHITE;
49         break;
50     case RBM_ENGULF:
51         lore_ptr->p = _("飲み込む", "engulf");
52         break;
53     case RBM_CHARGE:
54         lore_ptr->p = _("請求書をよこす", "charge");
55         break;
56     case RBM_CRAWL:
57         lore_ptr->p = _("体の上を這い回る", "crawl on you");
58         break;
59     case RBM_DROOL:
60         lore_ptr->p = _("よだれをたらす", "drool on you");
61         lore_ptr->pc = TERM_SLATE;
62         break;
63     case RBM_SPIT:
64         lore_ptr->p = _("つばを吐く", "spit");
65         lore_ptr->pc = TERM_SLATE;
66         break;
67     case RBM_EXPLODE:
68         lore_ptr->p = _("爆発する", "explode");
69         lore_ptr->pc = TERM_L_BLUE;
70         break;
71     case RBM_GAZE:
72         lore_ptr->p = _("にらむ", "gaze");
73         lore_ptr->pc = TERM_SLATE;
74         break;
75     case RBM_WAIL:
76         lore_ptr->p = _("泣き叫ぶ", "wail");
77         lore_ptr->pc = TERM_SLATE;
78         break;
79     case RBM_SPORE:
80         lore_ptr->p = _("胞子を飛ばす", "release spores");
81         lore_ptr->pc = TERM_SLATE;
82         break;
83     case RBM_XXX4:
84         break;
85     case RBM_BEG:
86         lore_ptr->p = _("金をせがむ", "beg");
87         lore_ptr->pc = TERM_SLATE;
88         break;
89     case RBM_INSULT:
90         lore_ptr->p = _("侮辱する", "insult");
91         lore_ptr->pc = TERM_SLATE;
92         break;
93     case RBM_MOAN:
94         lore_ptr->p = _("うめく", "moan");
95         lore_ptr->pc = TERM_SLATE;
96         break;
97     case RBM_SHOW:
98         lore_ptr->p = _("歌う", "sing");
99         lore_ptr->pc = TERM_SLATE;
100         break;
101     }
102 }
103
104 void set_monster_blow_effect(lore_type *lore_ptr, int m)
105 {
106     rbe_type effect = lore_ptr->r_ptr->blow[m].effect;
107     lore_ptr->q = NULL;
108     lore_ptr->qc = TERM_WHITE;
109     switch (effect) {
110     case RBE_SUPERHURT:
111         lore_ptr->q = _("強力に攻撃する", "slaughter");
112         lore_ptr->qc = TERM_L_RED;
113         break;
114     case RBE_HURT:
115         lore_ptr->q = _("攻撃する", "attack");
116         break;
117     case RBE_POISON:
118         lore_ptr->q = _("毒をくらわす", "poison");
119         lore_ptr->qc = TERM_L_GREEN;
120         break;
121     case RBE_UN_BONUS:
122         lore_ptr->q = _("劣化させる", "disenchant");
123         lore_ptr->qc = TERM_VIOLET;
124         break;
125     case RBE_UN_POWER:
126         lore_ptr->q = _("充填魔力を吸収する", "drain charges");
127         lore_ptr->qc = TERM_SLATE;
128         break;
129     case RBE_EAT_GOLD:
130         lore_ptr->q = _("金を盗む", "steal gold");
131         lore_ptr->qc = TERM_YELLOW;
132         break;
133     case RBE_EAT_ITEM:
134         lore_ptr->q = _("アイテムを盗む", "steal items");
135         lore_ptr->qc = TERM_UMBER;
136         break;
137     case RBE_EAT_FOOD:
138         lore_ptr->q = _("あなたの食料を食べる", "eat your food");
139         lore_ptr->qc = TERM_L_UMBER;
140         break;
141     case RBE_EAT_LITE:
142         lore_ptr->q = _("明かりを吸収する", "absorb light");
143         lore_ptr->qc = TERM_YELLOW;
144         break;
145     case RBE_ACID:
146         lore_ptr->q = _("酸を飛ばす", "shoot acid");
147         lore_ptr->qc = TERM_GREEN;
148         break;
149     case RBE_ELEC:
150         lore_ptr->q = _("感電させる", "electrocute");
151         lore_ptr->qc = TERM_BLUE;
152         break;
153     case RBE_FIRE:
154         lore_ptr->q = _("燃やす", "burn");
155         lore_ptr->qc = TERM_RED;
156         break;
157     case RBE_COLD:
158         lore_ptr->q = _("凍らせる", "freeze");
159         lore_ptr->qc = TERM_L_WHITE;
160         break;
161     case RBE_BLIND:
162         lore_ptr->q = _("盲目にする", "blind");
163         lore_ptr->qc = TERM_L_DARK;
164         break;
165     case RBE_CONFUSE:
166         lore_ptr->q = _("混乱させる", "confuse");
167         lore_ptr->qc = TERM_L_UMBER;
168         break;
169     case RBE_TERRIFY:
170         lore_ptr->q = _("恐怖させる", "terrify");
171         lore_ptr->qc = TERM_SLATE;
172         break;
173     case RBE_PARALYZE:
174         lore_ptr->q = _("麻痺させる", "paralyze");
175         lore_ptr->qc = TERM_BLUE;
176         break;
177     case RBE_LOSE_STR:
178         lore_ptr->q = _("腕力を減少させる", "reduce strength");
179         lore_ptr->qc = TERM_L_GREEN;
180         break;
181     case RBE_LOSE_INT:
182         lore_ptr->q = _("知能を減少させる", "reduce intelligence");
183         lore_ptr->qc = TERM_L_GREEN;
184         break;
185     case RBE_LOSE_WIS:
186         lore_ptr->q = _("賢さを減少させる", "reduce wisdom");
187         lore_ptr->qc = TERM_L_GREEN;
188         break;
189     case RBE_LOSE_DEX:
190         lore_ptr->q = _("器用さを減少させる", "reduce dexterity");
191         lore_ptr->qc = TERM_L_GREEN;
192         break;
193     case RBE_LOSE_CON:
194         lore_ptr->q = _("耐久力を減少させる", "reduce constitution");
195         lore_ptr->qc = TERM_L_GREEN;
196         break;
197     case RBE_LOSE_CHR:
198         lore_ptr->q = _("魅力を減少させる", "reduce charisma");
199         lore_ptr->qc = TERM_L_GREEN;
200         break;
201     case RBE_LOSE_ALL:
202         lore_ptr->q = _("全ステータスを減少させる", "reduce all stats");
203         lore_ptr->qc = TERM_L_GREEN;
204         break;
205     case RBE_SHATTER:
206         lore_ptr->q = _("粉砕する", "shatter");
207         lore_ptr->qc = TERM_SLATE;
208         break;
209     case RBE_EXP_10:
210         lore_ptr->q = _("経験値を減少(10d6+)させる", "lower experience (by 10d6+)");
211         lore_ptr->qc = TERM_L_BLUE;
212         break;
213     case RBE_EXP_20:
214         lore_ptr->q = _("経験値を減少(20d6+)させる", "lower experience (by 20d6+)");
215         lore_ptr->qc = TERM_L_BLUE;
216         break;
217     case RBE_EXP_40:
218         lore_ptr->q = _("経験値を減少(40d6+)させる", "lower experience (by 40d6+)");
219         lore_ptr->qc = TERM_L_BLUE;
220         break;
221     case RBE_EXP_80:
222         lore_ptr->q = _("経験値を減少(80d6+)させる", "lower experience (by 80d6+)");
223         lore_ptr->qc = TERM_L_BLUE;
224         break;
225     case RBE_DISEASE:
226         lore_ptr->q = _("病気にする", "disease");
227         lore_ptr->qc = TERM_L_GREEN;
228         break;
229     case RBE_TIME:
230         lore_ptr->q = _("時間を逆戻りさせる", "time");
231         lore_ptr->qc = TERM_L_BLUE;
232         break;
233     case RBE_DR_LIFE:
234         lore_ptr->q = _("生命力を吸収する", "drain life");
235         lore_ptr->qc = TERM_L_BLUE;
236         break;
237     case RBE_DR_MANA:
238         lore_ptr->q = _("魔力を奪う", "drain mana force");
239         lore_ptr->qc = TERM_SLATE;
240         break;
241     case RBE_INERTIA:
242         lore_ptr->q = _("減速させる", "slow");
243         lore_ptr->qc = TERM_UMBER;
244         break;
245     case RBE_STUN:
246         lore_ptr->q = _("朦朧とさせる", "stun");
247         lore_ptr->qc = TERM_ORANGE;
248         break;
249     case RBE_FLAVOR:
250         // フレーバー打撃には何の効果もないので付加説明もない。
251         break;
252     }
253 }