OSDN Git Service

14fe6dabcaca1bfb6873190d897548a514f82fa5
[hengband/hengband.git] / src / mutation.c
1 /* File: mutation.c */
2
3 /*
4  * Copyright (c) 1997 Ben Harrison, James E. Wilson, Robert A. Koeneke
5  *
6  * This software may be copied and distributed for educational, research,
7  * and not for profit purposes provided that this copyright and statement
8  * are included in all such copies.  Other copyrights may also apply.
9  */
10
11 /* Purpose: Mutation effects (and racial powers) */
12
13 #include "angband.h"
14
15
16 bool gain_random_mutation(int choose_mut)
17 {
18         int     attempts_left = 20;
19         cptr    muta_desc = "";
20         bool    muta_chosen = FALSE;
21         u32b    muta_which = 0;
22         u32b    *muta_class = NULL;
23
24         if (choose_mut) attempts_left = 1;
25
26         while (attempts_left--)
27         {
28                 switch (choose_mut ? choose_mut : (p_ptr->pclass == CLASS_BERSERKER ? 74+randint1(119) : randint1(193)))
29                 {
30                 case 1: case 2: case 3: case 4:
31                         muta_class = &(p_ptr->muta1);
32                         muta_which = MUT1_SPIT_ACID;
33 #ifdef JP
34 muta_desc = "»À¤òÅǤ¯Ç½ÎϤòÆÀ¤¿¡£";
35 #else
36                         muta_desc = "You gain the ability to spit acid.";
37 #endif
38
39                         break;
40                 case 5: case 6: case 7:
41                         muta_class = &(p_ptr->muta1);
42                         muta_which = MUT1_BR_FIRE;
43 #ifdef JP
44 muta_desc = "²Ð¤òÅǤ¯Ç½ÎϤòÆÀ¤¿¡£";
45 #else
46                         muta_desc = "You gain the ability to breathe fire.";
47 #endif
48
49                         break;
50                 case 8: case 9:
51                         muta_class = &(p_ptr->muta1);
52                         muta_which = MUT1_HYPN_GAZE;
53 #ifdef JP
54 muta_desc = "ºÅ̲´ã¤ÎǽÎϤòÆÀ¤¿¡£";
55 #else
56                         muta_desc = "Your eyes look mesmerizing...";
57 #endif
58
59                         break;
60                 case 10: case 11:
61                         muta_class = &(p_ptr->muta1);
62                         muta_which = MUT1_TELEKINES;
63 #ifdef JP
64 muta_desc = "ʪÂΤòÇ°Æ°ÎϤÇÆ°¤«¤¹Ç½ÎϤòÆÀ¤¿¡£";
65 #else
66                         muta_desc = "You gain the ability to move objects telekinetically.";
67 #endif
68
69                         break;
70                 case 12: case 13: case 14:
71                         muta_class = &(p_ptr->muta1);
72                         muta_which = MUT1_VTELEPORT;
73 #ifdef JP
74 muta_desc = "¼«Ê¬¤Î°Õ»×¤Ç¥Æ¥ì¥Ý¡¼¥È¤¹¤ëǽÎϤòÆÀ¤¿¡£";
75 #else
76                         muta_desc = "You gain the power of teleportation at will.";
77 #endif
78
79                         break;
80                 case 15: case 16:
81                         muta_class = &(p_ptr->muta1);
82                         muta_which = MUT1_MIND_BLST;
83 #ifdef JP
84 muta_desc = "Àº¿À¹¶·â¤ÎǽÎϤòÆÀ¤¿¡£";
85 #else
86                         muta_desc = "You gain the power of Mind Blast.";
87 #endif
88
89                         break;
90                 case 17: case 18:
91                         muta_class = &(p_ptr->muta1);
92                         muta_which = MUT1_RADIATION;
93 #ifdef JP
94 muta_desc = "¤¢¤Ê¤¿¤Ï¶¯¤¤Êü¼ÍÀþ¤òȯÀ¸¤·»Ï¤á¤¿¡£";
95 #else
96                         muta_desc = "You start emitting hard radiation.";
97 #endif
98
99                         break;
100                 case 19: case 20:
101                         muta_class = &(p_ptr->muta1);
102                         muta_which = MUT1_VAMPIRISM;
103 #ifdef JP
104 muta_desc = "À¸Ì¿ÎϤòµÛ¼ý¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£";
105 #else
106                         muta_desc = "You become vampiric.";
107 #endif
108
109                         break;
110                 case 21: case 22: case 23:
111                         muta_class = &(p_ptr->muta1);
112                         muta_which = MUT1_SMELL_MET;
113 #ifdef JP
114 muta_desc = "¶â°¤ÎÆ÷¤¤¤òÓ̤®Ê¬¤±¤é¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£";
115 #else
116                         muta_desc = "You smell a metallic odor.";
117 #endif
118
119                         break;
120                 case 24: case 25: case 26: case 27:
121                         muta_class = &(p_ptr->muta1);
122                         muta_which = MUT1_SMELL_MON;
123 #ifdef JP
124 muta_desc = "¥â¥ó¥¹¥¿¡¼¤Î½­¤¤¤òÓ̤®Ê¬¤±¤é¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£";
125 #else
126                         muta_desc = "You smell filthy monsters.";
127 #endif
128
129                         break;
130                 case 28: case 29: case 30:
131                         muta_class = &(p_ptr->muta1);
132                         muta_which = MUT1_BLINK;
133 #ifdef JP
134 muta_desc = "¶áµ÷Î¥¥Æ¥ì¥Ý¡¼¥È¤ÎǽÎϤòÆÀ¤¿¡£";
135 #else
136                         muta_desc = "You gain the power of minor teleportation.";
137 #endif
138
139                         break;
140                 case 31: case 32:
141                         muta_class = &(p_ptr->muta1);
142                         muta_which = MUT1_EAT_ROCK;
143 #ifdef JP
144 muta_desc = "Êɤ¬ÈþÌ£¤·¤½¤¦¤Ë¸«¤¨¤ë¡£";
145 #else
146                         muta_desc = "The walls look delicious.";
147 #endif
148
149                         break;
150                 case 33: case 34:
151                         muta_class = &(p_ptr->muta1);
152                         muta_which = MUT1_SWAP_POS;
153 #ifdef JP
154 muta_desc = "¾¿Í¤Î·¤¤Ç°ì¥Þ¥¤¥ëÊ⤯¤è¤¦¤Êµ¤Ê¬¤¬¤¹¤ë¡£";
155 #else
156                         muta_desc = "You feel like walking a mile in someone else's shoes.";
157 #endif
158
159                         break;
160                 case 35: case 36: case 37:
161                         muta_class = &(p_ptr->muta1);
162                         muta_which = MUT1_SHRIEK;
163 #ifdef JP
164 muta_desc = "¤¢¤Ê¤¿¤ÎÀ¼¤ÏÁêÅö¶¯¤¯¤Ê¤Ã¤¿¡£";
165 #else
166                         muta_desc = "Your vocal cords get much tougher.";
167 #endif
168
169                         break;
170                 case 38: case 39: case 40:
171                         muta_class = &(p_ptr->muta1);
172                         muta_which = MUT1_ILLUMINE;
173 #ifdef JP
174 muta_desc = "¤¢¤Ê¤¿¤Ï¸÷¤êµ±¤¤¤ÆÉô²°¤òÌÀ¤ë¤¯¤¹¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£";
175 #else
176                         muta_desc = "You can light up rooms with your presence.";
177 #endif
178
179                         break;
180                 case 41: case 42:
181                         muta_class = &(p_ptr->muta1);
182                         muta_which = MUT1_DET_CURSE;
183 #ifdef JP
184 muta_desc = "¼Ù°­¤ÊËâË¡¤ò´¶ÃΤǤ­¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£";
185 #else
186                         muta_desc = "You can feel evil magics.";
187 #endif
188
189                         break;
190                 case 43: case 44: case 45:
191                         muta_class = &(p_ptr->muta1);
192                         muta_which = MUT1_BERSERK;
193 #ifdef JP
194 muta_desc = "À©¸æ¤Ç¤­¤ë·ã¾ð¤ò´¶¤¸¤ë¡£";
195 #else
196                         muta_desc = "You feel a controlled rage.";
197 #endif
198
199                         break;
200                 case 46:
201                         muta_class = &(p_ptr->muta1);
202                         muta_which = MUT1_POLYMORPH;
203 #ifdef JP
204 muta_desc = "ÂΤ¬ÊÑ°Û¤·¤ä¤¹¤¯¤Ê¤Ã¤¿¡£";
205 #else
206                         muta_desc = "Your body seems mutable.";
207 #endif
208
209                         break;
210                 case 47: case 48:
211                         muta_class = &(p_ptr->muta1);
212                         muta_which = MUT1_MIDAS_TCH;
213 #ifdef JP
214 muta_desc = "¡Ö¥ß¥À¥¹²¦¤Î¼ê¡×¤ÎǽÎϤòÆÀ¤¿¡£";/*¥È¥¥¡¼¥à¥ì¥¤¥À¡¼¥¹¤Ë¤¢¤ê¤Þ¤·¤¿¤Í¡£ */
215 #else
216                         muta_desc = "You gain the Midas touch.";
217 #endif
218
219                         break;
220                 case 49:
221                         muta_class = &(p_ptr->muta1);
222                         muta_which = MUT1_GROW_MOLD;
223 #ifdef JP
224 muta_desc = "ÆÍÁ³¥«¥Ó¤Ë¿Æ¤·¤ß¤ò³Ð¤¨¤¿¡£";
225 #else
226                         muta_desc = "You feel a sudden affinity for mold.";
227 #endif
228
229                         break;
230                 case 50: case 51: case 52:
231                         muta_class = &(p_ptr->muta1);
232                         muta_which = MUT1_RESIST;
233 #ifdef JP
234 muta_desc = "¤¢¤Ê¤¿¤Ï¼«Ê¬¼«¿È¤ò¼é¤ì¤ëµ¤¤¬¤¹¤ë¡£";
235 #else
236                         muta_desc = "You feel like you can protect yourself.";
237 #endif
238
239                         break;
240                 case 53: case 54: case 55:
241                         muta_class = &(p_ptr->muta1);
242                         muta_which = MUT1_EARTHQUAKE;
243 #ifdef JP
244 muta_desc = "¥À¥ó¥¸¥ç¥ó¤òÇ˲õ¤¹¤ëǽÎϤòÆÀ¤¿¡£";
245 #else
246                         muta_desc = "You gain the ability to wreck the dungeon.";
247 #endif
248
249                         break;
250                 case 56:
251                         muta_class = &(p_ptr->muta1);
252                         muta_which = MUT1_EAT_MAGIC;
253 #ifdef JP
254 muta_desc = "ËâË¡¤Î¥¢¥¤¥Æ¥à¤¬ÈþÌ£¤½¤¦¤Ë¸«¤¨¤ë¡£";
255 #else
256                         muta_desc = "Your magic items look delicious.";
257 #endif
258
259                         break;
260                 case 57: case 58:
261                         muta_class = &(p_ptr->muta1);
262                         muta_which = MUT1_WEIGH_MAG;
263 #ifdef JP
264 muta_desc = "¤¢¤Ê¤¿¤Ï¼þ°Ï¤Ë¤¢¤ëËâË¡¤ò¤è¤êÎɤ¯Íý²ò¤Ç¤­¤ëµ¤¤¬¤¹¤ë¡£";
265 #else
266                         muta_desc = "You feel you can better understand the magic around you.";
267 #endif
268
269                         break;
270                 case 59:
271                         muta_class = &(p_ptr->muta1);
272                         muta_which = MUT1_STERILITY;
273 #ifdef JP
274 muta_desc = "¼þ¤ê¤ÎÁ´¤Æ¤Î¼Ô¤ËƬÄˤòµ¯¤³¤¹¤³¤È¤¬¤Ç¤­¤ë¡£";
275 #else
276                         muta_desc = "You can give everything around you a headache.";
277 #endif
278
279                         break;
280                 case 60: case 61:
281                         muta_class = &(p_ptr->muta1);
282                         muta_which = MUT1_PANIC_HIT;
283 #ifdef JP
284 muta_desc = "ÆÍÁ³¡¢Å¥ËÀ¤Îµ¤Ê¬¤¬Ê¬¤«¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£";
285 #else
286                         muta_desc = "You suddenly understand how thieves feel.";
287 #endif
288
289                         break;
290                 case 62: case 63: case 64:
291                         muta_class = &(p_ptr->muta1);
292                         muta_which = MUT1_DAZZLE;
293 #ifdef JP
294 muta_desc = "âÁ¤¤Á®¸÷¤òȯ¤¹¤ëǽÎϤòÆÀ¤¿¡£";
295 #else
296                         muta_desc = "You gain the ability to emit dazzling lights.";
297 #endif
298
299                         break;
300                 case 65: case 66: case 67:
301                         muta_class = &(p_ptr->muta1);
302                         muta_which = MUT1_LASER_EYE;
303 #ifdef JP
304 muta_desc = "¤¢¤Ê¤¿¤ÎÌܤϰì½Ö¾Æ¤±ÉÕ¤¤¤¿¡£";
305 #else
306                         muta_desc = "Your eyes burn for a moment.";
307 #endif
308
309                         break;
310                 case 68: case 69:
311                         muta_class = &(p_ptr->muta1);
312                         muta_which = MUT1_RECALL;
313 #ifdef JP
314 muta_desc = "¾¯¤·¤À¤±¥Û¡¼¥à¥·¥Ã¥¯¤Ë¤Ê¤Ã¤¿¤¬¡¢¤¹¤°Ä¾¤Ã¤¿¡£";
315 #else
316                         muta_desc = "You feel briefly homesick, but it passes.";
317 #endif
318
319                         break;
320                 case 70:
321                         muta_class = &(p_ptr->muta1);
322                         muta_which = MUT1_BANISH;
323 #ifdef JP
324 muta_desc = "¿ÀÀ»¤ÊÅܤê¤ÎÎϤËËþ¤¿¤µ¤ì¤¿¡£";
325 #else
326                         muta_desc = "You feel a holy wrath fill you.";
327 #endif
328
329                         break;
330                 case 71: case 72:
331                         muta_class = &(p_ptr->muta1);
332                         muta_which = MUT1_COLD_TOUCH;
333 #ifdef JP
334 muta_desc = "¤¢¤Ê¤¿¤Îξ¼ê¤Ï¤È¤Æ¤âÎ䤿¤¯¤Ê¤Ã¤¿¡£";
335 #else
336                         muta_desc = "Your hands get very cold.";
337 #endif
338
339                         break;
340                 case 73: case 74:
341                         muta_class = &(p_ptr->muta1);
342                         muta_which = MUT1_LAUNCHER;
343 #ifdef JP
344 muta_desc = "¤¢¤Ê¤¿¤Îʪ¤òÅꤲ¤ë¼ê¤Ï¤«¤Ê¤ê¶¯¤¯¤Ê¤Ã¤¿µ¤¤¬¤¹¤ë¡£";
345 #else
346                         muta_desc = "Your throwing arm feels much stronger.";
347 #endif
348
349                         break;
350                 case 75:
351                         muta_class = &(p_ptr->muta2);
352                         muta_which = MUT2_BERS_RAGE;
353 #ifdef JP
354 muta_desc = "¤¢¤Ê¤¿¤Ï¶¸Ë½²½¤Îȯºî¤òµ¯¤³¤¹¤è¤¦¤Ë¤Ê¤Ã¤¿¡ª";
355 #else
356                         muta_desc = "You become subject to fits of berserk rage!";
357 #endif
358
359                         break;
360                 case 76:
361                         muta_class = &(p_ptr->muta2);
362                         muta_which = MUT2_COWARDICE;
363 #ifdef JP
364 muta_desc = "¿®¤¸¤é¤ì¤Ê¤¤¤¯¤é¤¤²²É¤ˤʤä¿¡ª";
365 #else
366                         muta_desc = "You become an incredible coward!";
367 #endif
368
369                         break;
370                 case 77:
371                         muta_class = &(p_ptr->muta2);
372                         muta_which = MUT2_RTELEPORT;
373 #ifdef JP
374 muta_desc = "¤¢¤Ê¤¿¤Î°ÌÃÖ¤ÏÈó¾ï¤ËÉÔ³ÎÄê¤Ë¤Ê¤Ã¤¿¡£";
375 #else
376                         muta_desc = "Your position seems very uncertain...";
377 #endif
378
379                         break;
380                 case 78:
381                         muta_class = &(p_ptr->muta2);
382                         muta_which = MUT2_ALCOHOL;
383 #ifdef JP
384 muta_desc = "¤¢¤Ê¤¿¤Ï¥¢¥ë¥³¡¼¥ë¤òʬÈ礹¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£";
385 #else
386                         muta_desc = "Your body starts producing alcohol!";
387 #endif
388
389                         break;
390                 case 79:
391                         muta_class = &(p_ptr->muta2);
392                         muta_which = MUT2_HALLU;
393 #ifdef JP
394 muta_desc = "¤¢¤Ê¤¿¤Ï¸¸³Ð¤ò°ú¤­µ¯¤³¤¹Àº¿ÀºøÍð¤Ë¿¯¤µ¤ì¤¿¡£";
395 #else
396                         muta_desc = "You are afflicted by a hallucinatory insanity!";
397 #endif
398
399                         break;
400                 case 80:
401                         muta_class = &(p_ptr->muta2);
402                         muta_which = MUT2_FLATULENT;
403 #ifdef JP
404 muta_desc = "¤¢¤Ê¤¿¤ÏÀ©¸æÉÔǽ¤Ê¶¯Îõ¤ÊÕû¤ò¤³¤¯¤è¤¦¤Ë¤Ê¤Ã¤¿¡£";
405 #else
406                         muta_desc = "You become subject to uncontrollable flatulence.";
407 #endif
408
409                         break;
410                 case 81: case 82:
411                         muta_class = &(p_ptr->muta2);
412                         muta_which = MUT2_SCOR_TAIL;
413 #ifdef JP
414 muta_desc = "¥µ¥½¥ê¤Î¿¬Èø¤¬À¸¤¨¤Æ¤­¤¿¡ª";
415 #else
416                         muta_desc = "You grow a scorpion tail!";
417 #endif
418
419                         break;
420                 case 83: case 84:
421                         muta_class = &(p_ptr->muta2);
422                         muta_which = MUT2_HORNS;
423 #ifdef JP
424 muta_desc = "³Û¤Ë³Ñ¤¬À¸¤¨¤¿¡ª";
425 #else
426                         muta_desc = "Horns pop forth into your forehead!";
427 #endif
428
429                         break;
430                 case 85: case 86:
431                         muta_class = &(p_ptr->muta2);
432                         muta_which = MUT2_BEAK;
433 #ifdef JP
434 muta_desc = "¸ý¤¬±Ô¤¯¶¯¤¤¥¯¥Á¥Ð¥·¤ËÊѲ½¤·¤¿¡ª";
435 #else
436                         muta_desc = "Your mouth turns into a sharp, powerful beak!";
437 #endif
438
439                         break;
440                 case 87: case 88:
441                         muta_class = &(p_ptr->muta2);
442                         muta_which = MUT2_ATT_DEMON;
443 #ifdef JP
444 muta_desc = "°­Ëâ¤ò°ú¤­ÉÕ¤±¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£";
445 #else
446                         muta_desc = "You start attracting demons.";
447 #endif
448
449                         break;
450                 case 89:
451                         muta_class = &(p_ptr->muta2);
452                         muta_which = MUT2_PROD_MANA;
453 #ifdef JP
454 muta_desc = "¤¢¤Ê¤¿¤ÏÀ©¸æÉÔǽ¤ÊËâË¡¤Î¥¨¥Í¥ë¥®¡¼¤òȯÀ¸¤¹¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£";
455 #else
456                         muta_desc = "You start producing magical energy uncontrollably.";
457 #endif
458
459                         break;
460                 case 90: case 91:
461                         muta_class = &(p_ptr->muta2);
462                         muta_which = MUT2_SPEED_FLUX;
463 #ifdef JP
464 muta_desc = "¤¢¤Ê¤¿¤Ïí¯Ýµ¼Á¤Ë¤Ê¤Ã¤¿¡£";
465 #else
466                         muta_desc = "You become manic-depressive.";
467 #endif
468
469                         break;
470                 case 92: case 93:
471                         muta_class = &(p_ptr->muta2);
472                         muta_which = MUT2_BANISH_ALL;
473 #ifdef JP
474 muta_desc = "¶²¤í¤·¤¤ÎϤ¬¤¢¤Ê¤¿¤ÎÇظå¤ËÀø¤ó¤Ç¤¤¤ëµ¤¤¬¤¹¤ë¡£";
475 #else
476                         muta_desc = "You feel a terrifying power lurking behind you.";
477 #endif
478
479                         break;
480                 case 94:
481                         muta_class = &(p_ptr->muta2);
482                         muta_which = MUT2_EAT_LIGHT;
483 #ifdef JP
484 muta_desc = "¤¢¤Ê¤¿¤Ï¥¦¥ó¥´¥ê¥¢¥ó¥È¤Ë´ñ̯¤Ê¿Æ¤·¤ß¤ò³Ð¤¨¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£";
485 #else
486                         muta_desc = "You feel a strange kinship with Ungoliant.";
487 #endif
488
489                         break;
490                 case 95: case 96:
491                         muta_class = &(p_ptr->muta2);
492                         muta_which = MUT2_TRUNK;
493 #ifdef JP
494 muta_desc = "¤¢¤Ê¤¿¤ÎÉ¡¤Ï¿­¤Ó¤Æ¾Ý¤ÎÉ¡¤Î¤è¤¦¤Ë¤Ê¤Ã¤¿¡£";
495 #else
496                         muta_desc = "Your nose grows into an elephant-like trunk.";
497 #endif
498
499                         break;
500                 case 97:
501                         muta_class = &(p_ptr->muta2);
502                         muta_which = MUT2_ATT_ANIMAL;
503 #ifdef JP
504 muta_desc = "ưʪ¤ò°ú¤­ÉÕ¤±¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£";
505 #else
506                         muta_desc = "You start attracting animals.";
507 #endif
508
509                         break;
510                 case 98:
511                         muta_class = &(p_ptr->muta2);
512                         muta_which = MUT2_TENTACLES;
513 #ifdef JP
514 muta_desc = "¼Ù°­¤Ê¿¨¼ê¤¬ÂΤÎËÀ¸¤¨¤Æ¤­¤¿¡£";
515 #else
516                         muta_desc = "Evil-looking tentacles sprout from your sides.";
517 #endif
518
519                         break;
520                 case 99:
521                         muta_class = &(p_ptr->muta2);
522                         muta_which = MUT2_RAW_CHAOS;
523 #ifdef JP
524 muta_desc = "¼þ°Ï¤Î¶õ´Ö¤¬ÉÔ°ÂÄê¤Ë¤Ê¤Ã¤¿µ¤¤¬¤¹¤ë¡£";
525 #else
526                         muta_desc = "You feel the universe is less stable around you.";
527 #endif
528
529                         break;
530                 case 100: case 101: case 102:
531                         muta_class = &(p_ptr->muta2);
532                         muta_which = MUT2_NORMALITY;
533 #ifdef JP
534 muta_desc = "¤¢¤Ê¤¿¤Ï´ñ̯¤Ê¤Û¤ÉÉáÄ̤ˤʤ俵¤¤¬¤¹¤ë¡£";
535 #else
536                         muta_desc = "You feel strangely normal.";
537 #endif
538
539                         break;
540                 case 103:
541                         muta_class = &(p_ptr->muta2);
542                         muta_which = MUT2_WRAITH;
543 #ifdef JP
544 muta_desc = "¤¢¤Ê¤¿¤ÏÍ©Â⽤·¤¿¤ê¼ÂÂ⽤·¤¿¤ê¤¹¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£";
545 #else
546                         muta_desc = "You start to fade in and out of the physical world.";
547 #endif
548
549                         break;
550                 case 104:
551                         muta_class = &(p_ptr->muta2);
552                         muta_which = MUT2_POLY_WOUND;
553 #ifdef JP
554 muta_desc = "¤¢¤Ê¤¿¤Ï¥«¥ª¥¹¤ÎÎϤ¬¸Å¤¤½ý¤ËÆþ¤ê¹þ¤ó¤Ç¤¯¤ë¤Î¤ò´¶¤¸¤¿¡£";
555 #else
556                         muta_desc = "You feel forces of chaos entering your old scars.";
557 #endif
558
559                         break;
560                 case 105:
561                         muta_class = &(p_ptr->muta2);
562                         muta_which = MUT2_WASTING;
563 #ifdef JP
564 muta_desc = "¤¢¤Ê¤¿¤ÏÆÍÁ³¤ª¤¾¤Þ¤·¤¤¿ê¼åɤˤ«¤«¤Ã¤¿¡£";
565 #else
566                         muta_desc = "You suddenly contract a horrible wasting disease.";
567 #endif
568
569                         break;
570                 case 106:
571                         muta_class = &(p_ptr->muta2);
572                         muta_which = MUT2_ATT_DRAGON;
573 #ifdef JP
574 muta_desc = "¤¢¤Ê¤¿¤Ï¥É¥é¥´¥ó¤ò°ú¤­¤Ä¤±¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£";
575 #else
576                         muta_desc = "You start attracting dragons.";
577 #endif
578
579                         break;
580                 case 107: case 108:
581                         muta_class = &(p_ptr->muta2);
582                         muta_which = MUT2_WEIRD_MIND;
583 #ifdef JP
584 muta_desc = "¤¢¤Ê¤¿¤Î»×¹Í¤ÏÆÍÁ³¤ª¤«¤·¤ÊÊý¸þ¤Ë¸þ¤­»Ï¤á¤¿¡£";
585 #else
586                         muta_desc = "Your thoughts suddenly take off in strange directions.";
587 #endif
588
589                         break;
590                 case 109:
591                         muta_class = &(p_ptr->muta2);
592                         muta_which = MUT2_NAUSEA;
593 #ifdef JP
594 muta_desc = "°ßÂÞ¤¬¥Ô¥¯¥Ô¥¯¤·¤Ï¤¸¤á¤¿¡£";
595 #else
596                         muta_desc = "Your stomach starts to roil nauseously.";
597 #endif
598
599                         break;
600                 case 110: case 111:
601                         /* Chaos warriors already have a chaos deity */
602                         if (p_ptr->pclass != CLASS_CHAOS_WARRIOR)
603                         {
604                                 muta_class = &(p_ptr->muta2);
605                                 muta_which = MUT2_CHAOS_GIFT;
606 #ifdef JP
607 muta_desc = "¤¢¤Ê¤¿¤Ï¥«¥ª¥¹¤Î¼é¸î°­Ëâ¤ÎÃí°Õ¤ò¼æ¤¯¤è¤¦¤Ë¤Ê¤Ã¤¿¡£";
608 #else
609                                 muta_desc = "You attract the notice of a chaos deity!";
610 #endif
611
612                         }
613                         break;
614                 case 112:
615                         muta_class = &(p_ptr->muta2);
616                         muta_which = MUT2_WALK_SHAD;
617 #ifdef JP
618 muta_desc = "¤¢¤Ê¤¿¤Ï¸½¼Â¤¬»æ¤Î¤è¤¦¤ËÇö¤¤¤È´¶¤¸¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£";
619 #else
620                         muta_desc = "You feel like reality is as thin as paper.";
621 #endif
622
623                         break;
624                 case 113: case 114:
625                         muta_class = &(p_ptr->muta2);
626                         muta_which = MUT2_WARNING;
627 #ifdef JP
628 muta_desc = "¤¢¤Ê¤¿¤ÏÆÍÁ³¥Ñ¥é¥Î¥¤¥¢¤Ë¤Ê¤Ã¤¿µ¤¤¬¤¹¤ë¡£";
629 #else
630                         muta_desc = "You suddenly feel paranoid.";
631 #endif
632
633                         break;
634                 case 115:
635                         muta_class = &(p_ptr->muta2);
636                         muta_which = MUT2_INVULN;
637 #ifdef JP
638 muta_desc = "¤¢¤Ê¤¿¤Ï½ËÊ¡¤µ¤ì¡¢ÌµÅ¨¾õÂ֤ˤʤëȯºî¤òµ¯¤³¤¹¤è¤¦¤Ë¤Ê¤Ã¤¿¡£";
639 #else
640                         muta_desc = "You are blessed with fits of invulnerability.";
641 #endif
642
643                         break;
644                 case 116: case 117:
645                         muta_class = &(p_ptr->muta2);
646                         muta_which = MUT2_SP_TO_HP;
647 #ifdef JP
648 muta_desc = "ËâË¡¤Î¼£Ìþ¤Îȯºî¤òµ¯¤³¤¹¤è¤¦¤Ë¤Ê¤Ã¤¿¡£";
649 #else
650                         muta_desc = "You are subject to fits of magical healing.";
651 #endif
652
653                         break;
654                 case 118:
655                         muta_class = &(p_ptr->muta2);
656                         muta_which = MUT2_HP_TO_SP;
657 #ifdef JP
658 muta_desc = "Äˤߤòȼ¤¦Àº¿ÀÌÀÎƲ½¤Îȯºî¤òµ¯¤³¤¹¤è¤¦¤Ë¤Ê¤Ã¤¿¡£";
659 #else
660                         muta_desc = "You are subject to fits of painful clarity.";
661 #endif
662
663                         break;
664                 case 119:
665                         muta_class = &(p_ptr->muta2);
666                         muta_which = MUT2_DISARM;
667 #ifdef JP
668 muta_desc = "¤¢¤Ê¤¿¤ÎµÓ¤ÏŤµ¤¬»ÍÇܤˤʤä¿¡£";
669 #else
670                         muta_desc = "Your feet grow to four times their former size.";
671 #endif
672
673                         break;
674                 case 120: case 121: case 122:
675                         muta_class = &(p_ptr->muta3);
676                         muta_which = MUT3_HYPER_STR;
677 #ifdef JP
678 muta_desc = "Ķ¿ÍŪ¤Ë¶¯¤¯¤Ê¤Ã¤¿¡ª";
679 #else
680                         muta_desc = "You turn into a superhuman he-man!";
681 #endif
682
683                         break;
684                 case 123: case 124: case 125:
685                         muta_class = &(p_ptr->muta3);
686                         muta_which = MUT3_PUNY;
687 #ifdef JP
688 muta_desc = "¶ÚÆù¤¬¼å¤Ã¤Æ¤·¤Þ¤Ã¤¿...";
689 #else
690                         muta_desc = "Your muscles wither away...";
691 #endif
692
693                         break;
694                 case 126: case 127: case 128:
695                         muta_class = &(p_ptr->muta3);
696                         muta_which = MUT3_HYPER_INT;
697 #ifdef JP
698 muta_desc = "¤¢¤Ê¤¿¤ÎǾ¤ÏÀ¸ÂÎ¥³¥ó¥Ô¥å¡¼¥¿¤Ë¿Ê²½¤·¤¿¡ª";
699 #else
700                         muta_desc = "Your brain evolves into a living computer!";
701 #endif
702
703                         break;
704                 case 129: case 130: case 131:
705                         muta_class = &(p_ptr->muta3);
706                         muta_which = MUT3_MORONIC;
707 #ifdef JP
708 muta_desc = "Ǿ¤¬°à½Ì¤·¤Æ¤·¤Þ¤Ã¤¿...";
709 #else
710                         muta_desc = "Your brain withers away...";
711 #endif
712
713                         break;
714                 case 132: case 133:
715                         muta_class = &(p_ptr->muta3);
716                         muta_which = MUT3_RESILIENT;
717 #ifdef JP
718 muta_desc = "ʳ°¤ì¤Æ¥¿¥Õ¤Ë¤Ê¤Ã¤¿¡£";
719 #else
720                         muta_desc = "You become extraordinarily resilient.";
721 #endif
722
723                         break;
724                 case 134: case 135:
725                         muta_class = &(p_ptr->muta3);
726                         muta_which = MUT3_XTRA_FAT;
727 #ifdef JP
728 muta_desc = "¤¢¤Ê¤¿¤Ïµ¤»ý¤Á°­¤¤¤¯¤é¤¤ÂÀ¤Ã¤¿¡ª";
729 #else
730                         muta_desc = "You become sickeningly fat!";
731 #endif
732
733                         break;
734                 case 136: case 137:
735                         muta_class = &(p_ptr->muta3);
736                         muta_which = MUT3_ALBINO;
737 #ifdef JP
738 muta_desc = "¥¢¥ë¥Ó¥Î¤Ë¤Ê¤Ã¤¿¡ª¼å¤¯¤Ê¤Ã¤¿µ¤¤¬¤¹¤ë...";
739 #else
740                         muta_desc = "You turn into an albino! You feel frail...";
741 #endif
742
743                         break;
744                 case 138: case 139: case 140:
745                         muta_class = &(p_ptr->muta3);
746                         muta_which = MUT3_FLESH_ROT;
747 #ifdef JP
748 muta_desc = "¤¢¤Ê¤¿¤ÎÆùÂΤÏÉåÇÔ¤¹¤ëɵ¤¤Ë¿¯¤µ¤ì¤¿¡ª";
749 #else
750                         muta_desc = "Your flesh is afflicted by a rotting disease!";
751 #endif
752
753                         break;
754                 case 141: case 142:
755                         muta_class = &(p_ptr->muta3);
756                         muta_which = MUT3_SILLY_VOI;
757 #ifdef JP
758 muta_desc = "À¼¤¬´ÖÈ´¤±¤Ê¥­¡¼¥­¡¼À¼¤Ë¤Ê¤Ã¤¿¡ª";
759 #else
760                         muta_desc = "Your voice turns into a ridiculous squeak!";
761 #endif
762
763                         break;
764                 case 143: case 144:
765                         muta_class = &(p_ptr->muta3);
766                         muta_which = MUT3_BLANK_FAC;
767 #ifdef JP
768 muta_desc = "¤Î¤Ã¤Ú¤é¤Ü¤¦¤Ë¤Ê¤Ã¤¿¡ª";
769 #else
770                         muta_desc = "Your face becomes completely featureless!";
771 #endif
772
773                         break;
774                 case 145:
775                         muta_class = &(p_ptr->muta3);
776                         muta_which = MUT3_ILL_NORM;
777 #ifdef JP
778 muta_desc = "¿´¤Î°Â¤é¤°¸¸±Æ¤ò±Ç¤·½Ð¤¹¤è¤¦¤Ë¤Ê¤Ã¤¿¡£";
779 #else
780                         muta_desc = "You start projecting a reassuring image.";
781 #endif
782
783                         break;
784                 case 146: case 147: case 148:
785                         muta_class = &(p_ptr->muta3);
786                         muta_which = MUT3_XTRA_EYES;
787 #ifdef JP
788 muta_desc = "¿·¤¿¤ËÆó¤Ä¤ÎÌܤ¬½ÐÍ褿¡ª";
789 #else
790                         muta_desc = "You grow an extra pair of eyes!";
791 #endif
792
793                         break;
794                 case 149: case 150:
795                         muta_class = &(p_ptr->muta3);
796                         muta_which = MUT3_MAGIC_RES;
797 #ifdef JP
798 muta_desc = "ËâË¡¤Ø¤ÎÂÑÀ­¤¬¤Ä¤¤¤¿¡£";
799 #else
800                         muta_desc = "You become resistant to magic.";
801 #endif
802
803                         break;
804                 case 151: case 152: case 153:
805                         muta_class = &(p_ptr->muta3);
806                         muta_which = MUT3_XTRA_NOIS;
807 #ifdef JP
808 muta_desc = "¤¢¤Ê¤¿¤Ï´ñ̯¤Ê²»¤òΩ¤Æ»Ï¤á¤¿¡ª";
809 #else
810                         muta_desc = "You start making strange noise!";
811 #endif
812
813                         break;
814                 case 154: case 155: case 156:
815                         muta_class = &(p_ptr->muta3);
816                         muta_which = MUT3_INFRAVIS;
817 #ifdef JP
818 muta_desc = "ÀÖ³°Àþ»ëÎϤ¬Áý¤·¤¿¡£";
819 #else
820                         muta_desc = "Your infravision is improved.";
821 #endif
822
823                         break;
824                 case 157: case 158:
825                         muta_class = &(p_ptr->muta3);
826                         muta_which = MUT3_XTRA_LEGS;
827 #ifdef JP
828 muta_desc = "¿·¤¿¤ËÆóËܤέ¤¬À¸¤¨¤Æ¤­¤¿¡ª";
829 #else
830                         muta_desc = "You grow an extra pair of legs!";
831 #endif
832
833                         break;
834                 case 159: case 160:
835                         muta_class = &(p_ptr->muta3);
836                         muta_which = MUT3_SHORT_LEG;
837 #ifdef JP
838 muta_desc = "­¤¬Ã»¤¤Æ͵¯¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¡ª";
839 #else
840                         muta_desc = "Your legs turn into short stubs!";
841 #endif
842
843                         break;
844                 case 161: case 162:
845                         muta_class = &(p_ptr->muta3);
846                         muta_which = MUT3_ELEC_TOUC;
847 #ifdef JP
848 muta_desc = "·ì´É¤òÅÅή¤¬Î®¤ì»Ï¤á¤¿¡ª";
849 #else
850                         muta_desc = "Electricity starts running through you!";
851 #endif
852
853                         break;
854                 case 163: case 164:
855                         muta_class = &(p_ptr->muta3);
856                         muta_which = MUT3_FIRE_BODY;
857 #ifdef JP
858 muta_desc = "¤¢¤Ê¤¿¤ÎÂΤϱê¤Ë¤Ä¤Ä¤Þ¤ì¤Æ¤¤¤ë¡£";
859 #else
860                         muta_desc = "Your body is enveloped in flames!";
861 #endif
862
863                         break;
864                 case 165: case 166: case 167:
865                         muta_class = &(p_ptr->muta3);
866                         muta_which = MUT3_WART_SKIN;
867 #ifdef JP
868 muta_desc = "µ¤»ý¤Á°­¤¤¥¤¥Ü¥¤¥Ü¤¬ÂÎÃæ¤Ë¤Ç¤­¤¿¡ª";
869 #else
870                         muta_desc = "Disgusting warts appear everywhere on you!";
871 #endif
872
873                         break;
874                 case 168: case 169: case 170:
875                         muta_class = &(p_ptr->muta3);
876                         muta_which = MUT3_SCALES;
877 #ifdef JP
878 muta_desc = "È©¤¬¹õ¤¤ÎÚ¤ËÊѤï¤Ã¤¿¡ª";
879 #else
880                         muta_desc = "Your skin turns into black scales!";
881 #endif
882
883                         break;
884                 case 171: case 172:
885                         muta_class = &(p_ptr->muta3);
886                         muta_which = MUT3_IRON_SKIN;
887 #ifdef JP
888 muta_desc = "¤¢¤Ê¤¿¤ÎÈ©¤ÏÅ´¤Ë¤Ê¤Ã¤¿¡ª";
889 #else
890                         muta_desc = "Your skin turns to steel!";
891 #endif
892
893                         break;
894                 case 173: case 174:
895                         muta_class = &(p_ptr->muta3);
896                         muta_which = MUT3_WINGS;
897 #ifdef JP
898 muta_desc = "ÇØÃæ¤Ë±©¤¬À¸¤¨¤¿¡£";
899 #else
900                         muta_desc = "You grow a pair of wings.";
901 #endif
902
903                         break;
904                 case 175: case 176: case 177:
905                         muta_class = &(p_ptr->muta3);
906                         muta_which = MUT3_FEARLESS;
907 #ifdef JP
908 muta_desc = "´°Á´¤ËÉݤìÃΤ餺¤Ë¤Ê¤Ã¤¿¡£";
909 #else
910                         muta_desc = "You become completely fearless.";
911 #endif
912
913                         break;
914                 case 178: case 179:
915                         muta_class = &(p_ptr->muta3);
916                         muta_which = MUT3_REGEN;
917 #ifdef JP
918 muta_desc = "µÞ®¤Ë²óÉü¤·»Ï¤á¤¿¡£";
919 #else
920                         muta_desc = "You start regenerating.";
921 #endif
922
923                         break;
924                 case 180: case 181:
925                         muta_class = &(p_ptr->muta3);
926                         muta_which = MUT3_ESP;
927 #ifdef JP
928 muta_desc = "¥Æ¥ì¥Ñ¥·¡¼¤ÎǽÎϤòÆÀ¤¿¡ª";
929 #else
930                         muta_desc = "You develop a telepathic ability!";
931 #endif
932
933                         break;
934                 case 182: case 183: case 184:
935                         muta_class = &(p_ptr->muta3);
936                         muta_which = MUT3_LIMBER;
937 #ifdef JP
938 muta_desc = "¶ÚÆù¤¬¤·¤Ê¤ä¤«¤Ë¤Ê¤Ã¤¿¡£";
939 #else
940                         muta_desc = "Your muscles become limber.";
941 #endif
942
943                         break;
944                 case 185: case 186: case 187:
945                         muta_class = &(p_ptr->muta3);
946                         muta_which = MUT3_ARTHRITIS;
947 #ifdef JP
948 muta_desc = "´ØÀ᤬ÆÍÁ³Äˤ߽Ф·¤¿¡£";
949 #else
950                         muta_desc = "Your joints suddenly hurt.";
951 #endif
952
953                         break;
954                 case 188:
955                         if (p_ptr->pseikaku == SEIKAKU_LUCKY) break;
956                         muta_class = &(p_ptr->muta3);
957                         muta_which = MUT3_BAD_LUCK;
958 #ifdef JP
959 muta_desc = "°­°Õ¤ËËþ¤Á¤¿¹õ¤¤¥ª¡¼¥é¤¬¤¢¤Ê¤¿¤ò¤È¤ê¤Þ¤¤¤¿...";
960 #else
961                         muta_desc = "There is a malignant black aura surrounding you...";
962 #endif
963
964                         break;
965                 case 189:
966                         muta_class = &(p_ptr->muta3);
967                         muta_which = MUT3_VULN_ELEM;
968 #ifdef JP
969 muta_desc = "̯¤Ë̵ËÉÈ÷¤Ë¤Ê¤Ã¤¿µ¤¤¬¤¹¤ë¡£";
970 #else
971                         muta_desc = "You feel strangely exposed.";
972 #endif
973
974                         break;
975                 case 190: case 191: case 192:
976                         muta_class = &(p_ptr->muta3);
977                         muta_which = MUT3_MOTION;
978 #ifdef JP
979 muta_desc = "ÂΤÎÆ°ºî¤¬¤è¤êÀµ³Î¤Ë¤Ê¤Ã¤¿¡£";
980 #else
981                         muta_desc = "You move with new assurance.";
982 #endif
983
984                         break;
985                 case 193:
986                         muta_class = &(p_ptr->muta3);
987                         muta_which = MUT3_GOOD_LUCK;
988 #ifdef JP
989 muta_desc = "»üÈῼ¤¤Çò¤¤¥ª¡¼¥é¤¬¤¢¤Ê¤¿¤ò¤È¤ê¤Þ¤¤¤¿...";
990 #else
991                         muta_desc = "There is a benevolent white aura surrounding you...";
992 #endif
993
994                         break;
995                 default:
996                         muta_class = NULL;
997                         muta_which = 0;
998                 }
999
1000                 if (muta_class && muta_which)
1001                 {
1002                         if (!(*muta_class & muta_which))
1003                         {
1004                                 muta_chosen = TRUE;
1005                         }
1006                 }
1007                 if (muta_chosen == TRUE) break;
1008         }
1009
1010         if (!muta_chosen)
1011         {
1012 #ifdef JP
1013 msg_print("ÉáÄ̤ˤʤ俵¤¤¬¤¹¤ë¡£");
1014 #else
1015                 msg_print("You feel normal.");
1016 #endif
1017
1018                 return FALSE;
1019         }
1020         else
1021         {
1022                 chg_virtue(V_CHANCE, 1);
1023
1024                 /*
1025                   some races are apt to gain specified mutations
1026                   This should be allowed only if "choose_mut" is 0.
1027                                                         --- henkma
1028                 */
1029                 if(!choose_mut){
1030                         if (p_ptr->prace == RACE_VAMPIRE &&
1031                           !(p_ptr->muta1 & MUT1_HYPN_GAZE) &&
1032                            (randint1(10) < 7))
1033                         {
1034                                 muta_class = &(p_ptr->muta1);
1035                                 muta_which = MUT1_HYPN_GAZE;
1036 #ifdef JP
1037 muta_desc = "´ã¤¬¸¸ÏÇŪ¤Ë¤Ê¤Ã¤¿...";
1038 #else
1039                                 muta_desc = "Your eyes look mesmerizing...";
1040 #endif
1041
1042                         }
1043
1044                         else if (p_ptr->prace == RACE_IMP &&
1045                                  !(p_ptr->muta2 & MUT2_HORNS) &&
1046                                  (randint1(10) < 7))
1047                           {
1048                                 muta_class = &(p_ptr->muta2);
1049                                 muta_which = MUT2_HORNS;
1050 #ifdef JP
1051 muta_desc = "³Ñ¤¬³Û¤«¤éÀ¸¤¨¤Æ¤­¤¿¡ª";
1052 #else
1053                                 muta_desc = "Horns pop forth into your forehead!";
1054 #endif
1055
1056                         }
1057
1058                         else if (p_ptr->prace == RACE_YEEK &&
1059                                 !(p_ptr->muta1 & MUT1_SHRIEK) &&
1060                                 (randint1(10) < 7))
1061                         {
1062                                 muta_class = &(p_ptr->muta1);
1063                                 muta_which = MUT1_SHRIEK;
1064 #ifdef JP
1065 muta_desc = "À¼¼Á¤¬¤«¤Ê¤ê¶¯¤¯¤Ê¤Ã¤¿¡£";
1066 #else
1067                                 muta_desc = "Your vocal cords get much tougher.";
1068 #endif
1069
1070                         }
1071
1072                         else if (p_ptr->prace == RACE_BEASTMAN &&
1073                                 !(p_ptr->muta1 & MUT1_POLYMORPH) &&
1074                                 (randint1(10) < 2))
1075                         {
1076                                 muta_class = &(p_ptr->muta1);
1077                                 muta_which = MUT1_POLYMORPH;
1078 #ifdef JP
1079 muta_desc = "¤¢¤Ê¤¿¤ÎÆùÂΤÏÊѲ½¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡¢";
1080 #else
1081                                 muta_desc = "Your body seems mutable.";
1082 #endif
1083
1084                         }
1085
1086                         else if (p_ptr->prace == RACE_MIND_FLAYER &&
1087                                 !(p_ptr->muta2 & MUT2_TENTACLES) &&
1088                                 (randint1(10) < 7))
1089                         {
1090                                 muta_class = &(p_ptr->muta2);
1091                                 muta_which = MUT2_TENTACLES;
1092 #ifdef JP
1093 muta_desc = "¼Ù°­¤Ê¿¨¼ê¤¬¸ý¤Î¼þ¤ê¤ËÀ¸¤¨¤¿¡£";
1094 #else
1095                                 muta_desc = "Evil-looking tentacles sprout from your mouth.";
1096 #endif
1097
1098                         }
1099                 }
1100 #ifdef JP
1101 msg_print("ÆÍÁ³ÊÑ°Û¤·¤¿¡ª");
1102 #else
1103                 msg_print("You mutate!");
1104 #endif
1105
1106                 msg_print(muta_desc);
1107                 *muta_class |= muta_which;
1108
1109                 if (muta_class == &(p_ptr->muta3))
1110                 {
1111                         if (muta_which == MUT3_PUNY)
1112                         {
1113                                 if (p_ptr->muta3 & MUT3_HYPER_STR)
1114                                 {
1115 #ifdef JP
1116 msg_print("¤¢¤Ê¤¿¤Ï¤â¤¦Ä¶¿ÍŪ¤Ë¶¯¤¯¤Ï¤Ê¤¤¡ª");
1117 #else
1118                                         msg_print("You no longer feel super-strong!");
1119 #endif
1120
1121                                         p_ptr->muta3 &= ~(MUT3_HYPER_STR);
1122                                 }
1123                         }
1124                         else if (muta_which == MUT3_HYPER_STR)
1125                         {
1126                                 if (p_ptr->muta3 & MUT3_PUNY)
1127                                 {
1128 #ifdef JP
1129 msg_print("¤¢¤Ê¤¿¤Ï¤â¤¦µõ¼å¤Ç¤Ï¤Ê¤¤¡ª");
1130 #else
1131                                         msg_print("You no longer feel puny!");
1132 #endif
1133
1134                                         p_ptr->muta3 &= ~(MUT3_PUNY);
1135                                 }
1136                         }
1137                         else if (muta_which == MUT3_MORONIC)
1138                         {
1139                                 if (p_ptr->muta3 & MUT3_HYPER_INT)
1140                                 {
1141 #ifdef JP
1142 msg_print("¤¢¤Ê¤¿¤ÎǾ¤Ï¤â¤¦À¸ÂÎ¥³¥ó¥Ô¥å¡¼¥¿¤Ç¤Ï¤Ê¤¤¡£");
1143 #else
1144                                         msg_print("Your brain is no longer a living computer.");
1145 #endif
1146
1147                                         p_ptr->muta3 &= ~(MUT3_HYPER_INT);
1148                                 }
1149                         }
1150                         else if (muta_which == MUT3_HYPER_INT)
1151                         {
1152                                 if (p_ptr->muta3 & MUT3_MORONIC)
1153                                 {
1154 #ifdef JP
1155 msg_print("¤¢¤Ê¤¿¤Ï¤â¤¦Àº¿ÀÇö¼å¤Ç¤Ï¤Ê¤¤¡£");
1156 #else
1157                                         msg_print("You are no longer moronic.");
1158 #endif
1159
1160                                         p_ptr->muta3 &= ~(MUT3_MORONIC);
1161                                 }
1162                         }
1163                         else if (muta_which == MUT3_IRON_SKIN)
1164                         {
1165                                 if (p_ptr->muta3 & MUT3_SCALES)
1166                                 {
1167 #ifdef JP
1168 msg_print("ÎÚ¤¬¤Ê¤¯¤Ê¤Ã¤¿¡£");
1169 #else
1170                                         msg_print("You lose your scales.");
1171 #endif
1172
1173                                         p_ptr->muta3 &= ~(MUT3_SCALES);
1174                                 }
1175                                 if (p_ptr->muta3 & MUT3_FLESH_ROT)
1176                                 {
1177 #ifdef JP
1178 msg_print("ÆùÂΤ¬ÉåÍ𤷤ʤ¯¤Ê¤Ã¤¿¡£");
1179 #else
1180                                         msg_print("Your flesh rots no longer.");
1181 #endif
1182
1183                                         p_ptr->muta3 &= ~(MUT3_FLESH_ROT);
1184                                 }
1185                                 if (p_ptr->muta3 & MUT3_WART_SKIN)
1186                                 {
1187 #ifdef JP
1188 msg_print("È©¤Î¥¤¥Ü¥¤¥Ü¤¬¤Ê¤¯¤Ê¤Ã¤¿¡£");
1189 #else
1190                                         msg_print("You lose your warts.");
1191 #endif
1192
1193                                         p_ptr->muta3 &= ~(MUT3_WART_SKIN);
1194                                 }
1195                         }
1196                         else if (muta_which == MUT3_WART_SKIN || muta_which == MUT3_SCALES
1197                                 || muta_which == MUT3_FLESH_ROT)
1198                         {
1199                                 if (p_ptr->muta3 & MUT3_IRON_SKIN)
1200                                 {
1201 #ifdef JP
1202 msg_print("¤¢¤Ê¤¿¤ÎÈ©¤Ï¤â¤¦Å´¤Ç¤Ï¤Ê¤¤¡£");
1203 #else
1204                                         msg_print("Your skin is no longer made of steel.");
1205 #endif
1206
1207                                         p_ptr->muta3 &= ~(MUT3_IRON_SKIN);
1208                                 }
1209                         }
1210                         else if (muta_which == MUT3_FEARLESS)
1211                         {
1212                                 if (p_ptr->muta2 & MUT2_COWARDICE)
1213                                 {
1214 #ifdef JP
1215 msg_print("²²É¤Ǥʤ¯¤Ê¤Ã¤¿¡£");
1216 #else
1217                                         msg_print("You are no longer cowardly.");
1218 #endif
1219
1220                                         p_ptr->muta2 &= ~(MUT2_COWARDICE);
1221                                 }
1222                         }
1223                         else if (muta_which == MUT3_FLESH_ROT)
1224                         {
1225                                 if (p_ptr->muta3 & MUT3_REGEN)
1226                                 {
1227 #ifdef JP
1228 msg_print("µÞ®¤Ë²óÉü¤·¤Ê¤¯¤Ê¤Ã¤¿¡£");
1229 #else
1230                                         msg_print("You stop regenerating.");
1231 #endif
1232
1233                                         p_ptr->muta3 &= ~(MUT3_REGEN);
1234                                 }
1235                         }
1236                         else if (muta_which == MUT3_REGEN)
1237                         {
1238                                 if (p_ptr->muta3 & MUT3_FLESH_ROT)
1239                                 {
1240 #ifdef JP
1241 msg_print("ÆùÂΤ¬ÉåÍ𤷤ʤ¯¤Ê¤Ã¤¿¡£");
1242 #else
1243                                         msg_print("Your flesh stops rotting.");
1244 #endif
1245
1246                                         p_ptr->muta3 &= ~(MUT3_FLESH_ROT);
1247                                 }
1248                         }
1249                         else if (muta_which == MUT3_LIMBER)
1250                         {
1251                                 if (p_ptr->muta3 & MUT3_ARTHRITIS)
1252                                 {
1253 #ifdef JP
1254 msg_print("´ØÀ᤬Äˤ¯¤Ê¤¯¤Ê¤Ã¤¿¡£");
1255 #else
1256                                         msg_print("Your joints stop hurting.");
1257 #endif
1258
1259                                         p_ptr->muta3 &= ~(MUT3_ARTHRITIS);
1260                                 }
1261                         }
1262                         else if (muta_which == MUT3_ARTHRITIS)
1263                         {
1264                                 if (p_ptr->muta3 & MUT3_LIMBER)
1265                                 {
1266 #ifdef JP
1267 msg_print("¤¢¤Ê¤¿¤Ï¤·¤Ê¤ä¤«¤Ç¤Ê¤¯¤Ê¤Ã¤¿¡£");
1268 #else
1269                                         msg_print("You no longer feel limber.");
1270 #endif
1271
1272                                         p_ptr->muta3 &= ~(MUT3_LIMBER);
1273                                 }
1274                         }
1275                 }
1276                 else if (muta_class == &(p_ptr->muta2))
1277                 {
1278                         if (muta_which == MUT2_COWARDICE)
1279                         {
1280                                 if (p_ptr->muta3 & MUT3_FEARLESS)
1281                                 {
1282 #ifdef JP
1283 msg_print("¶²¤ìÃΤ餺¤Ç¤Ê¤¯¤Ê¤Ã¤¿¡£");
1284 #else
1285                                         msg_print("You no longer feel fearless.");
1286 #endif
1287
1288                                         p_ptr->muta3 &= ~(MUT3_FEARLESS);
1289                                 }
1290                         }
1291                         if (muta_which == MUT2_BEAK)
1292                         {
1293                                 if (p_ptr->muta2 & MUT2_TRUNK)
1294                                 {
1295 #ifdef JP
1296 msg_print("¤¢¤Ê¤¿¤ÎÉ¡¤Ï¤â¤¦¾Ý¤ÎÉ¡¤Î¤è¤¦¤Ç¤Ï¤Ê¤¯¤Ê¤Ã¤¿¡£");
1297 #else
1298                                         msg_print("Your nose is no longer elephantine.");
1299 #endif
1300
1301                                         p_ptr->muta2 &= ~(MUT2_TRUNK);
1302                                 }
1303                         }
1304                         if (muta_which == MUT2_TRUNK)
1305                         {
1306                                 if (p_ptr->muta2 & MUT2_BEAK)
1307                                 {
1308 #ifdef JP
1309 msg_print("¹Å¤¤¥¯¥Á¥Ð¥·¤¬¤Ê¤¯¤Ê¤Ã¤¿¡£");
1310 #else
1311                                         msg_print("You no longer have a hard beak.");
1312 #endif
1313
1314                                         p_ptr->muta2 &= ~(MUT2_BEAK);
1315                                 }
1316                         }
1317                 }
1318
1319                 mutant_regenerate_mod = calc_mutant_regenerate_mod();
1320                 p_ptr->update |= PU_BONUS;
1321                 handle_stuff();
1322                 return TRUE;
1323         }
1324 }
1325
1326
1327 bool lose_mutation(int choose_mut)
1328 {
1329         int attempts_left = 20;
1330         cptr muta_desc = "";
1331         bool muta_chosen = FALSE;
1332         u32b muta_which = 0;
1333         u32b *muta_class = NULL;
1334
1335         if (choose_mut) attempts_left = 1;
1336
1337         while (attempts_left--)
1338         {
1339                 switch (choose_mut ? choose_mut : randint1(193))
1340                 {
1341                 case 1: case 2: case 3: case 4:
1342                         muta_class = &(p_ptr->muta1);
1343                         muta_which = MUT1_SPIT_ACID;
1344 #ifdef JP
1345 muta_desc = "»À¤ò¿á¤­¤«¤±¤ëǽÎϤò¼º¤Ã¤¿¡£";
1346 #else
1347                         muta_desc = "You lose the ability to spit acid.";
1348 #endif
1349
1350                         break;
1351                 case 5: case 6: case 7:
1352                         muta_class = &(p_ptr->muta1);
1353                         muta_which = MUT1_BR_FIRE;
1354 #ifdef JP
1355 muta_desc = "±ê¤Î¥Ö¥ì¥¹¤òÅǤ¯Ç½ÎϤò¼º¤Ã¤¿¡£";
1356 #else
1357                         muta_desc = "You lose the ability to breathe fire.";
1358 #endif
1359
1360                         break;
1361                 case 8: case 9:
1362                         muta_class = &(p_ptr->muta1);
1363                         muta_which = MUT1_HYPN_GAZE;
1364 #ifdef JP
1365 muta_desc = "¤¢¤Ê¤¿¤ÎÌܤϤĤޤé¤Ê¤¤Ìܤˤʤä¿¡£";
1366 #else
1367                         muta_desc = "Your eyes look uninteresting.";
1368 #endif
1369
1370                         break;
1371                 case 10: case 11:
1372                         muta_class = &(p_ptr->muta1);
1373                         muta_which = MUT1_TELEKINES;
1374 #ifdef JP
1375 muta_desc = "Ç°Æ°ÎϤÇʪ¤òÆ°¤«¤¹Ç½ÎϤò¼º¤Ã¤¿¡£";
1376 #else
1377                         muta_desc = "You lose the ability to move objects telekinetically.";
1378 #endif
1379
1380                         break;
1381                 case 12: case 13: case 14:
1382                         muta_class = &(p_ptr->muta1);
1383                         muta_which = MUT1_VTELEPORT;
1384 #ifdef JP
1385 muta_desc = "¼«Ê¬¤Î°Õ»×¤Ç¥Æ¥ì¥Ý¡¼¥È¤¹¤ëǽÎϤò¼º¤Ã¤¿¡£";
1386 #else
1387                         muta_desc = "You lose the power of teleportation at will.";
1388 #endif
1389
1390                         break;
1391                 case 15: case 16:
1392                         muta_class = &(p_ptr->muta1);
1393                         muta_which = MUT1_MIND_BLST;
1394 #ifdef JP
1395 muta_desc = "Àº¿À¹¶·â¤ÎǽÎϤò¼º¤Ã¤¿¡£";
1396 #else
1397                         muta_desc = "You lose the power of Mind Blast.";
1398 #endif
1399
1400                         break;
1401                 case 17: case 18:
1402                         muta_class = &(p_ptr->muta1);
1403                         muta_which = MUT1_RADIATION;
1404 #ifdef JP
1405 muta_desc = "¤¢¤Ê¤¿¤ÏÊü¼Íǽ¤òȯÀ¸¤·¤Ê¤¯¤Ê¤Ã¤¿¡£";
1406 #else
1407                         muta_desc = "You stop emitting hard radiation.";
1408 #endif
1409
1410                         break;
1411                 case 19: case 20:
1412                         muta_class = &(p_ptr->muta1);
1413                         muta_which = MUT1_VAMPIRISM;
1414 #ifdef JP
1415 muta_desc = "µÛ·ì¤ÎǽÎϤò¼º¤Ã¤¿¡£";
1416 #else
1417                         muta_desc = "You are no longer vampiric.";
1418 #endif
1419
1420                         break;
1421                 case 21: case 22: case 23:
1422                         muta_class = &(p_ptr->muta1);
1423                         muta_which = MUT1_SMELL_MET;
1424 #ifdef JP
1425 muta_desc = "¶â°¤Î½­¤¤¤òÓ̤²¤Ê¤¯¤Ê¤Ã¤¿¡£";
1426 #else
1427                         muta_desc = "You no longer smell a metallic odor.";
1428 #endif
1429
1430                         break;
1431                 case 24: case 25: case 26: case 27:
1432                         muta_class = &(p_ptr->muta1);
1433                         muta_which = MUT1_SMELL_MON;
1434 #ifdef JP
1435 muta_desc = "ÉÔ·é¤Ê¥â¥ó¥¹¥¿¡¼¤Î½­¤¤¤òÓ̤²¤Ê¤¯¤Ê¤Ã¤¿¡£";
1436 #else
1437                         muta_desc = "You no longer smell filthy monsters.";
1438 #endif
1439
1440                         break;
1441                 case 28: case 29: case 30:
1442                         muta_class = &(p_ptr->muta1);
1443                         muta_which = MUT1_BLINK;
1444 #ifdef JP
1445 muta_desc = "¶áµ÷Î¥¥Æ¥ì¥Ý¡¼¥È¤ÎǽÎϤò¼º¤Ã¤¿¡£";
1446 #else
1447                         muta_desc = "You lose the power of minor teleportation.";
1448 #endif
1449
1450                         break;
1451                 case 31: case 32:
1452                         muta_class = &(p_ptr->muta1);
1453                         muta_which = MUT1_EAT_ROCK;
1454 #ifdef JP
1455 muta_desc = "ÊɤÏÈþÌ£¤·¤½¤¦¤Ë¸«¤¨¤Ê¤¯¤Ê¤Ã¤¿¡£";
1456 #else
1457                         muta_desc = "The walls look unappetizing.";
1458 #endif
1459
1460                         break;
1461                 case 33: case 34:
1462                         muta_class = &(p_ptr->muta1);
1463                         muta_which = MUT1_SWAP_POS;
1464 #ifdef JP
1465 muta_desc = "¤¢¤Ê¤¿¤Ï¼«Ê¬¤Î·¤¤Ëα¤Þ¤ë´¶¤¸¤¬¤¹¤ë¡£";
1466 #else
1467                         muta_desc = "You feel like staying in your own shoes.";
1468 #endif
1469
1470                         break;
1471                 case 35: case 36: case 37:
1472                         muta_class = &(p_ptr->muta1);
1473                         muta_which = MUT1_SHRIEK;
1474 #ifdef JP
1475 muta_desc = "¤¢¤Ê¤¿¤ÎÀ¼¼Á¤Ï¼å¤¯¤Ê¤Ã¤¿¡£";
1476 #else
1477                         muta_desc = "Your vocal cords get much weaker.";
1478 #endif
1479
1480                         break;
1481                 case 38: case 39: case 40:
1482                         muta_class = &(p_ptr->muta1);
1483                         muta_which = MUT1_ILLUMINE;
1484 #ifdef JP
1485 muta_desc = "Éô²°¤òÌÀ¤ë¤¯¾È¤é¤¹¤³¤È¤¬½ÐÍè¤Ê¤¯¤Ê¤Ã¤¿¡£";
1486 #else
1487                         muta_desc = "You can no longer light up rooms with your presence.";
1488 #endif
1489
1490                         break;
1491                 case 41: case 42:
1492                         muta_class = &(p_ptr->muta1);
1493                         muta_which = MUT1_DET_CURSE;
1494 #ifdef JP
1495 muta_desc = "¼Ù°­¤ÊËâË¡¤ò´¶¤¸¤é¤ì¤Ê¤¯¤Ê¤Ã¤¿¡£";
1496 #else
1497                         muta_desc = "You can no longer feel evil magics.";
1498 #endif
1499
1500                         break;
1501                 case 43: case 44: case 45:
1502                         muta_class = &(p_ptr->muta1);
1503                         muta_which = MUT1_BERSERK;
1504 #ifdef JP
1505 muta_desc = "À©¸æ¤Ç¤­¤ë·ã¾ð¤ò´¶¤¸¤Ê¤¯¤Ê¤Ã¤¿¡£";
1506 #else
1507                         muta_desc = "You no longer feel a controlled rage.";
1508 #endif
1509
1510                         break;
1511                 case 46:
1512                         muta_class = &(p_ptr->muta1);
1513                         muta_which = MUT1_POLYMORPH;
1514 #ifdef JP
1515 muta_desc = "¤¢¤Ê¤¿¤ÎÂΤϰÂÄꤷ¤¿¤è¤¦¤Ë¸«¤¨¤ë¡£";
1516 #else
1517                         muta_desc = "Your body seems stable.";
1518 #endif
1519
1520                         break;
1521                 case 47: case 48:
1522                         muta_class = &(p_ptr->muta1);
1523                         muta_which = MUT1_MIDAS_TCH;
1524 #ifdef JP
1525 muta_desc = "¥ß¥À¥¹¤Î¼ê¤ÎǽÎϤò¼º¤Ã¤¿¡£";
1526 #else
1527                         muta_desc = "You lose the Midas touch.";
1528 #endif
1529
1530                         break;
1531                 case 49:
1532                         muta_class = &(p_ptr->muta1);
1533                         muta_which = MUT1_GROW_MOLD;
1534 #ifdef JP
1535 muta_desc = "ÆÍÁ³¥«¥Ó¤¬·ù¤¤¤Ë¤Ê¤Ã¤¿¡£";
1536 #else
1537                         muta_desc = "You feel a sudden dislike for mold.";
1538 #endif
1539
1540                         break;
1541                 case 50: case 51: case 52:
1542                         muta_class = &(p_ptr->muta1);
1543                         muta_which = MUT1_RESIST;
1544 #ifdef JP
1545 muta_desc = "½ý¤Ä¤­°×¤¯¤Ê¤Ã¤¿µ¤¤¬¤¹¤ë¡£";
1546 #else
1547                         muta_desc = "You feel like you might be vulnerable.";
1548 #endif
1549
1550                         break;
1551                 case 53: case 54: case 55:
1552                         muta_class = &(p_ptr->muta1);
1553                         muta_which = MUT1_EARTHQUAKE;
1554 #ifdef JP
1555 muta_desc = "¥À¥ó¥¸¥ç¥ó¤ò²õ¤¹Ç½ÎϤò¼º¤Ã¤¿¡£";
1556 #else
1557                         muta_desc = "You lose the ability to wreck the dungeon.";
1558 #endif
1559
1560                         break;
1561                 case 56:
1562                         muta_class = &(p_ptr->muta1);
1563                         muta_which = MUT1_EAT_MAGIC;
1564 #ifdef JP
1565 muta_desc = "ËâË¡¤Î¥¢¥¤¥Æ¥à¤Ï¤â¤¦ÈþÌ£¤·¤½¤¦¤Ë¸«¤¨¤Ê¤¯¤Ê¤Ã¤¿¡£";
1566 #else
1567                         muta_desc = "Your magic items no longer look delicious.";
1568 #endif
1569
1570                         break;
1571                 case 57: case 58:
1572                         muta_class = &(p_ptr->muta1);
1573                         muta_which = MUT1_WEIGH_MAG;
1574 #ifdef JP
1575 muta_desc = "ËâÎϤò´¶¤¸¤é¤ì¤Ê¤¯¤Ê¤Ã¤¿¡£";
1576 #else
1577                         muta_desc = "You no longer sense magic.";
1578 #endif
1579
1580                         break;
1581                 case 59:
1582                         muta_class = &(p_ptr->muta1);
1583                         muta_which = MUT1_STERILITY;
1584 #ifdef JP
1585 muta_desc = "¤¿¤¯¤µ¤ó¤Î°ÂÅȤÎÅÇ©¤¬Ê¹¤³¤¨¤¿¡£";
1586 #else
1587                         muta_desc = "You hear a massed sigh of relief.";
1588 #endif
1589
1590                         break;
1591                 case 60: case 61:
1592                         muta_class = &(p_ptr->muta1);
1593                         muta_which = MUT1_PANIC_HIT;
1594 #ifdef JP
1595 muta_desc = "¤¢¤Á¤³¤Á¤ØÄ·¤Ù¤ëµ¤Ê¬¤¬¤Ê¤¯¤Ê¤Ã¤¿¡£";
1596 #else
1597                         muta_desc = "You no longer feel jumpy.";
1598 #endif
1599
1600                         break;
1601                 case 62: case 63: case 64:
1602                         muta_class = &(p_ptr->muta1);
1603                         muta_which = MUT1_DAZZLE;
1604 #ifdef JP
1605 muta_desc = "¤Þ¤Ð¤æ¤¤Á®¸÷¤òȯ¤¹¤ëǽÎϤò¼º¤Ã¤¿¡£";
1606 #else
1607                         muta_desc = "You lose the ability to emit dazzling lights.";
1608 #endif
1609
1610                         break;
1611                 case 65: case 66: case 67:
1612                         muta_class = &(p_ptr->muta1);
1613                         muta_which = MUT1_LASER_EYE;
1614 #ifdef JP
1615 muta_desc = "´ã¤¬¾¯¤·¤Î´Ö¾Æ¤­ÉÕ¤¤¤Æ¡¢Äˤߤ¬Ï¤餤¤À¡£";
1616 #else
1617                         muta_desc = "Your eyes burn for a moment, then feel soothed.";
1618 #endif
1619
1620                         break;
1621                 case 68: case 69:
1622                         muta_class = &(p_ptr->muta1);
1623                         muta_which = MUT1_RECALL;
1624 #ifdef JP
1625 muta_desc = "¾¯¤·¤Î´Ö¥Û¡¼¥à¥·¥Ã¥¯¤Ë¤Ê¤Ã¤¿¡£";
1626 #else
1627                         muta_desc = "You feel briefly homesick.";
1628 #endif
1629
1630                         break;
1631                 case 70:
1632                         muta_class = &(p_ptr->muta1);
1633                         muta_which = MUT1_BANISH;
1634 #ifdef JP
1635 muta_desc = "¿ÀÀ»¤ÊÅܤê¤ÎÎϤò´¶¤¸¤Ê¤¯¤Ê¤Ã¤¿¡£";
1636 #else
1637                         muta_desc = "You no longer feel a holy wrath.";
1638 #endif
1639
1640                         break;
1641                 case 71: case 72:
1642                         muta_class = &(p_ptr->muta1);
1643                         muta_which = MUT1_COLD_TOUCH;
1644 #ifdef JP
1645 muta_desc = "¼ê¤¬ÃȤ«¤¯¤Ê¤Ã¤¿¡£";
1646 #else
1647                         muta_desc = "Your hands warm up.";
1648 #endif
1649
1650                         break;
1651                 case 73: case 74:
1652                         muta_class = &(p_ptr->muta1);
1653                         muta_which = MUT1_LAUNCHER;
1654 #ifdef JP
1655 muta_desc = "ʪ¤òÅꤲ¤ë¼ê¤¬¼å¤¯¤Ê¤Ã¤¿µ¤¤¬¤¹¤ë¡£";
1656 #else
1657                         muta_desc = "Your throwing arm feels much weaker.";
1658 #endif
1659
1660                         break;
1661                 case 75:
1662                         muta_class = &(p_ptr->muta2);
1663                         muta_which = MUT2_BERS_RAGE;
1664 #ifdef JP
1665 muta_desc = "¶§Ë½²½¤Îȯºî¤Ë¤µ¤é¤µ¤ì¤Ê¤¯¤Ê¤Ã¤¿¡ª";
1666 #else
1667                         muta_desc = "You are no longer subject to fits of berserk rage!";
1668 #endif
1669
1670                         break;
1671                 case 76:
1672                         muta_class = &(p_ptr->muta2);
1673                         muta_which = MUT2_COWARDICE;
1674 #ifdef JP
1675 muta_desc = "¤â¤¦¿®¤¸¤¬¤¿¤¤¤Û¤É²²É¤ǤϤʤ¯¤Ê¤Ã¤¿¡ª";
1676 #else
1677                         muta_desc = "You are no longer an incredible coward!";
1678 #endif
1679
1680                         break;
1681                 case 77:
1682                         muta_class = &(p_ptr->muta2);
1683                         muta_which = MUT2_RTELEPORT;
1684 #ifdef JP
1685 muta_desc = "¤¢¤Ê¤¿¤Î°ÌÃ֤Ϥè¤ê³ÎÄêŪ¤Ë¤Ê¤Ã¤¿¡£";
1686 #else
1687                         muta_desc = "Your position seems more certain.";
1688 #endif
1689
1690                         break;
1691                 case 78:
1692                         muta_class = &(p_ptr->muta2);
1693                         muta_which = MUT2_ALCOHOL;
1694 #ifdef JP
1695 muta_desc = "¤¢¤Ê¤¿¤Ï¥¢¥ë¥³¡¼¥ë¤òʬÈ礷¤Ê¤¯¤Ê¤Ã¤¿¡ª";
1696 #else
1697                         muta_desc = "Your body stops producing alcohol!";
1698 #endif
1699
1700                         break;
1701                 case 79:
1702                         muta_class = &(p_ptr->muta2);
1703                         muta_which = MUT2_HALLU;
1704 #ifdef JP
1705 muta_desc = "¸¸³Ð¤ò¤Ò¤­µ¯¤³¤¹Àº¿À¾ã³²¤òµ¯¤³¤µ¤Ê¤¯¤Ê¤Ã¤¿¡ª";
1706 #else
1707                         muta_desc = "You are no longer afflicted by a hallucinatory insanity!";
1708 #endif
1709
1710                         break;
1711                 case 80:
1712                         muta_class = &(p_ptr->muta2);
1713                         muta_which = MUT2_FLATULENT;
1714 #ifdef JP
1715 muta_desc = "¤â¤¦¶¯Îõ¤ÊÕû¤Ï¤³¤«¤Ê¤¯¤Ê¤Ã¤¿¡£";
1716 #else
1717                         muta_desc = "You are no longer subject to uncontrollable flatulence.";
1718 #endif
1719
1720                         break;
1721                 case 81: case 82:
1722                         muta_class = &(p_ptr->muta2);
1723                         muta_which = MUT2_SCOR_TAIL;
1724 #ifdef JP
1725 muta_desc = "¥µ¥½¥ê¤Î¿¬Èø¤¬¤Ê¤¯¤Ê¤Ã¤¿¡ª";
1726 #else
1727                         muta_desc = "You lose your scorpion tail!";
1728 #endif
1729
1730                         break;
1731                 case 83: case 84:
1732                         muta_class = &(p_ptr->muta2);
1733                         muta_which = MUT2_HORNS;
1734 #ifdef JP
1735 muta_desc = "³Û¤«¤é³Ñ¤¬¾Ã¤¨¤¿¡ª";
1736 #else
1737                         muta_desc = "Your horns vanish from your forehead!";
1738 #endif
1739
1740                         break;
1741                 case 85: case 86:
1742                         muta_class = &(p_ptr->muta2);
1743                         muta_which = MUT2_BEAK;
1744 #ifdef JP
1745 muta_desc = "¸ý¤¬ÉáÄ̤ËÌá¤Ã¤¿¡ª";
1746 #else
1747                         muta_desc = "Your mouth reverts to normal!";
1748 #endif
1749
1750                         break;
1751                 case 87: case 88:
1752                         muta_class = &(p_ptr->muta2);
1753                         muta_which = MUT2_ATT_DEMON;
1754 #ifdef JP
1755 muta_desc = "¥Ç¡¼¥â¥ó¤ò°ú¤­´ó¤»¤Ê¤¯¤Ê¤Ã¤¿¡£";
1756 #else
1757                         muta_desc = "You stop attracting demons.";
1758 #endif
1759
1760                         break;
1761                 case 89:
1762                         muta_class = &(p_ptr->muta2);
1763                         muta_which = MUT2_PROD_MANA;
1764 #ifdef JP
1765 muta_desc = "À©¸æÉÔǽ¤ÊËâË¡¤Î¥¨¥Í¥ë¥®¡¼¤òȯÀ¸¤·¤Ê¤¯¤Ê¤Ã¤¿¡£";
1766 #else
1767                         muta_desc = "You stop producing magical energy uncontrollably.";
1768 #endif
1769
1770                         break;
1771                 case 90: case 91:
1772                         muta_class = &(p_ptr->muta2);
1773                         muta_which = MUT2_SPEED_FLUX;
1774 #ifdef JP
1775 muta_desc = "í¯Ýµ¼Á¤Ç¤Ê¤¯¤Ê¤Ã¤¿¡£";
1776 #else
1777                         muta_desc = "You are no longer manic-depressive.";
1778 #endif
1779
1780                         break;
1781                 case 92: case 93:
1782                         muta_class = &(p_ptr->muta2);
1783                         muta_which = MUT2_BANISH_ALL;
1784 #ifdef JP
1785 muta_desc = "Çظå¤Ë¶²¤í¤·¤¤ÎϤò´¶¤¸¤Ê¤¯¤Ê¤Ã¤¿¡£";
1786 #else
1787                         muta_desc = "You no longer feel a terrifying power lurking behind you.";
1788 #endif
1789
1790                         break;
1791                 case 94:
1792                         muta_class = &(p_ptr->muta2);
1793                         muta_which = MUT2_EAT_LIGHT;
1794 #ifdef JP
1795 muta_desc = "À¤³¦¤¬ÌÀ¤ë¤¤¤È´¶¤¸¤ë¡£";
1796 #else
1797                         muta_desc = "You feel the world's a brighter place.";
1798 #endif
1799
1800                         break;
1801                 case 95: case 96:
1802                         muta_class = &(p_ptr->muta2);
1803                         muta_which = MUT2_TRUNK;
1804 #ifdef JP
1805 muta_desc = "É¡¤¬ÉáÄ̤ÎŤµ¤ËÌá¤Ã¤¿¡£";
1806 #else
1807                         muta_desc = "Your nose returns to a normal length.";
1808 #endif
1809
1810                         break;
1811                 case 97:
1812                         muta_class = &(p_ptr->muta2);
1813                         muta_which = MUT2_ATT_ANIMAL;
1814 #ifdef JP
1815 muta_desc = "ưʪ¤ò°ú¤­´ó¤»¤Ê¤¯¤Ê¤Ã¤¿¡£";
1816 #else
1817                         muta_desc = "You stop attracting animals.";
1818 #endif
1819
1820                         break;
1821                 case 98:
1822                         muta_class = &(p_ptr->muta2);
1823                         muta_which = MUT2_TENTACLES;
1824 #ifdef JP
1825 muta_desc = "¿¨¼ê¤¬¾Ã¤¨¤¿¡£";
1826 #else
1827                         muta_desc = "Your tentacles vanish from your sides.";
1828 #endif
1829
1830                         break;
1831                 case 99:
1832                         muta_class = &(p_ptr->muta2);
1833                         muta_which = MUT2_RAW_CHAOS;
1834 #ifdef JP
1835 muta_desc = "¼þ°Ï¤Î¶õ´Ö¤¬°ÂÄꤷ¤¿µ¤¤¬¤¹¤ë¡£";
1836 #else
1837                         muta_desc = "You feel the universe is more stable around you.";
1838 #endif
1839
1840                         break;
1841                 case 100: case 101: case 102:
1842                         muta_class = &(p_ptr->muta2);
1843                         muta_which = MUT2_NORMALITY;
1844 #ifdef JP
1845 muta_desc = "ÉáÄ̤˴ñ̯¤Ê´¶¤¸¤¬¤¹¤ë¡£";
1846 #else
1847                         muta_desc = "You feel normally strange.";
1848 #endif
1849
1850                         break;
1851                 case 103:
1852                         muta_class = &(p_ptr->muta2);
1853                         muta_which = MUT2_WRAITH;
1854 #ifdef JP
1855 muta_desc = "¤¢¤Ê¤¿¤Ïʪ¼ÁÀ¤³¦¤Ë¤·¤Ã¤«¤ê¸ºß¤·¤Æ¤¤¤ë¡£";
1856 #else
1857                         muta_desc = "You are firmly in the physical world.";
1858 #endif
1859
1860                         break;
1861                 case 104:
1862                         muta_class = &(p_ptr->muta2);
1863                         muta_which = MUT2_POLY_WOUND;
1864 #ifdef JP
1865 muta_desc = "¸Å¤¤½ý¤«¤é¥«¥ª¥¹¤ÎÎϤ¬µî¤Ã¤Æ¤¤¤Ã¤¿¡£";
1866 #else
1867                         muta_desc = "You feel forces of chaos departing your old scars.";
1868 #endif
1869
1870                         break;
1871                 case 105:
1872                         muta_class = &(p_ptr->muta2);
1873                         muta_which = MUT2_WASTING;
1874 #ifdef JP
1875 muta_desc = "¤ª¤¾¤Þ¤·¤¤¿ê¼åɤ¬¼£¤Ã¤¿¡ª";
1876 #else
1877                         muta_desc = "You are cured of the horrible wasting disease!";
1878 #endif
1879
1880                         break;
1881                 case 106:
1882                         muta_class = &(p_ptr->muta2);
1883                         muta_which = MUT2_ATT_DRAGON;
1884 #ifdef JP
1885 muta_desc = "¥É¥é¥´¥ó¤ò°ú¤­´ó¤»¤Ê¤¯¤Ê¤Ã¤¿¡£";
1886 #else
1887                         muta_desc = "You stop attracting dragons.";
1888 #endif
1889
1890                         break;
1891                 case 107: case 108:
1892                         muta_class = &(p_ptr->muta2);
1893                         muta_which = MUT2_WEIRD_MIND;
1894 #ifdef JP
1895 muta_desc = "»×¹Í¤¬Âà¶þ¤ÊÊý¸þ¤ËÌá¤Ã¤¿¡£";
1896 #else
1897                         muta_desc = "Your thoughts return to boring paths.";
1898 #endif
1899
1900                         break;
1901                 case 109:
1902                         muta_class = &(p_ptr->muta2);
1903                         muta_which = MUT2_NAUSEA;
1904 #ifdef JP
1905 muta_desc = "°ß¤¬áÛÚ»¤·¤Ê¤¯¤Ê¤Ã¤¿¡£";
1906 #else
1907                         muta_desc = "Your stomach stops roiling.";
1908 #endif
1909
1910                         break;
1911                 case 110: case 111:
1912                         muta_class = &(p_ptr->muta2);
1913                         muta_which = MUT2_CHAOS_GIFT;
1914 #ifdef JP
1915 muta_desc = "º®Æ٤οÀ¡¹¤Î¶½Ì£¤ò¼æ¤«¤Ê¤¯¤Ê¤Ã¤¿¡£";
1916 #else
1917                         muta_desc = "You lose the attention of the chaos deities.";
1918 #endif
1919
1920                         break;
1921                 case 112:
1922                         muta_class = &(p_ptr->muta2);
1923                         muta_which = MUT2_WALK_SHAD;
1924 #ifdef JP
1925 muta_desc = "ʪ¼ÁÀ¤³¦¤ËÊá¤é¤ï¤ì¤Æ¤¤¤ëµ¤¤¬¤¹¤ë¡£";
1926 #else
1927                         muta_desc = "You feel like you're trapped in reality.";
1928 #endif
1929
1930                         break;
1931                 case 113: case 114:
1932                         muta_class = &(p_ptr->muta2);
1933                         muta_which = MUT2_WARNING;
1934 #ifdef JP
1935 muta_desc = "¥Ñ¥é¥Î¥¤¥¢¤Ç¤Ê¤¯¤Ê¤Ã¤¿¡£";
1936 #else
1937                         muta_desc = "You no longer feel paranoid.";
1938 #endif
1939
1940                         break;
1941                 case 115:
1942                         muta_class = &(p_ptr->muta2);
1943                         muta_which = MUT2_INVULN;
1944 #ifdef JP
1945 muta_desc = "̵Ũ¾õÂÖ¤Îȯºî¤òµ¯¤³¤µ¤Ê¤¯¤Ê¤Ã¤¿¡£";
1946 #else
1947                         muta_desc = "You are no longer blessed with fits of invulnerability.";
1948 #endif
1949
1950                         break;
1951                 case 116: case 117:
1952                         muta_class = &(p_ptr->muta2);
1953                         muta_which = MUT2_SP_TO_HP;
1954 #ifdef JP
1955 muta_desc = "ËâË¡¤Î¼£Ìþ¤Îȯºî¤Ë½±¤ï¤ì¤Ê¤¯¤Ê¤Ã¤¿¡£";
1956 #else
1957                         muta_desc = "You are no longer subject to fits of magical healing.";
1958 #endif
1959
1960                         break;
1961                 case 118:
1962                         muta_class = &(p_ptr->muta2);
1963                         muta_which = MUT2_HP_TO_SP;
1964 #ifdef JP
1965 muta_desc = "Äˤߤòȼ¤¦Àº¿ÀÌÀÎƲ½¤Îȯºî¤Ë½±¤ï¤ì¤Ê¤¯¤Ê¤Ã¤¿¡£";
1966 #else
1967                         muta_desc = "You are no longer subject to fits of painful clarity.";
1968 #endif
1969
1970                         break;
1971                 case 119:
1972                         muta_class = &(p_ptr->muta2);
1973                         muta_which = MUT2_DISARM;
1974 #ifdef JP
1975 muta_desc = "µÓ¤¬¸µ¤ÎÂ礭¤µ¤ËÌá¤Ã¤¿¡£";
1976 #else
1977                         muta_desc = "Your feet shrink to their former size.";
1978 #endif
1979
1980                         break;
1981                 case 120: case 121: case 122:
1982                         muta_class = &(p_ptr->muta3);
1983                         muta_which = MUT3_HYPER_STR;
1984 #ifdef JP
1985 muta_desc = "¶ÚÆù¤¬ÉáÄ̤ËÌá¤Ã¤¿¡£";
1986 #else
1987                         muta_desc = "Your muscles revert to normal.";
1988 #endif
1989
1990                         break;
1991                 case 123: case 124: case 125:
1992                         muta_class = &(p_ptr->muta3);
1993                         muta_which = MUT3_PUNY;
1994 #ifdef JP
1995 muta_desc = "¶ÚÆù¤¬ÉáÄ̤ËÌá¤Ã¤¿¡£";
1996 #else
1997                         muta_desc = "Your muscles revert to normal.";
1998 #endif
1999
2000                         break;
2001                 case 126: case 127: case 128:
2002                         muta_class = &(p_ptr->muta3);
2003                         muta_which = MUT3_HYPER_INT;
2004 #ifdef JP
2005 muta_desc = "Ǿ¤¬ÉáÄ̤ËÌá¤Ã¤¿¡£";
2006 #else
2007                         muta_desc = "Your brain reverts to normal.";
2008 #endif
2009
2010                         break;
2011                 case 129: case 130: case 131:
2012                         muta_class = &(p_ptr->muta3);
2013                         muta_which = MUT3_MORONIC;
2014 #ifdef JP
2015 muta_desc = "Ǿ¤¬ÉáÄ̤ËÌá¤Ã¤¿¡£";
2016 #else
2017                         muta_desc = "Your brain reverts to normal.";
2018 #endif
2019
2020                         break;
2021                 case 132: case 133:
2022                         muta_class = &(p_ptr->muta3);
2023                         muta_which = MUT3_RESILIENT;
2024 #ifdef JP
2025 muta_desc = "ÉáÄ̤ξæÉפµ¤ËÌá¤Ã¤¿¡£";
2026 #else
2027                         muta_desc = "You become ordinarily resilient again.";
2028 #endif
2029
2030                         break;
2031                 case 134: case 135:
2032                         muta_class = &(p_ptr->muta3);
2033                         muta_which = MUT3_XTRA_FAT;
2034 #ifdef JP
2035 muta_desc = "´ñÀ×Ū¤Ê¥À¥¤¥¨¥Ã¥È¤ËÀ®¸ù¤·¤¿¡ª";
2036 #else
2037                         muta_desc = "You benefit from a miracle diet!";
2038 #endif
2039
2040                         break;
2041                 case 136: case 137:
2042                         muta_class = &(p_ptr->muta3);
2043                         muta_which = MUT3_ALBINO;
2044 #ifdef JP
2045 muta_desc = "¥¢¥ë¥Ó¥Î¤Ç¤Ê¤¯¤Ê¤Ã¤¿¡ª";
2046 #else
2047                         muta_desc = "You are no longer an albino!";
2048 #endif
2049
2050                         break;
2051                 case 138: case 139: case 140:
2052                         muta_class = &(p_ptr->muta3);
2053                         muta_which = MUT3_FLESH_ROT;
2054 #ifdef JP
2055 muta_desc = "ÆùÂΤòÉåÇÔ¤µ¤»¤ëɵ¤¤¬¼£¤Ã¤¿¡ª";
2056 #else
2057                         muta_desc = "Your flesh is no longer afflicted by a rotting disease!";
2058 #endif
2059
2060                         break;
2061                 case 141: case 142:
2062                         muta_class = &(p_ptr->muta3);
2063                         muta_which = MUT3_SILLY_VOI;
2064 #ifdef JP
2065 muta_desc = "À¼¼Á¤¬ÉáÄ̤ËÌá¤Ã¤¿¡£";
2066 #else
2067                         muta_desc = "Your voice returns to normal.";
2068 #endif
2069
2070                         break;
2071                 case 143: case 144:
2072                         muta_class = &(p_ptr->muta3);
2073                         muta_which = MUT3_BLANK_FAC;
2074 #ifdef JP
2075 muta_desc = "´é¤ËÌÜÉ¡¤¬Ìá¤Ã¤¿¡£";
2076 #else
2077                         muta_desc = "Your facial features return.";
2078 #endif
2079
2080                         break;
2081                 case 145:
2082                         muta_class = &(p_ptr->muta3);
2083                         muta_which = MUT3_ILL_NORM;
2084 #ifdef JP
2085 muta_desc = "¿´¤¬°Â¤é¤°¸¸±Æ¤ò±Ç¤·½Ð¤µ¤Ê¤¯¤Ê¤Ã¤¿¡£";
2086 #else
2087                         muta_desc = "You stop projecting a reassuring image.";
2088 #endif
2089
2090                         break;
2091                 case 146: case 147: case 148:
2092                         muta_class = &(p_ptr->muta3);
2093                         muta_which = MUT3_XTRA_EYES;
2094 #ifdef JP
2095 muta_desc = ";ʬ¤ÊÌܤ¬¾Ã¤¨¤Æ¤·¤Þ¤Ã¤¿¡ª";
2096 #else
2097                         muta_desc = "Your extra eyes vanish!";
2098 #endif
2099
2100                         break;
2101                 case 149: case 150:
2102                         muta_class = &(p_ptr->muta3);
2103                         muta_which = MUT3_MAGIC_RES;
2104 #ifdef JP
2105 muta_desc = "ËâË¡¤Ë¼å¤¯¤Ê¤Ã¤¿¡£";
2106 #else
2107                         muta_desc = "You become susceptible to magic again.";
2108 #endif
2109
2110                         break;
2111                 case 151: case 152: case 153:
2112                         muta_class = &(p_ptr->muta3);
2113                         muta_which = MUT3_XTRA_NOIS;
2114 #ifdef JP
2115 muta_desc = "´ñ̯¤Ê²»¤òΩ¤Æ¤Ê¤¯¤Ê¤Ã¤¿¡ª";
2116 #else
2117                         muta_desc = "You stop making strange noise!";
2118 #endif
2119
2120                         break;
2121                 case 154: case 155: case 156:
2122                         muta_class = &(p_ptr->muta3);
2123                         muta_which = MUT3_INFRAVIS;
2124 #ifdef JP
2125 muta_desc = "ÀÖ³°Àþ»ëÎϤ¬Íî¤Á¤¿¡£";
2126 #else
2127                         muta_desc = "Your infravision is degraded.";
2128 #endif
2129
2130                         break;
2131                 case 157: case 158:
2132                         muta_class = &(p_ptr->muta3);
2133                         muta_which = MUT3_XTRA_LEGS;
2134 #ifdef JP
2135 muta_desc = ";ʬ¤ÊµÓ¤¬¾Ã¤¨¤Æ¤·¤Þ¤Ã¤¿¡ª";
2136 #else
2137                         muta_desc = "Your extra legs disappear!";
2138 #endif
2139
2140                         break;
2141                 case 159: case 160:
2142                         muta_class = &(p_ptr->muta3);
2143                         muta_which = MUT3_SHORT_LEG;
2144 #ifdef JP
2145 muta_desc = "µÓ¤ÎŤµ¤¬ÉáÄ̤ËÌá¤Ã¤¿¡£";
2146 #else
2147                         muta_desc = "Your legs lengthen to normal.";
2148 #endif
2149
2150                         break;
2151                 case 161: case 162:
2152                         muta_class = &(p_ptr->muta3);
2153                         muta_which = MUT3_ELEC_TOUC;
2154 #ifdef JP
2155 muta_desc = "ÂΤòÅÅή¤¬Î®¤ì¤Ê¤¯¤Ê¤Ã¤¿¡£";
2156 #else
2157                         muta_desc = "Electricity stops running through you.";
2158 #endif
2159
2160                         break;
2161                 case 163: case 164:
2162                         muta_class = &(p_ptr->muta3);
2163                         muta_which = MUT3_FIRE_BODY;
2164 #ifdef JP
2165 muta_desc = "ÂΤ¬±ê¤ËÊñ¤Þ¤ì¤Ê¤¯¤Ê¤Ã¤¿¡£";
2166 #else
2167                         muta_desc = "Your body is no longer enveloped in flames.";
2168 #endif
2169
2170                         break;
2171                 case 165: case 166: case 167:
2172                         muta_class = &(p_ptr->muta3);
2173                         muta_which = MUT3_WART_SKIN;
2174 #ifdef JP
2175 muta_desc = "¥¤¥Ü¥¤¥Ü¤¬¾Ã¤¨¤¿¡ª";
2176 #else
2177                         muta_desc = "Your warts disappear!";
2178 #endif
2179
2180                         break;
2181                 case 168: case 169: case 170:
2182                         muta_class = &(p_ptr->muta3);
2183                         muta_which = MUT3_SCALES;
2184 #ifdef JP
2185 muta_desc = "ÎÚ¤¬¾Ã¤¨¤¿¡ª";
2186 #else
2187                         muta_desc = "Your scales vanish!";
2188 #endif
2189
2190                         break;
2191                 case 171: case 172:
2192                         muta_class = &(p_ptr->muta3);
2193                         muta_which = MUT3_IRON_SKIN;
2194 #ifdef JP
2195 muta_desc = "È©¤¬Æù¤Ë¤â¤É¤Ã¤¿¡ª";
2196 #else
2197                         muta_desc = "Your skin reverts to flesh!";
2198 #endif
2199
2200                         break;
2201                 case 173: case 174:
2202                         muta_class = &(p_ptr->muta3);
2203                         muta_which = MUT3_WINGS;
2204 #ifdef JP
2205 muta_desc = "ÇØÃæ¤Î±©º¬¤¬¼è¤ìÍî¤Á¤¿¡£";
2206 #else
2207                         muta_desc = "Your wings fall off.";
2208 #endif
2209
2210                         break;
2211                 case 175: case 176: case 177:
2212                         muta_class = &(p_ptr->muta3);
2213                         muta_which = MUT3_FEARLESS;
2214 #ifdef JP
2215 muta_desc = "ºÆ¤Ó¶²Éݤò´¶¤¸¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£";
2216 #else
2217                         muta_desc = "You begin to feel fear again.";
2218 #endif
2219
2220                         break;
2221                 case 178: case 179:
2222                         muta_class = &(p_ptr->muta3);
2223                         muta_which = MUT3_REGEN;
2224 #ifdef JP
2225 muta_desc = "µÞ®²óÉü¤·¤Ê¤¯¤Ê¤Ã¤¿¡£";
2226 #else
2227                         muta_desc = "You stop regenerating.";
2228 #endif
2229
2230                         break;
2231                 case 180: case 181:
2232                         muta_class = &(p_ptr->muta3);
2233                         muta_which = MUT3_ESP;
2234 #ifdef JP
2235 muta_desc = "¥Æ¥ì¥Ñ¥·¡¼¤ÎǽÎϤò¼º¤Ã¤¿¡ª";
2236 #else
2237                         muta_desc = "You lose your telepathic ability!";
2238 #endif
2239
2240                         break;
2241                 case 182: case 183: case 184:
2242                         muta_class = &(p_ptr->muta3);
2243                         muta_which = MUT3_LIMBER;
2244 #ifdef JP
2245 muta_desc = "¶ÚÆù¤¬¹Å¤¯¤Ê¤Ã¤¿¡£";
2246 #else
2247                         muta_desc = "Your muscles stiffen.";
2248 #endif
2249
2250                         break;
2251                 case 185: case 186: case 187:
2252                         muta_class = &(p_ptr->muta3);
2253                         muta_which = MUT3_ARTHRITIS;
2254 #ifdef JP
2255 muta_desc = "´ØÀ᤬Äˤ¯¤Ê¤¯¤Ê¤Ã¤¿¡£";
2256 #else
2257                         muta_desc = "Your joints stop hurting.";
2258 #endif
2259
2260                         break;
2261                 case 188:
2262                         muta_class = &(p_ptr->muta3);
2263                         muta_which = MUT3_BAD_LUCK;
2264 #ifdef JP
2265 muta_desc = "¹õ¤¤¥ª¡¼¥é¤Ï±²´¬¤¤¤Æ¾Ã¤¨¤¿¡£";
2266 #else
2267                         muta_desc = "Your black aura swirls and fades.";
2268 #endif
2269
2270                         break;
2271                 case 189:
2272                         muta_class = &(p_ptr->muta3);
2273                         muta_which = MUT3_VULN_ELEM;
2274 #ifdef JP
2275 muta_desc = "̵ËÉÈ÷¤Ê´¶¤¸¤Ï¤Ê¤¯¤Ê¤Ã¤¿¡£";
2276 #else
2277                         muta_desc = "You feel less exposed.";
2278 #endif
2279
2280                         break;
2281                 case 190: case 191: case 192:
2282                         muta_class = &(p_ptr->muta3);
2283                         muta_which = MUT3_MOTION;
2284 #ifdef JP
2285 muta_desc = "Æ°ºî¤ÎÀµ³Î¤µ¤¬¤Ê¤¯¤Ê¤Ã¤¿¡£";
2286 #else
2287                         muta_desc = "You move with less assurance.";
2288 #endif
2289
2290                         break;
2291                 case 193:
2292                         if (p_ptr->pseikaku == SEIKAKU_LUCKY) break;
2293                         muta_class = &(p_ptr->muta3);
2294                         muta_which = MUT3_GOOD_LUCK;
2295 #ifdef JP
2296 muta_desc = "Çò¤¤¥ª¡¼¥é¤Ïµ±¤¤¤Æ¾Ã¤¨¤¿¡£";
2297 #else
2298                         muta_desc = "Your white aura shimmers and fades.";
2299 #endif
2300
2301                         break;
2302                 default:
2303                         muta_class = NULL;
2304                         muta_which = 0;
2305                 }
2306
2307                 if (muta_class && muta_which)
2308                 {
2309                         if (*(muta_class) & muta_which)
2310                         {
2311                                 muta_chosen = TRUE;
2312                         }
2313                 }
2314                 if (muta_chosen == TRUE) break;
2315         }
2316
2317         if (!muta_chosen)
2318         {
2319                 return FALSE;
2320         }
2321         else
2322         {
2323                 msg_print(muta_desc);
2324                 *(muta_class) &= ~(muta_which);
2325
2326                 p_ptr->update |= PU_BONUS;
2327                 handle_stuff();
2328                 mutant_regenerate_mod = calc_mutant_regenerate_mod();
2329                 return TRUE;
2330         }
2331 }
2332
2333
2334 void dump_mutations(FILE *OutFile)
2335 {
2336         if (!OutFile) return;
2337
2338         if (p_ptr->muta1)
2339         {
2340                 if (p_ptr->muta1 & MUT1_SPIT_ACID)
2341                 {
2342 #ifdef JP
2343 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï»À¤ò¿á¤­¤«¤±¤ë¤³¤È¤¬¤Ç¤­¤ë¡£(¥À¥á¡¼¥¸ ¥ì¥Ù¥ëX1)\n");
2344 #else
2345                         fprintf(OutFile, " You can spit acid (dam lvl).\n");
2346 #endif
2347
2348                 }
2349                 if (p_ptr->muta1 & MUT1_BR_FIRE)
2350                 {
2351 #ifdef JP
2352 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï±ê¤Î¥Ö¥ì¥¹¤òÅǤ¯¤³¤È¤¬¤Ç¤­¤ë¡£(¥À¥á¡¼¥¸ ¥ì¥Ù¥ëX2)\n");
2353 #else
2354                         fprintf(OutFile, " You can breathe fire (dam lvl * 2).\n");
2355 #endif
2356
2357                 }
2358                 if (p_ptr->muta1 & MUT1_HYPN_GAZE)
2359                 {
2360 #ifdef JP
2361 fprintf(OutFile, " ¤¢¤Ê¤¿¤ÎâˤߤϺÅ̲¸ú²Ì¤ò¤â¤Ä¡£\n");
2362 #else
2363                         fprintf(OutFile, " Your gaze is hypnotic.\n");
2364 #endif
2365
2366                 }
2367                 if (p_ptr->muta1 & MUT1_TELEKINES)
2368                 {
2369 #ifdef JP
2370 fprintf(OutFile, " ¤¢¤Ê¤¿¤ÏÇ°Æ°ÎϤò¤â¤Ã¤Æ¤¤¤ë¡£\n");
2371 #else
2372                         fprintf(OutFile, " You are telekinetic.\n");
2373 #endif
2374
2375                 }
2376                 if (p_ptr->muta1 & MUT1_VTELEPORT)
2377                 {
2378 #ifdef JP
2379 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï¼«Ê¬¤Î°Õ»×¤Ç¥Æ¥ì¥Ý¡¼¥È¤Ç¤­¤ë¡£\n");
2380 #else
2381                         fprintf(OutFile, " You can teleport at will.\n");
2382 #endif
2383
2384                 }
2385                 if (p_ptr->muta1 & MUT1_MIND_BLST)
2386                 {
2387 #ifdef JP
2388 fprintf(OutFile, " ¤¢¤Ê¤¿¤ÏŨ¤òÀº¿À¹¶·â¤Ç¤­¤ë¡£\n");
2389 #else
2390                         fprintf(OutFile, " You can Mind Blast your enemies.\n");
2391 #endif
2392
2393                 }
2394                 if (p_ptr->muta1 & MUT1_RADIATION)
2395                 {
2396 #ifdef JP
2397 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï¼«Ê¬¤Î°Õ»×¤ÇÊü¼Íǽ¤òȯÀ¸¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£\n");
2398 #else
2399                         fprintf(OutFile, " You can emit hard radiation at will.\n");
2400 #endif
2401
2402                 }
2403                 if (p_ptr->muta1 & MUT1_VAMPIRISM)
2404                 {
2405 #ifdef JP
2406 fprintf(OutFile, " ¤¢¤Ê¤¿¤ÏµÛ·ìµ´¤Î¤è¤¦¤ËŨ¤«¤éÀ¸Ì¿ÎϤòµÛ¼ý¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£\n");
2407 #else
2408                         fprintf(OutFile, " You can drain life from a foe like a vampire.\n");
2409 #endif
2410
2411                 }
2412                 if (p_ptr->muta1 & MUT1_SMELL_MET)
2413                 {
2414 #ifdef JP
2415 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï¶á¤¯¤Ë¤¢¤ëµ®¶â°¤ò¤«¤®Ê¬¤±¤ë¤³¤È¤¬¤Ç¤­¤ë¡£\n");
2416 #else
2417                         fprintf(OutFile, " You can smell nearby precious metal.\n");
2418 #endif
2419
2420                 }
2421                 if (p_ptr->muta1 & MUT1_SMELL_MON)
2422                 {
2423 #ifdef JP
2424 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï¶á¤¯¤Î¥â¥ó¥¹¥¿¡¼¤Î¸ºß¤ò¤«¤®Ê¬¤±¤ë¤³¤È¤¬¤Ç¤­¤ë¡£\n");
2425 #else
2426                         fprintf(OutFile, " You can smell nearby monsters.\n");
2427 #endif
2428
2429                 }
2430                 if (p_ptr->muta1 & MUT1_BLINK)
2431                 {
2432 #ifdef JP
2433 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ïû¤¤µ÷Î¥¤ò¥Æ¥ì¥Ý¡¼¥È¤Ç¤­¤ë¡£\n");
2434 #else
2435                         fprintf(OutFile, " You can teleport yourself short distances.\n");
2436 #endif
2437
2438                 }
2439                 if (p_ptr->muta1 & MUT1_EAT_ROCK)
2440                 {
2441 #ifdef JP
2442 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï¹Å¤¤´ä¤ò¿©¤Ù¤ë¤³¤È¤¬¤Ç¤­¤ë¡£\n");
2443 #else
2444                         fprintf(OutFile, " You can consume solid rock.\n");
2445 #endif
2446
2447                 }
2448                 if (p_ptr->muta1 & MUT1_SWAP_POS)
2449                 {
2450 #ifdef JP
2451 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï¾¤Î¼Ô¤È¾ì½ê¤òÆþ¤ìÂؤï¤ë¤³¤È¤¬¤Ç¤­¤ë¡£\n");
2452 #else
2453                         fprintf(OutFile, " You can switch locations with another being.\n");
2454 #endif
2455
2456                 }
2457                 if (p_ptr->muta1 & MUT1_SHRIEK)
2458                 {
2459 #ifdef JP
2460 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï¿È¤ÎÌÓ¤â¤è¤À¤Ä¶«¤ÓÀ¼¤òȯ¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£\n");
2461 #else
2462                         fprintf(OutFile, " You can emit a horrible shriek.\n");
2463 #endif
2464
2465                 }
2466                 if (p_ptr->muta1 & MUT1_ILLUMINE)
2467                 {
2468 #ifdef JP
2469 fprintf(OutFile, " ¤¢¤Ê¤¿¤ÏÌÀ¤ë¤¤¸÷¤òÊü¤Ä¤³¤È¤¬¤Ç¤­¤ë¡£\n");
2470 #else
2471                         fprintf(OutFile, " You can emit bright light.\n");
2472 #endif
2473
2474                 }
2475                 if (p_ptr->muta1 & MUT1_DET_CURSE)
2476                 {
2477 #ifdef JP
2478 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï¼Ù°­¤ÊËâË¡¤Î´í¸±¤ò´¶¤¸¤È¤ë¤³¤È¤¬¤Ç¤­¤ë¡£\n");
2479 #else
2480                         fprintf(OutFile, " You can feel the danger of evil magic.\n");
2481 #endif
2482
2483                 }
2484                 if (p_ptr->muta1 & MUT1_BERSERK)
2485                 {
2486 #ifdef JP
2487 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï¼«Ê¬¤Î°Õ»×¤Ç¶¸ÍðÀïÆ®¾õÂ֤ˤʤ뤳¤È¤¬¤Ç¤­¤ë¡£\n");
2488 #else
2489                         fprintf(OutFile, " You can drive yourself into a berserk frenzy.\n");
2490 #endif
2491
2492                 }
2493                 if (p_ptr->muta1 & MUT1_POLYMORPH)
2494                 {
2495 #ifdef JP
2496 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï¼«Ê¬¤Î°Õ»Ö¤ÇÊѲ½¤Ç¤­¤ë¡£\n");
2497 #else
2498                         fprintf(OutFile, " You can polymorph yourself at will.\n");
2499 #endif
2500
2501                 }
2502                 if (p_ptr->muta1 & MUT1_MIDAS_TCH)
2503                 {
2504 #ifdef JP
2505 fprintf(OutFile, " ¤¢¤Ê¤¿¤ÏÄ̾異¥¤¥Æ¥à¤ò¶â¤ËÊѤ¨¤ë¤³¤È¤¬¤Ç¤­¤ë¡£\n");
2506 #else
2507                         fprintf(OutFile, " You can turn ordinary items to gold.\n");
2508 #endif
2509
2510                 }
2511                 if (p_ptr->muta1 & MUT1_GROW_MOLD)
2512                 {
2513 #ifdef JP
2514 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï¼þ°Ï¤Ë¥­¥Î¥³¤òÀ¸¤ä¤¹¤³¤È¤¬¤Ç¤­¤ë¡£\n");
2515 #else
2516                         fprintf(OutFile, " You can cause mold to grow near you.\n");
2517 #endif
2518
2519                 }
2520                 if (p_ptr->muta1 & MUT1_RESIST)
2521                 {
2522 #ifdef JP
2523 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï¸µÁǤι¶·â¤ËÂФ·¤Æ¿È¤ò¹Å¤¯¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£\n");
2524 #else
2525                         fprintf(OutFile, " You can harden yourself to the ravages of the elements.\n");
2526 #endif
2527
2528                 }
2529                 if (p_ptr->muta1 & MUT1_EARTHQUAKE)
2530                 {
2531 #ifdef JP
2532 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï¼þ°Ï¤Î¥À¥ó¥¸¥ç¥ó¤òÊø²õ¤µ¤»¤ë¤³¤È¤¬¤Ç¤­¤ë¡£\n");
2533 #else
2534                         fprintf(OutFile, " You can bring down the dungeon around your ears.\n");
2535 #endif
2536
2537                 }
2538                 if (p_ptr->muta1 & MUT1_EAT_MAGIC)
2539                 {
2540 #ifdef JP
2541 fprintf(OutFile, " ¤¢¤Ê¤¿¤ÏËâË¡¤Î¥¨¥Í¥ë¥®¡¼¤ò¼«Ê¬¤Îʪ¤È¤·¤Æ»ÈÍѤǤ­¤ë¡£\n");
2542 #else
2543                         fprintf(OutFile, " You can consume magic energy for your own use.\n");
2544 #endif
2545
2546                 }
2547                 if (p_ptr->muta1 & MUT1_WEIGH_MAG)
2548                 {
2549 #ifdef JP
2550 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï¼«Ê¬¤Ë±Æ¶Á¤òÍ¿¤¨¤ëËâË¡¤ÎÎϤò´¶¤¸¤ë¤³¤È¤¬¤Ç¤­¤ë¡£\n");
2551 #else
2552                         fprintf(OutFile, " You can feel the strength of the magics affecting you.\n");
2553 #endif
2554
2555                 }
2556                 if (p_ptr->muta1 & MUT1_STERILITY)
2557                 {
2558 #ifdef JP
2559 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï½¸ÃÄŪÀ¸¿£ÉÔǽ¤òµ¯¤³¤¹¤³¤È¤¬¤Ç¤­¤ë¡£\n");
2560 #else
2561                         fprintf(OutFile, " You can cause mass impotence.\n");
2562 #endif
2563
2564                 }
2565                 if (p_ptr->muta1 & MUT1_PANIC_HIT)
2566                 {
2567 #ifdef JP
2568 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï¹¶·â¤·¤¿¸å¿È¤ò¼é¤ë¤¿¤áƨ¤²¤ë¤³¤È¤¬¤Ç¤­¤ë¡£\n");
2569 #else
2570                         fprintf(OutFile, " You can run for your life after hitting something.\n");
2571 #endif
2572
2573                 }
2574                 if (p_ptr->muta1 & MUT1_DAZZLE)
2575                 {
2576 #ifdef JP
2577 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ïº®Íð¤ÈÌÕÌܤò°ú¤­µ¯¤³¤¹Êü¼Íǽ¤òȯÀ¸¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£ \n");
2578 #else
2579                         fprintf(OutFile, " You can emit confusing, blinding radiation.\n");
2580 #endif
2581
2582                 }
2583                 if (p_ptr->muta1 & MUT1_LASER_EYE)
2584                 {
2585 #ifdef JP
2586 fprintf(OutFile, " ¤¢¤Ê¤¿¤ÏÌܤ«¤é¥ì¡¼¥¶¡¼¸÷Àþ¤òȯ¼Í¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£\n");
2587 #else
2588                         fprintf(OutFile, " Your eyes can fire laser beams.\n");
2589 #endif
2590
2591                 }
2592                 if (p_ptr->muta1 & MUT1_RECALL)
2593                 {
2594 #ifdef JP
2595 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï³¹¤È¥À¥ó¥¸¥ç¥ó¤Î´Ö¤ò¹Ô¤­Í褹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£\n");
2596 #else
2597                         fprintf(OutFile, " You can travel between town and the depths.\n");
2598 #endif
2599
2600                 }
2601                 if (p_ptr->muta1 & MUT1_BANISH)
2602                 {
2603 #ifdef JP
2604 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï¼Ù°­¤Ê¥â¥ó¥¹¥¿¡¼¤òÃϹö¤ËÍî¤È¤¹¤³¤È¤¬¤Ç¤­¤ë¡£\n");
2605 #else
2606                         fprintf(OutFile, " You can send evil creatures directly to Hell.\n");
2607 #endif
2608
2609                 }
2610                 if (p_ptr->muta1 & MUT1_COLD_TOUCH)
2611                 {
2612 #ifdef JP
2613 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ïʪ¤ò¿¨¤Ã¤ÆÅà¤é¤»¤ë¤³¤È¤¬¤Ç¤­¤ë¡£\n");
2614 #else
2615                         fprintf(OutFile, " You can freeze things with a touch.\n");
2616 #endif
2617
2618                 }
2619                 if (p_ptr->muta1 & MUT1_LAUNCHER)
2620                 {
2621 #ifdef JP
2622 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï¥¢¥¤¥Æ¥à¤òÎ϶¯¤¯Åꤲ¤ë¤³¤È¤¬¤Ç¤­¤ë¡£\n");
2623 #else
2624                         fprintf(OutFile, " You can hurl objects with great force.\n");
2625 #endif
2626
2627                 }
2628         }
2629
2630         if (p_ptr->muta2)
2631         {
2632                 if (p_ptr->muta2 & MUT2_BERS_RAGE)
2633                 {
2634 #ifdef JP
2635 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï¶¸Àï»Î²½¤Îȯºî¤òµ¯¤³¤¹¡£\n");
2636 #else
2637                         fprintf(OutFile, " You are subject to berserker fits.\n");
2638 #endif
2639
2640                 }
2641                 if (p_ptr->muta2 & MUT2_COWARDICE)
2642                 {
2643 #ifdef JP
2644 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï»þ¡¹²²É¤ˤʤ롣\n");
2645 #else
2646                         fprintf(OutFile, " You are subject to cowardice.\n");
2647 #endif
2648
2649                 }
2650                 if (p_ptr->muta2 & MUT2_RTELEPORT)
2651                 {
2652 #ifdef JP
2653 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï¥é¥ó¥À¥à¤Ë¥Æ¥ì¥Ý¡¼¥È¤¹¤ë¡£\n");
2654 #else
2655                         fprintf(OutFile, " You are teleporting randomly.\n");
2656 #endif
2657
2658                 }
2659                 if (p_ptr->muta2 & MUT2_ALCOHOL)
2660                 {
2661 #ifdef JP
2662 fprintf(OutFile, " ¤¢¤Ê¤¿¤ÎÂΤϥ¢¥ë¥³¡¼¥ë¤òʬÈ礹¤ë¡£\n");
2663 #else
2664                         fprintf(OutFile, " Your body produces alcohol.\n");
2665 #endif
2666
2667                 }
2668                 if (p_ptr->muta2 & MUT2_HALLU)
2669                 {
2670 #ifdef JP
2671 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï¸¸³Ð¤ò°ú¤­µ¯¤³¤¹Àº¿ÀºøÍð¤Ë¿¯¤µ¤ì¤Æ¤¤¤ë¡£\n");
2672 #else
2673                         fprintf(OutFile, " You have a hallucinatory insanity.\n");
2674 #endif
2675
2676                 }
2677                 if (p_ptr->muta2 & MUT2_FLATULENT)
2678                 {
2679 #ifdef JP
2680 fprintf(OutFile, " ¤¢¤Ê¤¿¤ÏÀ©¸æ¤Ç¤­¤Ê¤¤¶¯Îõ¤ÊÕû¤ò¤³¤¯¡£\n");
2681 #else
2682                         fprintf(OutFile, " You are subject to uncontrollable flatulence.\n");
2683 #endif
2684
2685                 }
2686                 if (p_ptr->muta2 & MUT2_PROD_MANA)
2687                 {
2688 #ifdef JP
2689 fprintf(OutFile, " ¤¢¤Ê¤¿¤ÏÀ©¸æÉÔǽ¤ÊËâË¡¤Î¥¨¥Í¥ë¥®¡¼¤òȯ¤·¤Æ¤¤¤ë¡£\n");
2690 #else
2691                         fprintf(OutFile, " You are producing magical energy uncontrollably.\n");
2692 #endif
2693
2694                 }
2695                 if (p_ptr->muta2 & MUT2_ATT_DEMON)
2696                 {
2697 #ifdef JP
2698 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï¥Ç¡¼¥â¥ó¤ò°ú¤­¤Ä¤±¤ë¡£\n");
2699 #else
2700                         fprintf(OutFile, " You attract demons.\n");
2701 #endif
2702
2703                 }
2704                 if (p_ptr->muta2 & MUT2_SCOR_TAIL)
2705                 {
2706 #ifdef JP
2707 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï¥µ¥½¥ê¤Î¿¬Èø¤¬À¸¤¨¤Æ¤¤¤ë¡£(ÆÇ¡¢¥À¥á¡¼¥¸ 3d7)\n");
2708 #else
2709                         fprintf(OutFile, " You have a scorpion tail (poison, 3d7).\n");
2710 #endif
2711
2712                 }
2713                 if (p_ptr->muta2 & MUT2_HORNS)
2714                 {
2715 #ifdef JP
2716 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï³Ñ¤¬À¸¤¨¤Æ¤¤¤ë¡£(¥À¥á¡¼¥¸ 2d6)\n");
2717 #else
2718                         fprintf(OutFile, " You have horns (dam. 2d6).\n");
2719 #endif
2720
2721                 }
2722                 if (p_ptr->muta2 & MUT2_BEAK)
2723                 {
2724 #ifdef JP
2725 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï¥¯¥Á¥Ð¥·¤¬À¸¤¨¤Æ¤¤¤ë¡£(¥À¥á¡¼¥¸ 2d4)\n");
2726 #else
2727                         fprintf(OutFile, " You have a beak (dam. 2d4).\n");
2728 #endif
2729
2730                 }
2731                 if (p_ptr->muta2 & MUT2_SPEED_FLUX)
2732                 {
2733 #ifdef JP
2734 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï¥é¥ó¥À¥à¤ËÁ᤯ư¤¤¤¿¤êÃÙ¤¯Æ°¤¤¤¿¤ê¤¹¤ë¡£\n");
2735 #else
2736                         fprintf(OutFile, " You move faster or slower randomly.\n");
2737 #endif
2738
2739                 }
2740                 if (p_ptr->muta2 & MUT2_BANISH_ALL)
2741                 {
2742 #ifdef JP
2743 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï»þ¡¹¶á¤¯¤Î¥â¥ó¥¹¥¿¡¼¤ò¾ÃÌǤµ¤»¤ë¡£\n");
2744 #else
2745                         fprintf(OutFile, " You sometimes cause nearby creatures to vanish.\n");
2746 #endif
2747
2748                 }
2749                 if (p_ptr->muta2 & MUT2_EAT_LIGHT)
2750                 {
2751 #ifdef JP
2752 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï»þ¡¹¼þ°Ï¤Î¸÷¤òµÛ¼ý¤·¤Æ±ÉÍܤˤ¹¤ë¡£\n");
2753 #else
2754                         fprintf(OutFile, " You sometimes feed off of the light around you.\n");
2755 #endif
2756
2757                 }
2758                 if (p_ptr->muta2 & MUT2_TRUNK)
2759                 {
2760 #ifdef JP
2761 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï¾Ý¤Î¤è¤¦¤ÊÉ¡¤ò»ý¤Ã¤Æ¤¤¤ë¡£(¥À¥á¡¼¥¸ 1d4)\n");
2762 #else
2763                         fprintf(OutFile, " You have an elephantine trunk (dam 1d4).\n");
2764 #endif
2765
2766                 }
2767                 if (p_ptr->muta2 & MUT2_ATT_ANIMAL)
2768                 {
2769 #ifdef JP
2770 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ïưʪ¤ò°ú¤­¤Ä¤±¤ë¡£\n");
2771 #else
2772                         fprintf(OutFile, " You attract animals.\n");
2773 #endif
2774
2775                 }
2776                 if (p_ptr->muta2 & MUT2_TENTACLES)
2777                 {
2778 #ifdef JP
2779 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï¼Ù°­¤Ê¿¨¼ê¤ò»ý¤Ã¤Æ¤¤¤ë¡£(¥À¥á¡¼¥¸ 2d5)\n");
2780 #else
2781                         fprintf(OutFile, " You have evil looking tentacles (dam 2d5).\n");
2782 #endif
2783
2784                 }
2785                 if (p_ptr->muta2 & MUT2_RAW_CHAOS)
2786                 {
2787 #ifdef JP
2788 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï¤·¤Ð¤·¤Ð½ã¥«¥ª¥¹¤ËÊñ¤Þ¤ì¤ë¡£\n");
2789 #else
2790                         fprintf(OutFile, " You occasionally are surrounded with raw chaos.\n");
2791 #endif
2792
2793                 }
2794                 if (p_ptr->muta2 & MUT2_NORMALITY)
2795                 {
2796 #ifdef JP
2797 fprintf(OutFile, " ¤¢¤Ê¤¿¤ÏÊÑ°Û¤·¤Æ¤¤¤¿¤¬¡¢²óÉü¤·¤Æ¤­¤Æ¤¤¤ë¡£\n");
2798 #else
2799                         fprintf(OutFile, " You may be mutated, but you're recovering.\n");
2800 #endif
2801
2802                 }
2803                 if (p_ptr->muta2 & MUT2_WRAITH)
2804                 {
2805 #ifdef JP
2806 fprintf(OutFile, " ¤¢¤Ê¤¿¤ÎÆùÂΤÏÍ©Â⽤·¤¿¤ê¼ÂÂ⽤·¤¿¤ê¤¹¤ë¡£\n");
2807 #else
2808                         fprintf(OutFile, " You fade in and out of physical reality.\n");
2809 #endif
2810
2811                 }
2812                 if (p_ptr->muta2 & MUT2_POLY_WOUND)
2813                 {
2814 #ifdef JP
2815 fprintf(OutFile, " ¤¢¤Ê¤¿¤Î·ò¹¯¤Ï¥«¥ª¥¹¤ÎÎϤ˱ƶÁ¤ò¼õ¤±¤ë¡£\n");
2816 #else
2817                         fprintf(OutFile, " Your health is subject to chaotic forces.\n");
2818 #endif
2819
2820                 }
2821                 if (p_ptr->muta2 & MUT2_WASTING)
2822                 {
2823 #ifdef JP
2824 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï¿ê¼å¤¹¤ë¶²¤í¤·¤¤Éµ¤¤Ë¤«¤«¤Ã¤Æ¤¤¤ë¡£\n");
2825 #else
2826                         fprintf(OutFile, " You have a horrible wasting disease.\n");
2827 #endif
2828
2829                 }
2830                 if (p_ptr->muta2 & MUT2_ATT_DRAGON)
2831                 {
2832 #ifdef JP
2833 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï¥É¥é¥´¥ó¤ò°ú¤­¤Ä¤±¤ë¡£\n");
2834 #else
2835                         fprintf(OutFile, " You attract dragons.\n");
2836 #endif
2837
2838                 }
2839                 if (p_ptr->muta2 & MUT2_WEIRD_MIND)
2840                 {
2841 #ifdef JP
2842 fprintf(OutFile, " ¤¢¤Ê¤¿¤ÎÀº¿À¤Ï¥é¥ó¥À¥à¤Ë³ÈÂ礷¤¿¤ê½Ì¾®¤·¤¿¤ê¤·¤Æ¤¤¤ë¡£\n");
2843 #else
2844                         fprintf(OutFile, " Your mind randomly expands and contracts.\n");
2845 #endif
2846
2847                 }
2848                 if (p_ptr->muta2 & MUT2_NAUSEA)
2849                 {
2850 #ifdef JP
2851 fprintf(OutFile, " ¤¢¤Ê¤¿¤Î°ß¤ÏÈó¾ï¤ËÍî¤ÁÃ夭¤¬¤Ê¤¤¡£\n");
2852 #else
2853                         fprintf(OutFile, " You have a seriously upset stomach.\n");
2854 #endif
2855
2856                 }
2857                 if (p_ptr->muta2 & MUT2_CHAOS_GIFT)
2858                 {
2859 #ifdef JP
2860 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï¥«¥ª¥¹¤Î¼é¸î°­Ë⤫¤éË«Èþ¤ò¤¦¤±¤È¤ë¡£\n");
2861 #else
2862                         fprintf(OutFile, " Chaos deities give you gifts.\n");
2863 #endif
2864
2865                 }
2866                 if (p_ptr->muta2 & MUT2_WALK_SHAD)
2867                 {
2868 #ifdef JP
2869 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï¤·¤Ð¤·¤Ð¾¤Î¡Ö±Æ¡×¤Ë̤¤¹þ¤à¡£\n");
2870 #else
2871                         fprintf(OutFile, " You occasionally stumble into other shadows.\n");
2872 #endif
2873
2874                 }
2875                 if (p_ptr->muta2 & MUT2_WARNING)
2876                 {
2877 #ifdef JP
2878 fprintf(OutFile, " ¤¢¤Ê¤¿¤ÏŨ¤Ë´Ø¤¹¤ë·Ù¹ð¤ò´¶¤¸¤ë¡£\n");
2879 #else
2880                         fprintf(OutFile, " You receive warnings about your foes.\n");
2881 #endif
2882
2883                 }
2884                 if (p_ptr->muta2 & MUT2_INVULN)
2885                 {
2886 #ifdef JP
2887 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï»þ¡¹É餱ÃΤ餺¤Êµ¤Ê¬¤Ë¤Ê¤ë¡£\n");
2888 #else
2889                         fprintf(OutFile, " You occasionally feel invincible.\n");
2890 #endif
2891
2892                 }
2893                 if (p_ptr->muta2 & MUT2_SP_TO_HP)
2894                 {
2895 #ifdef JP
2896 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï»þ¡¹·ì¤¬¶ÚÆù¤Ë¤É¤Ã¤Èή¤ì¤ë¡£\n");
2897 #else
2898                         fprintf(OutFile, " Your blood sometimes rushes to your muscles.\n");
2899 #endif
2900
2901                 }
2902                 if (p_ptr->muta2 & MUT2_HP_TO_SP)
2903                 {
2904 #ifdef JP
2905 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï»þ¡¹Æ¬¤Ë·ì¤¬¤É¤Ã¤Èή¤ì¤ë¡£\n");
2906 #else
2907                         fprintf(OutFile, " Your blood sometimes rushes to your head.\n");
2908 #endif
2909
2910                 }
2911                 if (p_ptr->muta2 & MUT2_DISARM)
2912                 {
2913 #ifdef JP
2914 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï¤è¤¯¤Ä¤Þ¤Å¤¤¤Æʪ¤òÍî¤È¤¹¡£\n");
2915 #else
2916                         fprintf(OutFile, " You occasionally stumble and drop things.\n");
2917 #endif
2918
2919                 }
2920         }
2921
2922         if (p_ptr->muta3)
2923         {
2924                 if (p_ptr->muta3 & MUT3_HYPER_STR)
2925                 {
2926 #ifdef JP
2927 fprintf(OutFile, " ¤¢¤Ê¤¿¤ÏĶ¿ÍŪ¤Ë¶¯¤¤¡£(ÏÓÎÏ+4)\n");
2928 #else
2929                         fprintf(OutFile, " You are superhumanly strong (+4 STR).\n");
2930 #endif
2931
2932                 }
2933                 if (p_ptr->muta3 & MUT3_PUNY)
2934                 {
2935 #ifdef JP
2936 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ïµõ¼å¤À¡£(ÏÓÎÏ-4)\n");
2937 #else
2938                         fprintf(OutFile, " You are puny (-4 STR).\n");
2939 #endif
2940
2941                 }
2942                 if (p_ptr->muta3 & MUT3_HYPER_INT)
2943                 {
2944 #ifdef JP
2945 fprintf(OutFile, " ¤¢¤Ê¤¿¤ÎǾ¤ÏÀ¸ÂÎ¥³¥ó¥Ô¥å¡¼¥¿¤À¡£(ÃÎǽ¡õ¸­¤µ+4)\n");
2946 #else
2947                         fprintf(OutFile, " Your brain is a living computer (+4 INT/WIS).\n");
2948 #endif
2949
2950                 }
2951                 if (p_ptr->muta3 & MUT3_MORONIC)
2952                 {
2953 #ifdef JP
2954 fprintf(OutFile, " ¤¢¤Ê¤¿¤ÏÀº¿ÀÇö¼å¤À¡£(ÃÎǽ¡õ¸­¤µ-4)\n");
2955 #else
2956                         fprintf(OutFile, " You are moronic (-4 INT/WIS).\n");
2957 #endif
2958
2959                 }
2960                 if (p_ptr->muta3 & MUT3_RESILIENT)
2961                 {
2962 #ifdef JP
2963 fprintf(OutFile, " ¤¢¤Ê¤¿¤ÎÂΤÏÃÆÎÏÀ­¤ËÉÙ¤ó¤Ç¤¤¤ë¡£(Âѵ×+4)\n");
2964 #else
2965                         fprintf(OutFile, " You are very resilient (+4 CON).\n");
2966 #endif
2967
2968                 }
2969                 if (p_ptr->muta3 & MUT3_XTRA_FAT)
2970                 {
2971 #ifdef JP
2972 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï¶Ëü¤ËÂÀ¤Ã¤Æ¤¤¤ë¡£(Âѵ×+2,¥¹¥Ô¡¼¥É-2)\n");
2973 #else
2974                         fprintf(OutFile, " You are extremely fat (+2 CON, -2 speed).\n");
2975 #endif
2976
2977                 }
2978                 if (p_ptr->muta3 & MUT3_ALBINO)
2979                 {
2980 #ifdef JP
2981 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï¥¢¥ë¥Ó¥Î¤À¡£(Âѵ×-4)\n");
2982 #else
2983                         fprintf(OutFile, " You are albino (-4 CON).\n");
2984 #endif
2985
2986                 }
2987                 if (p_ptr->muta3 & MUT3_FLESH_ROT)
2988                 {
2989 #ifdef JP
2990 fprintf(OutFile, " ¤¢¤Ê¤¿¤ÎÆùÂΤÏÉåÇÔ¤·¤Æ¤¤¤ë¡£(Âѵ×-2,Ì¥ÎÏ-1)\n");
2991 #else
2992                         fprintf(OutFile, " Your flesh is rotting (-2 CON, -1 CHR).\n");
2993 #endif
2994
2995                 }
2996                 if (p_ptr->muta3 & MUT3_SILLY_VOI)
2997                 {
2998 #ifdef JP
2999 fprintf(OutFile, " ¤¢¤Ê¤¿¤ÎÀ¼¤Ï´ÖÈ´¤±¤Ê¥­¡¼¥­¡¼À¼¤À¡£(Ì¥ÎÏ-4)\n");
3000 #else
3001                         fprintf(OutFile, " Your voice is a silly squeak (-4 CHR).\n");
3002 #endif
3003
3004                 }
3005                 if (p_ptr->muta3 & MUT3_BLANK_FAC)
3006                 {
3007 #ifdef JP
3008 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï¤Î¤Ã¤Ú¤é¤Ü¤¦¤À¡£(Ì¥ÎÏ-1)\n");
3009 #else
3010                         fprintf(OutFile, " Your face is featureless (-1 CHR).\n");
3011 #endif
3012
3013                 }
3014                 if (p_ptr->muta3 & MUT3_ILL_NORM)
3015                 {
3016 #ifdef JP
3017 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï¸¸±Æ¤Ëʤ¤ï¤ì¤Æ¤¤¤ë¡£\n");
3018 #else
3019                         fprintf(OutFile, " Your appearance is masked with illusion.\n");
3020 #endif
3021
3022                 }
3023                 if (p_ptr->muta3 & MUT3_XTRA_EYES)
3024                 {
3025 #ifdef JP
3026 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï;ʬ¤ËÆó¤Ä¤ÎÌܤò»ý¤Ã¤Æ¤¤¤ë¡£(õº÷+15)\n");
3027 #else
3028                         fprintf(OutFile, " You have an extra pair of eyes (+15 search).\n");
3029 #endif
3030
3031                 }
3032                 if (p_ptr->muta3 & MUT3_MAGIC_RES)
3033                 {
3034 #ifdef JP
3035 fprintf(OutFile, " ¤¢¤Ê¤¿¤ÏËâË¡¤Ø¤ÎÂÑÀ­¤ò¤â¤Ã¤Æ¤¤¤ë¡£\n");
3036 #else
3037                         fprintf(OutFile, " You are resistant to magic.\n");
3038 #endif
3039
3040                 }
3041                 if (p_ptr->muta3 & MUT3_XTRA_NOIS)
3042                 {
3043 #ifdef JP
3044 fprintf(OutFile, " ¤¢¤Ê¤¿¤ÏÊѤʲ»¤òȯ¤·¤Æ¤¤¤ë¡£(±£Ì©-3)\n");
3045 #else
3046                         fprintf(OutFile, " You make a lot of strange noise (-3 stealth).\n");
3047 #endif
3048
3049                 }
3050                 if (p_ptr->muta3 & MUT3_INFRAVIS)
3051                 {
3052 #ifdef JP
3053 fprintf(OutFile, " ¤¢¤Ê¤¿¤ÏÁÇÀ²¤é¤·¤¤ÀÖ³°Àþ»ëÎϤò»ý¤Ã¤Æ¤¤¤ë¡£(+3)\n");
3054 #else
3055                         fprintf(OutFile, " You have remarkable infravision (+3).\n");
3056 #endif
3057
3058                 }
3059                 if (p_ptr->muta3 & MUT3_XTRA_LEGS)
3060                 {
3061 #ifdef JP
3062 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï;ʬ¤ËÆóËܤέ¤¬À¸¤¨¤Æ¤¤¤ë¡£(²Ã®+3)\n");
3063 #else
3064                         fprintf(OutFile, " You have an extra pair of legs (+3 speed).\n");
3065 #endif
3066
3067                 }
3068                 if (p_ptr->muta3 & MUT3_SHORT_LEG)
3069                 {
3070 #ifdef JP
3071 fprintf(OutFile, " ¤¢¤Ê¤¿¤Î­¤Ïû¤¤Æ͵¯¤À¡£(²Ã®-3)\n");
3072 #else
3073                         fprintf(OutFile, " Your legs are short stubs (-3 speed).\n");
3074 #endif
3075
3076                 }
3077                 if (p_ptr->muta3 & MUT3_ELEC_TOUC)
3078                 {
3079 #ifdef JP
3080 fprintf(OutFile, " ¤¢¤Ê¤¿¤Î·ì´É¤Ë¤ÏÅÅή¤¬Î®¤ì¤Æ¤¤¤ë¡£\n");
3081 #else
3082                         fprintf(OutFile, " Electricity is running through your veins.\n");
3083 #endif
3084
3085                 }
3086                 if (p_ptr->muta3 & MUT3_FIRE_BODY)
3087                 {
3088 #ifdef JP
3089 fprintf(OutFile, " ¤¢¤Ê¤¿¤ÎÂΤϱê¤Ë¤Ä¤Ä¤Þ¤ì¤Æ¤¤¤ë¡£\n");
3090 #else
3091                         fprintf(OutFile, " Your body is enveloped in flames.\n");
3092 #endif
3093
3094                 }
3095                 if (p_ptr->muta3 & MUT3_WART_SKIN)
3096                 {
3097 #ifdef JP
3098 fprintf(OutFile, " ¤¢¤Ê¤¿¤ÎÈ©¤Ï¥¤¥Ü¤ËÈï¤ï¤ì¤Æ¤¤¤ë¡£(Ì¥ÎÏ-2, AC+5)\n");
3099 #else
3100                         fprintf(OutFile, " Your skin is covered with warts (-2 CHR, +5 AC).\n");
3101 #endif
3102
3103                 }
3104                 if (p_ptr->muta3 & MUT3_SCALES)
3105                 {
3106 #ifdef JP
3107 fprintf(OutFile, " ¤¢¤Ê¤¿¤ÎÈ©¤ÏÎڤˤʤäƤ¤¤ë¡£(Ì¥ÎÏ-1, AC+10)\n");
3108 #else
3109                         fprintf(OutFile, " Your skin has turned into scales (-1 CHR, +10 AC).\n");
3110 #endif
3111
3112                 }
3113                 if (p_ptr->muta3 & MUT3_IRON_SKIN)
3114                 {
3115 #ifdef JP
3116 fprintf(OutFile, " ¤¢¤Ê¤¿¤ÎÈ©¤ÏÅ´¤Ç¤Ç¤­¤Æ¤¤¤ë¡£(´ïÍÑ-1, AC+25)\n");
3117 #else
3118                         fprintf(OutFile, " Your skin is made of steel (-1 DEX, +25 AC).\n");
3119 #endif
3120
3121                 }
3122                 if (p_ptr->muta3 & MUT3_WINGS)
3123                 {
3124 #ifdef JP
3125 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï±©¤ò»ý¤Ã¤Æ¤¤¤ë¡£\n");
3126 #else
3127                         fprintf(OutFile, " You have wings.\n");
3128 #endif
3129
3130                 }
3131                 if (p_ptr->muta3 & MUT3_FEARLESS)
3132                 {
3133 #ifdef JP
3134 fprintf(OutFile, " ¤¢¤Ê¤¿¤ÏÁ´¤¯¶²Éݤò´¶¤¸¤Ê¤¤¡£\n");
3135 #else
3136                         fprintf(OutFile, " You are completely fearless.\n");
3137 #endif
3138
3139                 }
3140                 if (p_ptr->muta3 & MUT3_REGEN)
3141                 {
3142 #ifdef JP
3143 fprintf(OutFile, " ¤¢¤Ê¤¿¤ÏµÞ®¤Ë²óÉü¤¹¤ë¡£\n");
3144 #else
3145                         fprintf(OutFile, " You are regenerating.\n");
3146 #endif
3147
3148                 }
3149                 if (p_ptr->muta3 & MUT3_ESP)
3150                 {
3151 #ifdef JP
3152 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï¥Æ¥ì¥Ñ¥·¡¼¤ò»ý¤Ã¤Æ¤¤¤ë¡£\n");
3153 #else
3154                         fprintf(OutFile, " You are telepathic.\n");
3155 #endif
3156
3157                 }
3158                 if (p_ptr->muta3 & MUT3_LIMBER)
3159                 {
3160 #ifdef JP
3161 fprintf(OutFile, " ¤¢¤Ê¤¿¤ÎÂΤÏÈó¾ï¤Ë¤·¤Ê¤ä¤«¤À¡£(´ïÍÑ+3)\n");
3162 #else
3163                         fprintf(OutFile, " Your body is very limber (+3 DEX).\n");
3164 #endif
3165
3166                 }
3167                 if (p_ptr->muta3 & MUT3_ARTHRITIS)
3168                 {
3169 #ifdef JP
3170 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï¤¤¤Ä¤â´ØÀá¤ËÄˤߤò´¶¤¸¤Æ¤¤¤ë¡£(´ïÍÑ-3)\n");
3171 #else
3172                         fprintf(OutFile, " Your joints ache constantly (-3 DEX).\n");
3173 #endif
3174
3175                 }
3176                 if (p_ptr->muta3 & MUT3_VULN_ELEM)
3177                 {
3178 #ifdef JP
3179 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï¸µÁǤι¶·â¤Ë¼å¤¤¡£\n");
3180 #else
3181                         fprintf(OutFile, " You are susceptible to damage from the elements.\n");
3182 #endif
3183
3184                 }
3185                 if (p_ptr->muta3 & MUT3_MOTION)
3186                 {
3187 #ifdef JP
3188 fprintf(OutFile, " ¤¢¤Ê¤¿¤ÎÆ°ºî¤ÏÀµ³Î¤ÇÎ϶¯¤¤¡£(±£Ì©+1)\n");
3189 #else
3190                         fprintf(OutFile, " Your movements are precise and forceful (+1 STL).\n");
3191 #endif
3192
3193                 }
3194                 if (p_ptr->muta3 & MUT3_GOOD_LUCK)
3195                 {
3196 #ifdef JP
3197 fprintf(OutFile, " ¤¢¤Ê¤¿¤ÏÇò¤¤¥ª¡¼¥é¤Ë¤Ä¤Ä¤Þ¤ì¤Æ¤¤¤ë¡£\n");
3198 #else
3199                         fprintf(OutFile, " There is a white aura surrounding you.\n");
3200 #endif
3201
3202                 }
3203                 if (p_ptr->muta3 & MUT3_BAD_LUCK)
3204                 {
3205 #ifdef JP
3206 fprintf(OutFile, " ¤¢¤Ê¤¿¤Ï¹õ¤¤¥ª¡¼¥é¤Ë¤Ä¤Ä¤Þ¤ì¤Æ¤¤¤ë¡£\n");
3207 #else
3208                         fprintf(OutFile, " There is a black aura surrounding you.\n");
3209 #endif
3210
3211                 }
3212         }
3213 }
3214
3215
3216 /*
3217  * List mutations we have...
3218  */
3219 void do_cmd_knowledge_mutations(void)
3220 {
3221         FILE *fff;
3222         char file_name[1024];
3223
3224         /* Open a new file */
3225         fff = my_fopen_temp(file_name, 1024);
3226
3227         /* Dump the mutations to file */
3228         if (fff) dump_mutations(fff);
3229
3230         /* Close the file */
3231         my_fclose(fff);
3232
3233         /* Display the file contents */
3234 #ifdef JP
3235 show_file(TRUE, file_name, "ÆÍÁ³ÊÑ°Û", 0, 0);
3236 #else
3237         show_file(TRUE, file_name, "Mutations", 0, 0);
3238 #endif
3239
3240
3241         /* Remove the file */
3242         fd_kill(file_name);
3243 }
3244
3245
3246 int count_bits(u32b x)
3247 {
3248         int n = 0;
3249
3250         if (x) do
3251         {
3252                 n++;
3253         }
3254         while (0 != (x = x&(x-1)));
3255
3256         return (n);
3257 }
3258
3259
3260 static int count_mutations(void)
3261 {
3262         return (count_bits(p_ptr->muta1) +
3263                 count_bits(p_ptr->muta2) +
3264                 count_bits(p_ptr->muta3));
3265 }
3266
3267
3268 /*
3269  * Return the modifier to the regeneration rate
3270  * (in percent)
3271  */
3272 int calc_mutant_regenerate_mod(void)
3273 {
3274         int regen;
3275         int mod = 10;
3276         int count = count_mutations();
3277
3278         /*
3279          * Beastman get 10 "free" mutations and
3280          * only 5% decrease per additional mutation
3281          */
3282
3283         if (p_ptr->pseikaku == SEIKAKU_LUCKY) count--;
3284         if (p_ptr->prace == RACE_BEASTMAN)
3285         {
3286                 count -= 10;
3287                 mod = 5;
3288         }
3289
3290         /* No negative modifier */
3291         if (count <= 0) return 100;
3292
3293         regen = 100 - count * mod;
3294
3295         /* Max. 90% decrease in regeneration speed */
3296         if (regen < 10) regen = 10;
3297
3298         return (regen);
3299 }
3300
3301
3302 bool mutation_power_aux(u32b power)
3303 {
3304         int     dir = 0;
3305         int     lvl = p_ptr->lev;
3306
3307
3308         switch (power)
3309         {
3310                 case MUT1_SPIT_ACID:
3311                         if (!get_aim_dir(&dir)) return FALSE;
3312                         if (music_singing_any()) stop_singing();
3313 #ifdef JP
3314                         msg_print("»À¤òÅǤ­¤«¤±¤¿...");
3315 #else
3316                         msg_print("You spit acid...");
3317 #endif
3318
3319                         fire_ball(GF_ACID, dir, lvl, 1 + (lvl / 30));
3320                         break;
3321
3322                 case MUT1_BR_FIRE:
3323                         if (!get_aim_dir(&dir)) return FALSE;
3324                         if (music_singing_any()) stop_singing();
3325 #ifdef JP
3326                         msg_print("¤¢¤Ê¤¿¤Ï²Ð±ê¤Î¥Ö¥ì¥¹¤òÅǤ¤¤¿...");
3327 #else
3328                         msg_print("You breathe fire...");
3329 #endif
3330
3331                         fire_ball(GF_FIRE, dir, lvl * 2, 1 + (lvl / 20));
3332                         break;
3333
3334                 case MUT1_HYPN_GAZE:
3335                         if (!get_aim_dir(&dir)) return FALSE;
3336 #ifdef JP
3337                         msg_print("¤¢¤Ê¤¿¤ÎÌܤϸ¸ÏÇŪ¤Ë¤Ê¤Ã¤¿...");
3338 #else
3339                         msg_print("Your eyes look mesmerizing...");
3340 #endif
3341
3342                         (void)charm_monster(dir, lvl);
3343                         break;
3344
3345                 case MUT1_TELEKINES:
3346                         if (!get_aim_dir(&dir)) return FALSE;
3347 #ifdef JP
3348                         msg_print("½¸Ã椷¤Æ¤¤¤ë...");
3349 #else
3350                         msg_print("You concentrate...");
3351 #endif
3352
3353                         fetch(dir, lvl * 10, TRUE);
3354                         break;
3355
3356                 case MUT1_VTELEPORT:
3357 #ifdef JP
3358                         msg_print("½¸Ã椷¤Æ¤¤¤ë...");
3359 #else
3360                         msg_print("You concentrate...");
3361 #endif
3362
3363                         teleport_player(10 + 4 * lvl, 0L);
3364                         break;
3365
3366                 case MUT1_MIND_BLST:
3367                         if (!get_aim_dir(&dir)) return FALSE;
3368 #ifdef JP
3369                         msg_print("½¸Ã椷¤Æ¤¤¤ë...");
3370 #else
3371                         msg_print("You concentrate...");
3372 #endif
3373
3374                         fire_bolt(GF_PSI, dir, damroll(3 + ((lvl - 1) / 5), 3));
3375                         break;
3376
3377                 case MUT1_RADIATION:
3378 #ifdef JP
3379                         msg_print("ÂΤ«¤éÊü¼Íǽ¤¬È¯À¸¤·¤¿¡ª");
3380 #else
3381                         msg_print("Radiation flows from your body!");
3382 #endif
3383
3384                         fire_ball(GF_NUKE, 0, (lvl * 2), 3 + (lvl / 20));
3385                         break;
3386
3387                 case MUT1_VAMPIRISM:
3388                         {
3389                                 int x, y, dummy;
3390                                 cave_type *c_ptr;
3391
3392                                 /* Only works on adjacent monsters */
3393                                 if (!get_rep_dir2(&dir)) return FALSE;
3394                                 y = py + ddy[dir];
3395                                 x = px + ddx[dir];
3396                                 c_ptr = &cave[y][x];
3397
3398                                 if (music_singing_any()) stop_singing();
3399
3400                                 if (!(c_ptr->m_idx))
3401                                 {
3402 #ifdef JP
3403                                         msg_print("²¿¤â¤Ê¤¤¾ì½ê¤Ë³ú¤ß¤Ä¤¤¤¿¡ª");
3404 #else
3405                                         msg_print("You bite into thin air!");
3406 #endif
3407
3408                                         break;
3409                                 }
3410
3411 #ifdef JP
3412                                 msg_print("¤¢¤Ê¤¿¤Ï¥Ë¥ä¥ê¤È¤·¤Æ²ç¤ò¤à¤¤¤¿...");
3413 #else
3414                                 msg_print("You grin and bare your fangs...");
3415 #endif
3416
3417
3418                                 dummy = lvl * 2;
3419
3420                                 if (drain_life(dir, dummy))
3421                                 {
3422                                         if (p_ptr->food < PY_FOOD_FULL)
3423                                                 /* No heal if we are "full" */
3424                                                 (void)hp_player(dummy);
3425                                         else
3426 #ifdef JP
3427                                                 msg_print("¤¢¤Ê¤¿¤Ï¶õÊ¢¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£");
3428 #else
3429                                                 msg_print("You were not hungry.");
3430 #endif
3431
3432                                         /* Gain nutritional sustenance: 150/hp drained */
3433                                         /* A Food ration gives 5000 food points (by contrast) */
3434                                         /* Don't ever get more than "Full" this way */
3435                                         /* But if we ARE Gorged,  it won't cure us */
3436                                         dummy = p_ptr->food + MIN(5000, 100 * dummy);
3437                                         if (p_ptr->food < PY_FOOD_MAX)   /* Not gorged already */
3438                                                 (void)set_food(dummy >= PY_FOOD_MAX ? PY_FOOD_MAX-1 : dummy);
3439                                 }
3440                                 else
3441 #ifdef JP
3442                                         msg_print("¤²¤§¡ª¤Ò¤É¤¤Ì£¤À¡£");
3443 #else
3444                                         msg_print("Yechh. That tastes foul.");
3445 #endif
3446
3447                         }
3448                         break;
3449
3450                 case MUT1_SMELL_MET:
3451                         if (music_singing_any()) stop_singing();
3452                         (void)detect_treasure(DETECT_RAD_DEFAULT);
3453                         break;
3454
3455                 case MUT1_SMELL_MON:
3456                         if (music_singing_any()) stop_singing();
3457                         (void)detect_monsters_normal(DETECT_RAD_DEFAULT);
3458                         break;
3459
3460                 case MUT1_BLINK:
3461                         teleport_player(10, 0L);
3462                         break;
3463
3464                 case MUT1_EAT_ROCK:
3465                         {
3466                                 int x, y;
3467                                 cave_type *c_ptr;
3468                                 feature_type *f_ptr, *mimic_f_ptr;
3469
3470                                 if (!get_rep_dir2(&dir)) return FALSE;
3471                                 y = py + ddy[dir];
3472                                 x = px + ddx[dir];
3473                                 c_ptr = &cave[y][x];
3474                                 f_ptr = &f_info[c_ptr->feat];
3475                                 mimic_f_ptr = &f_info[get_feat_mimic(c_ptr)];
3476
3477                                 if (music_singing_any()) stop_singing();
3478
3479                                 if (!have_flag(mimic_f_ptr->flags, FF_HURT_ROCK))
3480                                 {
3481 #ifdef JP
3482                                         msg_print("¤³¤ÎÃÏ·Á¤Ï¿©¤Ù¤é¤ì¤Ê¤¤¡£");
3483 #else
3484                                         msg_print("You cannot eat this feature.");
3485 #endif
3486                                         break;
3487                                 }
3488                                 else if (have_flag(f_ptr->flags, FF_PERMANENT))
3489                                 {
3490 #ifdef JP
3491                                         msg_format("¤¤¤Æ¤Ã¡ª¤³¤Î%s¤Ï¤¢¤Ê¤¿¤Î»õ¤è¤ê¹Å¤¤¡ª", f_name + mimic_f_ptr->name);
3492 #else
3493                                         msg_format("Ouch!  This %s is harder than your teeth!", f_name + mimic_f_ptr->name);
3494 #endif
3495                                         break;
3496                                 }
3497                                 else if (c_ptr->m_idx)
3498                                 {
3499                                         monster_type *m_ptr = &m_list[c_ptr->m_idx];
3500 #ifdef JP
3501                                         msg_print("²¿¤«¤¬¼ÙË⤷¤Æ¤¤¤Þ¤¹¡ª");
3502 #else
3503                                         msg_print("There's something in the way!");
3504 #endif
3505
3506                                         if (!m_ptr->ml || !is_pet(m_ptr)) py_attack(y, x, 0);
3507                                         break;
3508                                 }
3509                                 else if (have_flag(f_ptr->flags, FF_TREE))
3510                                 {
3511 #ifdef JP
3512                                         msg_print("ÌÚ¤ÎÌ£¤Ï¹¥¤­¤¸¤ã¤Ê¤¤¡ª");
3513 #else
3514                                         msg_print("You don't like the woody taste!");
3515 #endif
3516                                         break;
3517                                 }
3518                                 else if (have_flag(f_ptr->flags, FF_GLASS))
3519                                 {
3520 #ifdef JP
3521                                         msg_print("¥¬¥é¥¹¤ÎÌ£¤Ï¹¥¤­¤¸¤ã¤Ê¤¤¡ª");
3522 #else
3523                                         msg_print("You don't like the glassy taste!");
3524 #endif
3525                                         break;
3526                                 }
3527                                 else if (have_flag(f_ptr->flags, FF_DOOR) || have_flag(f_ptr->flags, FF_CAN_DIG))
3528                                 {
3529                                         (void)set_food(p_ptr->food + 3000);
3530                                 }
3531                                 else if (have_flag(f_ptr->flags, FF_MAY_HAVE_GOLD) || have_flag(f_ptr->flags, FF_HAS_GOLD))
3532                                 {
3533                                         (void)set_food(p_ptr->food + 5000);
3534                                 }
3535                                 else
3536                                 {
3537 #ifdef JP
3538                                         msg_format("¤³¤Î%s¤Ï¤È¤Æ¤â¤ª¤¤¤·¤¤¡ª", f_name + mimic_f_ptr->name);
3539 #else
3540                                         msg_format("This %s is very filling!", f_name + mimic_f_ptr->name);
3541 #endif
3542                                         (void)set_food(p_ptr->food + 10000);
3543                                 }
3544
3545                                 /* Destroy the wall */
3546                                 cave_alter_feat(y, x, FF_HURT_ROCK);
3547
3548                                 /* Move the player */
3549                                 (void)move_player_effect(y, x, MPE_DONT_PICKUP);
3550                         }
3551                         break;
3552
3553                 case MUT1_SWAP_POS:
3554                         project_length = -1;
3555                         if (!get_aim_dir(&dir))
3556                         {
3557                                 project_length = 0;
3558                                 return FALSE;
3559                         }
3560                         (void)teleport_swap(dir);
3561                         project_length = 0;
3562                         break;
3563
3564                 case MUT1_SHRIEK:
3565                         if (music_singing_any()) stop_singing();
3566                         (void)fire_ball(GF_SOUND, 0, 2 * lvl, 8);
3567                         (void)aggravate_monsters(0);
3568                         break;
3569
3570                 case MUT1_ILLUMINE:
3571                         (void)lite_area(damroll(2, (lvl / 2)), (lvl / 10) + 1);
3572                         break;
3573
3574                 case MUT1_DET_CURSE:
3575                         {
3576                                 int i;
3577
3578                                 for (i = 0; i < INVEN_TOTAL; i++)
3579                                 {
3580                                         object_type *o_ptr = &inventory[i];
3581
3582                                         if (!o_ptr->k_idx) continue;
3583                                         if (!object_is_cursed(o_ptr)) continue;
3584
3585                                         o_ptr->feeling = FEEL_CURSED;
3586                                 }
3587                         }
3588                         break;
3589
3590                 case MUT1_BERSERK:
3591                         (void)set_shero(randint1(25) + 25, FALSE);
3592                         (void)hp_player(30);
3593                         (void)set_afraid(0);
3594                         break;
3595
3596                 case MUT1_POLYMORPH:
3597 #ifdef JP
3598                         if (!get_check("ÊѿȤ·¤Þ¤¹¡£¤è¤í¤·¤¤¤Ç¤¹¤«¡©")) return FALSE;
3599 #else
3600                         if (!get_check("You will polymorph your self. Are you sure? ")) return FALSE;
3601 #endif
3602                         do_poly_self();
3603                         break;
3604
3605                 case MUT1_MIDAS_TCH:
3606                         if (!alchemy()) return FALSE;
3607                         break;
3608
3609                 /* Summon pet molds around the player */
3610                 case MUT1_GROW_MOLD:
3611                         {
3612                                 int i;
3613                                 for (i = 0; i < 8; i++)
3614                                 {
3615                                         summon_specific(-1, py, px, lvl, SUMMON_BIZARRE1, PM_FORCE_PET);
3616                                 }
3617                         }
3618                         break;
3619
3620                 case MUT1_RESIST:
3621                         {
3622                                 int num = lvl / 10;
3623                                 int dur = randint1(20) + 20;
3624
3625                                 if (randint0(5) < num)
3626                                 {
3627                                         (void)set_oppose_acid(dur, FALSE);
3628                                         num--;
3629                                 }
3630                                 if (randint0(4) < num)
3631                                 {
3632                                         (void)set_oppose_elec(dur, FALSE);
3633                                         num--;
3634                                 }
3635                                 if (randint0(3) < num)
3636                                 {
3637                                         (void)set_oppose_fire(dur, FALSE);
3638                                         num--;
3639                                 }
3640                                 if (randint0(2) < num)
3641                                 {
3642                                         (void)set_oppose_cold(dur, FALSE);
3643                                         num--;
3644                                 }
3645                                 if (num)
3646                                 {
3647                                         (void)set_oppose_pois(dur, FALSE);
3648                                         num--;
3649                                 }
3650                         }
3651                         break;
3652
3653                 case MUT1_EARTHQUAKE:
3654                         (void)earthquake(py, px, 10);
3655                         break;
3656
3657                 case MUT1_EAT_MAGIC:
3658                         if (!eat_magic(p_ptr->lev * 2)) return FALSE;
3659                         break;
3660
3661                 case MUT1_WEIGH_MAG:
3662                         report_magics();
3663                         break;
3664
3665                 case MUT1_STERILITY:
3666                         /* Fake a population explosion. */
3667 #ifdef JP
3668                         msg_print("ÆÍÁ³Æ¬¤¬Äˤ¯¤Ê¤Ã¤¿¡ª");
3669                         take_hit(DAMAGE_LOSELIFE, randint1(17) + 17, "¶ØÍߤò¶¯¤¤¤¿ÈèÏ«", -1);
3670 #else
3671                         msg_print("You suddenly have a headache!");
3672                         take_hit(DAMAGE_LOSELIFE, randint1(17) + 17, "the strain of forcing abstinence", -1);
3673 #endif
3674
3675                         num_repro += MAX_REPRO;
3676                         break;
3677
3678                 case MUT1_PANIC_HIT:
3679                         {
3680                                 int x, y;
3681
3682                                 if (!get_rep_dir2(&dir)) return FALSE;
3683                                 y = py + ddy[dir];
3684                                 x = px + ddx[dir];
3685                                 if (cave[y][x].m_idx)
3686                                 {
3687                                         py_attack(y, x, 0);
3688                                         if (randint0(p_ptr->skill_dis) < 7)
3689 #ifdef JP
3690                                                 msg_print("¤¦¤Þ¤¯Æ¨¤²¤é¤ì¤Ê¤«¤Ã¤¿¡£");
3691 #else
3692                                                 msg_print("You failed to teleport.");
3693 #endif
3694                                         else teleport_player(30, 0L);
3695                                 }
3696                                 else
3697                                 {
3698 #ifdef JP
3699                                         msg_print("¤½¤ÎÊý¸þ¤Ë¤Ï¥â¥ó¥¹¥¿¡¼¤Ï¤¤¤Þ¤»¤ó¡£");
3700 #else
3701                                         msg_print("You don't see any monster in this direction");
3702 #endif
3703
3704                                         msg_print(NULL);
3705                                 }
3706                         }
3707                         break;
3708
3709                 case MUT1_DAZZLE:
3710                         stun_monsters(lvl * 4);
3711                         confuse_monsters(lvl * 4);
3712                         turn_monsters(lvl * 4);
3713                         break;
3714
3715                 case MUT1_LASER_EYE:
3716                         if (!get_aim_dir(&dir)) return FALSE;
3717                         fire_beam(GF_LITE, dir, 2 * lvl);
3718                         break;
3719
3720                 case MUT1_RECALL:
3721                         if (!word_of_recall()) return FALSE;
3722                         break;
3723
3724                 case MUT1_BANISH:
3725                         {
3726                                 int x, y;
3727                                 cave_type *c_ptr;
3728                                 monster_type *m_ptr;
3729                                 monster_race *r_ptr;
3730
3731                                 if (!get_rep_dir2(&dir)) return FALSE;
3732                                 y = py + ddy[dir];
3733                                 x = px + ddx[dir];
3734                                 c_ptr = &cave[y][x];
3735
3736                                 if (!c_ptr->m_idx)
3737                                 {
3738 #ifdef JP
3739                                         msg_print("¼Ù°­¤Ê¸ºß¤ò´¶¤¸¤È¤ì¤Þ¤»¤ó¡ª");
3740 #else
3741                                         msg_print("You sense no evil there!");
3742 #endif
3743
3744                                         break;
3745                                 }
3746
3747                                 m_ptr = &m_list[c_ptr->m_idx];
3748                                 r_ptr = &r_info[m_ptr->r_idx];
3749
3750                                 if ((r_ptr->flags3 & RF3_EVIL) &&
3751                                     !(r_ptr->flags1 & RF1_QUESTOR) &&
3752                                     !(r_ptr->flags1 & RF1_UNIQUE) &&
3753                                     !p_ptr->inside_arena && !p_ptr->inside_quest &&
3754                                         (r_ptr->level < randint1(p_ptr->lev+50)) &&
3755                                         !(m_ptr->mflag2 & MFLAG2_NOGENO))
3756                                 {
3757                                         /* Delete the monster, rather than killing it. */
3758                                         delete_monster_idx(c_ptr->m_idx);
3759 #ifdef JP
3760                                         msg_print("¤½¤Î¼Ù°­¤Ê¥â¥ó¥¹¥¿¡¼¤Ïⲫ½­¤¤±ì¤È¤È¤â¤Ë¾Ã¤¨µî¤Ã¤¿¡ª");
3761 #else
3762                                         msg_print("The evil creature vanishes in a puff of sulfurous smoke!");
3763 #endif
3764
3765                                 }
3766                                 else
3767                                 {
3768 #ifdef JP
3769                                         msg_print("µ§¤ê¤Ï¸ú²Ì¤¬¤Ê¤«¤Ã¤¿¡ª");
3770 #else
3771                                         msg_print("Your invocation is ineffectual!");
3772 #endif
3773
3774                                         if (one_in_(13)) m_ptr->mflag2 |= MFLAG2_NOGENO;
3775                                 }
3776                         }
3777                         break;
3778
3779                 case MUT1_COLD_TOUCH:
3780                         {
3781                                 int x, y;
3782                                 cave_type *c_ptr;
3783
3784                                 if (!get_rep_dir2(&dir)) return FALSE;
3785                                 y = py + ddy[dir];
3786                                 x = px + ddx[dir];
3787                                 c_ptr = &cave[y][x];
3788
3789                                 if (!c_ptr->m_idx)
3790                                 {
3791 #ifdef JP
3792                                         msg_print("¤¢¤Ê¤¿¤Ï²¿¤â¤Ê¤¤¾ì½ê¤Ç¼ê¤ò¿¶¤Ã¤¿¡£");
3793 #else
3794                                         msg_print("You wave your hands in the air.");
3795 #endif
3796
3797                                         break;
3798                                 }
3799                                 fire_bolt(GF_COLD, dir, 2 * lvl);
3800                         }
3801                         break;
3802
3803                 /* XXX_XXX_XXX Hack!  MUT1_LAUNCHER is negative, see above */
3804                 case 3: /* MUT1_LAUNCHER */
3805                         /* Gives a multiplier of 2 at first, up to 3 at 40th */
3806                         if (!do_cmd_throw_aux(2 + lvl / 40, FALSE, 0)) return FALSE;
3807                         break;
3808
3809                 default:
3810                         energy_use = 0;
3811 #ifdef JP
3812                         msg_format("ǽÎÏ %s ¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£", power);
3813 #else
3814                         msg_format("Power %s not implemented. Oops.", power);
3815 #endif
3816
3817         }
3818
3819         return TRUE;
3820 }