OSDN Git Service

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