OSDN Git Service

dc7f95da9c1e1aee83a55724518a8ff93bea197a
[hengbandforosx/hengbandosx.git] / src / mutation / gain-mutation-switcher.cpp
1 #include "mutation/gain-mutation-switcher.h"
2 #include "mutation/mutation-flag-types.h"
3 #include "mutation/mutation-util.h"
4 #include "system/player-type-definition.h"
5
6 void switch_gain_mutation(PlayerType *player_ptr, glm_type *glm_ptr)
7 {
8     switch (glm_ptr->choose_mut ? glm_ptr->choose_mut : (player_ptr->pclass == PlayerClassType::BERSERKER ? 74 + randint1(119) : randint1(193))) {
9     case 1:
10     case 2:
11     case 3:
12     case 4:
13         glm_ptr->muta_which = PlayerMutationType::SPIT_ACID;
14         glm_ptr->muta_desc = _("酸を吐く能力を得た。", "You gain the ability to spit acid.");
15         break;
16     case 5:
17     case 6:
18     case 7:
19         glm_ptr->muta_which = PlayerMutationType::BR_FIRE;
20         glm_ptr->muta_desc = _("火を吐く能力を得た。", "You gain the ability to breathe fire.");
21         break;
22     case 8:
23     case 9:
24         glm_ptr->muta_which = PlayerMutationType::HYPN_GAZE;
25         glm_ptr->muta_desc = _("催眠眼の能力を得た。", "Your eyes look mesmerizing...");
26         break;
27     case 10:
28     case 11:
29         glm_ptr->muta_which = PlayerMutationType::TELEKINES;
30         glm_ptr->muta_desc = _("物体を念動力で動かす能力を得た。", "You gain the ability to move objects telekinetically.");
31         break;
32     case 12:
33     case 13:
34     case 14:
35         glm_ptr->muta_which = PlayerMutationType::VTELEPORT;
36         glm_ptr->muta_desc = _("自分の意思でテレポートする能力を得た。", "You gain the power of teleportation at will.");
37         break;
38     case 15:
39     case 16:
40         glm_ptr->muta_which = PlayerMutationType::MIND_BLST;
41         glm_ptr->muta_desc = _("精神攻撃の能力を得た。", "You gain the power of Mind Blast.");
42         break;
43     case 17:
44     case 18:
45         glm_ptr->muta_which = PlayerMutationType::RADIATION;
46         glm_ptr->muta_desc = _("あなたは強い放射線を発生し始めた。", "You start emitting hard radiation.");
47         break;
48     case 19:
49     case 20:
50         glm_ptr->muta_which = PlayerMutationType::VAMPIRISM;
51         glm_ptr->muta_desc = _("生命力を吸収できるようになった。", "You become vampiric.");
52         break;
53     case 21:
54     case 22:
55     case 23:
56         glm_ptr->muta_which = PlayerMutationType::SMELL_MET;
57         glm_ptr->muta_desc = _("金属の匂いを嗅ぎ分けられるようになった。", "You smell a metallic odor.");
58         break;
59     case 24:
60     case 25:
61     case 26:
62     case 27:
63         glm_ptr->muta_which = PlayerMutationType::SMELL_MON;
64         glm_ptr->muta_desc = _("モンスターの臭いを嗅ぎ分けられるようになった。", "You smell filthy monsters.");
65         break;
66     case 28:
67     case 29:
68     case 30:
69         glm_ptr->muta_which = PlayerMutationType::BLINK;
70         glm_ptr->muta_desc = _("近距離テレポートの能力を得た。", "You gain the power of minor teleportation.");
71         break;
72     case 31:
73     case 32:
74         glm_ptr->muta_which = PlayerMutationType::EAT_ROCK;
75         glm_ptr->muta_desc = _("壁が美味しそうに見える。", "The walls look delicious.");
76         break;
77     case 33:
78     case 34:
79         glm_ptr->muta_which = PlayerMutationType::SWAP_POS;
80         glm_ptr->muta_desc = _("他人の靴で一マイル歩くような気分がする。", "You feel like walking a mile in someone else's shoes.");
81         break;
82     case 35:
83     case 36:
84     case 37:
85         glm_ptr->muta_which = PlayerMutationType::SHRIEK;
86         glm_ptr->muta_desc = _("あなたの声は相当強くなった。", "Your vocal cords get much tougher.");
87         break;
88     case 38:
89     case 39:
90     case 40:
91         glm_ptr->muta_which = PlayerMutationType::ILLUMINE;
92         glm_ptr->muta_desc = _("あなたは光り輝いて部屋を明るくするようになった。", "You can light up rooms with your presence.");
93         break;
94     case 41:
95     case 42:
96         glm_ptr->muta_which = PlayerMutationType::DET_CURSE;
97         glm_ptr->muta_desc = _("邪悪な魔法を感知できるようになった。", "You can feel evil magics.");
98         break;
99     case 43:
100     case 44:
101     case 45:
102         glm_ptr->muta_which = PlayerMutationType::BERSERK;
103         glm_ptr->muta_desc = _("制御できる激情を感じる。", "You feel a controlled rage.");
104         break;
105     case 46:
106         glm_ptr->muta_which = PlayerMutationType::POLYMORPH;
107         glm_ptr->muta_desc = _("体が変異しやすくなった。", "Your body seems mutable.");
108         break;
109     case 47:
110     case 48:
111         glm_ptr->muta_which = PlayerMutationType::MIDAS_TCH;
112         glm_ptr->muta_desc = _("「ミダス王の手」の能力を得た。", "You gain the Midas touch."); /*トゥームレイダースにありましたね。 */
113         break;
114     case 49:
115         glm_ptr->muta_which = PlayerMutationType::GROW_MOLD;
116         glm_ptr->muta_desc = _("突然カビに親しみを覚えた。", "You feel a sudden affinity for mold.");
117         break;
118     case 50:
119     case 51:
120     case 52:
121         glm_ptr->muta_which = PlayerMutationType::RESIST;
122         glm_ptr->muta_desc = _("あなたは自分自身を守れる気がする。", "You feel like you can protect yourself.");
123         break;
124     case 53:
125     case 54:
126     case 55:
127         glm_ptr->muta_which = PlayerMutationType::EARTHQUAKE;
128         glm_ptr->muta_desc = _("ダンジョンを破壊する能力を得た。", "You gain the ability to wreck the dungeon.");
129         break;
130     case 56:
131         glm_ptr->muta_which = PlayerMutationType::EAT_MAGIC;
132         glm_ptr->muta_desc = _("魔法のアイテムが美味そうに見える。", "Your magic items look delicious.");
133         break;
134     case 57:
135     case 58:
136         glm_ptr->muta_which = PlayerMutationType::WEIGH_MAG;
137         glm_ptr->muta_desc = _("あなたは周囲にある魔法をより良く理解できる気がする。", "You feel you can better understand the magic around you.");
138         break;
139     case 59:
140         glm_ptr->muta_which = PlayerMutationType::STERILITY;
141         glm_ptr->muta_desc = _("周りの全ての者に頭痛を起こすことができる。", "You can give everything around you a headache.");
142         break;
143     case 60:
144     case 61:
145         glm_ptr->muta_which = PlayerMutationType::HIT_AND_AWAY;
146         glm_ptr->muta_desc = _("突然、泥棒の気分が分かるようになった。", "You suddenly understand how thieves feel.");
147         break;
148     case 62:
149     case 63:
150     case 64:
151         glm_ptr->muta_which = PlayerMutationType::DAZZLE;
152         glm_ptr->muta_desc = _("眩い閃光を発する能力を得た。", "You gain the ability to emit dazzling lights.");
153         break;
154     case 65:
155     case 66:
156     case 67:
157         glm_ptr->muta_which = PlayerMutationType::LASER_EYE;
158         glm_ptr->muta_desc = _("あなたの目は一瞬焼け付いた。", "Your eyes burn for a moment.");
159         break;
160     case 68:
161     case 69:
162         glm_ptr->muta_which = PlayerMutationType::RECALL;
163         glm_ptr->muta_desc = _("少しだけホームシックになったが、すぐ直った。", "You feel briefly homesick, but it passes.");
164         break;
165     case 70:
166         glm_ptr->muta_which = PlayerMutationType::BANISH;
167         glm_ptr->muta_desc = _("神聖な怒りの力に満たされた。", "You feel a holy wrath fill you.");
168         break;
169     case 71:
170     case 72:
171         glm_ptr->muta_which = PlayerMutationType::COLD_TOUCH;
172         glm_ptr->muta_desc = _("あなたの両手はとても冷たくなった。", "Your hands get very cold.");
173         break;
174     case 73:
175     case 74:
176         glm_ptr->muta_which = PlayerMutationType::LAUNCHER;
177         glm_ptr->muta_desc = _("あなたの物を投げる手はかなり強くなった気がする。", "Your throwing arm feels much stronger.");
178         break;
179     case 75:
180         glm_ptr->muta_which = PlayerMutationType::BERS_RAGE;
181         glm_ptr->muta_desc = _("あなたは狂暴化の発作を起こすようになった!", "You become subject to fits of berserk rage!");
182         break;
183     case 76:
184         glm_ptr->muta_which = PlayerMutationType::COWARDICE;
185         glm_ptr->muta_desc = _("信じられないくらい臆病になった!", "You become an incredible coward!");
186         break;
187     case 77:
188         glm_ptr->muta_which = PlayerMutationType::RTELEPORT;
189         glm_ptr->muta_desc = _("あなたの位置は非常に不確定になった。", "Your position seems very uncertain...");
190         break;
191     case 78:
192         glm_ptr->muta_which = PlayerMutationType::ALCOHOL;
193         glm_ptr->muta_desc = _("あなたはアルコールを分泌するようになった。", "Your body starts producing alcohol!");
194         break;
195     case 79:
196         glm_ptr->muta_which = PlayerMutationType::HALLU;
197         glm_ptr->muta_desc = _("あなたは幻覚を引き起こす精神錯乱に侵された。", "You are afflicted by a hallucinatory insanity!");
198         break;
199     case 80:
200         glm_ptr->muta_which = PlayerMutationType::FLATULENT;
201         glm_ptr->muta_desc = _("あなたは制御不能な強烈な屁をこくようになった。", "You become subject to uncontrollable flatulence.");
202         break;
203     case 81:
204     case 82:
205         glm_ptr->muta_which = PlayerMutationType::SCOR_TAIL;
206         glm_ptr->muta_desc = _("サソリの尻尾が生えてきた!", "You grow a scorpion tail!");
207         break;
208     case 83:
209     case 84:
210         glm_ptr->muta_which = PlayerMutationType::HORNS;
211         glm_ptr->muta_desc = _("額に角が生えた!", "Horns pop forth into your forehead!");
212         break;
213     case 85:
214     case 86:
215         glm_ptr->muta_which = PlayerMutationType::BEAK;
216         glm_ptr->muta_desc = _("口が鋭く強いクチバシに変化した!", "Your mouth turns into a sharp, powerful beak!");
217         break;
218     case 87:
219     case 88:
220         glm_ptr->muta_which = PlayerMutationType::ATT_DEMON;
221         glm_ptr->muta_desc = _("悪魔を引き付けるようになった。", "You start attracting demons.");
222         break;
223     case 89:
224         glm_ptr->muta_which = PlayerMutationType::PROD_MANA;
225         glm_ptr->muta_desc = _("あなたは制御不能な魔法のエネルギーを発生するようになった。", "You start producing magical energy uncontrollably.");
226         break;
227     case 90:
228     case 91:
229         glm_ptr->muta_which = PlayerMutationType::SPEED_FLUX;
230         glm_ptr->muta_desc = _("あなたは躁鬱質になった。", "You become manic-depressive.");
231         break;
232     case 92:
233     case 93:
234         glm_ptr->muta_which = PlayerMutationType::BANISH_ALL;
235         glm_ptr->muta_desc = _("恐ろしい力があなたの背後に潜んでいる気がする。", "You feel a terrifying power lurking behind you.");
236         break;
237     case 94:
238         glm_ptr->muta_which = PlayerMutationType::EAT_LIGHT;
239         glm_ptr->muta_desc = _("あなたはウンゴリアントに奇妙な親しみを覚えるようになった。", "You feel a strange kinship with Ungoliant.");
240         break;
241     case 95:
242     case 96:
243         glm_ptr->muta_which = PlayerMutationType::TRUNK;
244         glm_ptr->muta_desc = _("あなたの鼻は伸びて象の鼻のようになった。", "Your nose grows into an elephant-like trunk.");
245         break;
246     case 97:
247         glm_ptr->muta_which = PlayerMutationType::ATT_ANIMAL;
248         glm_ptr->muta_desc = _("動物を引き付けるようになった。", "You start attracting animals.");
249         break;
250     case 98:
251         glm_ptr->muta_which = PlayerMutationType::TENTACLES;
252         glm_ptr->muta_desc = _("邪悪な触手が体の両側に生えてきた。", "Evil-looking tentacles sprout from your sides.");
253         break;
254     case 99:
255         glm_ptr->muta_which = PlayerMutationType::RAW_CHAOS;
256         glm_ptr->muta_desc = _("周囲の空間が不安定になった気がする。", "You feel the universe is less stable around you.");
257         break;
258     case 100:
259     case 101:
260     case 102:
261         glm_ptr->muta_which = PlayerMutationType::NORMALITY;
262         glm_ptr->muta_desc = _("あなたは奇妙なほど普通になった気がする。", "You feel strangely normal.");
263         break;
264     case 103:
265         glm_ptr->muta_which = PlayerMutationType::WRAITH;
266         glm_ptr->muta_desc = _("あなたは幽体化したり実体化したりするようになった。", "You start to fade in and out of the physical world.");
267         break;
268     case 104:
269         glm_ptr->muta_which = PlayerMutationType::POLY_WOUND;
270         glm_ptr->muta_desc = _("あなたはカオスの力が古い傷に入り込んでくるのを感じた。", "You feel forces of chaos entering your old scars.");
271         break;
272     case 105:
273         glm_ptr->muta_which = PlayerMutationType::WASTING;
274         glm_ptr->muta_desc = _("あなたは突然おぞましい衰弱病にかかった。", "You suddenly contract a horrible wasting disease.");
275         break;
276     case 106:
277         glm_ptr->muta_which = PlayerMutationType::ATT_DRAGON;
278         glm_ptr->muta_desc = _("あなたはドラゴンを引きつけるようになった。", "You start attracting dragons.");
279         break;
280     case 107:
281     case 108:
282         glm_ptr->muta_which = PlayerMutationType::WEIRD_MIND;
283         glm_ptr->muta_desc = _("あなたの思考は突然おかしな方向に向き始めた。", "Your thoughts suddenly take off in strange directions.");
284         break;
285     case 109:
286         glm_ptr->muta_which = PlayerMutationType::NAUSEA;
287         glm_ptr->muta_desc = _("胃袋がピクピクしはじめた。", "Your stomach starts to roil nauseously.");
288         break;
289     case 110:
290     case 111:
291         if (player_ptr->pclass == PlayerClassType::CHAOS_WARRIOR)
292             break;
293
294         glm_ptr->muta_which = PlayerMutationType::CHAOS_GIFT;
295         glm_ptr->muta_desc = _("あなたはカオスの守護悪魔の注意を惹くようになった。", "You attract the notice of a chaos deity!");
296         break;
297     case 112:
298         glm_ptr->muta_which = PlayerMutationType::WALK_SHAD;
299         glm_ptr->muta_desc = _("あなたは現実が紙のように薄いと感じるようになった。", "You feel like reality is as thin as paper.");
300         break;
301     case 113:
302     case 114:
303         glm_ptr->muta_which = PlayerMutationType::WARNING;
304         glm_ptr->muta_desc = _("あなたは突然パラノイアになった気がする。", "You suddenly feel paranoid.");
305         break;
306     case 115:
307         glm_ptr->muta_which = PlayerMutationType::INVULN;
308         glm_ptr->muta_desc = _("あなたは祝福され、無敵状態になる発作を起こすようになった。", "You are blessed with fits of invulnerability.");
309         break;
310     case 116:
311     case 117:
312         glm_ptr->muta_which = PlayerMutationType::SP_TO_HP;
313         glm_ptr->muta_desc = _("魔法の治癒の発作を起こすようになった。", "You are subject to fits of magical healing.");
314         break;
315     case 118:
316         glm_ptr->muta_which = PlayerMutationType::HP_TO_SP;
317         glm_ptr->muta_desc = _("痛みを伴う精神明瞭化の発作を起こすようになった。", "You are subject to fits of painful clarity.");
318         break;
319     case 119:
320         glm_ptr->muta_which = PlayerMutationType::DISARM;
321         glm_ptr->muta_desc = _("あなたの脚は長さが四倍になった。", "Your feet grow to four times their former size.");
322         break;
323     case 120:
324     case 121:
325     case 122:
326         glm_ptr->muta_which = PlayerMutationType::HYPER_STR;
327         glm_ptr->muta_desc = _("超人的に強くなった!", "You turn into a superhuman he-man!");
328         break;
329     case 123:
330     case 124:
331     case 125:
332         glm_ptr->muta_which = PlayerMutationType::PUNY;
333         glm_ptr->muta_desc = _("筋肉が弱ってしまった...", "Your muscles wither away...");
334         break;
335     case 126:
336     case 127:
337     case 128:
338         glm_ptr->muta_which = PlayerMutationType::HYPER_INT;
339         glm_ptr->muta_desc = _("あなたの脳は生体コンピュータに進化した!", "Your brain evolves into a living computer!");
340         break;
341     case 129:
342     case 130:
343     case 131:
344         glm_ptr->muta_which = PlayerMutationType::MORONIC;
345         glm_ptr->muta_desc = _("脳が萎縮してしまった...", "Your brain withers away...");
346         break;
347     case 132:
348     case 133:
349         glm_ptr->muta_which = PlayerMutationType::RESILIENT;
350         glm_ptr->muta_desc = _("並外れてタフになった。", "You become extraordinarily resilient.");
351         break;
352     case 134:
353     case 135:
354         glm_ptr->muta_which = PlayerMutationType::XTRA_FAT;
355         glm_ptr->muta_desc = _("あなたは気持ち悪いくらい太った!", "You become sickeningly fat!");
356         break;
357     case 136:
358     case 137:
359         glm_ptr->muta_which = PlayerMutationType::ALBINO;
360         glm_ptr->muta_desc = _("アルビノになった!弱くなった気がする...", "You turn into an albino! You feel frail...");
361         break;
362     case 138:
363     case 139:
364     case 140:
365         glm_ptr->muta_which = PlayerMutationType::FLESH_ROT;
366         glm_ptr->muta_desc = _("あなたの肉体は腐敗する病気に侵された!", "Your flesh is afflicted by a rotting disease!");
367         break;
368     case 141:
369     case 142:
370         glm_ptr->muta_which = PlayerMutationType::SILLY_VOI;
371         glm_ptr->muta_desc = _("声が間抜けなキーキー声になった!", "Your voice turns into a ridiculous squeak!");
372         break;
373     case 143:
374     case 144:
375         glm_ptr->muta_which = PlayerMutationType::BLANK_FAC;
376         glm_ptr->muta_desc = _("のっぺらぼうになった!", "Your face becomes completely featureless!");
377         break;
378     case 145:
379         glm_ptr->muta_which = PlayerMutationType::ILL_NORM;
380         glm_ptr->muta_desc = _("心の安らぐ幻影を映し出すようになった。", "You start projecting a reassuring image.");
381         break;
382     case 146:
383     case 147:
384     case 148:
385         glm_ptr->muta_which = PlayerMutationType::XTRA_EYES;
386         glm_ptr->muta_desc = _("新たに二つの目が出来た!", "You grow an extra pair of eyes!");
387         break;
388     case 149:
389     case 150:
390         glm_ptr->muta_which = PlayerMutationType::MAGIC_RES;
391         glm_ptr->muta_desc = _("魔法への耐性がついた。", "You become resistant to magic.");
392         break;
393     case 151:
394     case 152:
395     case 153:
396         glm_ptr->muta_which = PlayerMutationType::XTRA_NOIS;
397         glm_ptr->muta_desc = _("あなたは奇妙な音を立て始めた!", "You start making strange noise!");
398         break;
399     case 154:
400     case 155:
401     case 156:
402         glm_ptr->muta_which = PlayerMutationType::INFRAVIS;
403         glm_ptr->muta_desc = _("赤外線視力が増した。", "Your infravision is improved.");
404         break;
405     case 157:
406     case 158:
407         glm_ptr->muta_which = PlayerMutationType::XTRA_LEGS;
408         glm_ptr->muta_desc = _("新たに二本の足が生えてきた!", "You grow an extra pair of legs!");
409         break;
410     case 159:
411     case 160:
412         glm_ptr->muta_which = PlayerMutationType::SHORT_LEG;
413         glm_ptr->muta_desc = _("足が短い突起になってしまった!", "Your legs turn into short stubs!");
414         break;
415     case 161:
416     case 162:
417         glm_ptr->muta_which = PlayerMutationType::ELEC_TOUC;
418         glm_ptr->muta_desc = _("血管を電流が流れ始めた!", "Electricity starts running through you!");
419         break;
420     case 163:
421     case 164:
422         glm_ptr->muta_which = PlayerMutationType::FIRE_BODY;
423         glm_ptr->muta_desc = _("あなたの体は炎につつまれている。", "Your body is enveloped in flames!");
424         break;
425     case 165:
426     case 166:
427     case 167:
428         glm_ptr->muta_which = PlayerMutationType::WART_SKIN;
429         glm_ptr->muta_desc = _("気持ち悪いイボイボが体中にできた!", "Disgusting warts appear everywhere on you!");
430         break;
431     case 168:
432     case 169:
433     case 170:
434         glm_ptr->muta_which = PlayerMutationType::SCALES;
435         glm_ptr->muta_desc = _("肌が黒い鱗に変わった!", "Your skin turns into black scales!");
436         break;
437     case 171:
438     case 172:
439         glm_ptr->muta_which = PlayerMutationType::IRON_SKIN;
440         glm_ptr->muta_desc = _("あなたの肌は鉄になった!", "Your skin turns to steel!");
441         break;
442     case 173:
443     case 174:
444         glm_ptr->muta_which = PlayerMutationType::WINGS;
445         glm_ptr->muta_desc = _("背中に羽が生えた。", "You grow a pair of wings.");
446         break;
447     case 175:
448     case 176:
449     case 177:
450         glm_ptr->muta_which = PlayerMutationType::FEARLESS;
451         glm_ptr->muta_desc = _("完全に怖れ知らずになった。", "You become completely fearless.");
452         break;
453     case 178:
454     case 179:
455         glm_ptr->muta_which = PlayerMutationType::REGEN;
456         glm_ptr->muta_desc = _("急速に回復し始めた。", "You start regenerating.");
457         break;
458     case 180:
459     case 181:
460         glm_ptr->muta_which = PlayerMutationType::ESP;
461         glm_ptr->muta_desc = _("テレパシーの能力を得た!", "You develop a telepathic ability!");
462         break;
463     case 182:
464     case 183:
465     case 184:
466         glm_ptr->muta_which = PlayerMutationType::LIMBER;
467         glm_ptr->muta_desc = _("筋肉がしなやかになった。", "Your muscles become limber.");
468         break;
469     case 185:
470     case 186:
471     case 187:
472         glm_ptr->muta_which = PlayerMutationType::ARTHRITIS;
473         glm_ptr->muta_desc = _("関節が突然痛み出した。", "Your joints suddenly hurt.");
474         break;
475     case 188:
476         if (player_ptr->ppersonality == PERSONALITY_LUCKY)
477             break;
478
479         glm_ptr->muta_which = PlayerMutationType::BAD_LUCK;
480         glm_ptr->muta_desc = _("悪意に満ちた黒いオーラがあなたをとりまいた...", "There is a malignant black aura surrounding you...");
481         break;
482     case 189:
483         glm_ptr->muta_which = PlayerMutationType::VULN_ELEM;
484         glm_ptr->muta_desc = _("妙に無防備になった気がする。", "You feel strangely exposed.");
485         break;
486     case 190:
487     case 191:
488     case 192:
489         glm_ptr->muta_which = PlayerMutationType::MOTION;
490         glm_ptr->muta_desc = _("体の動作がより正確になった。", "You move with new assurance.");
491         break;
492     case 193:
493         glm_ptr->muta_which = PlayerMutationType::GOOD_LUCK;
494         glm_ptr->muta_desc = _("慈悲深い白いオーラがあなたをとりまいた...", "There is a benevolent white aura surrounding you...");
495         break;
496     default:
497         glm_ptr->muta_which = PlayerMutationType::MAX;
498         break;
499     }
500 }