OSDN Git Service

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