OSDN Git Service

Merge branch 'For2.2.2-Refactoring' into For2.2.2-Fix-Hourier
[hengband/hengband.git] / src / mutation.c
1 /*!
2  * @file mutation.c
3  * @brief 突然変異ルールの実装 / Mutation effects (and racial powers)
4  * @date 2014/01/11
5  * @author
6  * Copyright (c) 1997 Ben Harrison, James E. Wilson, Robert A. Koeneke\n
7  *\n
8  * This software may be copied and distributed for educational, research,\n
9  * and not for profit purposes provided that this copyright and statement\n
10  * are included in all such copies.  Other copyrights may also apply.\n
11  * 2014 Deskull rearranged comment for Doxygen.\n
12  */
13
14 #include "angband.h"
15 #include "core.h"
16 #include "core/show-file.h"
17 #include "util.h"
18
19 #include "cmd/cmd-dump.h"
20 #include "mutation.h"
21
22 #include "selfinfo.h"
23 #include "spells-summon.h"
24 #include "avatar.h"
25 #include "player-status.h"
26 #include "player-effects.h"
27 #include "player-personality.h"
28 #include "player-class.h"
29 #include "player-damage.h"
30 #include "spells-status.h"
31 #include "spells-floor.h"
32 #include "object-hook.h"
33 #include "spells.h"
34 #include "cmd-basic.h"
35 #include "files.h"
36 #include "floor.h"
37 #include "targeting.h"
38 #include "player-race.h"
39
40 /*!
41  * @brief プレイヤーに突然変異を与える
42  * @param choose_mut 与えたい突然変異のID、0ならばランダムに選択
43  * @return なし
44  */
45 bool gain_mutation(player_type *creature_ptr, MUTATION_IDX choose_mut)
46 {
47         int attempts_left = 20;
48         concptr muta_desc = "";
49         bool muta_chosen = FALSE;
50         BIT_FLAGS muta_which = 0;
51         BIT_FLAGS *muta_class = NULL;
52
53         if (choose_mut) attempts_left = 1;
54
55         while (attempts_left--)
56         {
57                 switch (choose_mut ? choose_mut : (creature_ptr->pclass == CLASS_BERSERKER ? 74+randint1(119) : randint1(193)))
58                 {
59                 case 1: case 2: case 3: case 4:
60                         muta_class = &(creature_ptr->muta1);
61                         muta_which = MUT1_SPIT_ACID;
62                         muta_desc = _("酸を吐く能力を得た。", "You gain the ability to spit acid.");
63                         break;
64                         
65                 case 5: case 6: case 7:
66                         muta_class = &(creature_ptr->muta1);
67                         muta_which = MUT1_BR_FIRE;
68                         muta_desc = _("火を吐く能力を得た。", "You gain the ability to breathe fire.");
69                         break;
70                         
71                 case 8: case 9:
72                         muta_class = &(creature_ptr->muta1);
73                         muta_which = MUT1_HYPN_GAZE;
74                         muta_desc = _("催眠眼の能力を得た。", "Your eyes look mesmerizing...");
75                         break;
76                         
77                 case 10: case 11:
78                         muta_class = &(creature_ptr->muta1);
79                         muta_which = MUT1_TELEKINES;
80                         muta_desc = _("物体を念動力で動かす能力を得た。", "You gain the ability to move objects telekinetically.");
81                         break;
82                         
83                 case 12: case 13: case 14:
84                         muta_class = &(creature_ptr->muta1);
85                         muta_which = MUT1_VTELEPORT;
86                         muta_desc = _("自分の意思でテレポートする能力を得た。", "You gain the power of teleportation at will.");
87                         break;
88                         
89                 case 15: case 16:
90                         muta_class = &(creature_ptr->muta1);
91                         muta_which = MUT1_MIND_BLST;
92                         muta_desc = _("精神攻撃の能力を得た。", "You gain the power of Mind Blast.");
93                         break;
94                         
95                 case 17: case 18:
96                         muta_class = &(creature_ptr->muta1);
97                         muta_which = MUT1_RADIATION;
98                         muta_desc = _("あなたは強い放射線を発生し始めた。", "You start emitting hard radiation.");
99                         break;
100                         
101                 case 19: case 20:
102                         muta_class = &(creature_ptr->muta1);
103                         muta_which = MUT1_VAMPIRISM;
104                         muta_desc = _("生命力を吸収できるようになった。", "You become vampiric.");
105                         break;
106                         
107                 case 21: case 22: case 23:
108                         muta_class = &(creature_ptr->muta1);
109                         muta_which = MUT1_SMELL_MET;
110                         muta_desc = _("金属の匂いを嗅ぎ分けられるようになった。", "You smell a metallic odor.");
111                         break;
112                         
113                 case 24: case 25: case 26: case 27:
114                         muta_class = &(creature_ptr->muta1);
115                         muta_which = MUT1_SMELL_MON;
116                         muta_desc = _("モンスターの臭いを嗅ぎ分けられるようになった。", "You smell filthy monsters.");
117                         break;
118                         
119                 case 28: case 29: case 30:
120                         muta_class = &(creature_ptr->muta1);
121                         muta_which = MUT1_BLINK;
122                         muta_desc = _("近距離テレポートの能力を得た。", "You gain the power of minor teleportation.");
123                         break;
124                         
125                 case 31: case 32:
126                         muta_class = &(creature_ptr->muta1);
127                         muta_which = MUT1_EAT_ROCK;
128                         muta_desc = _("壁が美味しそうに見える。", "The walls look delicious.");
129                         break;
130                         
131                 case 33: case 34:
132                         muta_class = &(creature_ptr->muta1);
133                         muta_which = MUT1_SWAP_POS;
134                         muta_desc = _("他人の靴で一マイル歩くような気分がする。", "You feel like walking a mile in someone else's shoes.");
135                         break;
136                         
137                 case 35: case 36: case 37:
138                         muta_class = &(creature_ptr->muta1);
139                         muta_which = MUT1_SHRIEK;
140                         muta_desc = _("あなたの声は相当強くなった。", "Your vocal cords get much tougher.");
141                         break;
142                         
143                 case 38: case 39: case 40:
144                         muta_class = &(creature_ptr->muta1);
145                         muta_which = MUT1_ILLUMINE;
146                         muta_desc = _("あなたは光り輝いて部屋を明るくするようになった。", "You can light up rooms with your presence.");
147                         break;
148                         
149                 case 41: case 42:
150                         muta_class = &(creature_ptr->muta1);
151                         muta_which = MUT1_DET_CURSE;
152                         muta_desc = _("邪悪な魔法を感知できるようになった。", "You can feel evil magics.");
153                         break;
154                         
155                 case 43: case 44: case 45:
156                         muta_class = &(creature_ptr->muta1);
157                         muta_which = MUT1_BERSERK;
158                         muta_desc = _("制御できる激情を感じる。", "You feel a controlled rage.");
159                         break;
160                         
161                 case 46:
162                         muta_class = &(creature_ptr->muta1);
163                         muta_which = MUT1_POLYMORPH;
164                         muta_desc = _("体が変異しやすくなった。", "Your body seems mutable.");
165                         break;
166                         
167                 case 47: case 48:
168                         muta_class = &(creature_ptr->muta1);
169                         muta_which = MUT1_MIDAS_TCH;
170                         muta_desc = _("「ミダス王の手」の能力を得た。", "You gain the Midas touch.");/*トゥームレイダースにありましたね。 */
171                         break;
172                         
173                 case 49:
174                         muta_class = &(creature_ptr->muta1);
175                         muta_which = MUT1_GROW_MOLD;
176                         muta_desc = _("突然カビに親しみを覚えた。", "You feel a sudden affinity for mold.");
177                         break;
178                         
179                 case 50: case 51: case 52:
180                         muta_class = &(creature_ptr->muta1);
181                         muta_which = MUT1_RESIST;
182                         muta_desc = _("あなたは自分自身を守れる気がする。", "You feel like you can protect yourself.");
183                         break;
184                         
185                 case 53: case 54: case 55:
186                         muta_class = &(creature_ptr->muta1);
187                         muta_which = MUT1_EARTHQUAKE;
188                         muta_desc = _("ダンジョンを破壊する能力を得た。", "You gain the ability to wreck the dungeon.");
189                         break;
190                         
191                 case 56:
192                         muta_class = &(creature_ptr->muta1);
193                         muta_which = MUT1_EAT_MAGIC;
194                         muta_desc = _("魔法のアイテムが美味そうに見える。", "Your magic items look delicious.");
195                         break;
196                         
197                 case 57: case 58:
198                         muta_class = &(creature_ptr->muta1);
199                         muta_which = MUT1_WEIGH_MAG;
200                         muta_desc = _("あなたは周囲にある魔法をより良く理解できる気がする。", "You feel you can better understand the magic around you.");
201                         break;
202                         
203                 case 59:
204                         muta_class = &(creature_ptr->muta1);
205                         muta_which = MUT1_STERILITY;
206                         muta_desc = _("周りの全ての者に頭痛を起こすことができる。", "You can give everything around you a headache.");
207                         break;
208                 case 60: case 61:
209                         muta_class = &(creature_ptr->muta1);
210                         muta_which = MUT1_HIT_AND_AWAY;
211                         muta_desc = _("突然、泥棒の気分が分かるようになった。", "You suddenly understand how thieves feel.");
212                         break;
213                         
214                 case 62: case 63: case 64:
215                         muta_class = &(creature_ptr->muta1);
216                         muta_which = MUT1_DAZZLE;
217                         muta_desc = _("眩い閃光を発する能力を得た。", "You gain the ability to emit dazzling lights.");
218                         break;
219                         
220                 case 65: case 66: case 67:
221                         muta_class = &(creature_ptr->muta1);
222                         muta_which = MUT1_LASER_EYE;
223                         muta_desc = _("あなたの目は一瞬焼け付いた。", "Your eyes burn for a moment.");
224                         break;
225                         
226                 case 68: case 69:
227                         muta_class = &(creature_ptr->muta1);
228                         muta_which = MUT1_RECALL;
229                         muta_desc = _("少しだけホームシックになったが、すぐ直った。", "You feel briefly homesick, but it passes.");
230                         break;
231                         
232                 case 70:
233                         muta_class = &(creature_ptr->muta1);
234                         muta_which = MUT1_BANISH;
235                         muta_desc = _("神聖な怒りの力に満たされた。", "You feel a holy wrath fill you.");
236                         break;
237                         
238                 case 71: case 72:
239                         muta_class = &(creature_ptr->muta1);
240                         muta_which = MUT1_COLD_TOUCH;
241                         muta_desc = _("あなたの両手はとても冷たくなった。", "Your hands get very cold.");
242                         break;
243                         
244                 case 73: case 74:
245                         muta_class = &(creature_ptr->muta1);
246                         muta_which = MUT1_LAUNCHER;
247                         muta_desc = _("あなたの物を投げる手はかなり強くなった気がする。", "Your throwing arm feels much stronger.");
248                         break;
249                         
250                 case 75:
251                         muta_class = &(creature_ptr->muta2);
252                         muta_which = MUT2_BERS_RAGE;
253                         muta_desc = _("あなたは狂暴化の発作を起こすようになった!", "You become subject to fits of berserk rage!");
254                         break;
255                         
256                 case 76:
257                         muta_class = &(creature_ptr->muta2);
258                         muta_which = MUT2_COWARDICE;
259                         muta_desc = _("信じられないくらい臆病になった!", "You become an incredible coward!");
260                         break;
261                         
262                 case 77:
263                         muta_class = &(creature_ptr->muta2);
264                         muta_which = MUT2_RTELEPORT;
265                         muta_desc = _("あなたの位置は非常に不確定になった。", "Your position seems very uncertain...");
266                         break;
267                         
268                 case 78:
269                         muta_class = &(creature_ptr->muta2);
270                         muta_which = MUT2_ALCOHOL;
271                         muta_desc = _("あなたはアルコールを分泌するようになった。", "Your body starts producing alcohol!");
272                         break;
273                         
274                 case 79:
275                         muta_class = &(creature_ptr->muta2);
276                         muta_which = MUT2_HALLU;
277                         muta_desc = _("あなたは幻覚を引き起こす精神錯乱に侵された。", "You are afflicted by a hallucinatory insanity!");
278                         break;
279                         
280                 case 80:
281                         muta_class = &(creature_ptr->muta2);
282                         muta_which = MUT2_FLATULENT;
283                         muta_desc = _( "あなたは制御不能な強烈な屁をこくようになった。",  "You become subject to uncontrollable flatulence.");
284
285                         break;
286                 case 81: case 82:
287                         muta_class = &(creature_ptr->muta2);
288                         muta_which = MUT2_SCOR_TAIL;
289                         muta_desc = _( "サソリの尻尾が生えてきた!",  "You grow a scorpion tail!");
290
291                         break;
292                 case 83: case 84:
293                         muta_class = &(creature_ptr->muta2);
294                         muta_which = MUT2_HORNS;
295                         muta_desc = _( "額に角が生えた!",  "Horns pop forth into your forehead!");
296
297                         break;
298                 case 85: case 86:
299                         muta_class = &(creature_ptr->muta2);
300                         muta_which = MUT2_BEAK;
301                         muta_desc = _( "口が鋭く強いクチバシに変化した!",  "Your mouth turns into a sharp, powerful beak!");
302
303                         break;
304                 case 87: case 88:
305                         muta_class = &(creature_ptr->muta2);
306                         muta_which = MUT2_ATT_DEMON;
307                         muta_desc = _( "悪魔を引き付けるようになった。",  "You start attracting demons.");
308
309                         break;
310                 case 89:
311                         muta_class = &(creature_ptr->muta2);
312                         muta_which = MUT2_PROD_MANA;
313                         muta_desc = _( "あなたは制御不能な魔法のエネルギーを発生するようになった。",  "You start producing magical energy uncontrollably.");
314
315                         break;
316                 case 90: case 91:
317                         muta_class = &(creature_ptr->muta2);
318                         muta_which = MUT2_SPEED_FLUX;
319                         muta_desc = _( "あなたは躁鬱質になった。",  "You become manic-depressive.");
320
321                         break;
322                 case 92: case 93:
323                         muta_class = &(creature_ptr->muta2);
324                         muta_which = MUT2_BANISH_ALL;
325                         muta_desc = _( "恐ろしい力があなたの背後に潜んでいる気がする。",  "You feel a terrifying power lurking behind you.");
326
327                         break;
328                 case 94:
329                         muta_class = &(creature_ptr->muta2);
330                         muta_which = MUT2_EAT_LIGHT;
331                         muta_desc = _( "あなたはウンゴリアントに奇妙な親しみを覚えるようになった。",  "You feel a strange kinship with Ungoliant.");
332
333                         break;
334                 case 95: case 96:
335                         muta_class = &(creature_ptr->muta2);
336                         muta_which = MUT2_TRUNK;
337                         muta_desc = _( "あなたの鼻は伸びて象の鼻のようになった。",  "Your nose grows into an elephant-like trunk.");
338
339                         break;
340                 case 97:
341                         muta_class = &(creature_ptr->muta2);
342                         muta_which = MUT2_ATT_ANIMAL;
343                         muta_desc = _( "動物を引き付けるようになった。",  "You start attracting animals.");
344
345                         break;
346                 case 98:
347                         muta_class = &(creature_ptr->muta2);
348                         muta_which = MUT2_TENTACLES;
349                         muta_desc = _( "邪悪な触手が体の両側に生えてきた。",  "Evil-looking tentacles sprout from your sides.");
350
351                         break;
352                 case 99:
353                         muta_class = &(creature_ptr->muta2);
354                         muta_which = MUT2_RAW_CHAOS;
355                         muta_desc = _( "周囲の空間が不安定になった気がする。",  "You feel the universe is less stable around you.");
356
357                         break;
358                 case 100: case 101: case 102:
359                         muta_class = &(creature_ptr->muta2);
360                         muta_which = MUT2_NORMALITY;
361                         muta_desc = _( "あなたは奇妙なほど普通になった気がする。",  "You feel strangely normal.");
362
363                         break;
364                 case 103:
365                         muta_class = &(creature_ptr->muta2);
366                         muta_which = MUT2_WRAITH;
367                         muta_desc = _( "あなたは幽体化したり実体化したりするようになった。",  "You start to fade in and out of the physical world.");
368
369                         break;
370                 case 104:
371                         muta_class = &(creature_ptr->muta2);
372                         muta_which = MUT2_POLY_WOUND;
373                         muta_desc = _( "あなたはカオスの力が古い傷に入り込んでくるのを感じた。",  "You feel forces of chaos entering your old scars.");
374
375                         break;
376                 case 105:
377                         muta_class = &(creature_ptr->muta2);
378                         muta_which = MUT2_WASTING;
379                         muta_desc = _( "あなたは突然おぞましい衰弱病にかかった。",  "You suddenly contract a horrible wasting disease.");
380
381                         break;
382                 case 106:
383                         muta_class = &(creature_ptr->muta2);
384                         muta_which = MUT2_ATT_DRAGON;
385                         muta_desc = _( "あなたはドラゴンを引きつけるようになった。",  "You start attracting dragons.");
386
387                         break;
388                 case 107: case 108:
389                         muta_class = &(creature_ptr->muta2);
390                         muta_which = MUT2_WEIRD_MIND;
391                         muta_desc = _( "あなたの思考は突然おかしな方向に向き始めた。",  "Your thoughts suddenly take off in strange directions.");
392
393                         break;
394                 case 109:
395                         muta_class = &(creature_ptr->muta2);
396                         muta_which = MUT2_NAUSEA;
397                         muta_desc = _( "胃袋がピクピクしはじめた。",  "Your stomach starts to roil nauseously.");
398
399                         break;
400                 case 110: case 111:
401                         /* Chaos warriors already have a chaos deity */
402                         if (creature_ptr->pclass != CLASS_CHAOS_WARRIOR)
403                         {
404                                 muta_class = &(creature_ptr->muta2);
405                                 muta_which = MUT2_CHAOS_GIFT;
406                         muta_desc = _( "あなたはカオスの守護悪魔の注意を惹くようになった。",  "You attract the notice of a chaos deity!");
407
408                         }
409                         break;
410                 case 112:
411                         muta_class = &(creature_ptr->muta2);
412                         muta_which = MUT2_WALK_SHAD;
413                         muta_desc = _( "あなたは現実が紙のように薄いと感じるようになった。",  "You feel like reality is as thin as paper.");
414
415                         break;
416                 case 113: case 114:
417                         muta_class = &(creature_ptr->muta2);
418                         muta_which = MUT2_WARNING;
419                         muta_desc = _( "あなたは突然パラノイアになった気がする。",  "You suddenly feel paranoid.");
420
421                         break;
422                 case 115:
423                         muta_class = &(creature_ptr->muta2);
424                         muta_which = MUT2_INVULN;
425                         muta_desc = _( "あなたは祝福され、無敵状態になる発作を起こすようになった。",  "You are blessed with fits of invulnerability.");
426
427                         break;
428                 case 116: case 117:
429                         muta_class = &(creature_ptr->muta2);
430                         muta_which = MUT2_SP_TO_HP;
431                         muta_desc = _( "魔法の治癒の発作を起こすようになった。",  "You are subject to fits of magical healing.");
432
433                         break;
434                 case 118:
435                         muta_class = &(creature_ptr->muta2);
436                         muta_which = MUT2_HP_TO_SP;
437                         muta_desc = _( "痛みを伴う精神明瞭化の発作を起こすようになった。",  "You are subject to fits of painful clarity.");
438
439                         break;
440                 case 119:
441                         muta_class = &(creature_ptr->muta2);
442                         muta_which = MUT2_DISARM;
443                         muta_desc = _( "あなたの脚は長さが四倍になった。",  "Your feet grow to four times their former size.");
444
445                         break;
446                 case 120: case 121: case 122:
447                         muta_class = &(creature_ptr->muta3);
448                         muta_which = MUT3_HYPER_STR;
449                         muta_desc = _( "超人的に強くなった!",  "You turn into a superhuman he-man!");
450
451                         break;
452                 case 123: case 124: case 125:
453                         muta_class = &(creature_ptr->muta3);
454                         muta_which = MUT3_PUNY;
455                         muta_desc = _( "筋肉が弱ってしまった...",  "Your muscles wither away...");
456
457                         break;
458                 case 126: case 127: case 128:
459                         muta_class = &(creature_ptr->muta3);
460                         muta_which = MUT3_HYPER_INT;
461                         muta_desc = _( "あなたの脳は生体コンピュータに進化した!",  "Your brain evolves into a living computer!");
462
463                         break;
464                 case 129: case 130: case 131:
465                         muta_class = &(creature_ptr->muta3);
466                         muta_which = MUT3_MORONIC;
467                         muta_desc = _( "脳が萎縮してしまった...",  "Your brain withers away...");
468
469                         break;
470                 case 132: case 133:
471                         muta_class = &(creature_ptr->muta3);
472                         muta_which = MUT3_RESILIENT;
473                         muta_desc = _( "並外れてタフになった。",  "You become extraordinarily resilient.");
474
475                         break;
476                 case 134: case 135:
477                         muta_class = &(creature_ptr->muta3);
478                         muta_which = MUT3_XTRA_FAT;
479                         muta_desc = _( "あなたは気持ち悪いくらい太った!",  "You become sickeningly fat!");
480
481                         break;
482                 case 136: case 137:
483                         muta_class = &(creature_ptr->muta3);
484                         muta_which = MUT3_ALBINO;
485                         muta_desc = _( "アルビノになった!弱くなった気がする...",  "You turn into an albino! You feel frail...");
486
487                         break;
488                 case 138: case 139: case 140:
489                         muta_class = &(creature_ptr->muta3);
490                         muta_which = MUT3_FLESH_ROT;
491                         muta_desc = _( "あなたの肉体は腐敗する病気に侵された!",  "Your flesh is afflicted by a rotting disease!");
492
493                         break;
494                 case 141: case 142:
495                         muta_class = &(creature_ptr->muta3);
496                         muta_which = MUT3_SILLY_VOI;
497                         muta_desc = _( "声が間抜けなキーキー声になった!",  "Your voice turns into a ridiculous squeak!");
498
499                         break;
500                 case 143: case 144:
501                         muta_class = &(creature_ptr->muta3);
502                         muta_which = MUT3_BLANK_FAC;
503                         muta_desc = _( "のっぺらぼうになった!",  "Your face becomes completely featureless!");
504
505                         break;
506                 case 145:
507                         muta_class = &(creature_ptr->muta3);
508                         muta_which = MUT3_ILL_NORM;
509                         muta_desc = _( "心の安らぐ幻影を映し出すようになった。",  "You start projecting a reassuring image.");
510
511                         break;
512                 case 146: case 147: case 148:
513                         muta_class = &(creature_ptr->muta3);
514                         muta_which = MUT3_XTRA_EYES;
515                         muta_desc = _( "新たに二つの目が出来た!",  "You grow an extra pair of eyes!");
516
517                         break;
518                 case 149: case 150:
519                         muta_class = &(creature_ptr->muta3);
520                         muta_which = MUT3_MAGIC_RES;
521                         muta_desc = _( "魔法への耐性がついた。",  "You become resistant to magic.");
522
523                         break;
524                 case 151: case 152: case 153:
525                         muta_class = &(creature_ptr->muta3);
526                         muta_which = MUT3_XTRA_NOIS;
527                         muta_desc = _( "あなたは奇妙な音を立て始めた!",  "You start making strange noise!");
528
529                         break;
530                 case 154: case 155: case 156:
531                         muta_class = &(creature_ptr->muta3);
532                         muta_which = MUT3_INFRAVIS;
533                         muta_desc = _( "赤外線視力が増した。",  "Your infravision is improved.");
534
535                         break;
536                 case 157: case 158:
537                         muta_class = &(creature_ptr->muta3);
538                         muta_which = MUT3_XTRA_LEGS;
539                         muta_desc = _( "新たに二本の足が生えてきた!",  "You grow an extra pair of legs!");
540
541                         break;
542                 case 159: case 160:
543                         muta_class = &(creature_ptr->muta3);
544                         muta_which = MUT3_SHORT_LEG;
545                         muta_desc = _( "足が短い突起になってしまった!",  "Your legs turn into short stubs!");
546
547                         break;
548                 case 161: case 162:
549                         muta_class = &(creature_ptr->muta3);
550                         muta_which = MUT3_ELEC_TOUC;
551                         muta_desc = _( "血管を電流が流れ始めた!",  "Electricity starts running through you!");
552
553                         break;
554                 case 163: case 164:
555                         muta_class = &(creature_ptr->muta3);
556                         muta_which = MUT3_FIRE_BODY;
557                         muta_desc = _( "あなたの体は炎につつまれている。",  "Your body is enveloped in flames!");
558
559                         break;
560                 case 165: case 166: case 167:
561                         muta_class = &(creature_ptr->muta3);
562                         muta_which = MUT3_WART_SKIN;
563                         muta_desc = _( "気持ち悪いイボイボが体中にできた!",  "Disgusting warts appear everywhere on you!");
564
565                         break;
566                 case 168: case 169: case 170:
567                         muta_class = &(creature_ptr->muta3);
568                         muta_which = MUT3_SCALES;
569                         muta_desc = _( "肌が黒い鱗に変わった!",  "Your skin turns into black scales!");
570
571                         break;
572                 case 171: case 172:
573                         muta_class = &(creature_ptr->muta3);
574                         muta_which = MUT3_IRON_SKIN;
575                         muta_desc = _( "あなたの肌は鉄になった!",  "Your skin turns to steel!");
576
577                         break;
578                 case 173: case 174:
579                         muta_class = &(creature_ptr->muta3);
580                         muta_which = MUT3_WINGS;
581                         muta_desc = _( "背中に羽が生えた。",  "You grow a pair of wings.");
582
583                         break;
584                 case 175: case 176: case 177:
585                         muta_class = &(creature_ptr->muta3);
586                         muta_which = MUT3_FEARLESS;
587                         muta_desc = _( "完全に怖れ知らずになった。",  "You become completely fearless.");
588
589                         break;
590                 case 178: case 179:
591                         muta_class = &(creature_ptr->muta3);
592                         muta_which = MUT3_REGEN;
593                         muta_desc = _( "急速に回復し始めた。",  "You start regenerating.");
594
595                         break;
596                 case 180: case 181:
597                         muta_class = &(creature_ptr->muta3);
598                         muta_which = MUT3_ESP;
599                         muta_desc = _( "テレパシーの能力を得た!",  "You develop a telepathic ability!");
600
601                         break;
602                 case 182: case 183: case 184:
603                         muta_class = &(creature_ptr->muta3);
604                         muta_which = MUT3_LIMBER;
605                         muta_desc = _( "筋肉がしなやかになった。",  "Your muscles become limber.");
606
607                         break;
608                 case 185: case 186: case 187:
609                         muta_class = &(creature_ptr->muta3);
610                         muta_which = MUT3_ARTHRITIS;
611                         muta_desc = _( "関節が突然痛み出した。",  "Your joints suddenly hurt.");
612
613                         break;
614                 case 188:
615                         if (creature_ptr->pseikaku == SEIKAKU_LUCKY) break;
616                         muta_class = &(creature_ptr->muta3);
617                         muta_which = MUT3_BAD_LUCK;
618                         muta_desc = _( "悪意に満ちた黒いオーラがあなたをとりまいた...",  "There is a malignant black aura surrounding you...");
619
620                         break;
621                 case 189:
622                         muta_class = &(creature_ptr->muta3);
623                         muta_which = MUT3_VULN_ELEM;
624                         muta_desc = _( "妙に無防備になった気がする。",  "You feel strangely exposed.");
625
626                         break;
627                 case 190: case 191: case 192:
628                         muta_class = &(creature_ptr->muta3);
629                         muta_which = MUT3_MOTION;
630                         muta_desc = _( "体の動作がより正確になった。",  "You move with new assurance.");
631
632                         break;
633                 case 193:
634                         muta_class = &(creature_ptr->muta3);
635                         muta_which = MUT3_GOOD_LUCK;
636                         muta_desc = _( "慈悲深い白いオーラがあなたをとりまいた...",  "There is a benevolent white aura surrounding you...");
637
638                         break;
639                 default:
640                         muta_class = NULL;
641                         muta_which = 0;
642                 }
643
644                 if (muta_class && muta_which)
645                 {
646                         if (!(*muta_class & muta_which))
647                         {
648                                 muta_chosen = TRUE;
649                         }
650                 }
651                 if (muta_chosen == TRUE) break;
652         }
653
654         if (!muta_chosen)
655         {
656                 msg_print(_("普通になった気がする。", "You feel normal."));
657                 return FALSE;
658         }
659
660         chg_virtue(creature_ptr, V_CHANCE, 1);
661
662         /*
663           some races are apt to gain specified mutations
664           This should be allowed only if "choose_mut" is 0.
665                                                 --- henkma
666         */
667         if (!choose_mut)
668         {
669                 if (creature_ptr->prace == RACE_VAMPIRE &&
670                         !(creature_ptr->muta1 & MUT1_HYPN_GAZE) &&
671                         (randint1(10) < 7))
672                 {
673                         muta_class = &(creature_ptr->muta1);
674                         muta_which = MUT1_HYPN_GAZE;
675                         muta_desc = _("眼が幻惑的になった...", "Your eyes look mesmerizing...");
676
677                 }
678
679                 else if (creature_ptr->prace == RACE_IMP &&
680                         !(creature_ptr->muta2 & MUT2_HORNS) &&
681                         (randint1(10) < 7))
682                 {
683                         muta_class = &(creature_ptr->muta2);
684                         muta_which = MUT2_HORNS;
685                         muta_desc = _("角が額から生えてきた!", "Horns pop forth into your forehead!");
686
687                 }
688
689                 else if (creature_ptr->prace == RACE_YEEK &&
690                         !(creature_ptr->muta1 & MUT1_SHRIEK) &&
691                         (randint1(10) < 7))
692                 {
693                         muta_class = &(creature_ptr->muta1);
694                         muta_which = MUT1_SHRIEK;
695                         muta_desc = _("声質がかなり強くなった。", "Your vocal cords get much tougher.");
696
697                 }
698
699                 else if (creature_ptr->prace == RACE_BEASTMAN &&
700                         !(creature_ptr->muta1 & MUT1_POLYMORPH) &&
701                         (randint1(10) < 2))
702                 {
703                         muta_class = &(creature_ptr->muta1);
704                         muta_which = MUT1_POLYMORPH;
705                         muta_desc = _("あなたの肉体は変化できるようになった、", "Your body seems mutable.");
706
707                 }
708
709                 else if (creature_ptr->prace == RACE_MIND_FLAYER &&
710                         !(creature_ptr->muta2 & MUT2_TENTACLES) &&
711                         (randint1(10) < 7))
712                 {
713                         muta_class = &(creature_ptr->muta2);
714                         muta_which = MUT2_TENTACLES;
715                         muta_desc = _("邪悪な触手が口の周りに生えた。", "Evil-looking tentacles sprout from your mouth.");
716
717                 }
718         }
719
720         msg_print(_("突然変異した!", "You mutate!"));
721
722         msg_print(muta_desc);
723         *muta_class |= muta_which;
724
725         if (muta_class == &(creature_ptr->muta3))
726         {
727                 if (muta_which == MUT3_PUNY)
728                 {
729                         if (creature_ptr->muta3 & MUT3_HYPER_STR)
730                         {
731                                 msg_print(_("あなたはもう超人的に強くはない!", "You no longer feel super-strong!"));
732
733                                 creature_ptr->muta3 &= ~(MUT3_HYPER_STR);
734                         }
735                 }
736                 else if (muta_which == MUT3_HYPER_STR)
737                 {
738                         if (creature_ptr->muta3 & MUT3_PUNY)
739                         {
740                                 msg_print(_("あなたはもう虚弱ではない!", "You no longer feel puny!"));
741
742                                 creature_ptr->muta3 &= ~(MUT3_PUNY);
743                         }
744                 }
745                 else if (muta_which == MUT3_MORONIC)
746                 {
747                         if (creature_ptr->muta3 & MUT3_HYPER_INT)
748                         {
749                                 msg_print(_("あなたの脳はもう生体コンピュータではない。", "Your brain is no longer a living computer."));
750
751                                 creature_ptr->muta3 &= ~(MUT3_HYPER_INT);
752                         }
753                 }
754                 else if (muta_which == MUT3_HYPER_INT)
755                 {
756                         if (creature_ptr->muta3 & MUT3_MORONIC)
757                         {
758                                 msg_print(_("あなたはもう精神薄弱ではない。", "You are no longer moronic."));
759
760                                 creature_ptr->muta3 &= ~(MUT3_MORONIC);
761                         }
762                 }
763                 else if (muta_which == MUT3_IRON_SKIN)
764                 {
765                         if (creature_ptr->muta3 & MUT3_SCALES)
766                         {
767                                 msg_print(_("鱗がなくなった。", "You lose your scales."));
768
769                                 creature_ptr->muta3 &= ~(MUT3_SCALES);
770                         }
771                         if (creature_ptr->muta3 & MUT3_FLESH_ROT)
772                         {
773                                 msg_print(_("肉体が腐乱しなくなった。", "Your flesh rots no longer."));
774
775                                 creature_ptr->muta3 &= ~(MUT3_FLESH_ROT);
776                         }
777                         if (creature_ptr->muta3 & MUT3_WART_SKIN)
778                         {
779                                 msg_print(_("肌のイボイボがなくなった。", "You lose your warts."));
780
781                                 creature_ptr->muta3 &= ~(MUT3_WART_SKIN);
782                         }
783                 }
784                 else if (muta_which == MUT3_WART_SKIN || muta_which == MUT3_SCALES
785                         || muta_which == MUT3_FLESH_ROT)
786                 {
787                         if (creature_ptr->muta3 & MUT3_IRON_SKIN)
788                         {
789                                 msg_print(_("あなたの肌はもう鉄ではない。", "Your skin is no longer made of steel."));
790
791                                 creature_ptr->muta3 &= ~(MUT3_IRON_SKIN);
792                         }
793                 }
794                 else if (muta_which == MUT3_FEARLESS)
795                 {
796                         if (creature_ptr->muta2 & MUT2_COWARDICE)
797                         {
798                                 msg_print(_("臆病でなくなった。", "You are no longer cowardly."));
799
800                                 creature_ptr->muta2 &= ~(MUT2_COWARDICE);
801                         }
802                 }
803                 else if (muta_which == MUT3_FLESH_ROT)
804                 {
805                         if (creature_ptr->muta3 & MUT3_REGEN)
806                         {
807                                 msg_print(_("急速に回復しなくなった。", "You stop regenerating."));
808
809                                 creature_ptr->muta3 &= ~(MUT3_REGEN);
810                         }
811                 }
812                 else if (muta_which == MUT3_REGEN)
813                 {
814                         if (creature_ptr->muta3 & MUT3_FLESH_ROT)
815                         {
816                                 msg_print(_("肉体が腐乱しなくなった。", "Your flesh stops rotting."));
817
818                                 creature_ptr->muta3 &= ~(MUT3_FLESH_ROT);
819                         }
820                 }
821                 else if (muta_which == MUT3_LIMBER)
822                 {
823                         if (creature_ptr->muta3 & MUT3_ARTHRITIS)
824                         {
825                                 msg_print(_("関節が痛くなくなった。", "Your joints stop hurting."));
826
827                                 creature_ptr->muta3 &= ~(MUT3_ARTHRITIS);
828                         }
829                 }
830                 else if (muta_which == MUT3_ARTHRITIS)
831                 {
832                         if (creature_ptr->muta3 & MUT3_LIMBER)
833                         {
834                                 msg_print(_("あなたはしなやかでなくなった。", "You no longer feel limber."));
835
836                                 creature_ptr->muta3 &= ~(MUT3_LIMBER);
837                         }
838                 }
839         }
840         else if (muta_class == &(creature_ptr->muta2))
841         {
842                 if (muta_which == MUT2_COWARDICE)
843                 {
844                         if (creature_ptr->muta3 & MUT3_FEARLESS)
845                         {
846                                 msg_print(_("恐れ知らずでなくなった。", "You no longer feel fearless."));
847
848                                 creature_ptr->muta3 &= ~(MUT3_FEARLESS);
849                         }
850                 }
851                 if (muta_which == MUT2_BEAK)
852                 {
853                         if (creature_ptr->muta2 & MUT2_TRUNK)
854                         {
855                                 msg_print(_("あなたの鼻はもう象の鼻のようではなくなった。", "Your nose is no longer elephantine."));
856
857                                 creature_ptr->muta2 &= ~(MUT2_TRUNK);
858                         }
859                 }
860                 if (muta_which == MUT2_TRUNK)
861                 {
862                         if (creature_ptr->muta2 & MUT2_BEAK)
863                         {
864                                 msg_print(_("硬いクチバシがなくなった。", "You no longer have a hard beak."));
865
866                                 creature_ptr->muta2 &= ~(MUT2_BEAK);
867                         }
868                 }
869         }
870
871         creature_ptr->mutant_regenerate_mod = calc_mutant_regenerate_mod(creature_ptr);
872         creature_ptr->update |= PU_BONUS;
873         handle_stuff(creature_ptr);
874         return TRUE;
875 }
876
877 /*!
878  * @brief プレイヤーから突然変異を取り除く
879  * @param choose_mut 取り除きたい突然変異のID、0ならばランダムに消去
880  * @return なし
881  */
882 bool lose_mutation(player_type *creature_ptr, MUTATION_IDX choose_mut)
883 {
884         int attempts_left = 20;
885         concptr muta_desc = "";
886         bool muta_chosen = FALSE;
887         BIT_FLAGS muta_which = 0;
888         BIT_FLAGS *muta_class = NULL;
889
890         if (choose_mut) attempts_left = 1;
891
892         while (attempts_left--)
893         {
894                 switch (choose_mut ? choose_mut : randint1(193))
895                 {
896                 case 1: case 2: case 3: case 4:
897                         muta_class = &(creature_ptr->muta1);
898                         muta_which = MUT1_SPIT_ACID;
899                         muta_desc = _( "酸を吹きかける能力を失った。",  "You lose the ability to spit acid.");
900
901                         break;
902                 case 5: case 6: case 7:
903                         muta_class = &(creature_ptr->muta1);
904                         muta_which = MUT1_BR_FIRE;
905                         muta_desc = _( "炎のブレスを吐く能力を失った。",  "You lose the ability to breathe fire.");
906
907                         break;
908                 case 8: case 9:
909                         muta_class = &(creature_ptr->muta1);
910                         muta_which = MUT1_HYPN_GAZE;
911                         muta_desc = _( "あなたの目はつまらない目になった。",  "Your eyes look uninteresting.");
912
913                         break;
914                 case 10: case 11:
915                         muta_class = &(creature_ptr->muta1);
916                         muta_which = MUT1_TELEKINES;
917                         muta_desc = _( "念動力で物を動かす能力を失った。",  "You lose the ability to move objects telekinetically.");
918
919                         break;
920                 case 12: case 13: case 14:
921                         muta_class = &(creature_ptr->muta1);
922                         muta_which = MUT1_VTELEPORT;
923                         muta_desc = _( "自分の意思でテレポートする能力を失った。",  "You lose the power of teleportation at will.");
924
925                         break;
926                 case 15: case 16:
927                         muta_class = &(creature_ptr->muta1);
928                         muta_which = MUT1_MIND_BLST;
929                         muta_desc = _( "精神攻撃の能力を失った。",  "You lose the power of Mind Blast.");
930
931                         break;
932                 case 17: case 18:
933                         muta_class = &(creature_ptr->muta1);
934                         muta_which = MUT1_RADIATION;
935                         muta_desc = _( "あなたは放射能を発生しなくなった。",  "You stop emitting hard radiation.");
936
937                         break;
938                 case 19: case 20:
939                         muta_class = &(creature_ptr->muta1);
940                         muta_which = MUT1_VAMPIRISM;
941                         muta_desc = _( "吸血の能力を失った。",  "You are no longer vampiric.");
942
943                         break;
944                 case 21: case 22: case 23:
945                         muta_class = &(creature_ptr->muta1);
946                         muta_which = MUT1_SMELL_MET;
947                         muta_desc = _( "金属の臭いを嗅げなくなった。",  "You no longer smell a metallic odor.");
948
949                         break;
950                 case 24: case 25: case 26: case 27:
951                         muta_class = &(creature_ptr->muta1);
952                         muta_which = MUT1_SMELL_MON;
953                         muta_desc = _( "不潔なモンスターの臭いを嗅げなくなった。",  "You no longer smell filthy monsters.");
954
955                         break;
956                 case 28: case 29: case 30:
957                         muta_class = &(creature_ptr->muta1);
958                         muta_which = MUT1_BLINK;
959                         muta_desc = _( "近距離テレポートの能力を失った。",  "You lose the power of minor teleportation.");
960
961                         break;
962                 case 31: case 32:
963                         muta_class = &(creature_ptr->muta1);
964                         muta_which = MUT1_EAT_ROCK;
965                         muta_desc = _( "壁は美味しそうに見えなくなった。",  "The walls look unappetizing.");
966
967                         break;
968                 case 33: case 34:
969                         muta_class = &(creature_ptr->muta1);
970                         muta_which = MUT1_SWAP_POS;
971                         muta_desc = _( "あなたは自分の靴に留まる感じがする。",  "You feel like staying in your own shoes.");
972
973                         break;
974                 case 35: case 36: case 37:
975                         muta_class = &(creature_ptr->muta1);
976                         muta_which = MUT1_SHRIEK;
977                         muta_desc = _( "あなたの声質は弱くなった。",  "Your vocal cords get much weaker.");
978
979                         break;
980                 case 38: case 39: case 40:
981                         muta_class = &(creature_ptr->muta1);
982                         muta_which = MUT1_ILLUMINE;
983                         muta_desc = _( "部屋を明るく照らすことが出来なくなった。",  "You can no longer light up rooms with your presence.");
984
985                         break;
986                 case 41: case 42:
987                         muta_class = &(creature_ptr->muta1);
988                         muta_which = MUT1_DET_CURSE;
989                         muta_desc = _( "邪悪な魔法を感じられなくなった。",  "You can no longer feel evil magics.");
990
991                         break;
992                 case 43: case 44: case 45:
993                         muta_class = &(creature_ptr->muta1);
994                         muta_which = MUT1_BERSERK;
995                         muta_desc = _( "制御できる激情を感じなくなった。",  "You no longer feel a controlled rage.");
996
997                         break;
998                 case 46:
999                         muta_class = &(creature_ptr->muta1);
1000                         muta_which = MUT1_POLYMORPH;
1001                         muta_desc = _( "あなたの体は安定したように見える。",  "Your body seems stable.");
1002
1003                         break;
1004                 case 47: case 48:
1005                         muta_class = &(creature_ptr->muta1);
1006                         muta_which = MUT1_MIDAS_TCH;
1007                         muta_desc = _( "ミダスの手の能力を失った。",  "You lose the Midas touch.");
1008
1009                         break;
1010                 case 49:
1011                         muta_class = &(creature_ptr->muta1);
1012                         muta_which = MUT1_GROW_MOLD;
1013                         muta_desc = _( "突然カビが嫌いになった。",  "You feel a sudden dislike for mold.");
1014
1015                         break;
1016                 case 50: case 51: case 52:
1017                         muta_class = &(creature_ptr->muta1);
1018                         muta_which = MUT1_RESIST;
1019                         muta_desc = _( "傷つき易くなった気がする。",  "You feel like you might be vulnerable.");
1020
1021                         break;
1022                 case 53: case 54: case 55:
1023                         muta_class = &(creature_ptr->muta1);
1024                         muta_which = MUT1_EARTHQUAKE;
1025                         muta_desc = _( "ダンジョンを壊す能力を失った。",  "You lose the ability to wreck the dungeon.");
1026
1027                         break;
1028                 case 56:
1029                         muta_class = &(creature_ptr->muta1);
1030                         muta_which = MUT1_EAT_MAGIC;
1031                         muta_desc = _( "魔法のアイテムはもう美味しそうに見えなくなった。",  "Your magic items no longer look delicious.");
1032
1033                         break;
1034                 case 57: case 58:
1035                         muta_class = &(creature_ptr->muta1);
1036                         muta_which = MUT1_WEIGH_MAG;
1037                         muta_desc = _( "魔力を感じられなくなった。",  "You no longer sense magic.");
1038
1039                         break;
1040                 case 59:
1041                         muta_class = &(creature_ptr->muta1);
1042                         muta_which = MUT1_STERILITY;
1043                         muta_desc = _( "たくさんの安堵の吐息が聞こえた。",  "You hear a massed sigh of relief.");
1044
1045                         break;
1046                 case 60: case 61:
1047                         muta_class = &(creature_ptr->muta1);
1048                         muta_which = MUT1_HIT_AND_AWAY;
1049                         muta_desc = _( "あちこちへ跳べる気分がなくなった。",  "You no longer feel jumpy.");
1050
1051                         break;
1052                 case 62: case 63: case 64:
1053                         muta_class = &(creature_ptr->muta1);
1054                         muta_which = MUT1_DAZZLE;
1055                         muta_desc = _( "まばゆい閃光を発する能力を失った。",  "You lose the ability to emit dazzling lights.");
1056
1057                         break;
1058                 case 65: case 66: case 67:
1059                         muta_class = &(creature_ptr->muta1);
1060                         muta_which = MUT1_LASER_EYE;
1061                         muta_desc = _( "眼が少しの間焼き付いて、痛みが和らいだ。",  "Your eyes burn for a moment, then feel soothed.");
1062
1063                         break;
1064                 case 68: case 69:
1065                         muta_class = &(creature_ptr->muta1);
1066                         muta_which = MUT1_RECALL;
1067                         muta_desc = _( "少しの間ホームシックになった。",  "You feel briefly homesick.");
1068
1069                         break;
1070                 case 70:
1071                         muta_class = &(creature_ptr->muta1);
1072                         muta_which = MUT1_BANISH;
1073                         muta_desc = _( "神聖な怒りの力を感じなくなった。",  "You no longer feel a holy wrath.");
1074
1075                         break;
1076                 case 71: case 72:
1077                         muta_class = &(creature_ptr->muta1);
1078                         muta_which = MUT1_COLD_TOUCH;
1079                         muta_desc = _( "手が暖かくなった。",  "Your hands warm up.");
1080
1081                         break;
1082                 case 73: case 74:
1083                         muta_class = &(creature_ptr->muta1);
1084                         muta_which = MUT1_LAUNCHER;
1085                         muta_desc = _( "物を投げる手が弱くなった気がする。",  "Your throwing arm feels much weaker.");
1086
1087                         break;
1088                 case 75:
1089                         muta_class = &(creature_ptr->muta2);
1090                         muta_which = MUT2_BERS_RAGE;
1091                         muta_desc = _( "凶暴化の発作にさらされなくなった!",  "You are no longer subject to fits of berserk rage!");
1092
1093                         break;
1094                 case 76:
1095                         muta_class = &(creature_ptr->muta2);
1096                         muta_which = MUT2_COWARDICE;
1097                         muta_desc = _( "もう信じがたいほど臆病ではなくなった!",  "You are no longer an incredible coward!");
1098
1099                         break;
1100                 case 77:
1101                         muta_class = &(creature_ptr->muta2);
1102                         muta_which = MUT2_RTELEPORT;
1103                         muta_desc = _( "あなたの位置はより確定的になった。",  "Your position seems more certain.");
1104
1105                         break;
1106                 case 78:
1107                         muta_class = &(creature_ptr->muta2);
1108                         muta_which = MUT2_ALCOHOL;
1109                         muta_desc = _( "あなたはアルコールを分泌しなくなった!",  "Your body stops producing alcohol!");
1110
1111                         break;
1112                 case 79:
1113                         muta_class = &(creature_ptr->muta2);
1114                         muta_which = MUT2_HALLU;
1115                         muta_desc = _( "幻覚をひき起こす精神障害を起こさなくなった!",  "You are no longer afflicted by a hallucinatory insanity!");
1116
1117                         break;
1118                 case 80:
1119                         muta_class = &(creature_ptr->muta2);
1120                         muta_which = MUT2_FLATULENT;
1121                         muta_desc = _( "もう強烈な屁はこかなくなった。",  "You are no longer subject to uncontrollable flatulence.");
1122
1123                         break;
1124                 case 81: case 82:
1125                         muta_class = &(creature_ptr->muta2);
1126                         muta_which = MUT2_SCOR_TAIL;
1127                         muta_desc = _( "サソリの尻尾がなくなった!",  "You lose your scorpion tail!");
1128
1129                         break;
1130                 case 83: case 84:
1131                         muta_class = &(creature_ptr->muta2);
1132                         muta_which = MUT2_HORNS;
1133                         muta_desc = _( "額から角が消えた!",  "Your horns vanish from your forehead!");
1134
1135                         break;
1136                 case 85: case 86:
1137                         muta_class = &(creature_ptr->muta2);
1138                         muta_which = MUT2_BEAK;
1139                         muta_desc = _( "口が普通に戻った!",  "Your mouth reverts to normal!");
1140
1141                         break;
1142                 case 87: case 88:
1143                         muta_class = &(creature_ptr->muta2);
1144                         muta_which = MUT2_ATT_DEMON;
1145                         muta_desc = _( "デーモンを引き寄せなくなった。",  "You stop attracting demons.");
1146
1147                         break;
1148                 case 89:
1149                         muta_class = &(creature_ptr->muta2);
1150                         muta_which = MUT2_PROD_MANA;
1151                         muta_desc = _( "制御不能な魔法のエネルギーを発生しなくなった。",  "You stop producing magical energy uncontrollably.");
1152
1153                         break;
1154                 case 90: case 91:
1155                         muta_class = &(creature_ptr->muta2);
1156                         muta_which = MUT2_SPEED_FLUX;
1157                         muta_desc = _( "躁鬱質でなくなった。",  "You are no longer manic-depressive.");
1158
1159                         break;
1160                 case 92: case 93:
1161                         muta_class = &(creature_ptr->muta2);
1162                         muta_which = MUT2_BANISH_ALL;
1163                         muta_desc = _( "背後に恐ろしい力を感じなくなった。",  "You no longer feel a terrifying power lurking behind you.");
1164
1165                         break;
1166                 case 94:
1167                         muta_class = &(creature_ptr->muta2);
1168                         muta_which = MUT2_EAT_LIGHT;
1169                         muta_desc = _( "世界が明るいと感じる。",  "You feel the world's a brighter place.");
1170
1171                         break;
1172                 case 95: case 96:
1173                         muta_class = &(creature_ptr->muta2);
1174                         muta_which = MUT2_TRUNK;
1175                         muta_desc = _( "鼻が普通の長さに戻った。",  "Your nose returns to a normal length.");
1176
1177                         break;
1178                 case 97:
1179                         muta_class = &(creature_ptr->muta2);
1180                         muta_which = MUT2_ATT_ANIMAL;
1181                         muta_desc = _( "動物を引き寄せなくなった。",  "You stop attracting animals.");
1182
1183                         break;
1184                 case 98:
1185                         muta_class = &(creature_ptr->muta2);
1186                         muta_which = MUT2_TENTACLES;
1187                         muta_desc = _( "触手が消えた。",  "Your tentacles vanish from your sides.");
1188
1189                         break;
1190                 case 99:
1191                         muta_class = &(creature_ptr->muta2);
1192                         muta_which = MUT2_RAW_CHAOS;
1193                         muta_desc = _( "周囲の空間が安定した気がする。",  "You feel the universe is more stable around you.");
1194
1195                         break;
1196                 case 100: case 101: case 102:
1197                         muta_class = &(creature_ptr->muta2);
1198                         muta_which = MUT2_NORMALITY;
1199                         muta_desc = _( "普通に奇妙な感じがする。",  "You feel normally strange.");
1200
1201                         break;
1202                 case 103:
1203                         muta_class = &(creature_ptr->muta2);
1204                         muta_which = MUT2_WRAITH;
1205                         muta_desc = _( "あなたは物質世界にしっかり存在している。",  "You are firmly in the physical world.");
1206
1207                         break;
1208                 case 104:
1209                         muta_class = &(creature_ptr->muta2);
1210                         muta_which = MUT2_POLY_WOUND;
1211                         muta_desc = _( "古い傷からカオスの力が去っていった。",  "You feel forces of chaos departing your old scars.");
1212
1213                         break;
1214                 case 105:
1215                         muta_class = &(creature_ptr->muta2);
1216                         muta_which = MUT2_WASTING;
1217                         muta_desc = _( "おぞましい衰弱病が治った!",  "You are cured of the horrible wasting disease!");
1218
1219                         break;
1220                 case 106:
1221                         muta_class = &(creature_ptr->muta2);
1222                         muta_which = MUT2_ATT_DRAGON;
1223                         muta_desc = _( "ドラゴンを引き寄せなくなった。",  "You stop attracting dragons.");
1224
1225                         break;
1226                 case 107: case 108:
1227                         muta_class = &(creature_ptr->muta2);
1228                         muta_which = MUT2_WEIRD_MIND;
1229                         muta_desc = _( "思考が退屈な方向に戻った。",  "Your thoughts return to boring paths.");
1230
1231                         break;
1232                 case 109:
1233                         muta_class = &(creature_ptr->muta2);
1234                         muta_which = MUT2_NAUSEA;
1235                         muta_desc = _( "胃が痙攣しなくなった。",  "Your stomach stops roiling.");
1236
1237                         break;
1238                 case 110: case 111:
1239                         muta_class = &(creature_ptr->muta2);
1240                         muta_which = MUT2_CHAOS_GIFT;
1241                         muta_desc = _( "混沌の神々の興味を惹かなくなった。",  "You lose the attention of the chaos deities.");
1242
1243                         break;
1244                 case 112:
1245                         muta_class = &(creature_ptr->muta2);
1246                         muta_which = MUT2_WALK_SHAD;
1247                         muta_desc = _( "物質世界に捕らわれている気がする。",  "You feel like you're trapped in reality.");
1248
1249                         break;
1250                 case 113: case 114:
1251                         muta_class = &(creature_ptr->muta2);
1252                         muta_which = MUT2_WARNING;
1253                         muta_desc = _( "パラノイアでなくなった。",  "You no longer feel paranoid.");
1254
1255                         break;
1256                 case 115:
1257                         muta_class = &(creature_ptr->muta2);
1258                         muta_which = MUT2_INVULN;
1259                         muta_desc = _( "無敵状態の発作を起こさなくなった。",  "You are no longer blessed with fits of invulnerability.");
1260
1261                         break;
1262                 case 116: case 117:
1263                         muta_class = &(creature_ptr->muta2);
1264                         muta_which = MUT2_SP_TO_HP;
1265                         muta_desc = _( "魔法の治癒の発作に襲われなくなった。",  "You are no longer subject to fits of magical healing.");
1266
1267                         break;
1268                 case 118:
1269                         muta_class = &(creature_ptr->muta2);
1270                         muta_which = MUT2_HP_TO_SP;
1271                         muta_desc = _( "痛みを伴う精神明瞭化の発作に襲われなくなった。",  "You are no longer subject to fits of painful clarity.");
1272
1273                         break;
1274                 case 119:
1275                         muta_class = &(creature_ptr->muta2);
1276                         muta_which = MUT2_DISARM;
1277                         muta_desc = _( "脚が元の大きさに戻った。",  "Your feet shrink to their former size.");
1278
1279                         break;
1280                 case 120: case 121: case 122:
1281                         muta_class = &(creature_ptr->muta3);
1282                         muta_which = MUT3_HYPER_STR;
1283                         muta_desc = _( "筋肉が普通に戻った。",  "Your muscles revert to normal.");
1284
1285                         break;
1286                 case 123: case 124: case 125:
1287                         muta_class = &(creature_ptr->muta3);
1288                         muta_which = MUT3_PUNY;
1289                         muta_desc = _( "筋肉が普通に戻った。",  "Your muscles revert to normal.");
1290
1291                         break;
1292                 case 126: case 127: case 128:
1293                         muta_class = &(creature_ptr->muta3);
1294                         muta_which = MUT3_HYPER_INT;
1295                         muta_desc = _( "脳が普通に戻った。",  "Your brain reverts to normal.");
1296
1297                         break;
1298                 case 129: case 130: case 131:
1299                         muta_class = &(creature_ptr->muta3);
1300                         muta_which = MUT3_MORONIC;
1301                         muta_desc = _( "脳が普通に戻った。",  "Your brain reverts to normal.");
1302
1303                         break;
1304                 case 132: case 133:
1305                         muta_class = &(creature_ptr->muta3);
1306                         muta_which = MUT3_RESILIENT;
1307                         muta_desc = _( "普通の丈夫さに戻った。",  "You become ordinarily resilient again.");
1308
1309                         break;
1310                 case 134: case 135:
1311                         muta_class = &(creature_ptr->muta3);
1312                         muta_which = MUT3_XTRA_FAT;
1313                         muta_desc = _( "奇跡的なダイエットに成功した!",  "You benefit from a miracle diet!");
1314
1315                         break;
1316                 case 136: case 137:
1317                         muta_class = &(creature_ptr->muta3);
1318                         muta_which = MUT3_ALBINO;
1319                         muta_desc = _( "アルビノでなくなった!",  "You are no longer an albino!");
1320
1321                         break;
1322                 case 138: case 139: case 140:
1323                         muta_class = &(creature_ptr->muta3);
1324                         muta_which = MUT3_FLESH_ROT;
1325                         muta_desc = _( "肉体を腐敗させる病気が治った!",  "Your flesh is no longer afflicted by a rotting disease!");
1326
1327                         break;
1328                 case 141: case 142:
1329                         muta_class = &(creature_ptr->muta3);
1330                         muta_which = MUT3_SILLY_VOI;
1331                         muta_desc = _( "声質が普通に戻った。",  "Your voice returns to normal.");
1332
1333                         break;
1334                 case 143: case 144:
1335                         muta_class = &(creature_ptr->muta3);
1336                         muta_which = MUT3_BLANK_FAC;
1337                         muta_desc = _( "顔に目鼻が戻った。",  "Your facial features return.");
1338
1339                         break;
1340                 case 145:
1341                         muta_class = &(creature_ptr->muta3);
1342                         muta_which = MUT3_ILL_NORM;
1343                         muta_desc = _( "心が安らぐ幻影を映し出さなくなった。",  "You stop projecting a reassuring image.");
1344
1345                         break;
1346                 case 146: case 147: case 148:
1347                         muta_class = &(creature_ptr->muta3);
1348                         muta_which = MUT3_XTRA_EYES;
1349                         muta_desc = _( "余分な目が消えてしまった!",  "Your extra eyes vanish!");
1350
1351                         break;
1352                 case 149: case 150:
1353                         muta_class = &(creature_ptr->muta3);
1354                         muta_which = MUT3_MAGIC_RES;
1355                         muta_desc = _( "魔法に弱くなった。",  "You become susceptible to magic again.");
1356
1357                         break;
1358                 case 151: case 152: case 153:
1359                         muta_class = &(creature_ptr->muta3);
1360                         muta_which = MUT3_XTRA_NOIS;
1361                         muta_desc = _( "奇妙な音を立てなくなった!",  "You stop making strange noise!");
1362
1363                         break;
1364                 case 154: case 155: case 156:
1365                         muta_class = &(creature_ptr->muta3);
1366                         muta_which = MUT3_INFRAVIS;
1367                         muta_desc = _( "赤外線視力が落ちた。",  "Your infravision is degraded.");
1368
1369                         break;
1370                 case 157: case 158:
1371                         muta_class = &(creature_ptr->muta3);
1372                         muta_which = MUT3_XTRA_LEGS;
1373                         muta_desc = _( "余分な脚が消えてしまった!",  "Your extra legs disappear!");
1374
1375                         break;
1376                 case 159: case 160:
1377                         muta_class = &(creature_ptr->muta3);
1378                         muta_which = MUT3_SHORT_LEG;
1379                         muta_desc = _( "脚の長さが普通に戻った。",  "Your legs lengthen to normal.");
1380
1381                         break;
1382                 case 161: case 162:
1383                         muta_class = &(creature_ptr->muta3);
1384                         muta_which = MUT3_ELEC_TOUC;
1385                         muta_desc = _( "体を電流が流れなくなった。",  "Electricity stops running through you.");
1386
1387                         break;
1388                 case 163: case 164:
1389                         muta_class = &(creature_ptr->muta3);
1390                         muta_which = MUT3_FIRE_BODY;
1391                         muta_desc = _( "体が炎に包まれなくなった。",  "Your body is no longer enveloped in flames.");
1392
1393                         break;
1394                 case 165: case 166: case 167:
1395                         muta_class = &(creature_ptr->muta3);
1396                         muta_which = MUT3_WART_SKIN;
1397                         muta_desc = _( "イボイボが消えた!",  "Your warts disappear!");
1398
1399                         break;
1400                 case 168: case 169: case 170:
1401                         muta_class = &(creature_ptr->muta3);
1402                         muta_which = MUT3_SCALES;
1403                         muta_desc = _( "鱗が消えた!",  "Your scales vanish!");
1404
1405                         break;
1406                 case 171: case 172:
1407                         muta_class = &(creature_ptr->muta3);
1408                         muta_which = MUT3_IRON_SKIN;
1409                         muta_desc = _( "肌が肉にもどった!",  "Your skin reverts to flesh!");
1410
1411                         break;
1412                 case 173: case 174:
1413                         muta_class = &(creature_ptr->muta3);
1414                         muta_which = MUT3_WINGS;
1415                         muta_desc = _( "背中の羽根が取れ落ちた。",  "Your wings fall off.");
1416
1417                         break;
1418                 case 175: case 176: case 177:
1419                         muta_class = &(creature_ptr->muta3);
1420                         muta_which = MUT3_FEARLESS;
1421                         muta_desc = _( "再び恐怖を感じるようになった。",  "You begin to feel fear again.");
1422
1423                         break;
1424                 case 178: case 179:
1425                         muta_class = &(creature_ptr->muta3);
1426                         muta_which = MUT3_REGEN;
1427                         muta_desc = _( "急速回復しなくなった。",  "You stop regenerating.");
1428
1429                         break;
1430                 case 180: case 181:
1431                         muta_class = &(creature_ptr->muta3);
1432                         muta_which = MUT3_ESP;
1433                         muta_desc = _( "テレパシーの能力を失った!",  "You lose your telepathic ability!");
1434
1435                         break;
1436                 case 182: case 183: case 184:
1437                         muta_class = &(creature_ptr->muta3);
1438                         muta_which = MUT3_LIMBER;
1439                         muta_desc = _( "筋肉が硬くなった。",  "Your muscles stiffen.");
1440
1441                         break;
1442                 case 185: case 186: case 187:
1443                         muta_class = &(creature_ptr->muta3);
1444                         muta_which = MUT3_ARTHRITIS;
1445                         muta_desc = _( "関節が痛くなくなった。",  "Your joints stop hurting.");
1446
1447                         break;
1448                 case 188:
1449                         muta_class = &(creature_ptr->muta3);
1450                         muta_which = MUT3_BAD_LUCK;
1451                         muta_desc = _( "黒いオーラは渦巻いて消えた。",  "Your black aura swirls and fades.");
1452
1453                         break;
1454                 case 189:
1455                         muta_class = &(creature_ptr->muta3);
1456                         muta_which = MUT3_VULN_ELEM;
1457                         muta_desc = _( "無防備な感じはなくなった。",  "You feel less exposed.");
1458
1459                         break;
1460                 case 190: case 191: case 192:
1461                         muta_class = &(creature_ptr->muta3);
1462                         muta_which = MUT3_MOTION;
1463                         muta_desc = _( "動作の正確さがなくなった。",  "You move with less assurance.");
1464
1465                         break;
1466                 case 193:
1467                         if (creature_ptr->pseikaku == SEIKAKU_LUCKY) break;
1468                         muta_class = &(creature_ptr->muta3);
1469                         muta_which = MUT3_GOOD_LUCK;
1470                         muta_desc = _( "白いオーラは輝いて消えた。",  "Your white aura shimmers and fades.");
1471
1472                         break;
1473                 default:
1474                         muta_class = NULL;
1475                         muta_which = 0;
1476                 }
1477
1478                 if (muta_class && muta_which)
1479                 {
1480                         if (*(muta_class) & muta_which)
1481                         {
1482                                 muta_chosen = TRUE;
1483                         }
1484                 }
1485                 if (muta_chosen == TRUE) break;
1486         }
1487
1488         if (!muta_chosen)
1489         {
1490                 return FALSE;
1491         }
1492
1493         msg_print(muta_desc);
1494         *(muta_class) &= ~(muta_which);
1495
1496         creature_ptr->update |= PU_BONUS;
1497         handle_stuff(creature_ptr);
1498         creature_ptr->mutant_regenerate_mod = calc_mutant_regenerate_mod(creature_ptr);
1499         return TRUE;
1500 }
1501
1502
1503 void lose_all_mutations(player_type *creature_ptr)
1504 {
1505         if (creature_ptr->muta1 || creature_ptr->muta2 || creature_ptr->muta3)
1506         {
1507                 chg_virtue(creature_ptr, V_CHANCE, -5);
1508                 msg_print(_("全ての突然変異が治った。", "You are cured of all mutations."));
1509                 creature_ptr->muta1 = creature_ptr->muta2 = creature_ptr->muta3 = 0;
1510                 creature_ptr->update |= PU_BONUS;
1511                 handle_stuff(creature_ptr);
1512                 creature_ptr->mutant_regenerate_mod = calc_mutant_regenerate_mod(creature_ptr);
1513         }
1514 }
1515
1516
1517 /*!
1518  * @brief ファイルポインタを通じて突然変異の一覧を出力する
1519  * @param OutFile 出力先ファイルポインタ
1520  * @return なし
1521  */
1522 void dump_mutations(player_type *creature_ptr, FILE *OutFile)
1523 {
1524         if (!OutFile) return;
1525
1526         if (creature_ptr->muta1)
1527         {
1528                 if (creature_ptr->muta1 & MUT1_SPIT_ACID)
1529                 {
1530                         fprintf(OutFile, _(" あなたは酸を吹きかけることができる。(ダメージ レベルX1)\n", " You can spit acid (dam lvl).\n"));
1531
1532                 }
1533                 if (creature_ptr->muta1 & MUT1_BR_FIRE)
1534                 {
1535                         fprintf(OutFile, _(" あなたは炎のブレスを吐くことができる。(ダメージ レベルX2)\n", " You can breathe fire (dam lvl * 2).\n"));
1536
1537                 }
1538                 if (creature_ptr->muta1 & MUT1_HYPN_GAZE)
1539                 {
1540                         fprintf(OutFile, _(" あなたの睨みは催眠効果をもつ。\n", " Your gaze is hypnotic.\n"));
1541
1542                 }
1543                 if (creature_ptr->muta1 & MUT1_TELEKINES)
1544                 {
1545                         fprintf(OutFile, _(" あなたは念動力をもっている。\n", " You are telekinetic.\n"));
1546
1547                 }
1548                 if (creature_ptr->muta1 & MUT1_VTELEPORT)
1549                 {
1550                         fprintf(OutFile, _(" あなたは自分の意思でテレポートできる。\n", " You can teleport at will.\n"));
1551
1552                 }
1553                 if (creature_ptr->muta1 & MUT1_MIND_BLST)
1554                 {
1555                         fprintf(OutFile, _(" あなたは敵を精神攻撃できる。\n", " You can Mind Blast your enemies.\n"));
1556
1557                 }
1558                 if (creature_ptr->muta1 & MUT1_RADIATION)
1559                 {
1560                         fprintf(OutFile, _(" あなたは自分の意思で放射能を発生することができる。\n", " You can emit hard radiation at will.\n"));
1561
1562                 }
1563                 if (creature_ptr->muta1 & MUT1_VAMPIRISM)
1564                 {
1565                         fprintf(OutFile, _(" あなたは吸血鬼のように敵から生命力を吸収することができる。\n", " You can drain life from a foe like a vampire.\n"));
1566
1567                 }
1568                 if (creature_ptr->muta1 & MUT1_SMELL_MET)
1569                 {
1570                         fprintf(OutFile, _(" あなたは近くにある貴金属をかぎ分けることができる。\n", " You can smell nearby precious metal.\n"));
1571
1572                 }
1573                 if (creature_ptr->muta1 & MUT1_SMELL_MON)
1574                 {
1575                         fprintf(OutFile, _(" あなたは近くのモンスターの存在をかぎ分けることができる。\n", " You can smell nearby monsters.\n"));
1576
1577                 }
1578                 if (creature_ptr->muta1 & MUT1_BLINK)
1579                 {
1580                         fprintf(OutFile, _(" あなたは短い距離をテレポートできる。\n", " You can teleport yourself short distances.\n"));
1581
1582                 }
1583                 if (creature_ptr->muta1 & MUT1_EAT_ROCK)
1584                 {
1585                         fprintf(OutFile, _(" あなたは硬い岩を食べることができる。\n", " You can consume solid rock.\n"));
1586
1587                 }
1588                 if (creature_ptr->muta1 & MUT1_SWAP_POS)
1589                 {
1590                         fprintf(OutFile, _(" あなたは他の者と場所を入れ替わることができる。\n", " You can switch locations with another being.\n"));
1591
1592                 }
1593                 if (creature_ptr->muta1 & MUT1_SHRIEK)
1594                 {
1595                         fprintf(OutFile, _(" あなたは身の毛もよだつ叫び声を発することができる。\n", " You can emit a horrible shriek.\n"));
1596
1597                 }
1598                 if (creature_ptr->muta1 & MUT1_ILLUMINE)
1599                 {
1600                         fprintf(OutFile, _(" あなたは明るい光を放つことができる。\n", " You can emit bright light.\n"));
1601
1602                 }
1603                 if (creature_ptr->muta1 & MUT1_DET_CURSE)
1604                 {
1605                         fprintf(OutFile, _(" あなたは邪悪な魔法の危険を感じとることができる。\n", " You can feel the danger of evil magic.\n"));
1606
1607                 }
1608                 if (creature_ptr->muta1 & MUT1_BERSERK)
1609                 {
1610                         fprintf(OutFile, _(" あなたは自分の意思で狂乱戦闘状態になることができる。\n", " You can drive yourself into a berserk frenzy.\n"));
1611
1612                 }
1613                 if (creature_ptr->muta1 & MUT1_POLYMORPH)
1614                 {
1615                         fprintf(OutFile, _(" あなたは自分の意志で変化できる。\n", " You can polymorph yourself at will.\n"));
1616
1617                 }
1618                 if (creature_ptr->muta1 & MUT1_MIDAS_TCH)
1619                 {
1620                         fprintf(OutFile, _(" あなたは通常アイテムを金に変えることができる。\n", " You can turn ordinary items to gold.\n"));
1621
1622                 }
1623                 if (creature_ptr->muta1 & MUT1_GROW_MOLD)
1624                 {
1625                         fprintf(OutFile, _(" あなたは周囲にキノコを生やすことができる。\n", " You can cause mold to grow near you.\n"));
1626
1627                 }
1628                 if (creature_ptr->muta1 & MUT1_RESIST)
1629                 {
1630                         fprintf(OutFile, _(" あなたは元素の攻撃に対して身を硬くすることができる。\n", " You can harden yourself to the ravages of the elements.\n"));
1631
1632                 }
1633                 if (creature_ptr->muta1 & MUT1_EARTHQUAKE)
1634                 {
1635                         fprintf(OutFile, _(" あなたは周囲のダンジョンを崩壊させることができる。\n", " You can bring down the dungeon around your ears.\n"));
1636
1637                 }
1638                 if (creature_ptr->muta1 & MUT1_EAT_MAGIC)
1639                 {
1640                         fprintf(OutFile, _(" あなたは魔法のエネルギーを自分の物として使用できる。\n", " You can consume magic energy for your own use.\n"));
1641
1642                 }
1643                 if (creature_ptr->muta1 & MUT1_WEIGH_MAG)
1644                 {
1645                         fprintf(OutFile, _(" あなたは自分に影響を与える魔法の力を感じることができる。\n", " You can feel the strength of the magics affecting you.\n"));
1646
1647                 }
1648                 if (creature_ptr->muta1 & MUT1_STERILITY)
1649                 {
1650                         fprintf(OutFile, _(" あなたは集団的生殖不能を起こすことができる。\n", " You can cause mass impotence.\n"));
1651
1652                 }
1653                 if (creature_ptr->muta1 & MUT1_HIT_AND_AWAY)
1654                 {
1655                         fprintf(OutFile, _(" あなたは攻撃した後身を守るため逃げることができる。\n", " You can run for your life after hitting something.\n"));
1656
1657                 }
1658                 if (creature_ptr->muta1 & MUT1_DAZZLE)
1659                 {
1660                         fprintf(OutFile, _(" あなたは混乱と盲目を引き起こす放射能を発生することができる。 \n", " You can emit confusing, blinding radiation.\n"));
1661
1662                 }
1663                 if (creature_ptr->muta1 & MUT1_LASER_EYE)
1664                 {
1665                         fprintf(OutFile, _(" あなたは目からレーザー光線を発射することができる。\n", " Your eyes can fire laser beams.\n"));
1666
1667                 }
1668                 if (creature_ptr->muta1 & MUT1_RECALL)
1669                 {
1670                         fprintf(OutFile, _(" あなたは街とダンジョンの間を行き来することができる。\n", " You can travel between town and the depths.\n"));
1671
1672                 }
1673                 if (creature_ptr->muta1 & MUT1_BANISH)
1674                 {
1675                         fprintf(OutFile, _(" あなたは邪悪なモンスターを地獄に落とすことができる。\n", " You can send evil creatures directly to Hell.\n"));
1676
1677                 }
1678                 if (creature_ptr->muta1 & MUT1_COLD_TOUCH)
1679                 {
1680                         fprintf(OutFile, _(" あなたは物を触って凍らせることができる。\n", " You can freeze things with a touch.\n"));
1681
1682                 }
1683                 if (creature_ptr->muta1 & MUT1_LAUNCHER)
1684                 {
1685                         fprintf(OutFile, _(" あなたはアイテムを力強く投げることができる。\n", " You can hurl objects with great force.\n"));
1686
1687                 }
1688         }
1689
1690         if (creature_ptr->muta2)
1691         {
1692                 if (creature_ptr->muta2 & MUT2_BERS_RAGE)
1693                 {
1694                         fprintf(OutFile, _(" あなたは狂戦士化の発作を起こす。\n", " You are subject to berserker fits.\n"));
1695
1696                 }
1697                 if (creature_ptr->muta2 & MUT2_COWARDICE)
1698                 {
1699                         fprintf(OutFile, _(" あなたは時々臆病になる。\n", " You are subject to cowardice.\n"));
1700
1701                 }
1702                 if (creature_ptr->muta2 & MUT2_RTELEPORT)
1703                 {
1704                         fprintf(OutFile, _(" あなたはランダムにテレポートする。\n", " You sometimes randomly teleport.\n"));
1705
1706                 }
1707                 if (creature_ptr->muta2 & MUT2_ALCOHOL)
1708                 {
1709                         fprintf(OutFile, _(" あなたの体はアルコールを分泌する。\n", " Your body produces alcohol.\n"));
1710
1711                 }
1712                 if (creature_ptr->muta2 & MUT2_HALLU)
1713                 {
1714                         fprintf(OutFile, _(" あなたは幻覚を引き起こす精神錯乱に侵されている。\n", " You have a hallucinatory insanity.\n"));
1715
1716                 }
1717                 if (creature_ptr->muta2 & MUT2_FLATULENT)
1718                 {
1719                         fprintf(OutFile, _(" あなたは制御できない強烈な屁をこく。\n", " You are subject to uncontrollable flatulence.\n"));
1720
1721                 }
1722                 if (creature_ptr->muta2 & MUT2_PROD_MANA)
1723                 {
1724                         fprintf(OutFile, _(" あなたは制御不能な魔法のエネルギーを発している。\n", " You produce magical energy uncontrollably.\n"));
1725
1726                 }
1727                 if (creature_ptr->muta2 & MUT2_ATT_DEMON)
1728                 {
1729                         fprintf(OutFile, _(" あなたはデーモンを引きつける。\n", " You attract demons.\n"));
1730
1731                 }
1732                 if (creature_ptr->muta2 & MUT2_SCOR_TAIL)
1733                 {
1734                         fprintf(OutFile, _(" あなたはサソリの尻尾が生えている。(毒、ダメージ 3d7)\n", " You have a scorpion tail (poison, 3d7).\n"));
1735
1736                 }
1737                 if (creature_ptr->muta2 & MUT2_HORNS)
1738                 {
1739                         fprintf(OutFile, _(" あなたは角が生えている。(ダメージ 2d6)\n", " You have horns (dam. 2d6).\n"));
1740
1741                 }
1742                 if (creature_ptr->muta2 & MUT2_BEAK)
1743                 {
1744                         fprintf(OutFile, _(" あなたはクチバシが生えている。(ダメージ 2d4)\n", " You have a beak (dam. 2d4).\n"));
1745
1746                 }
1747                 if (creature_ptr->muta2 & MUT2_SPEED_FLUX)
1748                 {
1749                         fprintf(OutFile, _(" あなたはランダムに早く動いたり遅く動いたりする。\n", " You move faster or slower randomly.\n"));
1750
1751                 }
1752                 if (creature_ptr->muta2 & MUT2_BANISH_ALL)
1753                 {
1754                         fprintf(OutFile, _(" あなたは時々近くのモンスターを消滅させる。\n", " You sometimes cause nearby creatures to vanish.\n"));
1755
1756                 }
1757                 if (creature_ptr->muta2 & MUT2_EAT_LIGHT)
1758                 {
1759                         fprintf(OutFile, _(" あなたは時々周囲の光を吸収して栄養にする。\n", " You sometimes feed off of the light around you.\n"));
1760
1761                 }
1762                 if (creature_ptr->muta2 & MUT2_TRUNK)
1763                 {
1764                         fprintf(OutFile, _(" あなたは象のような鼻を持っている。(ダメージ 1d4)\n", " You have an elephantine trunk (dam 1d4).\n"));
1765
1766                 }
1767                 if (creature_ptr->muta2 & MUT2_ATT_ANIMAL)
1768                 {
1769                         fprintf(OutFile, _(" あなたは動物を引きつける。\n", " You attract animals.\n"));
1770
1771                 }
1772                 if (creature_ptr->muta2 & MUT2_TENTACLES)
1773                 {
1774                         fprintf(OutFile, _(" あなたは邪悪な触手を持っている。(ダメージ 2d5)\n", " You have evil looking tentacles (dam 2d5).\n"));
1775
1776                 }
1777                 if (creature_ptr->muta2 & MUT2_RAW_CHAOS)
1778                 {
1779                         fprintf(OutFile, _(" あなたはしばしば純カオスに包まれる。\n", " You occasionally are surrounded with raw chaos.\n"));
1780
1781                 }
1782                 if (creature_ptr->muta2 & MUT2_NORMALITY)
1783                 {
1784                         fprintf(OutFile, _(" あなたは変異していたが、回復してきている。\n", " You may be mutated, but you're recovering.\n"));
1785
1786                 }
1787                 if (creature_ptr->muta2 & MUT2_WRAITH)
1788                 {
1789                         fprintf(OutFile, _(" あなたの肉体は幽体化したり実体化したりする。\n", " You fade in and out of physical reality.\n"));
1790
1791                 }
1792                 if (creature_ptr->muta2 & MUT2_POLY_WOUND)
1793                 {
1794                         fprintf(OutFile, _(" あなたの健康はカオスの力に影響を受ける。\n", " Your health is subject to chaotic forces.\n"));
1795
1796                 }
1797                 if (creature_ptr->muta2 & MUT2_WASTING)
1798                 {
1799                         fprintf(OutFile, _(" あなたは衰弱する恐ろしい病気にかかっている。\n", " You have a horrible wasting disease.\n"));
1800
1801                 }
1802                 if (creature_ptr->muta2 & MUT2_ATT_DRAGON)
1803                 {
1804                         fprintf(OutFile, _(" あなたはドラゴンを引きつける。\n", " You attract dragons.\n"));
1805
1806                 }
1807                 if (creature_ptr->muta2 & MUT2_WEIRD_MIND)
1808                 {
1809                         fprintf(OutFile, _(" あなたの精神はランダムに拡大したり縮小したりしている。\n", " Your mind randomly expands and contracts.\n"));
1810
1811                 }
1812                 if (creature_ptr->muta2 & MUT2_NAUSEA)
1813                 {
1814                         fprintf(OutFile, _(" あなたの胃は非常に落ち着きがない。\n", " You have a seriously upset stomach.\n"));
1815
1816                 }
1817                 if (creature_ptr->muta2 & MUT2_CHAOS_GIFT)
1818                 {
1819                         fprintf(OutFile, _(" あなたはカオスの守護悪魔から褒美をうけとる。\n", " Chaos deities give you gifts.\n"));
1820
1821                 }
1822                 if (creature_ptr->muta2 & MUT2_WALK_SHAD)
1823                 {
1824                         fprintf(OutFile, _(" あなたはしばしば他の「影」に迷い込む。\n", " You occasionally stumble into other shadows.\n"));
1825
1826                 }
1827                 if (creature_ptr->muta2 & MUT2_WARNING)
1828                 {
1829                         fprintf(OutFile, _(" あなたは敵に関する警告を感じる。\n", " You receive warnings about your foes.\n"));
1830
1831                 }
1832                 if (creature_ptr->muta2 & MUT2_INVULN)
1833                 {
1834                         fprintf(OutFile, _(" あなたは時々負け知らずな気分になる。\n", " You occasionally feel invincible.\n"));
1835
1836                 }
1837                 if (creature_ptr->muta2 & MUT2_SP_TO_HP)
1838                 {
1839                         fprintf(OutFile, _(" あなたは時々血が筋肉にどっと流れる。\n", " Your blood sometimes rushes to your muscles.\n"));
1840
1841                 }
1842                 if (creature_ptr->muta2 & MUT2_HP_TO_SP)
1843                 {
1844                         fprintf(OutFile, _(" あなたは時々頭に血がどっと流れる。\n", " Your blood sometimes rushes to your head.\n"));
1845
1846                 }
1847                 if (creature_ptr->muta2 & MUT2_DISARM)
1848                 {
1849                         fprintf(OutFile, _(" あなたはよくつまづいて物を落とす。\n", " You occasionally stumble and drop things.\n"));
1850
1851                 }
1852         }
1853
1854         if (creature_ptr->muta3)
1855         {
1856                 if (creature_ptr->muta3 & MUT3_HYPER_STR)
1857                 {
1858                         fprintf(OutFile, _(" あなたは超人的に強い。(腕力+4)\n", " You are superhumanly strong (+4 STR).\n"));
1859
1860                 }
1861                 if (creature_ptr->muta3 & MUT3_PUNY)
1862                 {
1863                         fprintf(OutFile, _(" あなたは虚弱だ。(腕力-4)\n", " You are puny (-4 STR).\n"));
1864
1865                 }
1866                 if (creature_ptr->muta3 & MUT3_HYPER_INT)
1867                 {
1868                         fprintf(OutFile, _(" あなたの脳は生体コンピュータだ。(知能&賢さ+4)\n", " Your brain is a living computer (+4 INT/WIS).\n"));
1869
1870                 }
1871                 if (creature_ptr->muta3 & MUT3_MORONIC)
1872                 {
1873                         fprintf(OutFile, _(" あなたは精神薄弱だ。(知能&賢さ-4)\n", " You are moronic (-4 INT/WIS).\n"));
1874
1875                 }
1876                 if (creature_ptr->muta3 & MUT3_RESILIENT)
1877                 {
1878                         fprintf(OutFile, _(" あなたの体は弾力性に富んでいる。(耐久+4)\n", " You are very resilient (+4 CON).\n"));
1879
1880                 }
1881                 if (creature_ptr->muta3 & MUT3_XTRA_FAT)
1882                 {
1883                         fprintf(OutFile, _(" あなたは極端に太っている。(耐久+2,スピード-2)\n", " You are extremely fat (+2 CON, -2 speed).\n"));
1884
1885                 }
1886                 if (creature_ptr->muta3 & MUT3_ALBINO)
1887                 {
1888                         fprintf(OutFile, _(" あなたはアルビノだ。(耐久-4)\n", " You are albino (-4 CON).\n"));
1889
1890                 }
1891                 if (creature_ptr->muta3 & MUT3_FLESH_ROT)
1892                 {
1893                         fprintf(OutFile, _(" あなたの肉体は腐敗している。(耐久-2,魅力-1)\n", " Your flesh is rotting (-2 CON, -1 CHR).\n"));
1894
1895                 }
1896                 if (creature_ptr->muta3 & MUT3_SILLY_VOI)
1897                 {
1898                         fprintf(OutFile, _(" あなたの声は間抜けなキーキー声だ。(魅力-4)\n", " Your voice is a silly squeak (-4 CHR).\n"));
1899
1900                 }
1901                 if (creature_ptr->muta3 & MUT3_BLANK_FAC)
1902                 {
1903                         fprintf(OutFile, _(" あなたはのっぺらぼうだ。(魅力-1)\n", " Your face is featureless (-1 CHR).\n"));
1904
1905                 }
1906                 if (creature_ptr->muta3 & MUT3_ILL_NORM)
1907                 {
1908                         fprintf(OutFile, _(" あなたは幻影に覆われている。\n", " Your appearance is masked with illusion.\n"));
1909
1910                 }
1911                 if (creature_ptr->muta3 & MUT3_XTRA_EYES)
1912                 {
1913                         fprintf(OutFile, _(" あなたは余分に二つの目を持っている。(探索+15)\n", " You have an extra pair of eyes (+15 search).\n"));
1914
1915                 }
1916                 if (creature_ptr->muta3 & MUT3_MAGIC_RES)
1917                 {
1918                         fprintf(OutFile, _(" あなたは魔法への耐性をもっている。\n", " You are resistant to magic.\n"));
1919
1920                 }
1921                 if (creature_ptr->muta3 & MUT3_XTRA_NOIS)
1922                 {
1923                         fprintf(OutFile, _(" あなたは変な音を発している。(隠密-3)\n", " You make a lot of strange noise (-3 stealth).\n"));
1924
1925                 }
1926                 if (creature_ptr->muta3 & MUT3_INFRAVIS)
1927                 {
1928                         fprintf(OutFile, _(" あなたは素晴らしい赤外線視力を持っている。(+3)\n", " You have remarkable infravision (+3).\n"));
1929
1930                 }
1931                 if (creature_ptr->muta3 & MUT3_XTRA_LEGS)
1932                 {
1933                         fprintf(OutFile, _(" あなたは余分に二本の足が生えている。(加速+3)\n", " You have an extra pair of legs (+3 speed).\n"));
1934
1935                 }
1936                 if (creature_ptr->muta3 & MUT3_SHORT_LEG)
1937                 {
1938                         fprintf(OutFile, _(" あなたの足は短い突起だ。(加速-3)\n", " Your legs are short stubs (-3 speed).\n"));
1939
1940                 }
1941                 if (creature_ptr->muta3 & MUT3_ELEC_TOUC)
1942                 {
1943                         fprintf(OutFile, _(" あなたの血管には電流が流れている。\n", " Electricity runs through your veins.\n"));
1944
1945                 }
1946                 if (creature_ptr->muta3 & MUT3_FIRE_BODY)
1947                 {
1948                         fprintf(OutFile, _(" あなたの体は炎につつまれている。\n", " Your body is enveloped in flames.\n"));
1949
1950                 }
1951                 if (creature_ptr->muta3 & MUT3_WART_SKIN)
1952                 {
1953                         fprintf(OutFile, _(" あなたの肌はイボに被われている。(魅力-2, AC+5)\n", " Your skin is covered with warts (-2 CHR, +5 AC).\n"));
1954
1955                 }
1956                 if (creature_ptr->muta3 & MUT3_SCALES)
1957                 {
1958                         fprintf(OutFile, _(" あなたの肌は鱗になっている。(魅力-1, AC+10)\n", " Your skin has turned into scales (-1 CHR, +10 AC).\n"));
1959
1960                 }
1961                 if (creature_ptr->muta3 & MUT3_IRON_SKIN)
1962                 {
1963                         fprintf(OutFile, _(" あなたの肌は鉄でできている。(器用-1, AC+25)\n", " Your skin is made of steel (-1 DEX, +25 AC).\n"));
1964
1965                 }
1966                 if (creature_ptr->muta3 & MUT3_WINGS)
1967                 {
1968                         fprintf(OutFile, _(" あなたは羽を持っている。\n", " You have wings.\n"));
1969
1970                 }
1971                 if (creature_ptr->muta3 & MUT3_FEARLESS)
1972                 {
1973                         fprintf(OutFile, _(" あなたは全く恐怖を感じない。\n", " You are completely fearless.\n"));
1974
1975                 }
1976                 if (creature_ptr->muta3 & MUT3_REGEN)
1977                 {
1978                         fprintf(OutFile, _(" あなたは急速に回復する。\n", " You are regenerating.\n"));
1979
1980                 }
1981                 if (creature_ptr->muta3 & MUT3_ESP)
1982                 {
1983                         fprintf(OutFile, _(" あなたはテレパシーを持っている。\n", " You are telepathic.\n"));
1984
1985                 }
1986                 if (creature_ptr->muta3 & MUT3_LIMBER)
1987                 {
1988                         fprintf(OutFile, _(" あなたの体は非常にしなやかだ。(器用+3)\n", " Your body is very limber (+3 DEX).\n"));
1989
1990                 }
1991                 if (creature_ptr->muta3 & MUT3_ARTHRITIS)
1992                 {
1993                         fprintf(OutFile, _(" あなたはいつも関節に痛みを感じている。(器用-3)\n", " Your joints ache constantly (-3 DEX).\n"));
1994
1995                 }
1996                 if (creature_ptr->muta3 & MUT3_VULN_ELEM)
1997                 {
1998                         fprintf(OutFile, _(" あなたは元素の攻撃に弱い。\n", " You are susceptible to damage from the elements.\n"));
1999
2000                 }
2001                 if (creature_ptr->muta3 & MUT3_MOTION)
2002                 {
2003                         fprintf(OutFile, _(" あなたの動作は正確で力強い。(隠密+1)\n", " Your movements are precise and forceful (+1 STL).\n"));
2004
2005                 }
2006                 if (creature_ptr->muta3 & MUT3_GOOD_LUCK)
2007                 {
2008                         fprintf(OutFile, _(" あなたは白いオーラにつつまれている。\n", " There is a white aura surrounding you.\n"));
2009
2010                 }
2011                 if (creature_ptr->muta3 & MUT3_BAD_LUCK)
2012                 {
2013                         fprintf(OutFile, _(" あなたは黒いオーラにつつまれている。\n", " There is a black aura surrounding you.\n"));
2014
2015                 }
2016         }
2017 }
2018
2019 /*!
2020  * @brief 突然変異表示コマンドの実装 / List mutations we have...
2021  * @return なし
2022  */
2023 void do_cmd_knowledge_mutations(player_type *creature_ptr)
2024 {
2025         FILE *fff;
2026         GAME_TEXT file_name[1024];
2027
2028         fff = my_fopen_temp(file_name, 1024);
2029         if (fff) dump_mutations(creature_ptr, fff);
2030         my_fclose(fff);
2031
2032         show_file(creature_ptr, TRUE, file_name, _("突然変異", "Mutations"), 0, 0);
2033         fd_kill(file_name);
2034 }
2035
2036
2037 /*!
2038  * @brief 現在プレイヤー得ている突然変異の数を返す。
2039  * @return 現在得ている突然変異の数
2040  */
2041 static int count_mutations(player_type *creature_ptr)
2042 {
2043         return (count_bits(creature_ptr->muta1) +
2044                 count_bits(creature_ptr->muta2) +
2045                 count_bits(creature_ptr->muta3));
2046 }
2047
2048
2049 /*!
2050  * @brief 突然変異による自然回復ペナルティをパーセント値で返す /
2051  * Return the modifier to the regeneration rate (in percent)
2052  * @return ペナルティ修正(%)
2053  */
2054 int calc_mutant_regenerate_mod(player_type *creature_ptr)
2055 {
2056         int regen;
2057         int mod = 10;
2058         int count = count_mutations(creature_ptr);
2059
2060         /*
2061          * Beastman get 10 "free" mutations and
2062          * only 5% decrease per additional mutation
2063          */
2064
2065         if (creature_ptr->pseikaku == SEIKAKU_LUCKY) count--;
2066         if (creature_ptr->prace == RACE_BEASTMAN)
2067         {
2068                 count -= 10;
2069                 mod = 5;
2070         }
2071
2072         /* No negative modifier */
2073         if (count <= 0) return 100;
2074
2075         regen = 100 - count * mod;
2076
2077         /* Max. 90% decrease in regeneration speed */
2078         if (regen < 10) regen = 10;
2079
2080         return (regen);
2081 }
2082
2083
2084 /*!
2085  * @brief 突然変異のレイシャル効果実装
2086  * @param creature_ptr プレーヤーへの参照ポインタ
2087  * @param power 発動させる突然変異レイシャルのID
2088  * @return レイシャルを実行した場合TRUE、キャンセルした場合FALSEを返す
2089  */
2090 bool exe_mutation_power(player_type *creature_ptr, int power)
2091 {
2092         DIRECTION dir = 0;
2093         PLAYER_LEVEL lvl = creature_ptr->lev;
2094
2095         switch (power)
2096         {
2097                 case MUT1_SPIT_ACID:
2098                         if (!get_aim_dir(creature_ptr, &dir)) return FALSE;
2099                         stop_mouth(creature_ptr);
2100                         msg_print(_("酸を吐きかけた...", "You spit acid..."));
2101                         fire_ball(creature_ptr, GF_ACID, dir, lvl, 1 + (lvl / 30));
2102                         break;
2103
2104                 case MUT1_BR_FIRE:
2105                         if (!get_aim_dir(creature_ptr, &dir)) return FALSE;
2106                         stop_mouth(creature_ptr);
2107                         msg_print(_("あなたは火炎のブレスを吐いた...", "You breathe fire..."));
2108                         fire_breath(creature_ptr, GF_FIRE, dir, lvl * 2, 1 + (lvl / 20));
2109                         break;
2110
2111                 case MUT1_HYPN_GAZE:
2112                         if (!get_aim_dir(creature_ptr, &dir)) return FALSE;
2113                         msg_print(_("あなたの目は幻惑的になった...", "Your eyes look mesmerizing..."));
2114                         (void)charm_monster(creature_ptr, dir, lvl);
2115                         break;
2116
2117                 case MUT1_TELEKINES:
2118                         if (!get_aim_dir(creature_ptr, &dir)) return FALSE;
2119                         msg_print(_("集中している...", "You concentrate..."));
2120                         fetch(creature_ptr, dir, lvl * 10, TRUE);
2121                         break;
2122
2123                 case MUT1_VTELEPORT:
2124                         msg_print(_("集中している...", "You concentrate..."));
2125                         teleport_player(creature_ptr, 10 + 4 * lvl, 0L);
2126                         break;
2127
2128                 case MUT1_MIND_BLST:
2129                         if (!get_aim_dir(creature_ptr, &dir)) return FALSE;
2130                         msg_print(_("集中している...", "You concentrate..."));
2131                         fire_bolt(creature_ptr, GF_PSI, dir, damroll(3 + ((lvl - 1) / 5), 3));
2132                         break;
2133
2134                 case MUT1_RADIATION:
2135                         msg_print(_("体から放射能が発生した!", "Radiation flows from your body!"));
2136                         fire_ball(creature_ptr, GF_NUKE, 0, (lvl * 2), 3 + (lvl / 20));
2137                         break;
2138
2139                 case MUT1_VAMPIRISM:
2140                         vampirism(creature_ptr);
2141                         break;
2142
2143                 case MUT1_SMELL_MET:
2144                         stop_mouth(creature_ptr);
2145                         (void)detect_treasure(creature_ptr, DETECT_RAD_DEFAULT);
2146                         break;
2147
2148                 case MUT1_SMELL_MON:
2149                         stop_mouth(creature_ptr);
2150                         (void)detect_monsters_normal(creature_ptr, DETECT_RAD_DEFAULT);
2151                         break;
2152
2153                 case MUT1_BLINK:
2154                         teleport_player(creature_ptr, 10, 0L);
2155                         break;
2156
2157                 case MUT1_EAT_ROCK:
2158                         return eat_rock(creature_ptr);
2159                         break;
2160
2161                 case MUT1_SWAP_POS:
2162                         project_length = -1;
2163                         if (!get_aim_dir(creature_ptr, &dir))
2164                         {
2165                                 project_length = 0;
2166                                 return FALSE;
2167                         }
2168                         (void)teleport_swap(creature_ptr, dir);
2169                         project_length = 0;
2170                         break;
2171
2172                 case MUT1_SHRIEK:
2173                         stop_mouth(creature_ptr);
2174                         (void)fire_ball(creature_ptr, GF_SOUND, 0, 2 * lvl, 8);
2175                         (void)aggravate_monsters(creature_ptr, 0);
2176                         break;
2177
2178                 case MUT1_ILLUMINE:
2179                         (void)lite_area(creature_ptr, damroll(2, (lvl / 2)), (lvl / 10) + 1);
2180                         break;
2181
2182                 case MUT1_DET_CURSE:
2183                         {
2184                                 int i;
2185
2186                                 for (i = 0; i < INVEN_TOTAL; i++)
2187                                 {
2188                                         object_type *o_ptr = &creature_ptr->inventory_list[i];
2189
2190                                         if (!o_ptr->k_idx) continue;
2191                                         if (!object_is_cursed(o_ptr)) continue;
2192
2193                                         o_ptr->feeling = FEEL_CURSED;
2194                                 }
2195                         }
2196                         break;
2197
2198                 case MUT1_BERSERK:
2199                         (void)berserk(creature_ptr, randint1(25) + 25);
2200                         break;
2201
2202                 case MUT1_POLYMORPH:
2203                         if (!get_check(_("変身します。よろしいですか?", "You will polymorph your self. Are you sure? "))) return FALSE;
2204                         do_poly_self(creature_ptr);
2205                         break;
2206
2207                 case MUT1_MIDAS_TCH:
2208                         if (!alchemy(creature_ptr)) return FALSE;
2209                         break;
2210
2211                 /* Summon pet molds around the player */
2212                 case MUT1_GROW_MOLD:
2213                         {
2214                                 DIRECTION i;
2215                                 for (i = 0; i < 8; i++)
2216                                 {
2217                                         summon_specific(creature_ptr, -1, creature_ptr->y, creature_ptr->x, lvl, SUMMON_MOLD, PM_FORCE_PET);
2218                                 }
2219                         }
2220                         break;
2221
2222                 case MUT1_RESIST:
2223                         {
2224                                 int num = lvl / 10;
2225                                 TIME_EFFECT dur = randint1(20) + 20;
2226
2227                                 if (randint0(5) < num)
2228                                 {
2229                                         (void)set_oppose_acid(creature_ptr, dur, FALSE);
2230                                         num--;
2231                                 }
2232                                 if (randint0(4) < num)
2233                                 {
2234                                         (void)set_oppose_elec(creature_ptr, dur, FALSE);
2235                                         num--;
2236                                 }
2237                                 if (randint0(3) < num)
2238                                 {
2239                                         (void)set_oppose_fire(creature_ptr, dur, FALSE);
2240                                         num--;
2241                                 }
2242                                 if (randint0(2) < num)
2243                                 {
2244                                         (void)set_oppose_cold(creature_ptr, dur, FALSE);
2245                                         num--;
2246                                 }
2247                                 if (num)
2248                                 {
2249                                         (void)set_oppose_pois(creature_ptr, dur, FALSE);
2250                                         num--;
2251                                 }
2252                         }
2253                         break;
2254
2255                 case MUT1_EARTHQUAKE:
2256                         (void)earthquake(creature_ptr, creature_ptr->y, creature_ptr->x, 10, 0);
2257                         break;
2258
2259                 case MUT1_EAT_MAGIC:
2260                         if (!eat_magic(creature_ptr, creature_ptr->lev * 2)) return FALSE;
2261                         break;
2262
2263                 case MUT1_WEIGH_MAG:
2264                         report_magics(creature_ptr);
2265                         break;
2266
2267                 case MUT1_STERILITY:
2268                         msg_print(_("突然頭が痛くなった!", "You suddenly have a headache!"));
2269                         take_hit(creature_ptr, DAMAGE_LOSELIFE, randint1(17) + 17, _("禁欲を強いた疲労", "the strain of forcing abstinence"), -1);
2270                         creature_ptr->current_floor_ptr->num_repro += MAX_REPRO;
2271                         break;
2272
2273                 case MUT1_HIT_AND_AWAY:
2274                         if(!hit_and_away(creature_ptr)) return FALSE;
2275                         break;
2276
2277                 case MUT1_DAZZLE:
2278                         stun_monsters(creature_ptr, lvl * 4);
2279                         confuse_monsters(creature_ptr, lvl * 4);
2280                         turn_monsters(creature_ptr, lvl * 4);
2281                         break;
2282
2283                 case MUT1_LASER_EYE:
2284                         if (!get_aim_dir(creature_ptr, &dir)) return FALSE;
2285                         fire_beam(creature_ptr, GF_LITE, dir, 2 * lvl);
2286                         break;
2287
2288                 case MUT1_RECALL:
2289                         if (!recall_player(creature_ptr, randint0(21) + 15)) return FALSE;
2290                         break;
2291
2292                 case MUT1_BANISH:
2293                         {
2294                                 POSITION x, y;
2295                                 grid_type *g_ptr;
2296                                 monster_type *m_ptr;
2297                                 monster_race *r_ptr;
2298                                 if (!get_direction(creature_ptr, &dir, FALSE, FALSE)) return FALSE;
2299                                 y = creature_ptr->y + ddy[dir];
2300                                 x = creature_ptr->x + ddx[dir];
2301                                 g_ptr = &creature_ptr->current_floor_ptr->grid_array[y][x];
2302
2303                                 if (!g_ptr->m_idx)
2304                                 {
2305                                         msg_print(_("邪悪な存在を感じとれません!", "You sense no evil there!"));
2306
2307                                         break;
2308                                 }
2309
2310                                 m_ptr = &creature_ptr->current_floor_ptr->m_list[g_ptr->m_idx];
2311                                 r_ptr = &r_info[m_ptr->r_idx];
2312
2313                                 if ((r_ptr->flags3 & RF3_EVIL) &&
2314                                     !(r_ptr->flags1 & RF1_QUESTOR) &&
2315                                     !(r_ptr->flags1 & RF1_UNIQUE) &&
2316                                     !creature_ptr->current_floor_ptr->inside_arena && !creature_ptr->current_floor_ptr->inside_quest &&
2317                                         (r_ptr->level < randint1(creature_ptr->lev+50)) &&
2318                                         !(m_ptr->mflag2 & MFLAG2_NOGENO))
2319                                 {
2320                                         if (record_named_pet && is_pet(m_ptr) && m_ptr->nickname)
2321                                         {
2322                                                 GAME_TEXT m_name[MAX_NLEN];
2323                                                 monster_desc(creature_ptr, m_name, m_ptr, MD_INDEF_VISIBLE);
2324                                                 exe_write_diary(creature_ptr, DIARY_NAMED_PET, RECORD_NAMED_PET_GENOCIDE, m_name);
2325                                         }
2326                                         /* Delete the monster, rather than killing it. */
2327                                         delete_monster_idx(creature_ptr, g_ptr->m_idx);
2328                                         msg_print(_("その邪悪なモンスターは硫黄臭い煙とともに消え去った!", "The evil creature vanishes in a puff of sulfurous smoke!"));
2329
2330                                 }
2331                                 else
2332                                 {
2333                                         msg_print(_("祈りは効果がなかった!", "Your invocation is ineffectual!"));
2334                                         if (one_in_(13)) m_ptr->mflag2 |= MFLAG2_NOGENO;
2335                                 }
2336                         }
2337                         break;
2338
2339                 case MUT1_COLD_TOUCH:
2340                         {
2341                                 POSITION x, y;
2342                                 grid_type *g_ptr;
2343                                 if (!get_direction(creature_ptr, &dir, FALSE, FALSE)) return FALSE;
2344                                 y = creature_ptr->y + ddy[dir];
2345                                 x = creature_ptr->x + ddx[dir];
2346                                 g_ptr = &creature_ptr->current_floor_ptr->grid_array[y][x];
2347                                 if (!g_ptr->m_idx)
2348                                 {
2349                                         msg_print(_("あなたは何もない場所で手を振った。", "You wave your hands in the air."));
2350
2351                                         break;
2352                                 }
2353                                 fire_bolt(creature_ptr, GF_COLD, dir, 2 * lvl);
2354                         }
2355                         break;
2356
2357                 /* XXX_XXX_XXX Hack! MUT1_LAUNCHER is negative, see above */
2358                 case 3: /* MUT1_LAUNCHER */
2359                         /* Gives a multiplier of 2 at first, up to 3 at 40th */
2360                         if (!do_cmd_throw(creature_ptr, 2 + lvl / 40, FALSE, -1)) return FALSE;
2361                         break;
2362
2363                 default:
2364                         free_turn(creature_ptr);
2365                         msg_format(_("能力 %s は実装されていません。", "Power %s not implemented. Oops."), power);
2366         }
2367
2368         return TRUE;
2369 }
2370
2371 void become_living_trump(player_type *creature_ptr)
2372 {
2373         MUTATION_IDX mutation;
2374
2375         if (one_in_(7))
2376                 mutation = 12; /* Teleport control */
2377         else
2378                 mutation = 77; /* Random teleportation (uncontrolled) */
2379
2380         /* Gain the mutation */
2381         if (gain_mutation(creature_ptr, mutation))
2382         {
2383                 msg_print(_("あなたは生きているカードに変わった。", "You have turned into a Living Trump."));
2384         }
2385 }