3 * @brief 突然変異ルールの実装 / Mutation effects (and racial powers)
6 * Copyright (c) 1997 Ben Harrison, James E. Wilson, Robert A. Koeneke\n
8 * This software may be copied and distributed for educational, research,\n
9 * and not for profit purposes provided that this copyright and statement\n
10 * are included in all such copies. Other copyrights may also apply.\n
11 * 2014 Deskull rearranged comment for Doxygen.\n
18 * @brief プレイヤーに突然変異を与える
19 * @param choose_mut 与えたい突然変異のID、0ならばランダムに選択
22 bool gain_random_mutation(int choose_mut)
24 int attempts_left = 20;
26 bool muta_chosen = FALSE;
28 u32b *muta_class = NULL;
30 if (choose_mut) attempts_left = 1;
32 while (attempts_left--)
34 switch (choose_mut ? choose_mut : (p_ptr->pclass == CLASS_BERSERKER ? 74+randint1(119) : randint1(193)))
36 case 1: case 2: case 3: case 4:
37 muta_class = &(p_ptr->muta1);
38 muta_which = MUT1_SPIT_ACID;
39 muta_desc = _("酸を吐く能力を得た。", "You gain the ability to spit acid.");
42 case 5: case 6: case 7:
43 muta_class = &(p_ptr->muta1);
44 muta_which = MUT1_BR_FIRE;
45 muta_desc = _("火を吐く能力を得た。", "You gain the ability to breathe fire.");
49 muta_class = &(p_ptr->muta1);
50 muta_which = MUT1_HYPN_GAZE;
51 muta_desc = _("催眠眼の能力を得た。", "Your eyes look mesmerizing...");
55 muta_class = &(p_ptr->muta1);
56 muta_which = MUT1_TELEKINES;
57 muta_desc = _("物体を念動力で動かす能力を得た。", "You gain the ability to move objects telekinetically.");
60 case 12: case 13: case 14:
61 muta_class = &(p_ptr->muta1);
62 muta_which = MUT1_VTELEPORT;
63 muta_desc = _("自分の意思でテレポートする能力を得た。", "You gain the power of teleportation at will.");
67 muta_class = &(p_ptr->muta1);
68 muta_which = MUT1_MIND_BLST;
69 muta_desc = _("精神攻撃の能力を得た。", "You gain the power of Mind Blast.");
73 muta_class = &(p_ptr->muta1);
74 muta_which = MUT1_RADIATION;
75 muta_desc = _("あなたは強い放射線を発生し始めた。", "You start emitting hard radiation.");
79 muta_class = &(p_ptr->muta1);
80 muta_which = MUT1_VAMPIRISM;
81 muta_desc = _("生命力を吸収できるようになった。", "You become vampiric.");
84 case 21: case 22: case 23:
85 muta_class = &(p_ptr->muta1);
86 muta_which = MUT1_SMELL_MET;
87 muta_desc = _("金属の匂いを嗅ぎ分けられるようになった。", "You smell a metallic odor.");
90 case 24: case 25: case 26: case 27:
91 muta_class = &(p_ptr->muta1);
92 muta_which = MUT1_SMELL_MON;
93 muta_desc = _("モンスターの臭いを嗅ぎ分けられるようになった。", "You smell filthy monsters.");
96 case 28: case 29: case 30:
97 muta_class = &(p_ptr->muta1);
98 muta_which = MUT1_BLINK;
99 muta_desc = _("近距離テレポートの能力を得た。", "You gain the power of minor teleportation.");
103 muta_class = &(p_ptr->muta1);
104 muta_which = MUT1_EAT_ROCK;
105 muta_desc = _("壁が美味しそうに見える。", "The walls look delicious.");
109 muta_class = &(p_ptr->muta1);
110 muta_which = MUT1_SWAP_POS;
111 muta_desc = _("他人の靴で一マイル歩くような気分がする。", "You feel like walking a mile in someone else's shoes.");
114 case 35: case 36: case 37:
115 muta_class = &(p_ptr->muta1);
116 muta_which = MUT1_SHRIEK;
117 muta_desc = _("あなたの声は相当強くなった。", "Your vocal cords get much tougher.");
120 case 38: case 39: case 40:
121 muta_class = &(p_ptr->muta1);
122 muta_which = MUT1_ILLUMINE;
123 muta_desc = _("あなたは光り輝いて部屋を明るくするようになった。", "You can light up rooms with your presence.");
127 muta_class = &(p_ptr->muta1);
128 muta_which = MUT1_DET_CURSE;
129 muta_desc = _("邪悪な魔法を感知できるようになった。", "You can feel evil magics.");
132 case 43: case 44: case 45:
133 muta_class = &(p_ptr->muta1);
134 muta_which = MUT1_BERSERK;
135 muta_desc = _("制御できる激情を感じる。", "You feel a controlled rage.");
139 muta_class = &(p_ptr->muta1);
140 muta_which = MUT1_POLYMORPH;
141 muta_desc = _("体が変異しやすくなった。", "Your body seems mutable.");
145 muta_class = &(p_ptr->muta1);
146 muta_which = MUT1_MIDAS_TCH;
147 muta_desc = _("「ミダス王の手」の能力を得た。", "You gain the Midas touch.");/*トゥームレイダースにありましたね。 */
151 muta_class = &(p_ptr->muta1);
152 muta_which = MUT1_GROW_MOLD;
153 muta_desc = _("突然カビに親しみを覚えた。", "You feel a sudden affinity for mold.");
156 case 50: case 51: case 52:
157 muta_class = &(p_ptr->muta1);
158 muta_which = MUT1_RESIST;
159 muta_desc = _("あなたは自分自身を守れる気がする。", "You feel like you can protect yourself.");
162 case 53: case 54: case 55:
163 muta_class = &(p_ptr->muta1);
164 muta_which = MUT1_EARTHQUAKE;
165 muta_desc = _("ダンジョンを破壊する能力を得た。", "You gain the ability to wreck the dungeon.");
169 muta_class = &(p_ptr->muta1);
170 muta_which = MUT1_EAT_MAGIC;
171 muta_desc = _("魔法のアイテムが美味そうに見える。", "Your magic items look delicious.");
175 muta_class = &(p_ptr->muta1);
176 muta_which = MUT1_WEIGH_MAG;
177 muta_desc = _("あなたは周囲にある魔法をより良く理解できる気がする。", "You feel you can better understand the magic around you.");
181 muta_class = &(p_ptr->muta1);
182 muta_which = MUT1_STERILITY;
183 muta_desc = _("周りの全ての者に頭痛を起こすことができる。", "You can give everything around you a headache.");
186 muta_class = &(p_ptr->muta1);
187 muta_which = MUT1_PANIC_HIT;
188 muta_desc = _("突然、泥棒の気分が分かるようになった。", "You suddenly understand how thieves feel.");
191 case 62: case 63: case 64:
192 muta_class = &(p_ptr->muta1);
193 muta_which = MUT1_DAZZLE;
194 muta_desc = _("眩い閃光を発する能力を得た。", "You gain the ability to emit dazzling lights.");
197 case 65: case 66: case 67:
198 muta_class = &(p_ptr->muta1);
199 muta_which = MUT1_LASER_EYE;
200 muta_desc = _("あなたの目は一瞬焼け付いた。", "Your eyes burn for a moment.");
204 muta_class = &(p_ptr->muta1);
205 muta_which = MUT1_RECALL;
206 muta_desc = _("少しだけホームシックになったが、すぐ直った。", "You feel briefly homesick, but it passes.");
210 muta_class = &(p_ptr->muta1);
211 muta_which = MUT1_BANISH;
212 muta_desc = _("神聖な怒りの力に満たされた。", "You feel a holy wrath fill you.");
216 muta_class = &(p_ptr->muta1);
217 muta_which = MUT1_COLD_TOUCH;
218 muta_desc = _("あなたの両手はとても冷たくなった。", "Your hands get very cold.");
222 muta_class = &(p_ptr->muta1);
223 muta_which = MUT1_LAUNCHER;
224 muta_desc = _("あなたの物を投げる手はかなり強くなった気がする。", "Your throwing arm feels much stronger.");
228 muta_class = &(p_ptr->muta2);
229 muta_which = MUT2_BERS_RAGE;
230 muta_desc = _("あなたは狂暴化の発作を起こすようになった!", "You become subject to fits of berserk rage!");
234 muta_class = &(p_ptr->muta2);
235 muta_which = MUT2_COWARDICE;
236 muta_desc = _("信じられないくらい臆病になった!", "You become an incredible coward!");
240 muta_class = &(p_ptr->muta2);
241 muta_which = MUT2_RTELEPORT;
242 muta_desc = _("あなたの位置は非常に不確定になった。", "Your position seems very uncertain...");
246 muta_class = &(p_ptr->muta2);
247 muta_which = MUT2_ALCOHOL;
248 muta_desc = _("あなたはアルコールを分泌するようになった。", "Your body starts producing alcohol!");
252 muta_class = &(p_ptr->muta2);
253 muta_which = MUT2_HALLU;
254 muta_desc = _("あなたは幻覚を引き起こす精神錯乱に侵された。", "You are afflicted by a hallucinatory insanity!");
258 muta_class = &(p_ptr->muta2);
259 muta_which = MUT2_FLATULENT;
260 muta_desc = _( "あなたは制御不能な強烈な屁をこくようになった。", "You become subject to uncontrollable flatulence.");
264 muta_class = &(p_ptr->muta2);
265 muta_which = MUT2_SCOR_TAIL;
266 muta_desc = _( "サソリの尻尾が生えてきた!", "You grow a scorpion tail!");
270 muta_class = &(p_ptr->muta2);
271 muta_which = MUT2_HORNS;
272 muta_desc = _( "額に角が生えた!", "Horns pop forth into your forehead!");
276 muta_class = &(p_ptr->muta2);
277 muta_which = MUT2_BEAK;
278 muta_desc = _( "口が鋭く強いクチバシに変化した!", "Your mouth turns into a sharp, powerful beak!");
282 muta_class = &(p_ptr->muta2);
283 muta_which = MUT2_ATT_DEMON;
284 muta_desc = _( "悪魔を引き付けるようになった。", "You start attracting demons.");
288 muta_class = &(p_ptr->muta2);
289 muta_which = MUT2_PROD_MANA;
290 muta_desc = _( "あなたは制御不能な魔法のエネルギーを発生するようになった。", "You start producing magical energy uncontrollably.");
294 muta_class = &(p_ptr->muta2);
295 muta_which = MUT2_SPEED_FLUX;
296 muta_desc = _( "あなたは躁鬱質になった。", "You become manic-depressive.");
300 muta_class = &(p_ptr->muta2);
301 muta_which = MUT2_BANISH_ALL;
302 muta_desc = _( "恐ろしい力があなたの背後に潜んでいる気がする。", "You feel a terrifying power lurking behind you.");
306 muta_class = &(p_ptr->muta2);
307 muta_which = MUT2_EAT_LIGHT;
308 muta_desc = _( "あなたはウンゴリアントに奇妙な親しみを覚えるようになった。", "You feel a strange kinship with Ungoliant.");
312 muta_class = &(p_ptr->muta2);
313 muta_which = MUT2_TRUNK;
314 muta_desc = _( "あなたの鼻は伸びて象の鼻のようになった。", "Your nose grows into an elephant-like trunk.");
318 muta_class = &(p_ptr->muta2);
319 muta_which = MUT2_ATT_ANIMAL;
320 muta_desc = _( "動物を引き付けるようになった。", "You start attracting animals.");
324 muta_class = &(p_ptr->muta2);
325 muta_which = MUT2_TENTACLES;
326 muta_desc = _( "邪悪な触手が体の両側に生えてきた。", "Evil-looking tentacles sprout from your sides.");
330 muta_class = &(p_ptr->muta2);
331 muta_which = MUT2_RAW_CHAOS;
332 muta_desc = _( "周囲の空間が不安定になった気がする。", "You feel the universe is less stable around you.");
335 case 100: case 101: case 102:
336 muta_class = &(p_ptr->muta2);
337 muta_which = MUT2_NORMALITY;
338 muta_desc = _( "あなたは奇妙なほど普通になった気がする。", "You feel strangely normal.");
342 muta_class = &(p_ptr->muta2);
343 muta_which = MUT2_WRAITH;
344 muta_desc = _( "あなたは幽体化したり実体化したりするようになった。", "You start to fade in and out of the physical world.");
348 muta_class = &(p_ptr->muta2);
349 muta_which = MUT2_POLY_WOUND;
350 muta_desc = _( "あなたはカオスの力が古い傷に入り込んでくるのを感じた。", "You feel forces of chaos entering your old scars.");
354 muta_class = &(p_ptr->muta2);
355 muta_which = MUT2_WASTING;
356 muta_desc = _( "あなたは突然おぞましい衰弱病にかかった。", "You suddenly contract a horrible wasting disease.");
360 muta_class = &(p_ptr->muta2);
361 muta_which = MUT2_ATT_DRAGON;
362 muta_desc = _( "あなたはドラゴンを引きつけるようになった。", "You start attracting dragons.");
366 muta_class = &(p_ptr->muta2);
367 muta_which = MUT2_WEIRD_MIND;
368 muta_desc = _( "あなたの思考は突然おかしな方向に向き始めた。", "Your thoughts suddenly take off in strange directions.");
372 muta_class = &(p_ptr->muta2);
373 muta_which = MUT2_NAUSEA;
374 muta_desc = _( "胃袋がピクピクしはじめた。", "Your stomach starts to roil nauseously.");
378 /* Chaos warriors already have a chaos deity */
379 if (p_ptr->pclass != CLASS_CHAOS_WARRIOR)
381 muta_class = &(p_ptr->muta2);
382 muta_which = MUT2_CHAOS_GIFT;
383 muta_desc = _( "あなたはカオスの守護悪魔の注意を惹くようになった。", "You attract the notice of a chaos deity!");
388 muta_class = &(p_ptr->muta2);
389 muta_which = MUT2_WALK_SHAD;
390 muta_desc = _( "あなたは現実が紙のように薄いと感じるようになった。", "You feel like reality is as thin as paper.");
394 muta_class = &(p_ptr->muta2);
395 muta_which = MUT2_WARNING;
396 muta_desc = _( "あなたは突然パラノイアになった気がする。", "You suddenly feel paranoid.");
400 muta_class = &(p_ptr->muta2);
401 muta_which = MUT2_INVULN;
402 muta_desc = _( "あなたは祝福され、無敵状態になる発作を起こすようになった。", "You are blessed with fits of invulnerability.");
406 muta_class = &(p_ptr->muta2);
407 muta_which = MUT2_SP_TO_HP;
408 muta_desc = _( "魔法の治癒の発作を起こすようになった。", "You are subject to fits of magical healing.");
412 muta_class = &(p_ptr->muta2);
413 muta_which = MUT2_HP_TO_SP;
414 muta_desc = _( "痛みを伴う精神明瞭化の発作を起こすようになった。", "You are subject to fits of painful clarity.");
418 muta_class = &(p_ptr->muta2);
419 muta_which = MUT2_DISARM;
420 muta_desc = _( "あなたの脚は長さが四倍になった。", "Your feet grow to four times their former size.");
423 case 120: case 121: case 122:
424 muta_class = &(p_ptr->muta3);
425 muta_which = MUT3_HYPER_STR;
426 muta_desc = _( "超人的に強くなった!", "You turn into a superhuman he-man!");
429 case 123: case 124: case 125:
430 muta_class = &(p_ptr->muta3);
431 muta_which = MUT3_PUNY;
432 muta_desc = _( "筋肉が弱ってしまった...", "Your muscles wither away...");
435 case 126: case 127: case 128:
436 muta_class = &(p_ptr->muta3);
437 muta_which = MUT3_HYPER_INT;
438 muta_desc = _( "あなたの脳は生体コンピュータに進化した!", "Your brain evolves into a living computer!");
441 case 129: case 130: case 131:
442 muta_class = &(p_ptr->muta3);
443 muta_which = MUT3_MORONIC;
444 muta_desc = _( "脳が萎縮してしまった...", "Your brain withers away...");
448 muta_class = &(p_ptr->muta3);
449 muta_which = MUT3_RESILIENT;
450 muta_desc = _( "並外れてタフになった。", "You become extraordinarily resilient.");
454 muta_class = &(p_ptr->muta3);
455 muta_which = MUT3_XTRA_FAT;
456 muta_desc = _( "あなたは気持ち悪いくらい太った!", "You become sickeningly fat!");
460 muta_class = &(p_ptr->muta3);
461 muta_which = MUT3_ALBINO;
462 muta_desc = _( "アルビノになった!弱くなった気がする...", "You turn into an albino! You feel frail...");
465 case 138: case 139: case 140:
466 muta_class = &(p_ptr->muta3);
467 muta_which = MUT3_FLESH_ROT;
468 muta_desc = _( "あなたの肉体は腐敗する病気に侵された!", "Your flesh is afflicted by a rotting disease!");
472 muta_class = &(p_ptr->muta3);
473 muta_which = MUT3_SILLY_VOI;
474 muta_desc = _( "声が間抜けなキーキー声になった!", "Your voice turns into a ridiculous squeak!");
478 muta_class = &(p_ptr->muta3);
479 muta_which = MUT3_BLANK_FAC;
480 muta_desc = _( "のっぺらぼうになった!", "Your face becomes completely featureless!");
484 muta_class = &(p_ptr->muta3);
485 muta_which = MUT3_ILL_NORM;
486 muta_desc = _( "心の安らぐ幻影を映し出すようになった。", "You start projecting a reassuring image.");
489 case 146: case 147: case 148:
490 muta_class = &(p_ptr->muta3);
491 muta_which = MUT3_XTRA_EYES;
492 muta_desc = _( "新たに二つの目が出来た!", "You grow an extra pair of eyes!");
496 muta_class = &(p_ptr->muta3);
497 muta_which = MUT3_MAGIC_RES;
498 muta_desc = _( "魔法への耐性がついた。", "You become resistant to magic.");
501 case 151: case 152: case 153:
502 muta_class = &(p_ptr->muta3);
503 muta_which = MUT3_XTRA_NOIS;
504 muta_desc = _( "あなたは奇妙な音を立て始めた!", "You start making strange noise!");
507 case 154: case 155: case 156:
508 muta_class = &(p_ptr->muta3);
509 muta_which = MUT3_INFRAVIS;
510 muta_desc = _( "赤外線視力が増した。", "Your infravision is improved.");
514 muta_class = &(p_ptr->muta3);
515 muta_which = MUT3_XTRA_LEGS;
516 muta_desc = _( "新たに二本の足が生えてきた!", "You grow an extra pair of legs!");
520 muta_class = &(p_ptr->muta3);
521 muta_which = MUT3_SHORT_LEG;
522 muta_desc = _( "足が短い突起になってしまった!", "Your legs turn into short stubs!");
526 muta_class = &(p_ptr->muta3);
527 muta_which = MUT3_ELEC_TOUC;
528 muta_desc = _( "血管を電流が流れ始めた!", "Electricity starts running through you!");
532 muta_class = &(p_ptr->muta3);
533 muta_which = MUT3_FIRE_BODY;
534 muta_desc = _( "あなたの体は炎につつまれている。", "Your body is enveloped in flames!");
537 case 165: case 166: case 167:
538 muta_class = &(p_ptr->muta3);
539 muta_which = MUT3_WART_SKIN;
540 muta_desc = _( "気持ち悪いイボイボが体中にできた!", "Disgusting warts appear everywhere on you!");
543 case 168: case 169: case 170:
544 muta_class = &(p_ptr->muta3);
545 muta_which = MUT3_SCALES;
546 muta_desc = _( "肌が黒い鱗に変わった!", "Your skin turns into black scales!");
550 muta_class = &(p_ptr->muta3);
551 muta_which = MUT3_IRON_SKIN;
552 muta_desc = _( "あなたの肌は鉄になった!", "Your skin turns to steel!");
556 muta_class = &(p_ptr->muta3);
557 muta_which = MUT3_WINGS;
558 muta_desc = _( "背中に羽が生えた。", "You grow a pair of wings.");
561 case 175: case 176: case 177:
562 muta_class = &(p_ptr->muta3);
563 muta_which = MUT3_FEARLESS;
564 muta_desc = _( "完全に怖れ知らずになった。", "You become completely fearless.");
568 muta_class = &(p_ptr->muta3);
569 muta_which = MUT3_REGEN;
570 muta_desc = _( "急速に回復し始めた。", "You start regenerating.");
574 muta_class = &(p_ptr->muta3);
575 muta_which = MUT3_ESP;
576 muta_desc = _( "テレパシーの能力を得た!", "You develop a telepathic ability!");
579 case 182: case 183: case 184:
580 muta_class = &(p_ptr->muta3);
581 muta_which = MUT3_LIMBER;
582 muta_desc = _( "筋肉がしなやかになった。", "Your muscles become limber.");
585 case 185: case 186: case 187:
586 muta_class = &(p_ptr->muta3);
587 muta_which = MUT3_ARTHRITIS;
588 muta_desc = _( "関節が突然痛み出した。", "Your joints suddenly hurt.");
592 if (p_ptr->pseikaku == SEIKAKU_LUCKY) break;
593 muta_class = &(p_ptr->muta3);
594 muta_which = MUT3_BAD_LUCK;
595 muta_desc = _( "悪意に満ちた黒いオーラがあなたをとりまいた...", "There is a malignant black aura surrounding you...");
599 muta_class = &(p_ptr->muta3);
600 muta_which = MUT3_VULN_ELEM;
601 muta_desc = _( "妙に無防備になった気がする。", "You feel strangely exposed.");
604 case 190: case 191: case 192:
605 muta_class = &(p_ptr->muta3);
606 muta_which = MUT3_MOTION;
607 muta_desc = _( "体の動作がより正確になった。", "You move with new assurance.");
611 muta_class = &(p_ptr->muta3);
612 muta_which = MUT3_GOOD_LUCK;
613 muta_desc = _( "慈悲深い白いオーラがあなたをとりまいた...", "There is a benevolent white aura surrounding you...");
621 if (muta_class && muta_which)
623 if (!(*muta_class & muta_which))
628 if (muta_chosen == TRUE) break;
633 msg_print(_("普通になった気がする。", "You feel normal."));
639 chg_virtue(V_CHANCE, 1);
642 some races are apt to gain specified mutations
643 This should be allowed only if "choose_mut" is 0.
647 if (p_ptr->prace == RACE_VAMPIRE &&
648 !(p_ptr->muta1 & MUT1_HYPN_GAZE) &&
651 muta_class = &(p_ptr->muta1);
652 muta_which = MUT1_HYPN_GAZE;
653 muta_desc = _( "眼が幻惑的になった...", "Your eyes look mesmerizing...");
657 else if (p_ptr->prace == RACE_IMP &&
658 !(p_ptr->muta2 & MUT2_HORNS) &&
661 muta_class = &(p_ptr->muta2);
662 muta_which = MUT2_HORNS;
663 muta_desc = _( "角が額から生えてきた!", "Horns pop forth into your forehead!");
667 else if (p_ptr->prace == RACE_YEEK &&
668 !(p_ptr->muta1 & MUT1_SHRIEK) &&
671 muta_class = &(p_ptr->muta1);
672 muta_which = MUT1_SHRIEK;
673 muta_desc = _( "声質がかなり強くなった。", "Your vocal cords get much tougher.");
677 else if (p_ptr->prace == RACE_BEASTMAN &&
678 !(p_ptr->muta1 & MUT1_POLYMORPH) &&
681 muta_class = &(p_ptr->muta1);
682 muta_which = MUT1_POLYMORPH;
683 muta_desc = _( "あなたの肉体は変化できるようになった、", "Your body seems mutable.");
687 else if (p_ptr->prace == RACE_MIND_FLAYER &&
688 !(p_ptr->muta2 & MUT2_TENTACLES) &&
691 muta_class = &(p_ptr->muta2);
692 muta_which = MUT2_TENTACLES;
693 muta_desc = _( "邪悪な触手が口の周りに生えた。", "Evil-looking tentacles sprout from your mouth.");
697 msg_print(_("突然変異した!", "You mutate!"));
699 msg_print(muta_desc);
700 *muta_class |= muta_which;
702 if (muta_class == &(p_ptr->muta3))
704 if (muta_which == MUT3_PUNY)
706 if (p_ptr->muta3 & MUT3_HYPER_STR)
708 msg_print(_("あなたはもう超人的に強くはない!", "You no longer feel super-strong!"));
710 p_ptr->muta3 &= ~(MUT3_HYPER_STR);
713 else if (muta_which == MUT3_HYPER_STR)
715 if (p_ptr->muta3 & MUT3_PUNY)
717 msg_print(_("あなたはもう虚弱ではない!", "You no longer feel puny!"));
719 p_ptr->muta3 &= ~(MUT3_PUNY);
722 else if (muta_which == MUT3_MORONIC)
724 if (p_ptr->muta3 & MUT3_HYPER_INT)
726 msg_print(_("あなたの脳はもう生体コンピュータではない。", "Your brain is no longer a living computer."));
728 p_ptr->muta3 &= ~(MUT3_HYPER_INT);
731 else if (muta_which == MUT3_HYPER_INT)
733 if (p_ptr->muta3 & MUT3_MORONIC)
735 msg_print(_("あなたはもう精神薄弱ではない。", "You are no longer moronic."));
737 p_ptr->muta3 &= ~(MUT3_MORONIC);
740 else if (muta_which == MUT3_IRON_SKIN)
742 if (p_ptr->muta3 & MUT3_SCALES)
744 msg_print(_("鱗がなくなった。", "You lose your scales."));
746 p_ptr->muta3 &= ~(MUT3_SCALES);
748 if (p_ptr->muta3 & MUT3_FLESH_ROT)
750 msg_print(_("肉体が腐乱しなくなった。", "Your flesh rots no longer."));
752 p_ptr->muta3 &= ~(MUT3_FLESH_ROT);
754 if (p_ptr->muta3 & MUT3_WART_SKIN)
756 msg_print(_("肌のイボイボがなくなった。", "You lose your warts."));
758 p_ptr->muta3 &= ~(MUT3_WART_SKIN);
761 else if (muta_which == MUT3_WART_SKIN || muta_which == MUT3_SCALES
762 || muta_which == MUT3_FLESH_ROT)
764 if (p_ptr->muta3 & MUT3_IRON_SKIN)
766 msg_print(_("あなたの肌はもう鉄ではない。", "Your skin is no longer made of steel."));
768 p_ptr->muta3 &= ~(MUT3_IRON_SKIN);
771 else if (muta_which == MUT3_FEARLESS)
773 if (p_ptr->muta2 & MUT2_COWARDICE)
775 msg_print(_("臆病でなくなった。", "You are no longer cowardly."));
777 p_ptr->muta2 &= ~(MUT2_COWARDICE);
780 else if (muta_which == MUT3_FLESH_ROT)
782 if (p_ptr->muta3 & MUT3_REGEN)
784 msg_print(_("急速に回復しなくなった。", "You stop regenerating."));
786 p_ptr->muta3 &= ~(MUT3_REGEN);
789 else if (muta_which == MUT3_REGEN)
791 if (p_ptr->muta3 & MUT3_FLESH_ROT)
793 msg_print(_("肉体が腐乱しなくなった。", "Your flesh stops rotting."));
795 p_ptr->muta3 &= ~(MUT3_FLESH_ROT);
798 else if (muta_which == MUT3_LIMBER)
800 if (p_ptr->muta3 & MUT3_ARTHRITIS)
802 msg_print(_("関節が痛くなくなった。", "Your joints stop hurting."));
804 p_ptr->muta3 &= ~(MUT3_ARTHRITIS);
807 else if (muta_which == MUT3_ARTHRITIS)
809 if (p_ptr->muta3 & MUT3_LIMBER)
811 msg_print(_("あなたはしなやかでなくなった。", "You no longer feel limber."));
813 p_ptr->muta3 &= ~(MUT3_LIMBER);
817 else if (muta_class == &(p_ptr->muta2))
819 if (muta_which == MUT2_COWARDICE)
821 if (p_ptr->muta3 & MUT3_FEARLESS)
823 msg_print(_("恐れ知らずでなくなった。", "You no longer feel fearless."));
825 p_ptr->muta3 &= ~(MUT3_FEARLESS);
828 if (muta_which == MUT2_BEAK)
830 if (p_ptr->muta2 & MUT2_TRUNK)
832 msg_print(_("あなたの鼻はもう象の鼻のようではなくなった。", "Your nose is no longer elephantine."));
834 p_ptr->muta2 &= ~(MUT2_TRUNK);
837 if (muta_which == MUT2_TRUNK)
839 if (p_ptr->muta2 & MUT2_BEAK)
841 msg_print(_("硬いクチバシがなくなった。", "You no longer have a hard beak."));
843 p_ptr->muta2 &= ~(MUT2_BEAK);
848 mutant_regenerate_mod = calc_mutant_regenerate_mod();
849 p_ptr->update |= PU_BONUS;
856 * @brief プレイヤーから突然変異を取り除く
857 * @param choose_mut 取り除きたい突然変異のID、0ならばランダムに消去
860 bool lose_mutation(int choose_mut)
862 int attempts_left = 20;
864 bool muta_chosen = FALSE;
866 u32b *muta_class = NULL;
868 if (choose_mut) attempts_left = 1;
870 while (attempts_left--)
872 switch (choose_mut ? choose_mut : randint1(193))
874 case 1: case 2: case 3: case 4:
875 muta_class = &(p_ptr->muta1);
876 muta_which = MUT1_SPIT_ACID;
877 muta_desc = _( "酸を吹きかける能力を失った。", "You lose the ability to spit acid.");
880 case 5: case 6: case 7:
881 muta_class = &(p_ptr->muta1);
882 muta_which = MUT1_BR_FIRE;
883 muta_desc = _( "炎のブレスを吐く能力を失った。", "You lose the ability to breathe fire.");
887 muta_class = &(p_ptr->muta1);
888 muta_which = MUT1_HYPN_GAZE;
889 muta_desc = _( "あなたの目はつまらない目になった。", "Your eyes look uninteresting.");
893 muta_class = &(p_ptr->muta1);
894 muta_which = MUT1_TELEKINES;
895 muta_desc = _( "念動力で物を動かす能力を失った。", "You lose the ability to move objects telekinetically.");
898 case 12: case 13: case 14:
899 muta_class = &(p_ptr->muta1);
900 muta_which = MUT1_VTELEPORT;
901 muta_desc = _( "自分の意思でテレポートする能力を失った。", "You lose the power of teleportation at will.");
905 muta_class = &(p_ptr->muta1);
906 muta_which = MUT1_MIND_BLST;
907 muta_desc = _( "精神攻撃の能力を失った。", "You lose the power of Mind Blast.");
911 muta_class = &(p_ptr->muta1);
912 muta_which = MUT1_RADIATION;
913 muta_desc = _( "あなたは放射能を発生しなくなった。", "You stop emitting hard radiation.");
917 muta_class = &(p_ptr->muta1);
918 muta_which = MUT1_VAMPIRISM;
919 muta_desc = _( "吸血の能力を失った。", "You are no longer vampiric.");
922 case 21: case 22: case 23:
923 muta_class = &(p_ptr->muta1);
924 muta_which = MUT1_SMELL_MET;
925 muta_desc = _( "金属の臭いを嗅げなくなった。", "You no longer smell a metallic odor.");
928 case 24: case 25: case 26: case 27:
929 muta_class = &(p_ptr->muta1);
930 muta_which = MUT1_SMELL_MON;
931 muta_desc = _( "不潔なモンスターの臭いを嗅げなくなった。", "You no longer smell filthy monsters.");
934 case 28: case 29: case 30:
935 muta_class = &(p_ptr->muta1);
936 muta_which = MUT1_BLINK;
937 muta_desc = _( "近距離テレポートの能力を失った。", "You lose the power of minor teleportation.");
941 muta_class = &(p_ptr->muta1);
942 muta_which = MUT1_EAT_ROCK;
943 muta_desc = _( "壁は美味しそうに見えなくなった。", "The walls look unappetizing.");
947 muta_class = &(p_ptr->muta1);
948 muta_which = MUT1_SWAP_POS;
949 muta_desc = _( "あなたは自分の靴に留まる感じがする。", "You feel like staying in your own shoes.");
952 case 35: case 36: case 37:
953 muta_class = &(p_ptr->muta1);
954 muta_which = MUT1_SHRIEK;
955 muta_desc = _( "あなたの声質は弱くなった。", "Your vocal cords get much weaker.");
958 case 38: case 39: case 40:
959 muta_class = &(p_ptr->muta1);
960 muta_which = MUT1_ILLUMINE;
961 muta_desc = _( "部屋を明るく照らすことが出来なくなった。", "You can no longer light up rooms with your presence.");
965 muta_class = &(p_ptr->muta1);
966 muta_which = MUT1_DET_CURSE;
967 muta_desc = _( "邪悪な魔法を感じられなくなった。", "You can no longer feel evil magics.");
970 case 43: case 44: case 45:
971 muta_class = &(p_ptr->muta1);
972 muta_which = MUT1_BERSERK;
973 muta_desc = _( "制御できる激情を感じなくなった。", "You no longer feel a controlled rage.");
977 muta_class = &(p_ptr->muta1);
978 muta_which = MUT1_POLYMORPH;
979 muta_desc = _( "あなたの体は安定したように見える。", "Your body seems stable.");
983 muta_class = &(p_ptr->muta1);
984 muta_which = MUT1_MIDAS_TCH;
985 muta_desc = _( "ミダスの手の能力を失った。", "You lose the Midas touch.");
989 muta_class = &(p_ptr->muta1);
990 muta_which = MUT1_GROW_MOLD;
991 muta_desc = _( "突然カビが嫌いになった。", "You feel a sudden dislike for mold.");
994 case 50: case 51: case 52:
995 muta_class = &(p_ptr->muta1);
996 muta_which = MUT1_RESIST;
997 muta_desc = _( "傷つき易くなった気がする。", "You feel like you might be vulnerable.");
1000 case 53: case 54: case 55:
1001 muta_class = &(p_ptr->muta1);
1002 muta_which = MUT1_EARTHQUAKE;
1003 muta_desc = _( "ダンジョンを壊す能力を失った。", "You lose the ability to wreck the dungeon.");
1007 muta_class = &(p_ptr->muta1);
1008 muta_which = MUT1_EAT_MAGIC;
1009 muta_desc = _( "魔法のアイテムはもう美味しそうに見えなくなった。", "Your magic items no longer look delicious.");
1013 muta_class = &(p_ptr->muta1);
1014 muta_which = MUT1_WEIGH_MAG;
1015 muta_desc = _( "魔力を感じられなくなった。", "You no longer sense magic.");
1019 muta_class = &(p_ptr->muta1);
1020 muta_which = MUT1_STERILITY;
1021 muta_desc = _( "たくさんの安堵の吐息が聞こえた。", "You hear a massed sigh of relief.");
1025 muta_class = &(p_ptr->muta1);
1026 muta_which = MUT1_PANIC_HIT;
1027 muta_desc = _( "あちこちへ跳べる気分がなくなった。", "You no longer feel jumpy.");
1030 case 62: case 63: case 64:
1031 muta_class = &(p_ptr->muta1);
1032 muta_which = MUT1_DAZZLE;
1033 muta_desc = _( "まばゆい閃光を発する能力を失った。", "You lose the ability to emit dazzling lights.");
1036 case 65: case 66: case 67:
1037 muta_class = &(p_ptr->muta1);
1038 muta_which = MUT1_LASER_EYE;
1039 muta_desc = _( "眼が少しの間焼き付いて、痛みが和らいだ。", "Your eyes burn for a moment, then feel soothed.");
1043 muta_class = &(p_ptr->muta1);
1044 muta_which = MUT1_RECALL;
1045 muta_desc = _( "少しの間ホームシックになった。", "You feel briefly homesick.");
1049 muta_class = &(p_ptr->muta1);
1050 muta_which = MUT1_BANISH;
1051 muta_desc = _( "神聖な怒りの力を感じなくなった。", "You no longer feel a holy wrath.");
1055 muta_class = &(p_ptr->muta1);
1056 muta_which = MUT1_COLD_TOUCH;
1057 muta_desc = _( "手が暖かくなった。", "Your hands warm up.");
1061 muta_class = &(p_ptr->muta1);
1062 muta_which = MUT1_LAUNCHER;
1063 muta_desc = _( "物を投げる手が弱くなった気がする。", "Your throwing arm feels much weaker.");
1067 muta_class = &(p_ptr->muta2);
1068 muta_which = MUT2_BERS_RAGE;
1069 muta_desc = _( "凶暴化の発作にさらされなくなった!", "You are no longer subject to fits of berserk rage!");
1073 muta_class = &(p_ptr->muta2);
1074 muta_which = MUT2_COWARDICE;
1075 muta_desc = _( "もう信じがたいほど臆病ではなくなった!", "You are no longer an incredible coward!");
1079 muta_class = &(p_ptr->muta2);
1080 muta_which = MUT2_RTELEPORT;
1081 muta_desc = _( "あなたの位置はより確定的になった。", "Your position seems more certain.");
1085 muta_class = &(p_ptr->muta2);
1086 muta_which = MUT2_ALCOHOL;
1087 muta_desc = _( "あなたはアルコールを分泌しなくなった!", "Your body stops producing alcohol!");
1091 muta_class = &(p_ptr->muta2);
1092 muta_which = MUT2_HALLU;
1093 muta_desc = _( "幻覚をひき起こす精神障害を起こさなくなった!", "You are no longer afflicted by a hallucinatory insanity!");
1097 muta_class = &(p_ptr->muta2);
1098 muta_which = MUT2_FLATULENT;
1099 muta_desc = _( "もう強烈な屁はこかなくなった。", "You are no longer subject to uncontrollable flatulence.");
1103 muta_class = &(p_ptr->muta2);
1104 muta_which = MUT2_SCOR_TAIL;
1105 muta_desc = _( "サソリの尻尾がなくなった!", "You lose your scorpion tail!");
1109 muta_class = &(p_ptr->muta2);
1110 muta_which = MUT2_HORNS;
1111 muta_desc = _( "額から角が消えた!", "Your horns vanish from your forehead!");
1115 muta_class = &(p_ptr->muta2);
1116 muta_which = MUT2_BEAK;
1117 muta_desc = _( "口が普通に戻った!", "Your mouth reverts to normal!");
1121 muta_class = &(p_ptr->muta2);
1122 muta_which = MUT2_ATT_DEMON;
1123 muta_desc = _( "デーモンを引き寄せなくなった。", "You stop attracting demons.");
1127 muta_class = &(p_ptr->muta2);
1128 muta_which = MUT2_PROD_MANA;
1129 muta_desc = _( "制御不能な魔法のエネルギーを発生しなくなった。", "You stop producing magical energy uncontrollably.");
1133 muta_class = &(p_ptr->muta2);
1134 muta_which = MUT2_SPEED_FLUX;
1135 muta_desc = _( "躁鬱質でなくなった。", "You are no longer manic-depressive.");
1139 muta_class = &(p_ptr->muta2);
1140 muta_which = MUT2_BANISH_ALL;
1141 muta_desc = _( "背後に恐ろしい力を感じなくなった。", "You no longer feel a terrifying power lurking behind you.");
1145 muta_class = &(p_ptr->muta2);
1146 muta_which = MUT2_EAT_LIGHT;
1147 muta_desc = _( "世界が明るいと感じる。", "You feel the world's a brighter place.");
1151 muta_class = &(p_ptr->muta2);
1152 muta_which = MUT2_TRUNK;
1153 muta_desc = _( "鼻が普通の長さに戻った。", "Your nose returns to a normal length.");
1157 muta_class = &(p_ptr->muta2);
1158 muta_which = MUT2_ATT_ANIMAL;
1159 muta_desc = _( "動物を引き寄せなくなった。", "You stop attracting animals.");
1163 muta_class = &(p_ptr->muta2);
1164 muta_which = MUT2_TENTACLES;
1165 muta_desc = _( "触手が消えた。", "Your tentacles vanish from your sides.");
1169 muta_class = &(p_ptr->muta2);
1170 muta_which = MUT2_RAW_CHAOS;
1171 muta_desc = _( "周囲の空間が安定した気がする。", "You feel the universe is more stable around you.");
1174 case 100: case 101: case 102:
1175 muta_class = &(p_ptr->muta2);
1176 muta_which = MUT2_NORMALITY;
1177 muta_desc = _( "普通に奇妙な感じがする。", "You feel normally strange.");
1181 muta_class = &(p_ptr->muta2);
1182 muta_which = MUT2_WRAITH;
1183 muta_desc = _( "あなたは物質世界にしっかり存在している。", "You are firmly in the physical world.");
1187 muta_class = &(p_ptr->muta2);
1188 muta_which = MUT2_POLY_WOUND;
1189 muta_desc = _( "古い傷からカオスの力が去っていった。", "You feel forces of chaos departing your old scars.");
1193 muta_class = &(p_ptr->muta2);
1194 muta_which = MUT2_WASTING;
1195 muta_desc = _( "おぞましい衰弱病が治った!", "You are cured of the horrible wasting disease!");
1199 muta_class = &(p_ptr->muta2);
1200 muta_which = MUT2_ATT_DRAGON;
1201 muta_desc = _( "ドラゴンを引き寄せなくなった。", "You stop attracting dragons.");
1205 muta_class = &(p_ptr->muta2);
1206 muta_which = MUT2_WEIRD_MIND;
1207 muta_desc = _( "思考が退屈な方向に戻った。", "Your thoughts return to boring paths.");
1211 muta_class = &(p_ptr->muta2);
1212 muta_which = MUT2_NAUSEA;
1213 muta_desc = _( "胃が痙攣しなくなった。", "Your stomach stops roiling.");
1217 muta_class = &(p_ptr->muta2);
1218 muta_which = MUT2_CHAOS_GIFT;
1219 muta_desc = _( "混沌の神々の興味を惹かなくなった。", "You lose the attention of the chaos deities.");
1223 muta_class = &(p_ptr->muta2);
1224 muta_which = MUT2_WALK_SHAD;
1225 muta_desc = _( "物質世界に捕らわれている気がする。", "You feel like you're trapped in reality.");
1229 muta_class = &(p_ptr->muta2);
1230 muta_which = MUT2_WARNING;
1231 muta_desc = _( "パラノイアでなくなった。", "You no longer feel paranoid.");
1235 muta_class = &(p_ptr->muta2);
1236 muta_which = MUT2_INVULN;
1237 muta_desc = _( "無敵状態の発作を起こさなくなった。", "You are no longer blessed with fits of invulnerability.");
1241 muta_class = &(p_ptr->muta2);
1242 muta_which = MUT2_SP_TO_HP;
1243 muta_desc = _( "魔法の治癒の発作に襲われなくなった。", "You are no longer subject to fits of magical healing.");
1247 muta_class = &(p_ptr->muta2);
1248 muta_which = MUT2_HP_TO_SP;
1249 muta_desc = _( "痛みを伴う精神明瞭化の発作に襲われなくなった。", "You are no longer subject to fits of painful clarity.");
1253 muta_class = &(p_ptr->muta2);
1254 muta_which = MUT2_DISARM;
1255 muta_desc = _( "脚が元の大きさに戻った。", "Your feet shrink to their former size.");
1258 case 120: case 121: case 122:
1259 muta_class = &(p_ptr->muta3);
1260 muta_which = MUT3_HYPER_STR;
1261 muta_desc = _( "筋肉が普通に戻った。", "Your muscles revert to normal.");
1264 case 123: case 124: case 125:
1265 muta_class = &(p_ptr->muta3);
1266 muta_which = MUT3_PUNY;
1267 muta_desc = _( "筋肉が普通に戻った。", "Your muscles revert to normal.");
1270 case 126: case 127: case 128:
1271 muta_class = &(p_ptr->muta3);
1272 muta_which = MUT3_HYPER_INT;
1273 muta_desc = _( "脳が普通に戻った。", "Your brain reverts to normal.");
1276 case 129: case 130: case 131:
1277 muta_class = &(p_ptr->muta3);
1278 muta_which = MUT3_MORONIC;
1279 muta_desc = _( "脳が普通に戻った。", "Your brain reverts to normal.");
1283 muta_class = &(p_ptr->muta3);
1284 muta_which = MUT3_RESILIENT;
1285 muta_desc = _( "普通の丈夫さに戻った。", "You become ordinarily resilient again.");
1289 muta_class = &(p_ptr->muta3);
1290 muta_which = MUT3_XTRA_FAT;
1291 muta_desc = _( "奇跡的なダイエットに成功した!", "You benefit from a miracle diet!");
1295 muta_class = &(p_ptr->muta3);
1296 muta_which = MUT3_ALBINO;
1297 muta_desc = _( "アルビノでなくなった!", "You are no longer an albino!");
1300 case 138: case 139: case 140:
1301 muta_class = &(p_ptr->muta3);
1302 muta_which = MUT3_FLESH_ROT;
1303 muta_desc = _( "肉体を腐敗させる病気が治った!", "Your flesh is no longer afflicted by a rotting disease!");
1307 muta_class = &(p_ptr->muta3);
1308 muta_which = MUT3_SILLY_VOI;
1309 muta_desc = _( "声質が普通に戻った。", "Your voice returns to normal.");
1313 muta_class = &(p_ptr->muta3);
1314 muta_which = MUT3_BLANK_FAC;
1315 muta_desc = _( "顔に目鼻が戻った。", "Your facial features return.");
1319 muta_class = &(p_ptr->muta3);
1320 muta_which = MUT3_ILL_NORM;
1321 muta_desc = _( "心が安らぐ幻影を映し出さなくなった。", "You stop projecting a reassuring image.");
1324 case 146: case 147: case 148:
1325 muta_class = &(p_ptr->muta3);
1326 muta_which = MUT3_XTRA_EYES;
1327 muta_desc = _( "余分な目が消えてしまった!", "Your extra eyes vanish!");
1331 muta_class = &(p_ptr->muta3);
1332 muta_which = MUT3_MAGIC_RES;
1333 muta_desc = _( "魔法に弱くなった。", "You become susceptible to magic again.");
1336 case 151: case 152: case 153:
1337 muta_class = &(p_ptr->muta3);
1338 muta_which = MUT3_XTRA_NOIS;
1339 muta_desc = _( "奇妙な音を立てなくなった!", "You stop making strange noise!");
1342 case 154: case 155: case 156:
1343 muta_class = &(p_ptr->muta3);
1344 muta_which = MUT3_INFRAVIS;
1345 muta_desc = _( "赤外線視力が落ちた。", "Your infravision is degraded.");
1349 muta_class = &(p_ptr->muta3);
1350 muta_which = MUT3_XTRA_LEGS;
1351 muta_desc = _( "余分な脚が消えてしまった!", "Your extra legs disappear!");
1355 muta_class = &(p_ptr->muta3);
1356 muta_which = MUT3_SHORT_LEG;
1357 muta_desc = _( "脚の長さが普通に戻った。", "Your legs lengthen to normal.");
1361 muta_class = &(p_ptr->muta3);
1362 muta_which = MUT3_ELEC_TOUC;
1363 muta_desc = _( "体を電流が流れなくなった。", "Electricity stops running through you.");
1367 muta_class = &(p_ptr->muta3);
1368 muta_which = MUT3_FIRE_BODY;
1369 muta_desc = _( "体が炎に包まれなくなった。", "Your body is no longer enveloped in flames.");
1372 case 165: case 166: case 167:
1373 muta_class = &(p_ptr->muta3);
1374 muta_which = MUT3_WART_SKIN;
1375 muta_desc = _( "イボイボが消えた!", "Your warts disappear!");
1378 case 168: case 169: case 170:
1379 muta_class = &(p_ptr->muta3);
1380 muta_which = MUT3_SCALES;
1381 muta_desc = _( "鱗が消えた!", "Your scales vanish!");
1385 muta_class = &(p_ptr->muta3);
1386 muta_which = MUT3_IRON_SKIN;
1387 muta_desc = _( "肌が肉にもどった!", "Your skin reverts to flesh!");
1391 muta_class = &(p_ptr->muta3);
1392 muta_which = MUT3_WINGS;
1393 muta_desc = _( "背中の羽根が取れ落ちた。", "Your wings fall off.");
1396 case 175: case 176: case 177:
1397 muta_class = &(p_ptr->muta3);
1398 muta_which = MUT3_FEARLESS;
1399 muta_desc = _( "再び恐怖を感じるようになった。", "You begin to feel fear again.");
1403 muta_class = &(p_ptr->muta3);
1404 muta_which = MUT3_REGEN;
1405 muta_desc = _( "急速回復しなくなった。", "You stop regenerating.");
1409 muta_class = &(p_ptr->muta3);
1410 muta_which = MUT3_ESP;
1411 muta_desc = _( "テレパシーの能力を失った!", "You lose your telepathic ability!");
1414 case 182: case 183: case 184:
1415 muta_class = &(p_ptr->muta3);
1416 muta_which = MUT3_LIMBER;
1417 muta_desc = _( "筋肉が硬くなった。", "Your muscles stiffen.");
1420 case 185: case 186: case 187:
1421 muta_class = &(p_ptr->muta3);
1422 muta_which = MUT3_ARTHRITIS;
1423 muta_desc = _( "関節が痛くなくなった。", "Your joints stop hurting.");
1427 muta_class = &(p_ptr->muta3);
1428 muta_which = MUT3_BAD_LUCK;
1429 muta_desc = _( "黒いオーラは渦巻いて消えた。", "Your black aura swirls and fades.");
1433 muta_class = &(p_ptr->muta3);
1434 muta_which = MUT3_VULN_ELEM;
1435 muta_desc = _( "無防備な感じはなくなった。", "You feel less exposed.");
1438 case 190: case 191: case 192:
1439 muta_class = &(p_ptr->muta3);
1440 muta_which = MUT3_MOTION;
1441 muta_desc = _( "動作の正確さがなくなった。", "You move with less assurance.");
1445 if (p_ptr->pseikaku == SEIKAKU_LUCKY) break;
1446 muta_class = &(p_ptr->muta3);
1447 muta_which = MUT3_GOOD_LUCK;
1448 muta_desc = _( "白いオーラは輝いて消えた。", "Your white aura shimmers and fades.");
1456 if (muta_class && muta_which)
1458 if (*(muta_class) & muta_which)
1463 if (muta_chosen == TRUE) break;
1472 msg_print(muta_desc);
1473 *(muta_class) &= ~(muta_which);
1475 p_ptr->update |= PU_BONUS;
1477 mutant_regenerate_mod = calc_mutant_regenerate_mod();
1482 void lose_all_mutations(void)
1484 if (p_ptr->muta1 || p_ptr->muta2 || p_ptr->muta3)
1486 chg_virtue(V_CHANCE, -5);
1487 msg_print(_("全ての突然変異が治った。", "You are cured of all mutations."));
1488 p_ptr->muta1 = p_ptr->muta2 = p_ptr->muta3 = 0;
1489 p_ptr->update |= PU_BONUS;
1491 mutant_regenerate_mod = calc_mutant_regenerate_mod();
1496 * @brief ファイルポインタを通じて突然変異の一覧を出力する
1497 * @param OutFile 出力先ファイルポインタ
1500 void dump_mutations(FILE *OutFile)
1502 if (!OutFile) return;
1506 if (p_ptr->muta1 & MUT1_SPIT_ACID)
1508 fprintf(OutFile, _(" あなたは酸を吹きかけることができる。(ダメージ レベルX1)\n", " You can spit acid (dam lvl).\n"));
1511 if (p_ptr->muta1 & MUT1_BR_FIRE)
1513 fprintf(OutFile, _(" あなたは炎のブレスを吐くことができる。(ダメージ レベルX2)\n", " You can breathe fire (dam lvl * 2).\n"));
1516 if (p_ptr->muta1 & MUT1_HYPN_GAZE)
1518 fprintf(OutFile, _(" あなたの睨みは催眠効果をもつ。\n", " Your gaze is hypnotic.\n"));
1521 if (p_ptr->muta1 & MUT1_TELEKINES)
1523 fprintf(OutFile, _(" あなたは念動力をもっている。\n", " You are telekinetic.\n"));
1526 if (p_ptr->muta1 & MUT1_VTELEPORT)
1528 fprintf(OutFile, _(" あなたは自分の意思でテレポートできる。\n", " You can teleport at will.\n"));
1531 if (p_ptr->muta1 & MUT1_MIND_BLST)
1533 fprintf(OutFile, _(" あなたは敵を精神攻撃できる。\n", " You can Mind Blast your enemies.\n"));
1536 if (p_ptr->muta1 & MUT1_RADIATION)
1538 fprintf(OutFile, _(" あなたは自分の意思で放射能を発生することができる。\n", " You can emit hard radiation at will.\n"));
1541 if (p_ptr->muta1 & MUT1_VAMPIRISM)
1543 fprintf(OutFile, _(" あなたは吸血鬼のように敵から生命力を吸収することができる。\n", " You can drain life from a foe like a vampire.\n"));
1546 if (p_ptr->muta1 & MUT1_SMELL_MET)
1548 fprintf(OutFile, _(" あなたは近くにある貴金属をかぎ分けることができる。\n", " You can smell nearby precious metal.\n"));
1551 if (p_ptr->muta1 & MUT1_SMELL_MON)
1553 fprintf(OutFile, _(" あなたは近くのモンスターの存在をかぎ分けることができる。\n", " You can smell nearby monsters.\n"));
1556 if (p_ptr->muta1 & MUT1_BLINK)
1558 fprintf(OutFile, _(" あなたは短い距離をテレポートできる。\n", " You can teleport yourself short distances.\n"));
1561 if (p_ptr->muta1 & MUT1_EAT_ROCK)
1563 fprintf(OutFile, _(" あなたは硬い岩を食べることができる。\n", " You can consume solid rock.\n"));
1566 if (p_ptr->muta1 & MUT1_SWAP_POS)
1568 fprintf(OutFile, _(" あなたは他の者と場所を入れ替わることができる。\n", " You can switch locations with another being.\n"));
1571 if (p_ptr->muta1 & MUT1_SHRIEK)
1573 fprintf(OutFile, _(" あなたは身の毛もよだつ叫び声を発することができる。\n", " You can emit a horrible shriek.\n"));
1576 if (p_ptr->muta1 & MUT1_ILLUMINE)
1578 fprintf(OutFile, _(" あなたは明るい光を放つことができる。\n", " You can emit bright light.\n"));
1581 if (p_ptr->muta1 & MUT1_DET_CURSE)
1583 fprintf(OutFile, _(" あなたは邪悪な魔法の危険を感じとることができる。\n", " You can feel the danger of evil magic.\n"));
1586 if (p_ptr->muta1 & MUT1_BERSERK)
1588 fprintf(OutFile, _(" あなたは自分の意思で狂乱戦闘状態になることができる。\n", " You can drive yourself into a berserk frenzy.\n"));
1591 if (p_ptr->muta1 & MUT1_POLYMORPH)
1593 fprintf(OutFile, _(" あなたは自分の意志で変化できる。\n", " You can polymorph yourself at will.\n"));
1596 if (p_ptr->muta1 & MUT1_MIDAS_TCH)
1598 fprintf(OutFile, _(" あなたは通常アイテムを金に変えることができる。\n", " You can turn ordinary items to gold.\n"));
1601 if (p_ptr->muta1 & MUT1_GROW_MOLD)
1603 fprintf(OutFile, _(" あなたは周囲にキノコを生やすことができる。\n", " You can cause mold to grow near you.\n"));
1606 if (p_ptr->muta1 & MUT1_RESIST)
1608 fprintf(OutFile, _(" あなたは元素の攻撃に対して身を硬くすることができる。\n", " You can harden yourself to the ravages of the elements.\n"));
1611 if (p_ptr->muta1 & MUT1_EARTHQUAKE)
1613 fprintf(OutFile, _(" あなたは周囲のダンジョンを崩壊させることができる。\n", " You can bring down the dungeon around your ears.\n"));
1616 if (p_ptr->muta1 & MUT1_EAT_MAGIC)
1618 fprintf(OutFile, _(" あなたは魔法のエネルギーを自分の物として使用できる。\n", " You can consume magic energy for your own use.\n"));
1621 if (p_ptr->muta1 & MUT1_WEIGH_MAG)
1623 fprintf(OutFile, _(" あなたは自分に影響を与える魔法の力を感じることができる。\n", " You can feel the strength of the magics affecting you.\n"));
1626 if (p_ptr->muta1 & MUT1_STERILITY)
1628 fprintf(OutFile, _(" あなたは集団的生殖不能を起こすことができる。\n", " You can cause mass impotence.\n"));
1631 if (p_ptr->muta1 & MUT1_PANIC_HIT)
1633 fprintf(OutFile, _(" あなたは攻撃した後身を守るため逃げることができる。\n", " You can run for your life after hitting something.\n"));
1636 if (p_ptr->muta1 & MUT1_DAZZLE)
1638 fprintf(OutFile, _(" あなたは混乱と盲目を引き起こす放射能を発生することができる。 \n", " You can emit confusing, blinding radiation.\n"));
1641 if (p_ptr->muta1 & MUT1_LASER_EYE)
1643 fprintf(OutFile, _(" あなたは目からレーザー光線を発射することができる。\n", " Your eyes can fire laser beams.\n"));
1646 if (p_ptr->muta1 & MUT1_RECALL)
1648 fprintf(OutFile, _(" あなたは街とダンジョンの間を行き来することができる。\n", " You can travel between town and the depths.\n"));
1651 if (p_ptr->muta1 & MUT1_BANISH)
1653 fprintf(OutFile, _(" あなたは邪悪なモンスターを地獄に落とすことができる。\n", " You can send evil creatures directly to Hell.\n"));
1656 if (p_ptr->muta1 & MUT1_COLD_TOUCH)
1658 fprintf(OutFile, _(" あなたは物を触って凍らせることができる。\n", " You can freeze things with a touch.\n"));
1661 if (p_ptr->muta1 & MUT1_LAUNCHER)
1663 fprintf(OutFile, _(" あなたはアイテムを力強く投げることができる。\n", " You can hurl objects with great force.\n"));
1670 if (p_ptr->muta2 & MUT2_BERS_RAGE)
1672 fprintf(OutFile, _(" あなたは狂戦士化の発作を起こす。\n", " You are subject to berserker fits.\n"));
1675 if (p_ptr->muta2 & MUT2_COWARDICE)
1677 fprintf(OutFile, _(" あなたは時々臆病になる。\n", " You are subject to cowardice.\n"));
1680 if (p_ptr->muta2 & MUT2_RTELEPORT)
1682 fprintf(OutFile, _(" あなたはランダムにテレポートする。\n", " You are teleporting randomly.\n"));
1685 if (p_ptr->muta2 & MUT2_ALCOHOL)
1687 fprintf(OutFile, _(" あなたの体はアルコールを分泌する。\n", " Your body produces alcohol.\n"));
1690 if (p_ptr->muta2 & MUT2_HALLU)
1692 fprintf(OutFile, _(" あなたは幻覚を引き起こす精神錯乱に侵されている。\n", " You have a hallucinatory insanity.\n"));
1695 if (p_ptr->muta2 & MUT2_FLATULENT)
1697 fprintf(OutFile, _(" あなたは制御できない強烈な屁をこく。\n", " You are subject to uncontrollable flatulence.\n"));
1700 if (p_ptr->muta2 & MUT2_PROD_MANA)
1702 fprintf(OutFile, _(" あなたは制御不能な魔法のエネルギーを発している。\n", " You are producing magical energy uncontrollably.\n"));
1705 if (p_ptr->muta2 & MUT2_ATT_DEMON)
1707 fprintf(OutFile, _(" あなたはデーモンを引きつける。\n", " You attract demons.\n"));
1710 if (p_ptr->muta2 & MUT2_SCOR_TAIL)
1712 fprintf(OutFile, _(" あなたはサソリの尻尾が生えている。(毒、ダメージ 3d7)\n", " You have a scorpion tail (poison, 3d7).\n"));
1715 if (p_ptr->muta2 & MUT2_HORNS)
1717 fprintf(OutFile, _(" あなたは角が生えている。(ダメージ 2d6)\n", " You have horns (dam. 2d6).\n"));
1720 if (p_ptr->muta2 & MUT2_BEAK)
1722 fprintf(OutFile, _(" あなたはクチバシが生えている。(ダメージ 2d4)\n", " You have a beak (dam. 2d4).\n"));
1725 if (p_ptr->muta2 & MUT2_SPEED_FLUX)
1727 fprintf(OutFile, _(" あなたはランダムに早く動いたり遅く動いたりする。\n", " You move faster or slower randomly.\n"));
1730 if (p_ptr->muta2 & MUT2_BANISH_ALL)
1732 fprintf(OutFile, _(" あなたは時々近くのモンスターを消滅させる。\n", " You sometimes cause nearby creatures to vanish.\n"));
1735 if (p_ptr->muta2 & MUT2_EAT_LIGHT)
1737 fprintf(OutFile, _(" あなたは時々周囲の光を吸収して栄養にする。\n", " You sometimes feed off of the light around you.\n"));
1740 if (p_ptr->muta2 & MUT2_TRUNK)
1742 fprintf(OutFile, _(" あなたは象のような鼻を持っている。(ダメージ 1d4)\n", " You have an elephantine trunk (dam 1d4).\n"));
1745 if (p_ptr->muta2 & MUT2_ATT_ANIMAL)
1747 fprintf(OutFile, _(" あなたは動物を引きつける。\n", " You attract animals.\n"));
1750 if (p_ptr->muta2 & MUT2_TENTACLES)
1752 fprintf(OutFile, _(" あなたは邪悪な触手を持っている。(ダメージ 2d5)\n", " You have evil looking tentacles (dam 2d5).\n"));
1755 if (p_ptr->muta2 & MUT2_RAW_CHAOS)
1757 fprintf(OutFile, _(" あなたはしばしば純カオスに包まれる。\n", " You occasionally are surrounded with raw chaos.\n"));
1760 if (p_ptr->muta2 & MUT2_NORMALITY)
1762 fprintf(OutFile, _(" あなたは変異していたが、回復してきている。\n", " You may be mutated, but you're recovering.\n"));
1765 if (p_ptr->muta2 & MUT2_WRAITH)
1767 fprintf(OutFile, _(" あなたの肉体は幽体化したり実体化したりする。\n", " You fade in and out of physical reality.\n"));
1770 if (p_ptr->muta2 & MUT2_POLY_WOUND)
1772 fprintf(OutFile, _(" あなたの健康はカオスの力に影響を受ける。\n", " Your health is subject to chaotic forces.\n"));
1775 if (p_ptr->muta2 & MUT2_WASTING)
1777 fprintf(OutFile, _(" あなたは衰弱する恐ろしい病気にかかっている。\n", " You have a horrible wasting disease.\n"));
1780 if (p_ptr->muta2 & MUT2_ATT_DRAGON)
1782 fprintf(OutFile, _(" あなたはドラゴンを引きつける。\n", " You attract dragons.\n"));
1785 if (p_ptr->muta2 & MUT2_WEIRD_MIND)
1787 fprintf(OutFile, _(" あなたの精神はランダムに拡大したり縮小したりしている。\n", " Your mind randomly expands and contracts.\n"));
1790 if (p_ptr->muta2 & MUT2_NAUSEA)
1792 fprintf(OutFile, _(" あなたの胃は非常に落ち着きがない。\n", " You have a seriously upset stomach.\n"));
1795 if (p_ptr->muta2 & MUT2_CHAOS_GIFT)
1797 fprintf(OutFile, _(" あなたはカオスの守護悪魔から褒美をうけとる。\n", " Chaos deities give you gifts.\n"));
1800 if (p_ptr->muta2 & MUT2_WALK_SHAD)
1802 fprintf(OutFile, _(" あなたはしばしば他の「影」に迷い込む。\n", " You occasionally stumble into other shadows.\n"));
1805 if (p_ptr->muta2 & MUT2_WARNING)
1807 fprintf(OutFile, _(" あなたは敵に関する警告を感じる。\n", " You receive warnings about your foes.\n"));
1810 if (p_ptr->muta2 & MUT2_INVULN)
1812 fprintf(OutFile, _(" あなたは時々負け知らずな気分になる。\n", " You occasionally feel invincible.\n"));
1815 if (p_ptr->muta2 & MUT2_SP_TO_HP)
1817 fprintf(OutFile, _(" あなたは時々血が筋肉にどっと流れる。\n", " Your blood sometimes rushes to your muscles.\n"));
1820 if (p_ptr->muta2 & MUT2_HP_TO_SP)
1822 fprintf(OutFile, _(" あなたは時々頭に血がどっと流れる。\n", " Your blood sometimes rushes to your head.\n"));
1825 if (p_ptr->muta2 & MUT2_DISARM)
1827 fprintf(OutFile, _(" あなたはよくつまづいて物を落とす。\n", " You occasionally stumble and drop things.\n"));
1834 if (p_ptr->muta3 & MUT3_HYPER_STR)
1836 fprintf(OutFile, _(" あなたは超人的に強い。(腕力+4)\n", " You are superhumanly strong (+4 STR).\n"));
1839 if (p_ptr->muta3 & MUT3_PUNY)
1841 fprintf(OutFile, _(" あなたは虚弱だ。(腕力-4)\n", " You are puny (-4 STR).\n"));
1844 if (p_ptr->muta3 & MUT3_HYPER_INT)
1846 fprintf(OutFile, _(" あなたの脳は生体コンピュータだ。(知能&賢さ+4)\n", " Your brain is a living computer (+4 INT/WIS).\n"));
1849 if (p_ptr->muta3 & MUT3_MORONIC)
1851 fprintf(OutFile, _(" あなたは精神薄弱だ。(知能&賢さ-4)\n", " You are moronic (-4 INT/WIS).\n"));
1854 if (p_ptr->muta3 & MUT3_RESILIENT)
1856 fprintf(OutFile, _(" あなたの体は弾力性に富んでいる。(耐久+4)\n", " You are very resilient (+4 CON).\n"));
1859 if (p_ptr->muta3 & MUT3_XTRA_FAT)
1861 fprintf(OutFile, _(" あなたは極端に太っている。(耐久+2,スピード-2)\n", " You are extremely fat (+2 CON, -2 speed).\n"));
1864 if (p_ptr->muta3 & MUT3_ALBINO)
1866 fprintf(OutFile, _(" あなたはアルビノだ。(耐久-4)\n", " You are albino (-4 CON).\n"));
1869 if (p_ptr->muta3 & MUT3_FLESH_ROT)
1871 fprintf(OutFile, _(" あなたの肉体は腐敗している。(耐久-2,魅力-1)\n", " Your flesh is rotting (-2 CON, -1 CHR).\n"));
1874 if (p_ptr->muta3 & MUT3_SILLY_VOI)
1876 fprintf(OutFile, _(" あなたの声は間抜けなキーキー声だ。(魅力-4)\n", " Your voice is a silly squeak (-4 CHR).\n"));
1879 if (p_ptr->muta3 & MUT3_BLANK_FAC)
1881 fprintf(OutFile, _(" あなたはのっぺらぼうだ。(魅力-1)\n", " Your face is featureless (-1 CHR).\n"));
1884 if (p_ptr->muta3 & MUT3_ILL_NORM)
1886 fprintf(OutFile, _(" あなたは幻影に覆われている。\n", " Your appearance is masked with illusion.\n"));
1889 if (p_ptr->muta3 & MUT3_XTRA_EYES)
1891 fprintf(OutFile, _(" あなたは余分に二つの目を持っている。(探索+15)\n", " You have an extra pair of eyes (+15 search).\n"));
1894 if (p_ptr->muta3 & MUT3_MAGIC_RES)
1896 fprintf(OutFile, _(" あなたは魔法への耐性をもっている。\n", " You are resistant to magic.\n"));
1899 if (p_ptr->muta3 & MUT3_XTRA_NOIS)
1901 fprintf(OutFile, _(" あなたは変な音を発している。(隠密-3)\n", " You make a lot of strange noise (-3 stealth).\n"));
1904 if (p_ptr->muta3 & MUT3_INFRAVIS)
1906 fprintf(OutFile, _(" あなたは素晴らしい赤外線視力を持っている。(+3)\n", " You have remarkable infravision (+3).\n"));
1909 if (p_ptr->muta3 & MUT3_XTRA_LEGS)
1911 fprintf(OutFile, _(" あなたは余分に二本の足が生えている。(加速+3)\n", " You have an extra pair of legs (+3 speed).\n"));
1914 if (p_ptr->muta3 & MUT3_SHORT_LEG)
1916 fprintf(OutFile, _(" あなたの足は短い突起だ。(加速-3)\n", " Your legs are short stubs (-3 speed).\n"));
1919 if (p_ptr->muta3 & MUT3_ELEC_TOUC)
1921 fprintf(OutFile, _(" あなたの血管には電流が流れている。\n", " Electricity is running through your veins.\n"));
1924 if (p_ptr->muta3 & MUT3_FIRE_BODY)
1926 fprintf(OutFile, _(" あなたの体は炎につつまれている。\n", " Your body is enveloped in flames.\n"));
1929 if (p_ptr->muta3 & MUT3_WART_SKIN)
1931 fprintf(OutFile, _(" あなたの肌はイボに被われている。(魅力-2, AC+5)\n", " Your skin is covered with warts (-2 CHR, +5 AC).\n"));
1934 if (p_ptr->muta3 & MUT3_SCALES)
1936 fprintf(OutFile, _(" あなたの肌は鱗になっている。(魅力-1, AC+10)\n", " Your skin has turned into scales (-1 CHR, +10 AC).\n"));
1939 if (p_ptr->muta3 & MUT3_IRON_SKIN)
1941 fprintf(OutFile, _(" あなたの肌は鉄でできている。(器用-1, AC+25)\n", " Your skin is made of steel (-1 DEX, +25 AC).\n"));
1944 if (p_ptr->muta3 & MUT3_WINGS)
1946 fprintf(OutFile, _(" あなたは羽を持っている。\n", " You have wings.\n"));
1949 if (p_ptr->muta3 & MUT3_FEARLESS)
1951 fprintf(OutFile, _(" あなたは全く恐怖を感じない。\n", " You are completely fearless.\n"));
1954 if (p_ptr->muta3 & MUT3_REGEN)
1956 fprintf(OutFile, _(" あなたは急速に回復する。\n", " You are regenerating.\n"));
1959 if (p_ptr->muta3 & MUT3_ESP)
1961 fprintf(OutFile, _(" あなたはテレパシーを持っている。\n", " You are telepathic.\n"));
1964 if (p_ptr->muta3 & MUT3_LIMBER)
1966 fprintf(OutFile, _(" あなたの体は非常にしなやかだ。(器用+3)\n", " Your body is very limber (+3 DEX).\n"));
1969 if (p_ptr->muta3 & MUT3_ARTHRITIS)
1971 fprintf(OutFile, _(" あなたはいつも関節に痛みを感じている。(器用-3)\n", " Your joints ache constantly (-3 DEX).\n"));
1974 if (p_ptr->muta3 & MUT3_VULN_ELEM)
1976 fprintf(OutFile, _(" あなたは元素の攻撃に弱い。\n", " You are susceptible to damage from the elements.\n"));
1979 if (p_ptr->muta3 & MUT3_MOTION)
1981 fprintf(OutFile, _(" あなたの動作は正確で力強い。(隠密+1)\n", " Your movements are precise and forceful (+1 STL).\n"));
1984 if (p_ptr->muta3 & MUT3_GOOD_LUCK)
1986 fprintf(OutFile, _(" あなたは白いオーラにつつまれている。\n", " There is a white aura surrounding you.\n"));
1989 if (p_ptr->muta3 & MUT3_BAD_LUCK)
1991 fprintf(OutFile, _(" あなたは黒いオーラにつつまれている。\n", " There is a black aura surrounding you.\n"));
1998 * @brief 突然変異表示コマンドの実装 / List mutations we have...
2001 void do_cmd_knowledge_mutations(void)
2004 char file_name[1024];
2006 /* Open a new file */
2007 fff = my_fopen_temp(file_name, 1024);
2009 /* Dump the mutations to file */
2010 if (fff) dump_mutations(fff);
2012 /* Close the file */
2015 /* Display the file contents */
2016 show_file(TRUE, file_name, _("突然変異", "Mutations"), 0, 0);
2018 /* Remove the file */
2023 * @brief 符号なし32ビット整数のビット数を返す。
2024 * @param x ビット数を調べたい変数
2027 int count_bits(BIT_FLAGS x)
2035 while (0 != (x = x&(x-1)));
2041 * @brief 現在プレイヤー得ている突然変異の数を返す。
2042 * @return 現在得ている突然変異の数
2044 static int count_mutations(void)
2046 return (count_bits(p_ptr->muta1) +
2047 count_bits(p_ptr->muta2) +
2048 count_bits(p_ptr->muta3));
2053 * @brief 突然変異による自然回復ペナルティをパーセント値で返す /
2054 * Return the modifier to the regeneration rate (in percent)
2055 * @return ペナルティ修正(%)
2057 int calc_mutant_regenerate_mod(void)
2061 int count = count_mutations();
2064 * Beastman get 10 "free" mutations and
2065 * only 5% decrease per additional mutation
2068 if (p_ptr->pseikaku == SEIKAKU_LUCKY) count--;
2069 if (p_ptr->prace == RACE_BEASTMAN)
2075 /* No negative modifier */
2076 if (count <= 0) return 100;
2078 regen = 100 - count * mod;
2080 /* Max. 90% decrease in regeneration speed */
2081 if (regen < 10) regen = 10;
2087 * @brief 突然変異レイシャル上で口を使うよりを行った際に歌や呪術を停止する /
2090 static void mutation_stop_mouth(void)
2092 if (music_singing_any()) stop_singing();
2093 if (hex_spelling_any()) stop_hex_spell_all();
2098 * @brief 突然変異のレイシャル効果実装
2099 * @return 発動させる突然変異レイシャルのID
2100 * @return レイシャルを実行した場合TRUE、キャンセルした場合FALSEを返す
2102 bool mutation_power_aux(u32b power)
2105 int lvl = p_ptr->lev;
2110 case MUT1_SPIT_ACID:
2111 if (!get_aim_dir(&dir)) return FALSE;
2112 mutation_stop_mouth();
2113 msg_print(_("酸を吐きかけた...", "You spit acid..."));
2115 fire_ball(GF_ACID, dir, lvl, 1 + (lvl / 30));
2119 if (!get_aim_dir(&dir)) return FALSE;
2120 mutation_stop_mouth();
2121 msg_print(_("あなたは火炎のブレスを吐いた...", "You breathe fire..."));
2123 fire_breath(GF_FIRE, dir, lvl * 2, 1 + (lvl / 20));
2126 case MUT1_HYPN_GAZE:
2127 if (!get_aim_dir(&dir)) return FALSE;
2128 msg_print(_("あなたの目は幻惑的になった...", "Your eyes look mesmerizing..."));
2130 (void)charm_monster(dir, lvl);
2133 case MUT1_TELEKINES:
2134 if (!get_aim_dir(&dir)) return FALSE;
2135 msg_print(_("集中している...", "You concentrate..."));
2137 fetch(dir, lvl * 10, TRUE);
2140 case MUT1_VTELEPORT:
2141 msg_print(_("集中している...", "You concentrate..."));
2143 teleport_player(10 + 4 * lvl, 0L);
2146 case MUT1_MIND_BLST:
2147 if (!get_aim_dir(&dir)) return FALSE;
2148 msg_print(_("集中している...", "You concentrate..."));
2150 fire_bolt(GF_PSI, dir, damroll(3 + ((lvl - 1) / 5), 3));
2153 case MUT1_RADIATION:
2154 msg_print(_("体から放射能が発生した!", "Radiation flows from your body!"));
2156 fire_ball(GF_NUKE, 0, (lvl * 2), 3 + (lvl / 20));
2159 case MUT1_VAMPIRISM:
2164 /* Only works on adjacent monsters */
2165 if (!get_rep_dir2(&dir)) return FALSE;
2166 y = p_ptr->y + ddy[dir];
2167 x = p_ptr->x + ddx[dir];
2168 c_ptr = &cave[y][x];
2170 mutation_stop_mouth();
2172 if (!(c_ptr->m_idx))
2174 msg_print(_("何もない場所に噛みついた!", "You bite into thin air!"));
2179 msg_print(_("あなたはニヤリとして牙をむいた...", "You grin and bare your fangs..."));
2184 if (hypodynamic_bolt(dir, dummy))
2186 if (p_ptr->food < PY_FOOD_FULL)
2187 /* No heal if we are "full" */
2188 (void)hp_player(dummy);
2190 msg_print(_("あなたは空腹ではありません。", "You were not hungry."));
2192 /* Gain nutritional sustenance: 150/hp drained */
2193 /* A Food ration gives 5000 food points (by contrast) */
2194 /* Don't ever get more than "Full" this way */
2195 /* But if we ARE Gorged, it won't cure us */
2196 dummy = p_ptr->food + MIN(5000, 100 * dummy);
2197 if (p_ptr->food < PY_FOOD_MAX) /* Not gorged already */
2198 (void)set_food(dummy >= PY_FOOD_MAX ? PY_FOOD_MAX-1 : dummy);
2201 msg_print(_("げぇ!ひどい味だ。", "Yechh. That tastes foul."));
2206 case MUT1_SMELL_MET:
2207 mutation_stop_mouth();
2208 (void)detect_treasure(DETECT_RAD_DEFAULT);
2211 case MUT1_SMELL_MON:
2212 mutation_stop_mouth();
2213 (void)detect_monsters_normal(DETECT_RAD_DEFAULT);
2217 teleport_player(10, 0L);
2224 feature_type *f_ptr, *mimic_f_ptr;
2226 if (!get_rep_dir2(&dir)) return FALSE;
2227 y = p_ptr->y + ddy[dir];
2228 x = p_ptr->x + ddx[dir];
2229 c_ptr = &cave[y][x];
2230 f_ptr = &f_info[c_ptr->feat];
2231 mimic_f_ptr = &f_info[get_feat_mimic(c_ptr)];
2233 mutation_stop_mouth();
2235 if (!have_flag(mimic_f_ptr->flags, FF_HURT_ROCK))
2237 msg_print(_("この地形は食べられない。", "You cannot eat this feature."));
2240 else if (have_flag(f_ptr->flags, FF_PERMANENT))
2242 msg_format(_("いてっ!この%sはあなたの歯より硬い!", "Ouch! This %s is harder than your teeth!"), f_name + mimic_f_ptr->name);
2245 else if (c_ptr->m_idx)
2247 monster_type *m_ptr = &m_list[c_ptr->m_idx];
2248 msg_print(_("何かが邪魔しています!", "There's something in the way!"));
2250 if (!m_ptr->ml || !is_pet(m_ptr)) py_attack(y, x, 0);
2253 else if (have_flag(f_ptr->flags, FF_TREE))
2255 msg_print(_("木の味は好きじゃない!", "You don't like the woody taste!"));
2258 else if (have_flag(f_ptr->flags, FF_GLASS))
2260 msg_print(_("ガラスの味は好きじゃない!", "You don't like the glassy taste!"));
2263 else if (have_flag(f_ptr->flags, FF_DOOR) || have_flag(f_ptr->flags, FF_CAN_DIG))
2265 (void)set_food(p_ptr->food + 3000);
2267 else if (have_flag(f_ptr->flags, FF_MAY_HAVE_GOLD) || have_flag(f_ptr->flags, FF_HAS_GOLD))
2269 (void)set_food(p_ptr->food + 5000);
2273 msg_format(_("この%sはとてもおいしい!", "This %s is very filling!"), f_name + mimic_f_ptr->name);
2274 (void)set_food(p_ptr->food + 10000);
2277 /* Destroy the wall */
2278 cave_alter_feat(y, x, FF_HURT_ROCK);
2280 /* Move the player */
2281 (void)move_player_effect(y, x, MPE_DONT_PICKUP);
2286 project_length = -1;
2287 if (!get_aim_dir(&dir))
2292 (void)teleport_swap(dir);
2297 mutation_stop_mouth();
2298 (void)fire_ball(GF_SOUND, 0, 2 * lvl, 8);
2299 (void)aggravate_monsters(0);
2303 (void)lite_area(damroll(2, (lvl / 2)), (lvl / 10) + 1);
2306 case MUT1_DET_CURSE:
2310 for (i = 0; i < INVEN_TOTAL; i++)
2312 object_type *o_ptr = &inventory[i];
2314 if (!o_ptr->k_idx) continue;
2315 if (!object_is_cursed(o_ptr)) continue;
2317 o_ptr->feeling = FEEL_CURSED;
2323 (void)berserk(randint1(25) + 25);
2326 case MUT1_POLYMORPH:
2327 if (!get_check(_("変身します。よろしいですか?", "You will polymorph your self. Are you sure? "))) return FALSE;
2331 case MUT1_MIDAS_TCH:
2332 if (!alchemy()) return FALSE;
2335 /* Summon pet molds around the player */
2336 case MUT1_GROW_MOLD:
2339 for (i = 0; i < 8; i++)
2341 summon_specific(-1, p_ptr->y, p_ptr->x, lvl, SUMMON_MOLD, PM_FORCE_PET);
2349 TIME_EFFECT dur = randint1(20) + 20;
2351 if (randint0(5) < num)
2353 (void)set_oppose_acid(dur, FALSE);
2356 if (randint0(4) < num)
2358 (void)set_oppose_elec(dur, FALSE);
2361 if (randint0(3) < num)
2363 (void)set_oppose_fire(dur, FALSE);
2366 if (randint0(2) < num)
2368 (void)set_oppose_cold(dur, FALSE);
2373 (void)set_oppose_pois(dur, FALSE);
2379 case MUT1_EARTHQUAKE:
2380 (void)earthquake(p_ptr->y, p_ptr->x, 10);
2383 case MUT1_EAT_MAGIC:
2384 if (!eat_magic(p_ptr->lev * 2)) return FALSE;
2387 case MUT1_WEIGH_MAG:
2391 case MUT1_STERILITY:
2392 /* Fake a population explosion. */
2394 msg_print("突然頭が痛くなった!");
2395 take_hit(DAMAGE_LOSELIFE, randint1(17) + 17, "禁欲を強いた疲労", -1);
2397 msg_print("You suddenly have a headache!");
2398 take_hit(DAMAGE_LOSELIFE, randint1(17) + 17, "the strain of forcing abstinence", -1);
2401 num_repro += MAX_REPRO;
2404 case MUT1_PANIC_HIT:
2408 if (!get_rep_dir2(&dir)) return FALSE;
2409 y = p_ptr->y + ddy[dir];
2410 x = p_ptr->x + ddx[dir];
2411 if (cave[y][x].m_idx)
2414 if (randint0(p_ptr->skill_dis) < 7)
2415 msg_print(_("うまく逃げられなかった。", "You failed to teleport."));
2416 else teleport_player(30, 0L);
2420 msg_print(_("その方向にはモンスターはいません。", "You don't see any monster in this direction"));
2428 stun_monsters(lvl * 4);
2429 confuse_monsters(lvl * 4);
2430 turn_monsters(lvl * 4);
2433 case MUT1_LASER_EYE:
2434 if (!get_aim_dir(&dir)) return FALSE;
2435 fire_beam(GF_LITE, dir, 2 * lvl);
2439 if (!word_of_recall()) return FALSE;
2446 monster_type *m_ptr;
2447 monster_race *r_ptr;
2449 if (!get_rep_dir2(&dir)) return FALSE;
2450 y = p_ptr->y + ddy[dir];
2451 x = p_ptr->x + ddx[dir];
2452 c_ptr = &cave[y][x];
2456 msg_print(_("邪悪な存在を感じとれません!", "You sense no evil there!"));
2461 m_ptr = &m_list[c_ptr->m_idx];
2462 r_ptr = &r_info[m_ptr->r_idx];
2464 if ((r_ptr->flags3 & RF3_EVIL) &&
2465 !(r_ptr->flags1 & RF1_QUESTOR) &&
2466 !(r_ptr->flags1 & RF1_UNIQUE) &&
2467 !p_ptr->inside_arena && !p_ptr->inside_quest &&
2468 (r_ptr->level < randint1(p_ptr->lev+50)) &&
2469 !(m_ptr->mflag2 & MFLAG2_NOGENO))
2471 if (record_named_pet && is_pet(m_ptr) && m_ptr->nickname)
2475 monster_desc(m_name, m_ptr, MD_INDEF_VISIBLE);
2476 do_cmd_write_nikki(NIKKI_NAMED_PET, RECORD_NAMED_PET_GENOCIDE, m_name);
2479 /* Delete the monster, rather than killing it. */
2480 delete_monster_idx(c_ptr->m_idx);
2481 msg_print(_("その邪悪なモンスターは硫黄臭い煙とともに消え去った!", "The evil creature vanishes in a puff of sulfurous smoke!"));
2486 msg_print(_("祈りは効果がなかった!", "Your invocation is ineffectual!"));
2488 if (one_in_(13)) m_ptr->mflag2 |= MFLAG2_NOGENO;
2493 case MUT1_COLD_TOUCH:
2498 if (!get_rep_dir2(&dir)) return FALSE;
2499 y = p_ptr->y + ddy[dir];
2500 x = p_ptr->x + ddx[dir];
2501 c_ptr = &cave[y][x];
2505 msg_print(_("あなたは何もない場所で手を振った。", "You wave your hands in the air."));
2509 fire_bolt(GF_COLD, dir, 2 * lvl);
2513 /* XXX_XXX_XXX Hack! MUT1_LAUNCHER is negative, see above */
2514 case 3: /* MUT1_LAUNCHER */
2515 /* Gives a multiplier of 2 at first, up to 3 at 40th */
2516 if (!do_cmd_throw(2 + lvl / 40, FALSE, -1)) return FALSE;
2520 p_ptr->energy_use = 0;
2521 msg_format(_("能力 %s は実装されていません。", "Power %s not implemented. Oops."), power);