1 #include "lore/combat-types-setter.h"
2 #include "lore/lore-util.h"
3 #include "monster-attack/monster-attack-effect.h"
4 #include "monster-attack/monster-attack-types.h"
5 #include "system/monster-race-definition.h"
6 #include "term/term-color-types.h"
8 void set_monster_blow_method(lore_type *lore_ptr, int m)
10 RaceBlowMethodType method = lore_ptr->r_ptr->blow[m].method;
11 lore_ptr->p = nullptr;
12 lore_ptr->pc = TERM_WHITE;
14 case RaceBlowMethodType::HIT:
15 lore_ptr->p = _("殴る", "hit");
16 lore_ptr->pc = TERM_L_WHITE;
18 case RaceBlowMethodType::TOUCH:
19 lore_ptr->p = _("触る", "touch");
21 case RaceBlowMethodType::PUNCH:
22 lore_ptr->p = _("パンチする", "punch");
23 lore_ptr->pc = TERM_L_WHITE;
25 case RaceBlowMethodType::KICK:
26 lore_ptr->p = _("蹴る", "kick");
27 lore_ptr->pc = TERM_L_WHITE;
29 case RaceBlowMethodType::CLAW:
30 lore_ptr->p = _("ひっかく", "claw");
31 lore_ptr->pc = TERM_L_UMBER;
33 case RaceBlowMethodType::BITE:
34 lore_ptr->p = _("噛む", "bite");
35 lore_ptr->pc = TERM_L_UMBER;
37 case RaceBlowMethodType::STING:
38 lore_ptr->p = _("刺す", "sting");
40 case RaceBlowMethodType::SLASH:
41 lore_ptr->p = _("斬る", "slash");
42 lore_ptr->pc = TERM_L_UMBER;
44 case RaceBlowMethodType::BUTT:
45 lore_ptr->p = _("角で突く", "butt");
46 lore_ptr->pc = TERM_L_WHITE;
48 case RaceBlowMethodType::CRUSH:
49 lore_ptr->p = _("体当たりする", "crush");
50 lore_ptr->pc = TERM_L_WHITE;
52 case RaceBlowMethodType::ENGULF:
53 lore_ptr->p = _("飲み込む", "engulf");
55 case RaceBlowMethodType::CHARGE:
56 lore_ptr->p = _("請求書をよこす", "charge");
58 case RaceBlowMethodType::CRAWL:
59 lore_ptr->p = _("体の上を這い回る", "crawl on you");
61 case RaceBlowMethodType::DROOL:
62 lore_ptr->p = _("よだれをたらす", "drool on you");
63 lore_ptr->pc = TERM_SLATE;
65 case RaceBlowMethodType::SPIT:
66 lore_ptr->p = _("つばを吐く", "spit");
67 lore_ptr->pc = TERM_SLATE;
69 case RaceBlowMethodType::EXPLODE:
70 lore_ptr->p = _("爆発する", "explode");
71 lore_ptr->pc = TERM_L_BLUE;
73 case RaceBlowMethodType::GAZE:
74 lore_ptr->p = _("にらむ", "gaze");
75 lore_ptr->pc = TERM_SLATE;
77 case RaceBlowMethodType::WAIL:
78 lore_ptr->p = _("泣き叫ぶ", "wail");
79 lore_ptr->pc = TERM_SLATE;
81 case RaceBlowMethodType::SPORE:
82 lore_ptr->p = _("胞子を飛ばす", "release spores");
83 lore_ptr->pc = TERM_SLATE;
85 case RaceBlowMethodType::XXX4:
87 case RaceBlowMethodType::BEG:
88 lore_ptr->p = _("金をせがむ", "beg");
89 lore_ptr->pc = TERM_SLATE;
91 case RaceBlowMethodType::INSULT:
92 lore_ptr->p = _("侮辱する", "insult");
93 lore_ptr->pc = TERM_SLATE;
95 case RaceBlowMethodType::MOAN:
96 lore_ptr->p = _("うめく", "moan");
97 lore_ptr->pc = TERM_SLATE;
99 case RaceBlowMethodType::SHOW:
100 lore_ptr->p = _("歌う", "sing");
101 lore_ptr->pc = TERM_SLATE;
104 case RaceBlowMethodType::NONE:
105 case RaceBlowMethodType::SHOOT:
106 case RaceBlowMethodType::MAX:
111 void set_monster_blow_effect(lore_type *lore_ptr, int m)
113 RaceBlowEffectType effect = lore_ptr->r_ptr->blow[m].effect;
114 lore_ptr->q = nullptr;
115 lore_ptr->qc = TERM_WHITE;
117 case RaceBlowEffectType::SUPERHURT:
118 lore_ptr->q = _("強力に攻撃する", "slaughter");
119 lore_ptr->qc = TERM_L_RED;
121 case RaceBlowEffectType::HURT:
122 lore_ptr->q = _("攻撃する", "attack");
124 case RaceBlowEffectType::POISON:
125 lore_ptr->q = _("毒をくらわす", "poison");
126 lore_ptr->qc = TERM_L_GREEN;
128 case RaceBlowEffectType::UN_BONUS:
129 lore_ptr->q = _("劣化させる", "disenchant");
130 lore_ptr->qc = TERM_VIOLET;
132 case RaceBlowEffectType::UN_POWER:
133 lore_ptr->q = _("充填魔力を吸収する", "drain charges");
134 lore_ptr->qc = TERM_SLATE;
136 case RaceBlowEffectType::EAT_GOLD:
137 lore_ptr->q = _("金を盗む", "steal gold");
138 lore_ptr->qc = TERM_YELLOW;
140 case RaceBlowEffectType::EAT_ITEM:
141 lore_ptr->q = _("アイテムを盗む", "steal items");
142 lore_ptr->qc = TERM_UMBER;
144 case RaceBlowEffectType::EAT_FOOD:
145 lore_ptr->q = _("あなたの食料を食べる", "eat your food");
146 lore_ptr->qc = TERM_L_UMBER;
148 case RaceBlowEffectType::EAT_LITE:
149 lore_ptr->q = _("明かりを吸収する", "absorb light");
150 lore_ptr->qc = TERM_YELLOW;
152 case RaceBlowEffectType::ACID:
153 lore_ptr->q = _("酸を飛ばす", "shoot acid");
154 lore_ptr->qc = TERM_GREEN;
156 case RaceBlowEffectType::ELEC:
157 lore_ptr->q = _("感電させる", "electrocute");
158 lore_ptr->qc = TERM_BLUE;
160 case RaceBlowEffectType::FIRE:
161 lore_ptr->q = _("燃やす", "burn");
162 lore_ptr->qc = TERM_RED;
164 case RaceBlowEffectType::COLD:
165 lore_ptr->q = _("凍らせる", "freeze");
166 lore_ptr->qc = TERM_L_WHITE;
168 case RaceBlowEffectType::BLIND:
169 lore_ptr->q = _("盲目にする", "blind");
170 lore_ptr->qc = TERM_L_DARK;
172 case RaceBlowEffectType::CONFUSE:
173 lore_ptr->q = _("混乱させる", "confuse");
174 lore_ptr->qc = TERM_L_UMBER;
176 case RaceBlowEffectType::TERRIFY:
177 lore_ptr->q = _("恐怖させる", "terrify");
178 lore_ptr->qc = TERM_SLATE;
180 case RaceBlowEffectType::PARALYZE:
181 lore_ptr->q = _("麻痺させる", "paralyze");
182 lore_ptr->qc = TERM_BLUE;
184 case RaceBlowEffectType::LOSE_STR:
185 lore_ptr->q = _("腕力を減少させる", "reduce strength");
186 lore_ptr->qc = TERM_L_GREEN;
188 case RaceBlowEffectType::LOSE_INT:
189 lore_ptr->q = _("知能を減少させる", "reduce intelligence");
190 lore_ptr->qc = TERM_L_GREEN;
192 case RaceBlowEffectType::LOSE_WIS:
193 lore_ptr->q = _("賢さを減少させる", "reduce wisdom");
194 lore_ptr->qc = TERM_L_GREEN;
196 case RaceBlowEffectType::LOSE_DEX:
197 lore_ptr->q = _("器用さを減少させる", "reduce dexterity");
198 lore_ptr->qc = TERM_L_GREEN;
200 case RaceBlowEffectType::LOSE_CON:
201 lore_ptr->q = _("耐久力を減少させる", "reduce constitution");
202 lore_ptr->qc = TERM_L_GREEN;
204 case RaceBlowEffectType::LOSE_CHR:
205 lore_ptr->q = _("魅力を減少させる", "reduce charisma");
206 lore_ptr->qc = TERM_L_GREEN;
208 case RaceBlowEffectType::LOSE_ALL:
209 lore_ptr->q = _("全ステータスを減少させる", "reduce all stats");
210 lore_ptr->qc = TERM_L_GREEN;
212 case RaceBlowEffectType::SHATTER:
213 lore_ptr->q = _("粉砕する", "shatter");
214 lore_ptr->qc = TERM_SLATE;
216 case RaceBlowEffectType::EXP_10:
217 lore_ptr->q = _("経験値を減少(10d6+)させる", "lower experience (by 10d6+)");
218 lore_ptr->qc = TERM_L_BLUE;
220 case RaceBlowEffectType::EXP_20:
221 lore_ptr->q = _("経験値を減少(20d6+)させる", "lower experience (by 20d6+)");
222 lore_ptr->qc = TERM_L_BLUE;
224 case RaceBlowEffectType::EXP_40:
225 lore_ptr->q = _("経験値を減少(40d6+)させる", "lower experience (by 40d6+)");
226 lore_ptr->qc = TERM_L_BLUE;
228 case RaceBlowEffectType::EXP_80:
229 lore_ptr->q = _("経験値を減少(80d6+)させる", "lower experience (by 80d6+)");
230 lore_ptr->qc = TERM_L_BLUE;
232 case RaceBlowEffectType::DISEASE:
233 lore_ptr->q = _("病気にする", "disease");
234 lore_ptr->qc = TERM_L_GREEN;
236 case RaceBlowEffectType::TIME:
237 lore_ptr->q = _("時間を逆戻りさせる", "time");
238 lore_ptr->qc = TERM_L_BLUE;
240 case RaceBlowEffectType::DR_LIFE:
241 lore_ptr->q = _("生命力を吸収する", "drain life");
242 lore_ptr->qc = TERM_L_BLUE;
244 case RaceBlowEffectType::DR_MANA:
245 lore_ptr->q = _("魔力を奪う", "drain mana force");
246 lore_ptr->qc = TERM_SLATE;
248 case RaceBlowEffectType::INERTIA:
249 lore_ptr->q = _("減速させる", "slow");
250 lore_ptr->qc = TERM_UMBER;
252 case RaceBlowEffectType::STUN:
253 lore_ptr->q = _("朦朧とさせる", "stun");
254 lore_ptr->qc = TERM_ORANGE;
256 case RaceBlowEffectType::HUNGRY:
257 lore_ptr->q = _("空腹を進行させる", "increase hunger");
258 lore_ptr->qc = TERM_L_BLUE;
260 case RaceBlowEffectType::FLAVOR:
261 // フレーバー打撃には何の効果もないので付加説明もない。
264 case RaceBlowEffectType::NONE:
265 case RaceBlowEffectType::MAX: