OSDN Git Service

[Refactor] #38862 Moved spells-* to spell/
[hengband/hengband.git] / src / mutation / 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 "system/angband.h"
15 #include "core/stuff-handler.h"
16 #include "core/show-file.h"
17 #include "util.h"
18
19 #include "io/write-diary.h"
20 #include "cmd/cmd-dump.h"
21 #include "mutation/mutation.h"
22
23 #include "selfinfo.h"
24 #include "spell/spells-summon.h"
25 #include "avatar.h"
26 #include "player/player-status.h"
27 #include "player/player-effects.h"
28 #include "player/player-personality.h"
29 #include "player/player-class.h"
30 #include "player/player-damage.h"
31 #include "spell/spells-status.h"
32 #include "spell/spells-floor.h"
33 #include "object/object-hook.h"
34 #include "cmd-basic.h"
35 #include "files.h"
36 #include "floor/floor.h"
37 #include "targeting.h"
38 #include "player/player-race.h"
39 #include "effect/spells-effect-util.h"
40 #include "spell/spells-type.h"
41 #include "spell/spells2.h"
42 #include "spell/spells3.h"
43
44 /*!
45  * @brief プレイヤーに突然変異を与える
46  * @param choose_mut 与えたい突然変異のID、0ならばランダムに選択
47  * @return なし
48  */
49 bool gain_mutation(player_type *creature_ptr, MUTATION_IDX choose_mut)
50 {
51         int attempts_left = 20;
52         concptr muta_desc = "";
53         bool muta_chosen = FALSE;
54         BIT_FLAGS muta_which = 0;
55         BIT_FLAGS *muta_class = NULL;
56
57         if (choose_mut) attempts_left = 1;
58
59         while (attempts_left--)
60         {
61                 switch (choose_mut ? choose_mut : (creature_ptr->pclass == CLASS_BERSERKER ? 74+randint1(119) : randint1(193)))
62                 {
63                 case 1: case 2: case 3: case 4:
64                         muta_class = &(creature_ptr->muta1);
65                         muta_which = MUT1_SPIT_ACID;
66                         muta_desc = _("酸を吐く能力を得た。", "You gain the ability to spit acid.");
67                         break;
68                         
69                 case 5: case 6: case 7:
70                         muta_class = &(creature_ptr->muta1);
71                         muta_which = MUT1_BR_FIRE;
72                         muta_desc = _("火を吐く能力を得た。", "You gain the ability to breathe fire.");
73                         break;
74                         
75                 case 8: case 9:
76                         muta_class = &(creature_ptr->muta1);
77                         muta_which = MUT1_HYPN_GAZE;
78                         muta_desc = _("催眠眼の能力を得た。", "Your eyes look mesmerizing...");
79                         break;
80                         
81                 case 10: case 11:
82                         muta_class = &(creature_ptr->muta1);
83                         muta_which = MUT1_TELEKINES;
84                         muta_desc = _("物体を念動力で動かす能力を得た。", "You gain the ability to move objects telekinetically.");
85                         break;
86                         
87                 case 12: case 13: case 14:
88                         muta_class = &(creature_ptr->muta1);
89                         muta_which = MUT1_VTELEPORT;
90                         muta_desc = _("自分の意思でテレポートする能力を得た。", "You gain the power of teleportation at will.");
91                         break;
92                         
93                 case 15: case 16:
94                         muta_class = &(creature_ptr->muta1);
95                         muta_which = MUT1_MIND_BLST;
96                         muta_desc = _("精神攻撃の能力を得た。", "You gain the power of Mind Blast.");
97                         break;
98                         
99                 case 17: case 18:
100                         muta_class = &(creature_ptr->muta1);
101                         muta_which = MUT1_RADIATION;
102                         muta_desc = _("あなたは強い放射線を発生し始めた。", "You start emitting hard radiation.");
103                         break;
104                         
105                 case 19: case 20:
106                         muta_class = &(creature_ptr->muta1);
107                         muta_which = MUT1_VAMPIRISM;
108                         muta_desc = _("生命力を吸収できるようになった。", "You become vampiric.");
109                         break;
110                         
111                 case 21: case 22: case 23:
112                         muta_class = &(creature_ptr->muta1);
113                         muta_which = MUT1_SMELL_MET;
114                         muta_desc = _("金属の匂いを嗅ぎ分けられるようになった。", "You smell a metallic odor.");
115                         break;
116                         
117                 case 24: case 25: case 26: case 27:
118                         muta_class = &(creature_ptr->muta1);
119                         muta_which = MUT1_SMELL_MON;
120                         muta_desc = _("モンスターの臭いを嗅ぎ分けられるようになった。", "You smell filthy monsters.");
121                         break;
122                         
123                 case 28: case 29: case 30:
124                         muta_class = &(creature_ptr->muta1);
125                         muta_which = MUT1_BLINK;
126                         muta_desc = _("近距離テレポートの能力を得た。", "You gain the power of minor teleportation.");
127                         break;
128                         
129                 case 31: case 32:
130                         muta_class = &(creature_ptr->muta1);
131                         muta_which = MUT1_EAT_ROCK;
132                         muta_desc = _("壁が美味しそうに見える。", "The walls look delicious.");
133                         break;
134                         
135                 case 33: case 34:
136                         muta_class = &(creature_ptr->muta1);
137                         muta_which = MUT1_SWAP_POS;
138                         muta_desc = _("他人の靴で一マイル歩くような気分がする。", "You feel like walking a mile in someone else's shoes.");
139                         break;
140                         
141                 case 35: case 36: case 37:
142                         muta_class = &(creature_ptr->muta1);
143                         muta_which = MUT1_SHRIEK;
144                         muta_desc = _("あなたの声は相当強くなった。", "Your vocal cords get much tougher.");
145                         break;
146                         
147                 case 38: case 39: case 40:
148                         muta_class = &(creature_ptr->muta1);
149                         muta_which = MUT1_ILLUMINE;
150                         muta_desc = _("あなたは光り輝いて部屋を明るくするようになった。", "You can light up rooms with your presence.");
151                         break;
152                         
153                 case 41: case 42:
154                         muta_class = &(creature_ptr->muta1);
155                         muta_which = MUT1_DET_CURSE;
156                         muta_desc = _("邪悪な魔法を感知できるようになった。", "You can feel evil magics.");
157                         break;
158                         
159                 case 43: case 44: case 45:
160                         muta_class = &(creature_ptr->muta1);
161                         muta_which = MUT1_BERSERK;
162                         muta_desc = _("制御できる激情を感じる。", "You feel a controlled rage.");
163                         break;
164                         
165                 case 46:
166                         muta_class = &(creature_ptr->muta1);
167                         muta_which = MUT1_POLYMORPH;
168                         muta_desc = _("体が変異しやすくなった。", "Your body seems mutable.");
169                         break;
170                         
171                 case 47: case 48:
172                         muta_class = &(creature_ptr->muta1);
173                         muta_which = MUT1_MIDAS_TCH;
174                         muta_desc = _("「ミダス王の手」の能力を得た。", "You gain the Midas touch.");/*トゥームレイダースにありましたね。 */
175                         break;
176                         
177                 case 49:
178                         muta_class = &(creature_ptr->muta1);
179                         muta_which = MUT1_GROW_MOLD;
180                         muta_desc = _("突然カビに親しみを覚えた。", "You feel a sudden affinity for mold.");
181                         break;
182                         
183                 case 50: case 51: case 52:
184                         muta_class = &(creature_ptr->muta1);
185                         muta_which = MUT1_RESIST;
186                         muta_desc = _("あなたは自分自身を守れる気がする。", "You feel like you can protect yourself.");
187                         break;
188                         
189                 case 53: case 54: case 55:
190                         muta_class = &(creature_ptr->muta1);
191                         muta_which = MUT1_EARTHQUAKE;
192                         muta_desc = _("ダンジョンを破壊する能力を得た。", "You gain the ability to wreck the dungeon.");
193                         break;
194                         
195                 case 56:
196                         muta_class = &(creature_ptr->muta1);
197                         muta_which = MUT1_EAT_MAGIC;
198                         muta_desc = _("魔法のアイテムが美味そうに見える。", "Your magic items look delicious.");
199                         break;
200                         
201                 case 57: case 58:
202                         muta_class = &(creature_ptr->muta1);
203                         muta_which = MUT1_WEIGH_MAG;
204                         muta_desc = _("あなたは周囲にある魔法をより良く理解できる気がする。", "You feel you can better understand the magic around you.");
205                         break;
206                         
207                 case 59:
208                         muta_class = &(creature_ptr->muta1);
209                         muta_which = MUT1_STERILITY;
210                         muta_desc = _("周りの全ての者に頭痛を起こすことができる。", "You can give everything around you a headache.");
211                         break;
212                 case 60: case 61:
213                         muta_class = &(creature_ptr->muta1);
214                         muta_which = MUT1_HIT_AND_AWAY;
215                         muta_desc = _("突然、泥棒の気分が分かるようになった。", "You suddenly understand how thieves feel.");
216                         break;
217                         
218                 case 62: case 63: case 64:
219                         muta_class = &(creature_ptr->muta1);
220                         muta_which = MUT1_DAZZLE;
221                         muta_desc = _("眩い閃光を発する能力を得た。", "You gain the ability to emit dazzling lights.");
222                         break;
223                         
224                 case 65: case 66: case 67:
225                         muta_class = &(creature_ptr->muta1);
226                         muta_which = MUT1_LASER_EYE;
227                         muta_desc = _("あなたの目は一瞬焼け付いた。", "Your eyes burn for a moment.");
228                         break;
229                         
230                 case 68: case 69:
231                         muta_class = &(creature_ptr->muta1);
232                         muta_which = MUT1_RECALL;
233                         muta_desc = _("少しだけホームシックになったが、すぐ直った。", "You feel briefly homesick, but it passes.");
234                         break;
235                         
236                 case 70:
237                         muta_class = &(creature_ptr->muta1);
238                         muta_which = MUT1_BANISH;
239                         muta_desc = _("神聖な怒りの力に満たされた。", "You feel a holy wrath fill you.");
240                         break;
241                         
242                 case 71: case 72:
243                         muta_class = &(creature_ptr->muta1);
244                         muta_which = MUT1_COLD_TOUCH;
245                         muta_desc = _("あなたの両手はとても冷たくなった。", "Your hands get very cold.");
246                         break;
247                         
248                 case 73: case 74:
249                         muta_class = &(creature_ptr->muta1);
250                         muta_which = MUT1_LAUNCHER;
251                         muta_desc = _("あなたの物を投げる手はかなり強くなった気がする。", "Your throwing arm feels much stronger.");
252                         break;
253                         
254                 case 75:
255                         muta_class = &(creature_ptr->muta2);
256                         muta_which = MUT2_BERS_RAGE;
257                         muta_desc = _("あなたは狂暴化の発作を起こすようになった!", "You become subject to fits of berserk rage!");
258                         break;
259                         
260                 case 76:
261                         muta_class = &(creature_ptr->muta2);
262                         muta_which = MUT2_COWARDICE;
263                         muta_desc = _("信じられないくらい臆病になった!", "You become an incredible coward!");
264                         break;
265                         
266                 case 77:
267                         muta_class = &(creature_ptr->muta2);
268                         muta_which = MUT2_RTELEPORT;
269                         muta_desc = _("あなたの位置は非常に不確定になった。", "Your position seems very uncertain...");
270                         break;
271                         
272                 case 78:
273                         muta_class = &(creature_ptr->muta2);
274                         muta_which = MUT2_ALCOHOL;
275                         muta_desc = _("あなたはアルコールを分泌するようになった。", "Your body starts producing alcohol!");
276                         break;
277                         
278                 case 79:
279                         muta_class = &(creature_ptr->muta2);
280                         muta_which = MUT2_HALLU;
281                         muta_desc = _("あなたは幻覚を引き起こす精神錯乱に侵された。", "You are afflicted by a hallucinatory insanity!");
282                         break;
283                         
284                 case 80:
285                         muta_class = &(creature_ptr->muta2);
286                         muta_which = MUT2_FLATULENT;
287                         muta_desc = _( "あなたは制御不能な強烈な屁をこくようになった。",  "You become subject to uncontrollable flatulence.");
288
289                         break;
290                 case 81: case 82:
291                         muta_class = &(creature_ptr->muta2);
292                         muta_which = MUT2_SCOR_TAIL;
293                         muta_desc = _( "サソリの尻尾が生えてきた!",  "You grow a scorpion tail!");
294
295                         break;
296                 case 83: case 84:
297                         muta_class = &(creature_ptr->muta2);
298                         muta_which = MUT2_HORNS;
299                         muta_desc = _( "額に角が生えた!",  "Horns pop forth into your forehead!");
300
301                         break;
302                 case 85: case 86:
303                         muta_class = &(creature_ptr->muta2);
304                         muta_which = MUT2_BEAK;
305                         muta_desc = _( "口が鋭く強いクチバシに変化した!",  "Your mouth turns into a sharp, powerful beak!");
306
307                         break;
308                 case 87: case 88:
309                         muta_class = &(creature_ptr->muta2);
310                         muta_which = MUT2_ATT_DEMON;
311                         muta_desc = _( "悪魔を引き付けるようになった。",  "You start attracting demons.");
312
313                         break;
314                 case 89:
315                         muta_class = &(creature_ptr->muta2);
316                         muta_which = MUT2_PROD_MANA;
317                         muta_desc = _( "あなたは制御不能な魔法のエネルギーを発生するようになった。",  "You start producing magical energy uncontrollably.");
318
319                         break;
320                 case 90: case 91:
321                         muta_class = &(creature_ptr->muta2);
322                         muta_which = MUT2_SPEED_FLUX;
323                         muta_desc = _( "あなたは躁鬱質になった。",  "You become manic-depressive.");
324
325                         break;
326                 case 92: case 93:
327                         muta_class = &(creature_ptr->muta2);
328                         muta_which = MUT2_BANISH_ALL;
329                         muta_desc = _( "恐ろしい力があなたの背後に潜んでいる気がする。",  "You feel a terrifying power lurking behind you.");
330
331                         break;
332                 case 94:
333                         muta_class = &(creature_ptr->muta2);
334                         muta_which = MUT2_EAT_LIGHT;
335                         muta_desc = _( "あなたはウンゴリアントに奇妙な親しみを覚えるようになった。",  "You feel a strange kinship with Ungoliant.");
336
337                         break;
338                 case 95: case 96:
339                         muta_class = &(creature_ptr->muta2);
340                         muta_which = MUT2_TRUNK;
341                         muta_desc = _( "あなたの鼻は伸びて象の鼻のようになった。",  "Your nose grows into an elephant-like trunk.");
342
343                         break;
344                 case 97:
345                         muta_class = &(creature_ptr->muta2);
346                         muta_which = MUT2_ATT_ANIMAL;
347                         muta_desc = _( "動物を引き付けるようになった。",  "You start attracting animals.");
348
349                         break;
350                 case 98:
351                         muta_class = &(creature_ptr->muta2);
352                         muta_which = MUT2_TENTACLES;
353                         muta_desc = _( "邪悪な触手が体の両側に生えてきた。",  "Evil-looking tentacles sprout from your sides.");
354
355                         break;
356                 case 99:
357                         muta_class = &(creature_ptr->muta2);
358                         muta_which = MUT2_RAW_CHAOS;
359                         muta_desc = _( "周囲の空間が不安定になった気がする。",  "You feel the universe is less stable around you.");
360
361                         break;
362                 case 100: case 101: case 102:
363                         muta_class = &(creature_ptr->muta2);
364                         muta_which = MUT2_NORMALITY;
365                         muta_desc = _( "あなたは奇妙なほど普通になった気がする。",  "You feel strangely normal.");
366
367                         break;
368                 case 103:
369                         muta_class = &(creature_ptr->muta2);
370                         muta_which = MUT2_WRAITH;
371                         muta_desc = _( "あなたは幽体化したり実体化したりするようになった。",  "You start to fade in and out of the physical world.");
372
373                         break;
374                 case 104:
375                         muta_class = &(creature_ptr->muta2);
376                         muta_which = MUT2_POLY_WOUND;
377                         muta_desc = _( "あなたはカオスの力が古い傷に入り込んでくるのを感じた。",  "You feel forces of chaos entering your old scars.");
378
379                         break;
380                 case 105:
381                         muta_class = &(creature_ptr->muta2);
382                         muta_which = MUT2_WASTING;
383                         muta_desc = _( "あなたは突然おぞましい衰弱病にかかった。",  "You suddenly contract a horrible wasting disease.");
384
385                         break;
386                 case 106:
387                         muta_class = &(creature_ptr->muta2);
388                         muta_which = MUT2_ATT_DRAGON;
389                         muta_desc = _( "あなたはドラゴンを引きつけるようになった。",  "You start attracting dragons.");
390
391                         break;
392                 case 107: case 108:
393                         muta_class = &(creature_ptr->muta2);
394                         muta_which = MUT2_WEIRD_MIND;
395                         muta_desc = _( "あなたの思考は突然おかしな方向に向き始めた。",  "Your thoughts suddenly take off in strange directions.");
396
397                         break;
398                 case 109:
399                         muta_class = &(creature_ptr->muta2);
400                         muta_which = MUT2_NAUSEA;
401                         muta_desc = _( "胃袋がピクピクしはじめた。",  "Your stomach starts to roil nauseously.");
402
403                         break;
404                 case 110: case 111:
405                         /* Chaos warriors already have a chaos deity */
406                         if (creature_ptr->pclass != CLASS_CHAOS_WARRIOR)
407                         {
408                                 muta_class = &(creature_ptr->muta2);
409                                 muta_which = MUT2_CHAOS_GIFT;
410                         muta_desc = _( "あなたはカオスの守護悪魔の注意を惹くようになった。",  "You attract the notice of a chaos deity!");
411
412                         }
413                         break;
414                 case 112:
415                         muta_class = &(creature_ptr->muta2);
416                         muta_which = MUT2_WALK_SHAD;
417                         muta_desc = _( "あなたは現実が紙のように薄いと感じるようになった。",  "You feel like reality is as thin as paper.");
418
419                         break;
420                 case 113: case 114:
421                         muta_class = &(creature_ptr->muta2);
422                         muta_which = MUT2_WARNING;
423                         muta_desc = _( "あなたは突然パラノイアになった気がする。",  "You suddenly feel paranoid.");
424
425                         break;
426                 case 115:
427                         muta_class = &(creature_ptr->muta2);
428                         muta_which = MUT2_INVULN;
429                         muta_desc = _( "あなたは祝福され、無敵状態になる発作を起こすようになった。",  "You are blessed with fits of invulnerability.");
430
431                         break;
432                 case 116: case 117:
433                         muta_class = &(creature_ptr->muta2);
434                         muta_which = MUT2_SP_TO_HP;
435                         muta_desc = _( "魔法の治癒の発作を起こすようになった。",  "You are subject to fits of magical healing.");
436
437                         break;
438                 case 118:
439                         muta_class = &(creature_ptr->muta2);
440                         muta_which = MUT2_HP_TO_SP;
441                         muta_desc = _( "痛みを伴う精神明瞭化の発作を起こすようになった。",  "You are subject to fits of painful clarity.");
442
443                         break;
444                 case 119:
445                         muta_class = &(creature_ptr->muta2);
446                         muta_which = MUT2_DISARM;
447                         muta_desc = _( "あなたの脚は長さが四倍になった。",  "Your feet grow to four times their former size.");
448
449                         break;
450                 case 120: case 121: case 122:
451                         muta_class = &(creature_ptr->muta3);
452                         muta_which = MUT3_HYPER_STR;
453                         muta_desc = _( "超人的に強くなった!",  "You turn into a superhuman he-man!");
454
455                         break;
456                 case 123: case 124: case 125:
457                         muta_class = &(creature_ptr->muta3);
458                         muta_which = MUT3_PUNY;
459                         muta_desc = _( "筋肉が弱ってしまった...",  "Your muscles wither away...");
460
461                         break;
462                 case 126: case 127: case 128:
463                         muta_class = &(creature_ptr->muta3);
464                         muta_which = MUT3_HYPER_INT;
465                         muta_desc = _( "あなたの脳は生体コンピュータに進化した!",  "Your brain evolves into a living computer!");
466
467                         break;
468                 case 129: case 130: case 131:
469                         muta_class = &(creature_ptr->muta3);
470                         muta_which = MUT3_MORONIC;
471                         muta_desc = _( "脳が萎縮してしまった...",  "Your brain withers away...");
472
473                         break;
474                 case 132: case 133:
475                         muta_class = &(creature_ptr->muta3);
476                         muta_which = MUT3_RESILIENT;
477                         muta_desc = _( "並外れてタフになった。",  "You become extraordinarily resilient.");
478
479                         break;
480                 case 134: case 135:
481                         muta_class = &(creature_ptr->muta3);
482                         muta_which = MUT3_XTRA_FAT;
483                         muta_desc = _( "あなたは気持ち悪いくらい太った!",  "You become sickeningly fat!");
484
485                         break;
486                 case 136: case 137:
487                         muta_class = &(creature_ptr->muta3);
488                         muta_which = MUT3_ALBINO;
489                         muta_desc = _( "アルビノになった!弱くなった気がする...",  "You turn into an albino! You feel frail...");
490
491                         break;
492                 case 138: case 139: case 140:
493                         muta_class = &(creature_ptr->muta3);
494                         muta_which = MUT3_FLESH_ROT;
495                         muta_desc = _( "あなたの肉体は腐敗する病気に侵された!",  "Your flesh is afflicted by a rotting disease!");
496
497                         break;
498                 case 141: case 142:
499                         muta_class = &(creature_ptr->muta3);
500                         muta_which = MUT3_SILLY_VOI;
501                         muta_desc = _( "声が間抜けなキーキー声になった!",  "Your voice turns into a ridiculous squeak!");
502
503                         break;
504                 case 143: case 144:
505                         muta_class = &(creature_ptr->muta3);
506                         muta_which = MUT3_BLANK_FAC;
507                         muta_desc = _( "のっぺらぼうになった!",  "Your face becomes completely featureless!");
508
509                         break;
510                 case 145:
511                         muta_class = &(creature_ptr->muta3);
512                         muta_which = MUT3_ILL_NORM;
513                         muta_desc = _( "心の安らぐ幻影を映し出すようになった。",  "You start projecting a reassuring image.");
514
515                         break;
516                 case 146: case 147: case 148:
517                         muta_class = &(creature_ptr->muta3);
518                         muta_which = MUT3_XTRA_EYES;
519                         muta_desc = _( "新たに二つの目が出来た!",  "You grow an extra pair of eyes!");
520
521                         break;
522                 case 149: case 150:
523                         muta_class = &(creature_ptr->muta3);
524                         muta_which = MUT3_MAGIC_RES;
525                         muta_desc = _( "魔法への耐性がついた。",  "You become resistant to magic.");
526
527                         break;
528                 case 151: case 152: case 153:
529                         muta_class = &(creature_ptr->muta3);
530                         muta_which = MUT3_XTRA_NOIS;
531                         muta_desc = _( "あなたは奇妙な音を立て始めた!",  "You start making strange noise!");
532
533                         break;
534                 case 154: case 155: case 156:
535                         muta_class = &(creature_ptr->muta3);
536                         muta_which = MUT3_INFRAVIS;
537                         muta_desc = _( "赤外線視力が増した。",  "Your infravision is improved.");
538
539                         break;
540                 case 157: case 158:
541                         muta_class = &(creature_ptr->muta3);
542                         muta_which = MUT3_XTRA_LEGS;
543                         muta_desc = _( "新たに二本の足が生えてきた!",  "You grow an extra pair of legs!");
544
545                         break;
546                 case 159: case 160:
547                         muta_class = &(creature_ptr->muta3);
548                         muta_which = MUT3_SHORT_LEG;
549                         muta_desc = _( "足が短い突起になってしまった!",  "Your legs turn into short stubs!");
550
551                         break;
552                 case 161: case 162:
553                         muta_class = &(creature_ptr->muta3);
554                         muta_which = MUT3_ELEC_TOUC;
555                         muta_desc = _( "血管を電流が流れ始めた!",  "Electricity starts running through you!");
556
557                         break;
558                 case 163: case 164:
559                         muta_class = &(creature_ptr->muta3);
560                         muta_which = MUT3_FIRE_BODY;
561                         muta_desc = _( "あなたの体は炎につつまれている。",  "Your body is enveloped in flames!");
562
563                         break;
564                 case 165: case 166: case 167:
565                         muta_class = &(creature_ptr->muta3);
566                         muta_which = MUT3_WART_SKIN;
567                         muta_desc = _( "気持ち悪いイボイボが体中にできた!",  "Disgusting warts appear everywhere on you!");
568
569                         break;
570                 case 168: case 169: case 170:
571                         muta_class = &(creature_ptr->muta3);
572                         muta_which = MUT3_SCALES;
573                         muta_desc = _( "肌が黒い鱗に変わった!",  "Your skin turns into black scales!");
574
575                         break;
576                 case 171: case 172:
577                         muta_class = &(creature_ptr->muta3);
578                         muta_which = MUT3_IRON_SKIN;
579                         muta_desc = _( "あなたの肌は鉄になった!",  "Your skin turns to steel!");
580
581                         break;
582                 case 173: case 174:
583                         muta_class = &(creature_ptr->muta3);
584                         muta_which = MUT3_WINGS;
585                         muta_desc = _( "背中に羽が生えた。",  "You grow a pair of wings.");
586
587                         break;
588                 case 175: case 176: case 177:
589                         muta_class = &(creature_ptr->muta3);
590                         muta_which = MUT3_FEARLESS;
591                         muta_desc = _( "完全に怖れ知らずになった。",  "You become completely fearless.");
592
593                         break;
594                 case 178: case 179:
595                         muta_class = &(creature_ptr->muta3);
596                         muta_which = MUT3_REGEN;
597                         muta_desc = _( "急速に回復し始めた。",  "You start regenerating.");
598
599                         break;
600                 case 180: case 181:
601                         muta_class = &(creature_ptr->muta3);
602                         muta_which = MUT3_ESP;
603                         muta_desc = _( "テレパシーの能力を得た!",  "You develop a telepathic ability!");
604
605                         break;
606                 case 182: case 183: case 184:
607                         muta_class = &(creature_ptr->muta3);
608                         muta_which = MUT3_LIMBER;
609                         muta_desc = _( "筋肉がしなやかになった。",  "Your muscles become limber.");
610
611                         break;
612                 case 185: case 186: case 187:
613                         muta_class = &(creature_ptr->muta3);
614                         muta_which = MUT3_ARTHRITIS;
615                         muta_desc = _( "関節が突然痛み出した。",  "Your joints suddenly hurt.");
616
617                         break;
618                 case 188:
619                         if (creature_ptr->pseikaku == SEIKAKU_LUCKY) break;
620                         muta_class = &(creature_ptr->muta3);
621                         muta_which = MUT3_BAD_LUCK;
622                         muta_desc = _( "悪意に満ちた黒いオーラがあなたをとりまいた...",  "There is a malignant black aura surrounding you...");
623
624                         break;
625                 case 189:
626                         muta_class = &(creature_ptr->muta3);
627                         muta_which = MUT3_VULN_ELEM;
628                         muta_desc = _( "妙に無防備になった気がする。",  "You feel strangely exposed.");
629
630                         break;
631                 case 190: case 191: case 192:
632                         muta_class = &(creature_ptr->muta3);
633                         muta_which = MUT3_MOTION;
634                         muta_desc = _( "体の動作がより正確になった。",  "You move with new assurance.");
635
636                         break;
637                 case 193:
638                         muta_class = &(creature_ptr->muta3);
639                         muta_which = MUT3_GOOD_LUCK;
640                         muta_desc = _( "慈悲深い白いオーラがあなたをとりまいた...",  "There is a benevolent white aura surrounding you...");
641
642                         break;
643                 default:
644                         muta_class = NULL;
645                         muta_which = 0;
646                 }
647
648                 if (muta_class && muta_which)
649                 {
650                         if (!(*muta_class & muta_which))
651                         {
652                                 muta_chosen = TRUE;
653                         }
654                 }
655                 if (muta_chosen == TRUE) break;
656         }
657
658         if (!muta_chosen)
659         {
660                 msg_print(_("普通になった気がする。", "You feel normal."));
661                 return FALSE;
662         }
663
664         chg_virtue(creature_ptr, V_CHANCE, 1);
665
666         /*
667           some races are apt to gain specified mutations
668           This should be allowed only if "choose_mut" is 0.
669                                                 --- henkma
670         */
671         if (!choose_mut)
672         {
673                 if (creature_ptr->prace == RACE_VAMPIRE &&
674                         !(creature_ptr->muta1 & MUT1_HYPN_GAZE) &&
675                         (randint1(10) < 7))
676                 {
677                         muta_class = &(creature_ptr->muta1);
678                         muta_which = MUT1_HYPN_GAZE;
679                         muta_desc = _("眼が幻惑的になった...", "Your eyes look mesmerizing...");
680
681                 }
682
683                 else if (creature_ptr->prace == RACE_IMP &&
684                         !(creature_ptr->muta2 & MUT2_HORNS) &&
685                         (randint1(10) < 7))
686                 {
687                         muta_class = &(creature_ptr->muta2);
688                         muta_which = MUT2_HORNS;
689                         muta_desc = _("角が額から生えてきた!", "Horns pop forth into your forehead!");
690
691                 }
692
693                 else if (creature_ptr->prace == RACE_YEEK &&
694                         !(creature_ptr->muta1 & MUT1_SHRIEK) &&
695                         (randint1(10) < 7))
696                 {
697                         muta_class = &(creature_ptr->muta1);
698                         muta_which = MUT1_SHRIEK;
699                         muta_desc = _("声質がかなり強くなった。", "Your vocal cords get much tougher.");
700
701                 }
702
703                 else if (creature_ptr->prace == RACE_BEASTMAN &&
704                         !(creature_ptr->muta1 & MUT1_POLYMORPH) &&
705                         (randint1(10) < 2))
706                 {
707                         muta_class = &(creature_ptr->muta1);
708                         muta_which = MUT1_POLYMORPH;
709                         muta_desc = _("あなたの肉体は変化できるようになった、", "Your body seems mutable.");
710
711                 }
712
713                 else if (creature_ptr->prace == RACE_MIND_FLAYER &&
714                         !(creature_ptr->muta2 & MUT2_TENTACLES) &&
715                         (randint1(10) < 7))
716                 {
717                         muta_class = &(creature_ptr->muta2);
718                         muta_which = MUT2_TENTACLES;
719                         muta_desc = _("邪悪な触手が口の周りに生えた。", "Evil-looking tentacles sprout from your mouth.");
720
721                 }
722         }
723
724         msg_print(_("突然変異した!", "You mutate!"));
725
726         msg_print(muta_desc);
727         *muta_class |= muta_which;
728
729         if (muta_class == &(creature_ptr->muta3))
730         {
731                 if (muta_which == MUT3_PUNY)
732                 {
733                         if (creature_ptr->muta3 & MUT3_HYPER_STR)
734                         {
735                                 msg_print(_("あなたはもう超人的に強くはない!", "You no longer feel super-strong!"));
736
737                                 creature_ptr->muta3 &= ~(MUT3_HYPER_STR);
738                         }
739                 }
740                 else if (muta_which == MUT3_HYPER_STR)
741                 {
742                         if (creature_ptr->muta3 & MUT3_PUNY)
743                         {
744                                 msg_print(_("あなたはもう虚弱ではない!", "You no longer feel puny!"));
745
746                                 creature_ptr->muta3 &= ~(MUT3_PUNY);
747                         }
748                 }
749                 else if (muta_which == MUT3_MORONIC)
750                 {
751                         if (creature_ptr->muta3 & MUT3_HYPER_INT)
752                         {
753                                 msg_print(_("あなたの脳はもう生体コンピュータではない。", "Your brain is no longer a living computer."));
754
755                                 creature_ptr->muta3 &= ~(MUT3_HYPER_INT);
756                         }
757                 }
758                 else if (muta_which == MUT3_HYPER_INT)
759                 {
760                         if (creature_ptr->muta3 & MUT3_MORONIC)
761                         {
762                                 msg_print(_("あなたはもう精神薄弱ではない。", "You are no longer moronic."));
763
764                                 creature_ptr->muta3 &= ~(MUT3_MORONIC);
765                         }
766                 }
767                 else if (muta_which == MUT3_IRON_SKIN)
768                 {
769                         if (creature_ptr->muta3 & MUT3_SCALES)
770                         {
771                                 msg_print(_("鱗がなくなった。", "You lose your scales."));
772
773                                 creature_ptr->muta3 &= ~(MUT3_SCALES);
774                         }
775                         if (creature_ptr->muta3 & MUT3_FLESH_ROT)
776                         {
777                                 msg_print(_("肉体が腐乱しなくなった。", "Your flesh rots no longer."));
778
779                                 creature_ptr->muta3 &= ~(MUT3_FLESH_ROT);
780                         }
781                         if (creature_ptr->muta3 & MUT3_WART_SKIN)
782                         {
783                                 msg_print(_("肌のイボイボがなくなった。", "You lose your warts."));
784
785                                 creature_ptr->muta3 &= ~(MUT3_WART_SKIN);
786                         }
787                 }
788                 else if (muta_which == MUT3_WART_SKIN || muta_which == MUT3_SCALES
789                         || muta_which == MUT3_FLESH_ROT)
790                 {
791                         if (creature_ptr->muta3 & MUT3_IRON_SKIN)
792                         {
793                                 msg_print(_("あなたの肌はもう鉄ではない。", "Your skin is no longer made of steel."));
794
795                                 creature_ptr->muta3 &= ~(MUT3_IRON_SKIN);
796                         }
797                 }
798                 else if (muta_which == MUT3_FEARLESS)
799                 {
800                         if (creature_ptr->muta2 & MUT2_COWARDICE)
801                         {
802                                 msg_print(_("臆病でなくなった。", "You are no longer cowardly."));
803
804                                 creature_ptr->muta2 &= ~(MUT2_COWARDICE);
805                         }
806                 }
807                 else if (muta_which == MUT3_FLESH_ROT)
808                 {
809                         if (creature_ptr->muta3 & MUT3_REGEN)
810                         {
811                                 msg_print(_("急速に回復しなくなった。", "You stop regenerating."));
812
813                                 creature_ptr->muta3 &= ~(MUT3_REGEN);
814                         }
815                 }
816                 else if (muta_which == MUT3_REGEN)
817                 {
818                         if (creature_ptr->muta3 & MUT3_FLESH_ROT)
819                         {
820                                 msg_print(_("肉体が腐乱しなくなった。", "Your flesh stops rotting."));
821
822                                 creature_ptr->muta3 &= ~(MUT3_FLESH_ROT);
823                         }
824                 }
825                 else if (muta_which == MUT3_LIMBER)
826                 {
827                         if (creature_ptr->muta3 & MUT3_ARTHRITIS)
828                         {
829                                 msg_print(_("関節が痛くなくなった。", "Your joints stop hurting."));
830
831                                 creature_ptr->muta3 &= ~(MUT3_ARTHRITIS);
832                         }
833                 }
834                 else if (muta_which == MUT3_ARTHRITIS)
835                 {
836                         if (creature_ptr->muta3 & MUT3_LIMBER)
837                         {
838                                 msg_print(_("あなたはしなやかでなくなった。", "You no longer feel limber."));
839
840                                 creature_ptr->muta3 &= ~(MUT3_LIMBER);
841                         }
842                 }
843         }
844         else if (muta_class == &(creature_ptr->muta2))
845         {
846                 if (muta_which == MUT2_COWARDICE)
847                 {
848                         if (creature_ptr->muta3 & MUT3_FEARLESS)
849                         {
850                                 msg_print(_("恐れ知らずでなくなった。", "You no longer feel fearless."));
851
852                                 creature_ptr->muta3 &= ~(MUT3_FEARLESS);
853                         }
854                 }
855                 if (muta_which == MUT2_BEAK)
856                 {
857                         if (creature_ptr->muta2 & MUT2_TRUNK)
858                         {
859                                 msg_print(_("あなたの鼻はもう象の鼻のようではなくなった。", "Your nose is no longer elephantine."));
860
861                                 creature_ptr->muta2 &= ~(MUT2_TRUNK);
862                         }
863                 }
864                 if (muta_which == MUT2_TRUNK)
865                 {
866                         if (creature_ptr->muta2 & MUT2_BEAK)
867                         {
868                                 msg_print(_("硬いクチバシがなくなった。", "You no longer have a hard beak."));
869
870                                 creature_ptr->muta2 &= ~(MUT2_BEAK);
871                         }
872                 }
873         }
874
875         creature_ptr->mutant_regenerate_mod = calc_mutant_regenerate_mod(creature_ptr);
876         creature_ptr->update |= PU_BONUS;
877         handle_stuff(creature_ptr);
878         return TRUE;
879 }
880
881 /*!
882  * @brief プレイヤーから突然変異を取り除く
883  * @param choose_mut 取り除きたい突然変異のID、0ならばランダムに消去
884  * @return なし
885  */
886 bool lose_mutation(player_type *creature_ptr, MUTATION_IDX choose_mut)
887 {
888         int attempts_left = 20;
889         concptr muta_desc = "";
890         bool muta_chosen = FALSE;
891         BIT_FLAGS muta_which = 0;
892         BIT_FLAGS *muta_class = NULL;
893
894         if (choose_mut) attempts_left = 1;
895
896         while (attempts_left--)
897         {
898                 switch (choose_mut ? choose_mut : randint1(193))
899                 {
900                 case 1: case 2: case 3: case 4:
901                         muta_class = &(creature_ptr->muta1);
902                         muta_which = MUT1_SPIT_ACID;
903                         muta_desc = _( "酸を吹きかける能力を失った。",  "You lose the ability to spit acid.");
904
905                         break;
906                 case 5: case 6: case 7:
907                         muta_class = &(creature_ptr->muta1);
908                         muta_which = MUT1_BR_FIRE;
909                         muta_desc = _( "炎のブレスを吐く能力を失った。",  "You lose the ability to breathe fire.");
910
911                         break;
912                 case 8: case 9:
913                         muta_class = &(creature_ptr->muta1);
914                         muta_which = MUT1_HYPN_GAZE;
915                         muta_desc = _( "あなたの目はつまらない目になった。",  "Your eyes look uninteresting.");
916
917                         break;
918                 case 10: case 11:
919                         muta_class = &(creature_ptr->muta1);
920                         muta_which = MUT1_TELEKINES;
921                         muta_desc = _( "念動力で物を動かす能力を失った。",  "You lose the ability to move objects telekinetically.");
922
923                         break;
924                 case 12: case 13: case 14:
925                         muta_class = &(creature_ptr->muta1);
926                         muta_which = MUT1_VTELEPORT;
927                         muta_desc = _( "自分の意思でテレポートする能力を失った。",  "You lose the power of teleportation at will.");
928
929                         break;
930                 case 15: case 16:
931                         muta_class = &(creature_ptr->muta1);
932                         muta_which = MUT1_MIND_BLST;
933                         muta_desc = _( "精神攻撃の能力を失った。",  "You lose the power of Mind Blast.");
934
935                         break;
936                 case 17: case 18:
937                         muta_class = &(creature_ptr->muta1);
938                         muta_which = MUT1_RADIATION;
939                         muta_desc = _( "あなたは放射能を発生しなくなった。",  "You stop emitting hard radiation.");
940
941                         break;
942                 case 19: case 20:
943                         muta_class = &(creature_ptr->muta1);
944                         muta_which = MUT1_VAMPIRISM;
945                         muta_desc = _( "吸血の能力を失った。",  "You are no longer vampiric.");
946
947                         break;
948                 case 21: case 22: case 23:
949                         muta_class = &(creature_ptr->muta1);
950                         muta_which = MUT1_SMELL_MET;
951                         muta_desc = _( "金属の臭いを嗅げなくなった。",  "You no longer smell a metallic odor.");
952
953                         break;
954                 case 24: case 25: case 26: case 27:
955                         muta_class = &(creature_ptr->muta1);
956                         muta_which = MUT1_SMELL_MON;
957                         muta_desc = _( "不潔なモンスターの臭いを嗅げなくなった。",  "You no longer smell filthy monsters.");
958
959                         break;
960                 case 28: case 29: case 30:
961                         muta_class = &(creature_ptr->muta1);
962                         muta_which = MUT1_BLINK;
963                         muta_desc = _( "近距離テレポートの能力を失った。",  "You lose the power of minor teleportation.");
964
965                         break;
966                 case 31: case 32:
967                         muta_class = &(creature_ptr->muta1);
968                         muta_which = MUT1_EAT_ROCK;
969                         muta_desc = _( "壁は美味しそうに見えなくなった。",  "The walls look unappetizing.");
970
971                         break;
972                 case 33: case 34:
973                         muta_class = &(creature_ptr->muta1);
974                         muta_which = MUT1_SWAP_POS;
975                         muta_desc = _( "あなたは自分の靴に留まる感じがする。",  "You feel like staying in your own shoes.");
976
977                         break;
978                 case 35: case 36: case 37:
979                         muta_class = &(creature_ptr->muta1);
980                         muta_which = MUT1_SHRIEK;
981                         muta_desc = _( "あなたの声質は弱くなった。",  "Your vocal cords get much weaker.");
982
983                         break;
984                 case 38: case 39: case 40:
985                         muta_class = &(creature_ptr->muta1);
986                         muta_which = MUT1_ILLUMINE;
987                         muta_desc = _( "部屋を明るく照らすことが出来なくなった。",  "You can no longer light up rooms with your presence.");
988
989                         break;
990                 case 41: case 42:
991                         muta_class = &(creature_ptr->muta1);
992                         muta_which = MUT1_DET_CURSE;
993                         muta_desc = _( "邪悪な魔法を感じられなくなった。",  "You can no longer feel evil magics.");
994
995                         break;
996                 case 43: case 44: case 45:
997                         muta_class = &(creature_ptr->muta1);
998                         muta_which = MUT1_BERSERK;
999                         muta_desc = _( "制御できる激情を感じなくなった。",  "You no longer feel a controlled rage.");
1000
1001                         break;
1002                 case 46:
1003                         muta_class = &(creature_ptr->muta1);
1004                         muta_which = MUT1_POLYMORPH;
1005                         muta_desc = _( "あなたの体は安定したように見える。",  "Your body seems stable.");
1006
1007                         break;
1008                 case 47: case 48:
1009                         muta_class = &(creature_ptr->muta1);
1010                         muta_which = MUT1_MIDAS_TCH;
1011                         muta_desc = _( "ミダスの手の能力を失った。",  "You lose the Midas touch.");
1012
1013                         break;
1014                 case 49:
1015                         muta_class = &(creature_ptr->muta1);
1016                         muta_which = MUT1_GROW_MOLD;
1017                         muta_desc = _( "突然カビが嫌いになった。",  "You feel a sudden dislike for mold.");
1018
1019                         break;
1020                 case 50: case 51: case 52:
1021                         muta_class = &(creature_ptr->muta1);
1022                         muta_which = MUT1_RESIST;
1023                         muta_desc = _( "傷つき易くなった気がする。",  "You feel like you might be vulnerable.");
1024
1025                         break;
1026                 case 53: case 54: case 55:
1027                         muta_class = &(creature_ptr->muta1);
1028                         muta_which = MUT1_EARTHQUAKE;
1029                         muta_desc = _( "ダンジョンを壊す能力を失った。",  "You lose the ability to wreck the dungeon.");
1030
1031                         break;
1032                 case 56:
1033                         muta_class = &(creature_ptr->muta1);
1034                         muta_which = MUT1_EAT_MAGIC;
1035                         muta_desc = _( "魔法のアイテムはもう美味しそうに見えなくなった。",  "Your magic items no longer look delicious.");
1036
1037                         break;
1038                 case 57: case 58:
1039                         muta_class = &(creature_ptr->muta1);
1040                         muta_which = MUT1_WEIGH_MAG;
1041                         muta_desc = _( "魔力を感じられなくなった。",  "You no longer sense magic.");
1042
1043                         break;
1044                 case 59:
1045                         muta_class = &(creature_ptr->muta1);
1046                         muta_which = MUT1_STERILITY;
1047                         muta_desc = _( "たくさんの安堵の吐息が聞こえた。",  "You hear a massed sigh of relief.");
1048
1049                         break;
1050                 case 60: case 61:
1051                         muta_class = &(creature_ptr->muta1);
1052                         muta_which = MUT1_HIT_AND_AWAY;
1053                         muta_desc = _( "あちこちへ跳べる気分がなくなった。",  "You no longer feel jumpy.");
1054
1055                         break;
1056                 case 62: case 63: case 64:
1057                         muta_class = &(creature_ptr->muta1);
1058                         muta_which = MUT1_DAZZLE;
1059                         muta_desc = _( "まばゆい閃光を発する能力を失った。",  "You lose the ability to emit dazzling lights.");
1060
1061                         break;
1062                 case 65: case 66: case 67:
1063                         muta_class = &(creature_ptr->muta1);
1064                         muta_which = MUT1_LASER_EYE;
1065                         muta_desc = _( "眼が少しの間焼き付いて、痛みが和らいだ。",  "Your eyes burn for a moment, then feel soothed.");
1066
1067                         break;
1068                 case 68: case 69:
1069                         muta_class = &(creature_ptr->muta1);
1070                         muta_which = MUT1_RECALL;
1071                         muta_desc = _( "少しの間ホームシックになった。",  "You feel briefly homesick.");
1072
1073                         break;
1074                 case 70:
1075                         muta_class = &(creature_ptr->muta1);
1076                         muta_which = MUT1_BANISH;
1077                         muta_desc = _( "神聖な怒りの力を感じなくなった。",  "You no longer feel a holy wrath.");
1078
1079                         break;
1080                 case 71: case 72:
1081                         muta_class = &(creature_ptr->muta1);
1082                         muta_which = MUT1_COLD_TOUCH;
1083                         muta_desc = _( "手が暖かくなった。",  "Your hands warm up.");
1084
1085                         break;
1086                 case 73: case 74:
1087                         muta_class = &(creature_ptr->muta1);
1088                         muta_which = MUT1_LAUNCHER;
1089                         muta_desc = _( "物を投げる手が弱くなった気がする。",  "Your throwing arm feels much weaker.");
1090
1091                         break;
1092                 case 75:
1093                         muta_class = &(creature_ptr->muta2);
1094                         muta_which = MUT2_BERS_RAGE;
1095                         muta_desc = _( "凶暴化の発作にさらされなくなった!",  "You are no longer subject to fits of berserk rage!");
1096
1097                         break;
1098                 case 76:
1099                         muta_class = &(creature_ptr->muta2);
1100                         muta_which = MUT2_COWARDICE;
1101                         muta_desc = _( "もう信じがたいほど臆病ではなくなった!",  "You are no longer an incredible coward!");
1102
1103                         break;
1104                 case 77:
1105                         muta_class = &(creature_ptr->muta2);
1106                         muta_which = MUT2_RTELEPORT;
1107                         muta_desc = _( "あなたの位置はより確定的になった。",  "Your position seems more certain.");
1108
1109                         break;
1110                 case 78:
1111                         muta_class = &(creature_ptr->muta2);
1112                         muta_which = MUT2_ALCOHOL;
1113                         muta_desc = _( "あなたはアルコールを分泌しなくなった!",  "Your body stops producing alcohol!");
1114
1115                         break;
1116                 case 79:
1117                         muta_class = &(creature_ptr->muta2);
1118                         muta_which = MUT2_HALLU;
1119                         muta_desc = _( "幻覚をひき起こす精神障害を起こさなくなった!",  "You are no longer afflicted by a hallucinatory insanity!");
1120
1121                         break;
1122                 case 80:
1123                         muta_class = &(creature_ptr->muta2);
1124                         muta_which = MUT2_FLATULENT;
1125                         muta_desc = _( "もう強烈な屁はこかなくなった。",  "You are no longer subject to uncontrollable flatulence.");
1126
1127                         break;
1128                 case 81: case 82:
1129                         muta_class = &(creature_ptr->muta2);
1130                         muta_which = MUT2_SCOR_TAIL;
1131                         muta_desc = _( "サソリの尻尾がなくなった!",  "You lose your scorpion tail!");
1132
1133                         break;
1134                 case 83: case 84:
1135                         muta_class = &(creature_ptr->muta2);
1136                         muta_which = MUT2_HORNS;
1137                         muta_desc = _( "額から角が消えた!",  "Your horns vanish from your forehead!");
1138
1139                         break;
1140                 case 85: case 86:
1141                         muta_class = &(creature_ptr->muta2);
1142                         muta_which = MUT2_BEAK;
1143                         muta_desc = _( "口が普通に戻った!",  "Your mouth reverts to normal!");
1144
1145                         break;
1146                 case 87: case 88:
1147                         muta_class = &(creature_ptr->muta2);
1148                         muta_which = MUT2_ATT_DEMON;
1149                         muta_desc = _( "デーモンを引き寄せなくなった。",  "You stop attracting demons.");
1150
1151                         break;
1152                 case 89:
1153                         muta_class = &(creature_ptr->muta2);
1154                         muta_which = MUT2_PROD_MANA;
1155                         muta_desc = _( "制御不能な魔法のエネルギーを発生しなくなった。",  "You stop producing magical energy uncontrollably.");
1156
1157                         break;
1158                 case 90: case 91:
1159                         muta_class = &(creature_ptr->muta2);
1160                         muta_which = MUT2_SPEED_FLUX;
1161                         muta_desc = _( "躁鬱質でなくなった。",  "You are no longer manic-depressive.");
1162
1163                         break;
1164                 case 92: case 93:
1165                         muta_class = &(creature_ptr->muta2);
1166                         muta_which = MUT2_BANISH_ALL;
1167                         muta_desc = _( "背後に恐ろしい力を感じなくなった。",  "You no longer feel a terrifying power lurking behind you.");
1168
1169                         break;
1170                 case 94:
1171                         muta_class = &(creature_ptr->muta2);
1172                         muta_which = MUT2_EAT_LIGHT;
1173                         muta_desc = _( "世界が明るいと感じる。",  "You feel the world's a brighter place.");
1174
1175                         break;
1176                 case 95: case 96:
1177                         muta_class = &(creature_ptr->muta2);
1178                         muta_which = MUT2_TRUNK;
1179                         muta_desc = _( "鼻が普通の長さに戻った。",  "Your nose returns to a normal length.");
1180
1181                         break;
1182                 case 97:
1183                         muta_class = &(creature_ptr->muta2);
1184                         muta_which = MUT2_ATT_ANIMAL;
1185                         muta_desc = _( "動物を引き寄せなくなった。",  "You stop attracting animals.");
1186
1187                         break;
1188                 case 98:
1189                         muta_class = &(creature_ptr->muta2);
1190                         muta_which = MUT2_TENTACLES;
1191                         muta_desc = _( "触手が消えた。",  "Your tentacles vanish from your sides.");
1192
1193                         break;
1194                 case 99:
1195                         muta_class = &(creature_ptr->muta2);
1196                         muta_which = MUT2_RAW_CHAOS;
1197                         muta_desc = _( "周囲の空間が安定した気がする。",  "You feel the universe is more stable around you.");
1198
1199                         break;
1200                 case 100: case 101: case 102:
1201                         muta_class = &(creature_ptr->muta2);
1202                         muta_which = MUT2_NORMALITY;
1203                         muta_desc = _( "普通に奇妙な感じがする。",  "You feel normally strange.");
1204
1205                         break;
1206                 case 103:
1207                         muta_class = &(creature_ptr->muta2);
1208                         muta_which = MUT2_WRAITH;
1209                         muta_desc = _( "あなたは物質世界にしっかり存在している。",  "You are firmly in the physical world.");
1210
1211                         break;
1212                 case 104:
1213                         muta_class = &(creature_ptr->muta2);
1214                         muta_which = MUT2_POLY_WOUND;
1215                         muta_desc = _( "古い傷からカオスの力が去っていった。",  "You feel forces of chaos departing your old scars.");
1216
1217                         break;
1218                 case 105:
1219                         muta_class = &(creature_ptr->muta2);
1220                         muta_which = MUT2_WASTING;
1221                         muta_desc = _( "おぞましい衰弱病が治った!",  "You are cured of the horrible wasting disease!");
1222
1223                         break;
1224                 case 106:
1225                         muta_class = &(creature_ptr->muta2);
1226                         muta_which = MUT2_ATT_DRAGON;
1227                         muta_desc = _( "ドラゴンを引き寄せなくなった。",  "You stop attracting dragons.");
1228
1229                         break;
1230                 case 107: case 108:
1231                         muta_class = &(creature_ptr->muta2);
1232                         muta_which = MUT2_WEIRD_MIND;
1233                         muta_desc = _( "思考が退屈な方向に戻った。",  "Your thoughts return to boring paths.");
1234
1235                         break;
1236                 case 109:
1237                         muta_class = &(creature_ptr->muta2);
1238                         muta_which = MUT2_NAUSEA;
1239                         muta_desc = _( "胃が痙攣しなくなった。",  "Your stomach stops roiling.");
1240
1241                         break;
1242                 case 110: case 111:
1243                         muta_class = &(creature_ptr->muta2);
1244                         muta_which = MUT2_CHAOS_GIFT;
1245                         muta_desc = _( "混沌の神々の興味を惹かなくなった。",  "You lose the attention of the chaos deities.");
1246
1247                         break;
1248                 case 112:
1249                         muta_class = &(creature_ptr->muta2);
1250                         muta_which = MUT2_WALK_SHAD;
1251                         muta_desc = _( "物質世界に捕らわれている気がする。",  "You feel like you're trapped in reality.");
1252
1253                         break;
1254                 case 113: case 114:
1255                         muta_class = &(creature_ptr->muta2);
1256                         muta_which = MUT2_WARNING;
1257                         muta_desc = _( "パラノイアでなくなった。",  "You no longer feel paranoid.");
1258
1259                         break;
1260                 case 115:
1261                         muta_class = &(creature_ptr->muta2);
1262                         muta_which = MUT2_INVULN;
1263                         muta_desc = _( "無敵状態の発作を起こさなくなった。",  "You are no longer blessed with fits of invulnerability.");
1264
1265                         break;
1266                 case 116: case 117:
1267                         muta_class = &(creature_ptr->muta2);
1268                         muta_which = MUT2_SP_TO_HP;
1269                         muta_desc = _( "魔法の治癒の発作に襲われなくなった。",  "You are no longer subject to fits of magical healing.");
1270
1271                         break;
1272                 case 118:
1273                         muta_class = &(creature_ptr->muta2);
1274                         muta_which = MUT2_HP_TO_SP;
1275                         muta_desc = _( "痛みを伴う精神明瞭化の発作に襲われなくなった。",  "You are no longer subject to fits of painful clarity.");
1276
1277                         break;
1278                 case 119:
1279                         muta_class = &(creature_ptr->muta2);
1280                         muta_which = MUT2_DISARM;
1281                         muta_desc = _( "脚が元の大きさに戻った。",  "Your feet shrink to their former size.");
1282
1283                         break;
1284                 case 120: case 121: case 122:
1285                         muta_class = &(creature_ptr->muta3);
1286                         muta_which = MUT3_HYPER_STR;
1287                         muta_desc = _( "筋肉が普通に戻った。",  "Your muscles revert to normal.");
1288
1289                         break;
1290                 case 123: case 124: case 125:
1291                         muta_class = &(creature_ptr->muta3);
1292                         muta_which = MUT3_PUNY;
1293                         muta_desc = _( "筋肉が普通に戻った。",  "Your muscles revert to normal.");
1294
1295                         break;
1296                 case 126: case 127: case 128:
1297                         muta_class = &(creature_ptr->muta3);
1298                         muta_which = MUT3_HYPER_INT;
1299                         muta_desc = _( "脳が普通に戻った。",  "Your brain reverts to normal.");
1300
1301                         break;
1302                 case 129: case 130: case 131:
1303                         muta_class = &(creature_ptr->muta3);
1304                         muta_which = MUT3_MORONIC;
1305                         muta_desc = _( "脳が普通に戻った。",  "Your brain reverts to normal.");
1306
1307                         break;
1308                 case 132: case 133:
1309                         muta_class = &(creature_ptr->muta3);
1310                         muta_which = MUT3_RESILIENT;
1311                         muta_desc = _( "普通の丈夫さに戻った。",  "You become ordinarily resilient again.");
1312
1313                         break;
1314                 case 134: case 135:
1315                         muta_class = &(creature_ptr->muta3);
1316                         muta_which = MUT3_XTRA_FAT;
1317                         muta_desc = _( "奇跡的なダイエットに成功した!",  "You benefit from a miracle diet!");
1318
1319                         break;
1320                 case 136: case 137:
1321                         muta_class = &(creature_ptr->muta3);
1322                         muta_which = MUT3_ALBINO;
1323                         muta_desc = _( "アルビノでなくなった!",  "You are no longer an albino!");
1324
1325                         break;
1326                 case 138: case 139: case 140:
1327                         muta_class = &(creature_ptr->muta3);
1328                         muta_which = MUT3_FLESH_ROT;
1329                         muta_desc = _( "肉体を腐敗させる病気が治った!",  "Your flesh is no longer afflicted by a rotting disease!");
1330
1331                         break;
1332                 case 141: case 142:
1333                         muta_class = &(creature_ptr->muta3);
1334                         muta_which = MUT3_SILLY_VOI;
1335                         muta_desc = _( "声質が普通に戻った。",  "Your voice returns to normal.");
1336
1337                         break;
1338                 case 143: case 144:
1339                         muta_class = &(creature_ptr->muta3);
1340                         muta_which = MUT3_BLANK_FAC;
1341                         muta_desc = _( "顔に目鼻が戻った。",  "Your facial features return.");
1342
1343                         break;
1344                 case 145:
1345                         muta_class = &(creature_ptr->muta3);
1346                         muta_which = MUT3_ILL_NORM;
1347                         muta_desc = _( "心が安らぐ幻影を映し出さなくなった。",  "You stop projecting a reassuring image.");
1348
1349                         break;
1350                 case 146: case 147: case 148:
1351                         muta_class = &(creature_ptr->muta3);
1352                         muta_which = MUT3_XTRA_EYES;
1353                         muta_desc = _( "余分な目が消えてしまった!",  "Your extra eyes vanish!");
1354
1355                         break;
1356                 case 149: case 150:
1357                         muta_class = &(creature_ptr->muta3);
1358                         muta_which = MUT3_MAGIC_RES;
1359                         muta_desc = _( "魔法に弱くなった。",  "You become susceptible to magic again.");
1360
1361                         break;
1362                 case 151: case 152: case 153:
1363                         muta_class = &(creature_ptr->muta3);
1364                         muta_which = MUT3_XTRA_NOIS;
1365                         muta_desc = _( "奇妙な音を立てなくなった!",  "You stop making strange noise!");
1366
1367                         break;
1368                 case 154: case 155: case 156:
1369                         muta_class = &(creature_ptr->muta3);
1370                         muta_which = MUT3_INFRAVIS;
1371                         muta_desc = _( "赤外線視力が落ちた。",  "Your infravision is degraded.");
1372
1373                         break;
1374                 case 157: case 158:
1375                         muta_class = &(creature_ptr->muta3);
1376                         muta_which = MUT3_XTRA_LEGS;
1377                         muta_desc = _( "余分な脚が消えてしまった!",  "Your extra legs disappear!");
1378
1379                         break;
1380                 case 159: case 160:
1381                         muta_class = &(creature_ptr->muta3);
1382                         muta_which = MUT3_SHORT_LEG;
1383                         muta_desc = _( "脚の長さが普通に戻った。",  "Your legs lengthen to normal.");
1384
1385                         break;
1386                 case 161: case 162:
1387                         muta_class = &(creature_ptr->muta3);
1388                         muta_which = MUT3_ELEC_TOUC;
1389                         muta_desc = _( "体を電流が流れなくなった。",  "Electricity stops running through you.");
1390
1391                         break;
1392                 case 163: case 164:
1393                         muta_class = &(creature_ptr->muta3);
1394                         muta_which = MUT3_FIRE_BODY;
1395                         muta_desc = _( "体が炎に包まれなくなった。",  "Your body is no longer enveloped in flames.");
1396
1397                         break;
1398                 case 165: case 166: case 167:
1399                         muta_class = &(creature_ptr->muta3);
1400                         muta_which = MUT3_WART_SKIN;
1401                         muta_desc = _( "イボイボが消えた!",  "Your warts disappear!");
1402
1403                         break;
1404                 case 168: case 169: case 170:
1405                         muta_class = &(creature_ptr->muta3);
1406                         muta_which = MUT3_SCALES;
1407                         muta_desc = _( "鱗が消えた!",  "Your scales vanish!");
1408
1409                         break;
1410                 case 171: case 172:
1411                         muta_class = &(creature_ptr->muta3);
1412                         muta_which = MUT3_IRON_SKIN;
1413                         muta_desc = _( "肌が肉にもどった!",  "Your skin reverts to flesh!");
1414
1415                         break;
1416                 case 173: case 174:
1417                         muta_class = &(creature_ptr->muta3);
1418                         muta_which = MUT3_WINGS;
1419                         muta_desc = _( "背中の羽根が取れ落ちた。",  "Your wings fall off.");
1420
1421                         break;
1422                 case 175: case 176: case 177:
1423                         muta_class = &(creature_ptr->muta3);
1424                         muta_which = MUT3_FEARLESS;
1425                         muta_desc = _( "再び恐怖を感じるようになった。",  "You begin to feel fear again.");
1426
1427                         break;
1428                 case 178: case 179:
1429                         muta_class = &(creature_ptr->muta3);
1430                         muta_which = MUT3_REGEN;
1431                         muta_desc = _( "急速回復しなくなった。",  "You stop regenerating.");
1432
1433                         break;
1434                 case 180: case 181:
1435                         muta_class = &(creature_ptr->muta3);
1436                         muta_which = MUT3_ESP;
1437                         muta_desc = _( "テレパシーの能力を失った!",  "You lose your telepathic ability!");
1438
1439                         break;
1440                 case 182: case 183: case 184:
1441                         muta_class = &(creature_ptr->muta3);
1442                         muta_which = MUT3_LIMBER;
1443                         muta_desc = _( "筋肉が硬くなった。",  "Your muscles stiffen.");
1444
1445                         break;
1446                 case 185: case 186: case 187:
1447                         muta_class = &(creature_ptr->muta3);
1448                         muta_which = MUT3_ARTHRITIS;
1449                         muta_desc = _( "関節が痛くなくなった。",  "Your joints stop hurting.");
1450
1451                         break;
1452                 case 188:
1453                         muta_class = &(creature_ptr->muta3);
1454                         muta_which = MUT3_BAD_LUCK;
1455                         muta_desc = _( "黒いオーラは渦巻いて消えた。",  "Your black aura swirls and fades.");
1456
1457                         break;
1458                 case 189:
1459                         muta_class = &(creature_ptr->muta3);
1460                         muta_which = MUT3_VULN_ELEM;
1461                         muta_desc = _( "無防備な感じはなくなった。",  "You feel less exposed.");
1462
1463                         break;
1464                 case 190: case 191: case 192:
1465                         muta_class = &(creature_ptr->muta3);
1466                         muta_which = MUT3_MOTION;
1467                         muta_desc = _( "動作の正確さがなくなった。",  "You move with less assurance.");
1468
1469                         break;
1470                 case 193:
1471                         if (creature_ptr->pseikaku == SEIKAKU_LUCKY) break;
1472                         muta_class = &(creature_ptr->muta3);
1473                         muta_which = MUT3_GOOD_LUCK;
1474                         muta_desc = _( "白いオーラは輝いて消えた。",  "Your white aura shimmers and fades.");
1475
1476                         break;
1477                 default:
1478                         muta_class = NULL;
1479                         muta_which = 0;
1480                 }
1481
1482                 if (muta_class && muta_which)
1483                 {
1484                         if (*(muta_class) & muta_which)
1485                         {
1486                                 muta_chosen = TRUE;
1487                         }
1488                 }
1489                 if (muta_chosen == TRUE) break;
1490         }
1491
1492         if (!muta_chosen)
1493         {
1494                 return FALSE;
1495         }
1496
1497         msg_print(muta_desc);
1498         *(muta_class) &= ~(muta_which);
1499
1500         creature_ptr->update |= PU_BONUS;
1501         handle_stuff(creature_ptr);
1502         creature_ptr->mutant_regenerate_mod = calc_mutant_regenerate_mod(creature_ptr);
1503         return TRUE;
1504 }
1505
1506
1507 void lose_all_mutations(player_type *creature_ptr)
1508 {
1509         if (creature_ptr->muta1 || creature_ptr->muta2 || creature_ptr->muta3)
1510         {
1511                 chg_virtue(creature_ptr, V_CHANCE, -5);
1512                 msg_print(_("全ての突然変異が治った。", "You are cured of all mutations."));
1513                 creature_ptr->muta1 = creature_ptr->muta2 = creature_ptr->muta3 = 0;
1514                 creature_ptr->update |= PU_BONUS;
1515                 handle_stuff(creature_ptr);
1516                 creature_ptr->mutant_regenerate_mod = calc_mutant_regenerate_mod(creature_ptr);
1517         }
1518 }
1519
1520
1521 /*!
1522  * @brief 現在プレイヤー得ている突然変異の数を返す。
1523  * @return 現在得ている突然変異の数
1524  */
1525 static int count_mutations(player_type *creature_ptr)
1526 {
1527         return (count_bits(creature_ptr->muta1) +
1528                 count_bits(creature_ptr->muta2) +
1529                 count_bits(creature_ptr->muta3));
1530 }
1531
1532
1533 /*!
1534  * @brief 突然変異による自然回復ペナルティをパーセント値で返す /
1535  * Return the modifier to the regeneration rate (in percent)
1536  * @return ペナルティ修正(%)
1537  */
1538 int calc_mutant_regenerate_mod(player_type *creature_ptr)
1539 {
1540         int regen;
1541         int mod = 10;
1542         int count = count_mutations(creature_ptr);
1543
1544         /*
1545          * Beastman get 10 "free" mutations and
1546          * only 5% decrease per additional mutation
1547          */
1548
1549         if (creature_ptr->pseikaku == SEIKAKU_LUCKY) count--;
1550         if (creature_ptr->prace == RACE_BEASTMAN)
1551         {
1552                 count -= 10;
1553                 mod = 5;
1554         }
1555
1556         /* No negative modifier */
1557         if (count <= 0) return 100;
1558
1559         regen = 100 - count * mod;
1560
1561         /* Max. 90% decrease in regeneration speed */
1562         if (regen < 10) regen = 10;
1563
1564         return (regen);
1565 }
1566
1567
1568 /*!
1569  * @brief 突然変異のレイシャル効果実装
1570  * @param creature_ptr プレーヤーへの参照ポインタ
1571  * @param power 発動させる突然変異レイシャルのID
1572  * @return レイシャルを実行した場合TRUE、キャンセルした場合FALSEを返す
1573  */
1574 bool exe_mutation_power(player_type *creature_ptr, int power)
1575 {
1576         DIRECTION dir = 0;
1577         PLAYER_LEVEL lvl = creature_ptr->lev;
1578
1579         switch (power)
1580         {
1581                 case MUT1_SPIT_ACID:
1582                         if (!get_aim_dir(creature_ptr, &dir)) return FALSE;
1583                         stop_mouth(creature_ptr);
1584                         msg_print(_("酸を吐きかけた...", "You spit acid..."));
1585                         fire_ball(creature_ptr, GF_ACID, dir, lvl, 1 + (lvl / 30));
1586                         break;
1587
1588                 case MUT1_BR_FIRE:
1589                         if (!get_aim_dir(creature_ptr, &dir)) return FALSE;
1590                         stop_mouth(creature_ptr);
1591                         msg_print(_("あなたは火炎のブレスを吐いた...", "You breathe fire..."));
1592                         fire_breath(creature_ptr, GF_FIRE, dir, lvl * 2, 1 + (lvl / 20));
1593                         break;
1594
1595                 case MUT1_HYPN_GAZE:
1596                         if (!get_aim_dir(creature_ptr, &dir)) return FALSE;
1597                         msg_print(_("あなたの目は幻惑的になった...", "Your eyes look mesmerizing..."));
1598                         (void)charm_monster(creature_ptr, dir, lvl);
1599                         break;
1600
1601                 case MUT1_TELEKINES:
1602                         if (!get_aim_dir(creature_ptr, &dir)) return FALSE;
1603                         msg_print(_("集中している...", "You concentrate..."));
1604                         fetch(creature_ptr, dir, lvl * 10, TRUE);
1605                         break;
1606
1607                 case MUT1_VTELEPORT:
1608                         msg_print(_("集中している...", "You concentrate..."));
1609                         teleport_player(creature_ptr, 10 + 4 * lvl, TELEPORT_SPONTANEOUS);
1610                         break;
1611
1612                 case MUT1_MIND_BLST:
1613                         if (!get_aim_dir(creature_ptr, &dir)) return FALSE;
1614                         msg_print(_("集中している...", "You concentrate..."));
1615                         fire_bolt(creature_ptr, GF_PSI, dir, damroll(3 + ((lvl - 1) / 5), 3));
1616                         break;
1617
1618                 case MUT1_RADIATION:
1619                         msg_print(_("体から放射能が発生した!", "Radiation flows from your body!"));
1620                         fire_ball(creature_ptr, GF_NUKE, 0, (lvl * 2), 3 + (lvl / 20));
1621                         break;
1622
1623                 case MUT1_VAMPIRISM:
1624                         vampirism(creature_ptr);
1625                         break;
1626
1627                 case MUT1_SMELL_MET:
1628                         stop_mouth(creature_ptr);
1629                         (void)detect_treasure(creature_ptr, DETECT_RAD_DEFAULT);
1630                         break;
1631
1632                 case MUT1_SMELL_MON:
1633                         stop_mouth(creature_ptr);
1634                         (void)detect_monsters_normal(creature_ptr, DETECT_RAD_DEFAULT);
1635                         break;
1636
1637                 case MUT1_BLINK:
1638                         teleport_player(creature_ptr, 10, TELEPORT_SPONTANEOUS);
1639                         break;
1640
1641                 case MUT1_EAT_ROCK:
1642                         return eat_rock(creature_ptr);
1643                         break;
1644
1645                 case MUT1_SWAP_POS:
1646                         project_length = -1;
1647                         if (!get_aim_dir(creature_ptr, &dir))
1648                         {
1649                                 project_length = 0;
1650                                 return FALSE;
1651                         }
1652                         (void)teleport_swap(creature_ptr, dir);
1653                         project_length = 0;
1654                         break;
1655
1656                 case MUT1_SHRIEK:
1657                         stop_mouth(creature_ptr);
1658                         (void)fire_ball(creature_ptr, GF_SOUND, 0, 2 * lvl, 8);
1659                         (void)aggravate_monsters(creature_ptr, 0);
1660                         break;
1661
1662                 case MUT1_ILLUMINE:
1663                         (void)lite_area(creature_ptr, damroll(2, (lvl / 2)), (lvl / 10) + 1);
1664                         break;
1665
1666                 case MUT1_DET_CURSE:
1667                         {
1668                                 int i;
1669
1670                                 for (i = 0; i < INVEN_TOTAL; i++)
1671                                 {
1672                                         object_type *o_ptr = &creature_ptr->inventory_list[i];
1673
1674                                         if (!o_ptr->k_idx) continue;
1675                                         if (!object_is_cursed(o_ptr)) continue;
1676
1677                                         o_ptr->feeling = FEEL_CURSED;
1678                                 }
1679                         }
1680                         break;
1681
1682                 case MUT1_BERSERK:
1683                         (void)berserk(creature_ptr, randint1(25) + 25);
1684                         break;
1685
1686                 case MUT1_POLYMORPH:
1687                         if (!get_check(_("変身します。よろしいですか?", "You will polymorph your self. Are you sure? "))) return FALSE;
1688                         do_poly_self(creature_ptr);
1689                         break;
1690
1691                 case MUT1_MIDAS_TCH:
1692                         if (!alchemy(creature_ptr)) return FALSE;
1693                         break;
1694
1695                 /* Summon pet molds around the player */
1696                 case MUT1_GROW_MOLD:
1697                         {
1698                                 DIRECTION i;
1699                                 for (i = 0; i < 8; i++)
1700                                 {
1701                                         summon_specific(creature_ptr, -1, creature_ptr->y, creature_ptr->x, lvl, SUMMON_MOLD, PM_FORCE_PET);
1702                                 }
1703                         }
1704                         break;
1705
1706                 case MUT1_RESIST:
1707                         {
1708                                 int num = lvl / 10;
1709                                 TIME_EFFECT dur = randint1(20) + 20;
1710
1711                                 if (randint0(5) < num)
1712                                 {
1713                                         (void)set_oppose_acid(creature_ptr, dur, FALSE);
1714                                         num--;
1715                                 }
1716                                 if (randint0(4) < num)
1717                                 {
1718                                         (void)set_oppose_elec(creature_ptr, dur, FALSE);
1719                                         num--;
1720                                 }
1721                                 if (randint0(3) < num)
1722                                 {
1723                                         (void)set_oppose_fire(creature_ptr, dur, FALSE);
1724                                         num--;
1725                                 }
1726                                 if (randint0(2) < num)
1727                                 {
1728                                         (void)set_oppose_cold(creature_ptr, dur, FALSE);
1729                                         num--;
1730                                 }
1731                                 if (num)
1732                                 {
1733                                         (void)set_oppose_pois(creature_ptr, dur, FALSE);
1734                                         num--;
1735                                 }
1736                         }
1737                         break;
1738
1739                 case MUT1_EARTHQUAKE:
1740                         (void)earthquake(creature_ptr, creature_ptr->y, creature_ptr->x, 10, 0);
1741                         break;
1742
1743                 case MUT1_EAT_MAGIC:
1744                         if (!eat_magic(creature_ptr, creature_ptr->lev * 2)) return FALSE;
1745                         break;
1746
1747                 case MUT1_WEIGH_MAG:
1748                         report_magics(creature_ptr);
1749                         break;
1750
1751                 case MUT1_STERILITY:
1752                         msg_print(_("突然頭が痛くなった!", "You suddenly have a headache!"));
1753                         take_hit(creature_ptr, DAMAGE_LOSELIFE, randint1(17) + 17, _("禁欲を強いた疲労", "the strain of forcing abstinence"), -1);
1754                         creature_ptr->current_floor_ptr->num_repro += MAX_REPRO;
1755                         break;
1756
1757                 case MUT1_HIT_AND_AWAY:
1758                         if(!hit_and_away(creature_ptr)) return FALSE;
1759                         break;
1760
1761                 case MUT1_DAZZLE:
1762                         stun_monsters(creature_ptr, lvl * 4);
1763                         confuse_monsters(creature_ptr, lvl * 4);
1764                         turn_monsters(creature_ptr, lvl * 4);
1765                         break;
1766
1767                 case MUT1_LASER_EYE:
1768                         if (!get_aim_dir(creature_ptr, &dir)) return FALSE;
1769                         fire_beam(creature_ptr, GF_LITE, dir, 2 * lvl);
1770                         break;
1771
1772                 case MUT1_RECALL:
1773                         if (!recall_player(creature_ptr, randint0(21) + 15)) return FALSE;
1774                         break;
1775
1776                 case MUT1_BANISH:
1777                         {
1778                                 POSITION x, y;
1779                                 grid_type *g_ptr;
1780                                 monster_type *m_ptr;
1781                                 monster_race *r_ptr;
1782                                 if (!get_direction(creature_ptr, &dir, FALSE, FALSE)) return FALSE;
1783                                 y = creature_ptr->y + ddy[dir];
1784                                 x = creature_ptr->x + ddx[dir];
1785                                 g_ptr = &creature_ptr->current_floor_ptr->grid_array[y][x];
1786
1787                                 if (!g_ptr->m_idx)
1788                                 {
1789                                         msg_print(_("邪悪な存在を感じとれません!", "You sense no evil there!"));
1790
1791                                         break;
1792                                 }
1793
1794                                 m_ptr = &creature_ptr->current_floor_ptr->m_list[g_ptr->m_idx];
1795                                 r_ptr = &r_info[m_ptr->r_idx];
1796
1797                                 if ((r_ptr->flags3 & RF3_EVIL) &&
1798                                     !(r_ptr->flags1 & RF1_QUESTOR) &&
1799                                     !(r_ptr->flags1 & RF1_UNIQUE) &&
1800                                     !creature_ptr->current_floor_ptr->inside_arena && !creature_ptr->current_floor_ptr->inside_quest &&
1801                                         (r_ptr->level < randint1(creature_ptr->lev+50)) &&
1802                                         !(m_ptr->mflag2 & MFLAG2_NOGENO))
1803                                 {
1804                                         if (record_named_pet && is_pet(m_ptr) && m_ptr->nickname)
1805                                         {
1806                                                 GAME_TEXT m_name[MAX_NLEN];
1807                                                 monster_desc(creature_ptr, m_name, m_ptr, MD_INDEF_VISIBLE);
1808                                                 exe_write_diary(creature_ptr, DIARY_NAMED_PET, RECORD_NAMED_PET_GENOCIDE, m_name);
1809                                         }
1810                                         /* Delete the monster, rather than killing it. */
1811                                         delete_monster_idx(creature_ptr, g_ptr->m_idx);
1812                                         msg_print(_("その邪悪なモンスターは硫黄臭い煙とともに消え去った!", "The evil creature vanishes in a puff of sulfurous smoke!"));
1813
1814                                 }
1815                                 else
1816                                 {
1817                                         msg_print(_("祈りは効果がなかった!", "Your invocation is ineffectual!"));
1818                                         if (one_in_(13)) m_ptr->mflag2 |= MFLAG2_NOGENO;
1819                                 }
1820                         }
1821                         break;
1822
1823                 case MUT1_COLD_TOUCH:
1824                         {
1825                                 POSITION x, y;
1826                                 grid_type *g_ptr;
1827                                 if (!get_direction(creature_ptr, &dir, FALSE, FALSE)) return FALSE;
1828                                 y = creature_ptr->y + ddy[dir];
1829                                 x = creature_ptr->x + ddx[dir];
1830                                 g_ptr = &creature_ptr->current_floor_ptr->grid_array[y][x];
1831                                 if (!g_ptr->m_idx)
1832                                 {
1833                                         msg_print(_("あなたは何もない場所で手を振った。", "You wave your hands in the air."));
1834
1835                                         break;
1836                                 }
1837                                 fire_bolt(creature_ptr, GF_COLD, dir, 2 * lvl);
1838                         }
1839                         break;
1840
1841                 /* XXX_XXX_XXX Hack! MUT1_LAUNCHER is negative, see above */
1842                 case 3: /* MUT1_LAUNCHER */
1843                         /* Gives a multiplier of 2 at first, up to 3 at 40th */
1844                         if (!do_cmd_throw(creature_ptr, 2 + lvl / 40, FALSE, -1)) return FALSE;
1845                         break;
1846
1847                 default:
1848                         free_turn(creature_ptr);
1849                         msg_format(_("能力 %s は実装されていません。", "Power %s not implemented. Oops."), power);
1850         }
1851
1852         return TRUE;
1853 }
1854
1855 void become_living_trump(player_type *creature_ptr)
1856 {
1857         MUTATION_IDX mutation;
1858
1859         if (one_in_(7))
1860                 mutation = 12; /* Teleport control */
1861         else
1862                 mutation = 77; /* Random teleportation (uncontrolled) */
1863
1864         /* Gain the mutation */
1865         if (gain_mutation(creature_ptr, mutation))
1866         {
1867                 msg_print(_("あなたは生きているカードに変わった。", "You have turned into a Living Trump."));
1868         }
1869 }