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
14 #include "system/angband.h"
15 #include "core/stuff-handler.h"
16 #include "core/show-file.h"
19 #include "io/write-diary.h"
20 #include "cmd/cmd-dump.h"
21 #include "mutation/mutation.h"
24 #include "spell/spells-summon.h"
26 #include "player/player-status.h"
27 #include "player/player-effects.h"
28 #include "player/player-personality.h"
29 #include "player/player-class.h"
30 #include "player/player-damage.h"
31 #include "spell/spells-status.h"
32 #include "spell/spells-floor.h"
33 #include "object/object-hook.h"
34 #include "cmd-basic.h"
36 #include "floor/floor.h"
37 #include "targeting.h"
38 #include "player/player-race.h"
39 #include "effect/spells-effect-util.h"
40 #include "spell/spells-type.h"
41 #include "spell/spells2.h"
42 #include "spell/spells3.h"
45 * @brief プレイヤーに突然変異を与える
46 * @param choose_mut 与えたい突然変異のID、0ならばランダムに選択
49 bool gain_mutation(player_type *creature_ptr, MUTATION_IDX choose_mut)
51 int attempts_left = 20;
52 concptr muta_desc = "";
53 bool muta_chosen = FALSE;
54 BIT_FLAGS muta_which = 0;
55 BIT_FLAGS *muta_class = NULL;
57 if (choose_mut) attempts_left = 1;
59 while (attempts_left--)
61 switch (choose_mut ? choose_mut : (creature_ptr->pclass == CLASS_BERSERKER ? 74+randint1(119) : randint1(193)))
63 case 1: case 2: case 3: case 4:
64 muta_class = &(creature_ptr->muta1);
65 muta_which = MUT1_SPIT_ACID;
66 muta_desc = _("酸を吐く能力を得た。", "You gain the ability to spit acid.");
69 case 5: case 6: case 7:
70 muta_class = &(creature_ptr->muta1);
71 muta_which = MUT1_BR_FIRE;
72 muta_desc = _("火を吐く能力を得た。", "You gain the ability to breathe fire.");
76 muta_class = &(creature_ptr->muta1);
77 muta_which = MUT1_HYPN_GAZE;
78 muta_desc = _("催眠眼の能力を得た。", "Your eyes look mesmerizing...");
82 muta_class = &(creature_ptr->muta1);
83 muta_which = MUT1_TELEKINES;
84 muta_desc = _("物体を念動力で動かす能力を得た。", "You gain the ability to move objects telekinetically.");
87 case 12: case 13: case 14:
88 muta_class = &(creature_ptr->muta1);
89 muta_which = MUT1_VTELEPORT;
90 muta_desc = _("自分の意思でテレポートする能力を得た。", "You gain the power of teleportation at will.");
94 muta_class = &(creature_ptr->muta1);
95 muta_which = MUT1_MIND_BLST;
96 muta_desc = _("精神攻撃の能力を得た。", "You gain the power of Mind Blast.");
100 muta_class = &(creature_ptr->muta1);
101 muta_which = MUT1_RADIATION;
102 muta_desc = _("あなたは強い放射線を発生し始めた。", "You start emitting hard radiation.");
106 muta_class = &(creature_ptr->muta1);
107 muta_which = MUT1_VAMPIRISM;
108 muta_desc = _("生命力を吸収できるようになった。", "You become vampiric.");
111 case 21: case 22: case 23:
112 muta_class = &(creature_ptr->muta1);
113 muta_which = MUT1_SMELL_MET;
114 muta_desc = _("金属の匂いを嗅ぎ分けられるようになった。", "You smell a metallic odor.");
117 case 24: case 25: case 26: case 27:
118 muta_class = &(creature_ptr->muta1);
119 muta_which = MUT1_SMELL_MON;
120 muta_desc = _("モンスターの臭いを嗅ぎ分けられるようになった。", "You smell filthy monsters.");
123 case 28: case 29: case 30:
124 muta_class = &(creature_ptr->muta1);
125 muta_which = MUT1_BLINK;
126 muta_desc = _("近距離テレポートの能力を得た。", "You gain the power of minor teleportation.");
130 muta_class = &(creature_ptr->muta1);
131 muta_which = MUT1_EAT_ROCK;
132 muta_desc = _("壁が美味しそうに見える。", "The walls look delicious.");
136 muta_class = &(creature_ptr->muta1);
137 muta_which = MUT1_SWAP_POS;
138 muta_desc = _("他人の靴で一マイル歩くような気分がする。", "You feel like walking a mile in someone else's shoes.");
141 case 35: case 36: case 37:
142 muta_class = &(creature_ptr->muta1);
143 muta_which = MUT1_SHRIEK;
144 muta_desc = _("あなたの声は相当強くなった。", "Your vocal cords get much tougher.");
147 case 38: case 39: case 40:
148 muta_class = &(creature_ptr->muta1);
149 muta_which = MUT1_ILLUMINE;
150 muta_desc = _("あなたは光り輝いて部屋を明るくするようになった。", "You can light up rooms with your presence.");
154 muta_class = &(creature_ptr->muta1);
155 muta_which = MUT1_DET_CURSE;
156 muta_desc = _("邪悪な魔法を感知できるようになった。", "You can feel evil magics.");
159 case 43: case 44: case 45:
160 muta_class = &(creature_ptr->muta1);
161 muta_which = MUT1_BERSERK;
162 muta_desc = _("制御できる激情を感じる。", "You feel a controlled rage.");
166 muta_class = &(creature_ptr->muta1);
167 muta_which = MUT1_POLYMORPH;
168 muta_desc = _("体が変異しやすくなった。", "Your body seems mutable.");
172 muta_class = &(creature_ptr->muta1);
173 muta_which = MUT1_MIDAS_TCH;
174 muta_desc = _("「ミダス王の手」の能力を得た。", "You gain the Midas touch.");/*トゥームレイダースにありましたね。 */
178 muta_class = &(creature_ptr->muta1);
179 muta_which = MUT1_GROW_MOLD;
180 muta_desc = _("突然カビに親しみを覚えた。", "You feel a sudden affinity for mold.");
183 case 50: case 51: case 52:
184 muta_class = &(creature_ptr->muta1);
185 muta_which = MUT1_RESIST;
186 muta_desc = _("あなたは自分自身を守れる気がする。", "You feel like you can protect yourself.");
189 case 53: case 54: case 55:
190 muta_class = &(creature_ptr->muta1);
191 muta_which = MUT1_EARTHQUAKE;
192 muta_desc = _("ダンジョンを破壊する能力を得た。", "You gain the ability to wreck the dungeon.");
196 muta_class = &(creature_ptr->muta1);
197 muta_which = MUT1_EAT_MAGIC;
198 muta_desc = _("魔法のアイテムが美味そうに見える。", "Your magic items look delicious.");
202 muta_class = &(creature_ptr->muta1);
203 muta_which = MUT1_WEIGH_MAG;
204 muta_desc = _("あなたは周囲にある魔法をより良く理解できる気がする。", "You feel you can better understand the magic around you.");
208 muta_class = &(creature_ptr->muta1);
209 muta_which = MUT1_STERILITY;
210 muta_desc = _("周りの全ての者に頭痛を起こすことができる。", "You can give everything around you a headache.");
213 muta_class = &(creature_ptr->muta1);
214 muta_which = MUT1_HIT_AND_AWAY;
215 muta_desc = _("突然、泥棒の気分が分かるようになった。", "You suddenly understand how thieves feel.");
218 case 62: case 63: case 64:
219 muta_class = &(creature_ptr->muta1);
220 muta_which = MUT1_DAZZLE;
221 muta_desc = _("眩い閃光を発する能力を得た。", "You gain the ability to emit dazzling lights.");
224 case 65: case 66: case 67:
225 muta_class = &(creature_ptr->muta1);
226 muta_which = MUT1_LASER_EYE;
227 muta_desc = _("あなたの目は一瞬焼け付いた。", "Your eyes burn for a moment.");
231 muta_class = &(creature_ptr->muta1);
232 muta_which = MUT1_RECALL;
233 muta_desc = _("少しだけホームシックになったが、すぐ直った。", "You feel briefly homesick, but it passes.");
237 muta_class = &(creature_ptr->muta1);
238 muta_which = MUT1_BANISH;
239 muta_desc = _("神聖な怒りの力に満たされた。", "You feel a holy wrath fill you.");
243 muta_class = &(creature_ptr->muta1);
244 muta_which = MUT1_COLD_TOUCH;
245 muta_desc = _("あなたの両手はとても冷たくなった。", "Your hands get very cold.");
249 muta_class = &(creature_ptr->muta1);
250 muta_which = MUT1_LAUNCHER;
251 muta_desc = _("あなたの物を投げる手はかなり強くなった気がする。", "Your throwing arm feels much stronger.");
255 muta_class = &(creature_ptr->muta2);
256 muta_which = MUT2_BERS_RAGE;
257 muta_desc = _("あなたは狂暴化の発作を起こすようになった!", "You become subject to fits of berserk rage!");
261 muta_class = &(creature_ptr->muta2);
262 muta_which = MUT2_COWARDICE;
263 muta_desc = _("信じられないくらい臆病になった!", "You become an incredible coward!");
267 muta_class = &(creature_ptr->muta2);
268 muta_which = MUT2_RTELEPORT;
269 muta_desc = _("あなたの位置は非常に不確定になった。", "Your position seems very uncertain...");
273 muta_class = &(creature_ptr->muta2);
274 muta_which = MUT2_ALCOHOL;
275 muta_desc = _("あなたはアルコールを分泌するようになった。", "Your body starts producing alcohol!");
279 muta_class = &(creature_ptr->muta2);
280 muta_which = MUT2_HALLU;
281 muta_desc = _("あなたは幻覚を引き起こす精神錯乱に侵された。", "You are afflicted by a hallucinatory insanity!");
285 muta_class = &(creature_ptr->muta2);
286 muta_which = MUT2_FLATULENT;
287 muta_desc = _( "あなたは制御不能な強烈な屁をこくようになった。", "You become subject to uncontrollable flatulence.");
291 muta_class = &(creature_ptr->muta2);
292 muta_which = MUT2_SCOR_TAIL;
293 muta_desc = _( "サソリの尻尾が生えてきた!", "You grow a scorpion tail!");
297 muta_class = &(creature_ptr->muta2);
298 muta_which = MUT2_HORNS;
299 muta_desc = _( "額に角が生えた!", "Horns pop forth into your forehead!");
303 muta_class = &(creature_ptr->muta2);
304 muta_which = MUT2_BEAK;
305 muta_desc = _( "口が鋭く強いクチバシに変化した!", "Your mouth turns into a sharp, powerful beak!");
309 muta_class = &(creature_ptr->muta2);
310 muta_which = MUT2_ATT_DEMON;
311 muta_desc = _( "悪魔を引き付けるようになった。", "You start attracting demons.");
315 muta_class = &(creature_ptr->muta2);
316 muta_which = MUT2_PROD_MANA;
317 muta_desc = _( "あなたは制御不能な魔法のエネルギーを発生するようになった。", "You start producing magical energy uncontrollably.");
321 muta_class = &(creature_ptr->muta2);
322 muta_which = MUT2_SPEED_FLUX;
323 muta_desc = _( "あなたは躁鬱質になった。", "You become manic-depressive.");
327 muta_class = &(creature_ptr->muta2);
328 muta_which = MUT2_BANISH_ALL;
329 muta_desc = _( "恐ろしい力があなたの背後に潜んでいる気がする。", "You feel a terrifying power lurking behind you.");
333 muta_class = &(creature_ptr->muta2);
334 muta_which = MUT2_EAT_LIGHT;
335 muta_desc = _( "あなたはウンゴリアントに奇妙な親しみを覚えるようになった。", "You feel a strange kinship with Ungoliant.");
339 muta_class = &(creature_ptr->muta2);
340 muta_which = MUT2_TRUNK;
341 muta_desc = _( "あなたの鼻は伸びて象の鼻のようになった。", "Your nose grows into an elephant-like trunk.");
345 muta_class = &(creature_ptr->muta2);
346 muta_which = MUT2_ATT_ANIMAL;
347 muta_desc = _( "動物を引き付けるようになった。", "You start attracting animals.");
351 muta_class = &(creature_ptr->muta2);
352 muta_which = MUT2_TENTACLES;
353 muta_desc = _( "邪悪な触手が体の両側に生えてきた。", "Evil-looking tentacles sprout from your sides.");
357 muta_class = &(creature_ptr->muta2);
358 muta_which = MUT2_RAW_CHAOS;
359 muta_desc = _( "周囲の空間が不安定になった気がする。", "You feel the universe is less stable around you.");
362 case 100: case 101: case 102:
363 muta_class = &(creature_ptr->muta2);
364 muta_which = MUT2_NORMALITY;
365 muta_desc = _( "あなたは奇妙なほど普通になった気がする。", "You feel strangely normal.");
369 muta_class = &(creature_ptr->muta2);
370 muta_which = MUT2_WRAITH;
371 muta_desc = _( "あなたは幽体化したり実体化したりするようになった。", "You start to fade in and out of the physical world.");
375 muta_class = &(creature_ptr->muta2);
376 muta_which = MUT2_POLY_WOUND;
377 muta_desc = _( "あなたはカオスの力が古い傷に入り込んでくるのを感じた。", "You feel forces of chaos entering your old scars.");
381 muta_class = &(creature_ptr->muta2);
382 muta_which = MUT2_WASTING;
383 muta_desc = _( "あなたは突然おぞましい衰弱病にかかった。", "You suddenly contract a horrible wasting disease.");
387 muta_class = &(creature_ptr->muta2);
388 muta_which = MUT2_ATT_DRAGON;
389 muta_desc = _( "あなたはドラゴンを引きつけるようになった。", "You start attracting dragons.");
393 muta_class = &(creature_ptr->muta2);
394 muta_which = MUT2_WEIRD_MIND;
395 muta_desc = _( "あなたの思考は突然おかしな方向に向き始めた。", "Your thoughts suddenly take off in strange directions.");
399 muta_class = &(creature_ptr->muta2);
400 muta_which = MUT2_NAUSEA;
401 muta_desc = _( "胃袋がピクピクしはじめた。", "Your stomach starts to roil nauseously.");
405 /* Chaos warriors already have a chaos deity */
406 if (creature_ptr->pclass != CLASS_CHAOS_WARRIOR)
408 muta_class = &(creature_ptr->muta2);
409 muta_which = MUT2_CHAOS_GIFT;
410 muta_desc = _( "あなたはカオスの守護悪魔の注意を惹くようになった。", "You attract the notice of a chaos deity!");
415 muta_class = &(creature_ptr->muta2);
416 muta_which = MUT2_WALK_SHAD;
417 muta_desc = _( "あなたは現実が紙のように薄いと感じるようになった。", "You feel like reality is as thin as paper.");
421 muta_class = &(creature_ptr->muta2);
422 muta_which = MUT2_WARNING;
423 muta_desc = _( "あなたは突然パラノイアになった気がする。", "You suddenly feel paranoid.");
427 muta_class = &(creature_ptr->muta2);
428 muta_which = MUT2_INVULN;
429 muta_desc = _( "あなたは祝福され、無敵状態になる発作を起こすようになった。", "You are blessed with fits of invulnerability.");
433 muta_class = &(creature_ptr->muta2);
434 muta_which = MUT2_SP_TO_HP;
435 muta_desc = _( "魔法の治癒の発作を起こすようになった。", "You are subject to fits of magical healing.");
439 muta_class = &(creature_ptr->muta2);
440 muta_which = MUT2_HP_TO_SP;
441 muta_desc = _( "痛みを伴う精神明瞭化の発作を起こすようになった。", "You are subject to fits of painful clarity.");
445 muta_class = &(creature_ptr->muta2);
446 muta_which = MUT2_DISARM;
447 muta_desc = _( "あなたの脚は長さが四倍になった。", "Your feet grow to four times their former size.");
450 case 120: case 121: case 122:
451 muta_class = &(creature_ptr->muta3);
452 muta_which = MUT3_HYPER_STR;
453 muta_desc = _( "超人的に強くなった!", "You turn into a superhuman he-man!");
456 case 123: case 124: case 125:
457 muta_class = &(creature_ptr->muta3);
458 muta_which = MUT3_PUNY;
459 muta_desc = _( "筋肉が弱ってしまった...", "Your muscles wither away...");
462 case 126: case 127: case 128:
463 muta_class = &(creature_ptr->muta3);
464 muta_which = MUT3_HYPER_INT;
465 muta_desc = _( "あなたの脳は生体コンピュータに進化した!", "Your brain evolves into a living computer!");
468 case 129: case 130: case 131:
469 muta_class = &(creature_ptr->muta3);
470 muta_which = MUT3_MORONIC;
471 muta_desc = _( "脳が萎縮してしまった...", "Your brain withers away...");
475 muta_class = &(creature_ptr->muta3);
476 muta_which = MUT3_RESILIENT;
477 muta_desc = _( "並外れてタフになった。", "You become extraordinarily resilient.");
481 muta_class = &(creature_ptr->muta3);
482 muta_which = MUT3_XTRA_FAT;
483 muta_desc = _( "あなたは気持ち悪いくらい太った!", "You become sickeningly fat!");
487 muta_class = &(creature_ptr->muta3);
488 muta_which = MUT3_ALBINO;
489 muta_desc = _( "アルビノになった!弱くなった気がする...", "You turn into an albino! You feel frail...");
492 case 138: case 139: case 140:
493 muta_class = &(creature_ptr->muta3);
494 muta_which = MUT3_FLESH_ROT;
495 muta_desc = _( "あなたの肉体は腐敗する病気に侵された!", "Your flesh is afflicted by a rotting disease!");
499 muta_class = &(creature_ptr->muta3);
500 muta_which = MUT3_SILLY_VOI;
501 muta_desc = _( "声が間抜けなキーキー声になった!", "Your voice turns into a ridiculous squeak!");
505 muta_class = &(creature_ptr->muta3);
506 muta_which = MUT3_BLANK_FAC;
507 muta_desc = _( "のっぺらぼうになった!", "Your face becomes completely featureless!");
511 muta_class = &(creature_ptr->muta3);
512 muta_which = MUT3_ILL_NORM;
513 muta_desc = _( "心の安らぐ幻影を映し出すようになった。", "You start projecting a reassuring image.");
516 case 146: case 147: case 148:
517 muta_class = &(creature_ptr->muta3);
518 muta_which = MUT3_XTRA_EYES;
519 muta_desc = _( "新たに二つの目が出来た!", "You grow an extra pair of eyes!");
523 muta_class = &(creature_ptr->muta3);
524 muta_which = MUT3_MAGIC_RES;
525 muta_desc = _( "魔法への耐性がついた。", "You become resistant to magic.");
528 case 151: case 152: case 153:
529 muta_class = &(creature_ptr->muta3);
530 muta_which = MUT3_XTRA_NOIS;
531 muta_desc = _( "あなたは奇妙な音を立て始めた!", "You start making strange noise!");
534 case 154: case 155: case 156:
535 muta_class = &(creature_ptr->muta3);
536 muta_which = MUT3_INFRAVIS;
537 muta_desc = _( "赤外線視力が増した。", "Your infravision is improved.");
541 muta_class = &(creature_ptr->muta3);
542 muta_which = MUT3_XTRA_LEGS;
543 muta_desc = _( "新たに二本の足が生えてきた!", "You grow an extra pair of legs!");
547 muta_class = &(creature_ptr->muta3);
548 muta_which = MUT3_SHORT_LEG;
549 muta_desc = _( "足が短い突起になってしまった!", "Your legs turn into short stubs!");
553 muta_class = &(creature_ptr->muta3);
554 muta_which = MUT3_ELEC_TOUC;
555 muta_desc = _( "血管を電流が流れ始めた!", "Electricity starts running through you!");
559 muta_class = &(creature_ptr->muta3);
560 muta_which = MUT3_FIRE_BODY;
561 muta_desc = _( "あなたの体は炎につつまれている。", "Your body is enveloped in flames!");
564 case 165: case 166: case 167:
565 muta_class = &(creature_ptr->muta3);
566 muta_which = MUT3_WART_SKIN;
567 muta_desc = _( "気持ち悪いイボイボが体中にできた!", "Disgusting warts appear everywhere on you!");
570 case 168: case 169: case 170:
571 muta_class = &(creature_ptr->muta3);
572 muta_which = MUT3_SCALES;
573 muta_desc = _( "肌が黒い鱗に変わった!", "Your skin turns into black scales!");
577 muta_class = &(creature_ptr->muta3);
578 muta_which = MUT3_IRON_SKIN;
579 muta_desc = _( "あなたの肌は鉄になった!", "Your skin turns to steel!");
583 muta_class = &(creature_ptr->muta3);
584 muta_which = MUT3_WINGS;
585 muta_desc = _( "背中に羽が生えた。", "You grow a pair of wings.");
588 case 175: case 176: case 177:
589 muta_class = &(creature_ptr->muta3);
590 muta_which = MUT3_FEARLESS;
591 muta_desc = _( "完全に怖れ知らずになった。", "You become completely fearless.");
595 muta_class = &(creature_ptr->muta3);
596 muta_which = MUT3_REGEN;
597 muta_desc = _( "急速に回復し始めた。", "You start regenerating.");
601 muta_class = &(creature_ptr->muta3);
602 muta_which = MUT3_ESP;
603 muta_desc = _( "テレパシーの能力を得た!", "You develop a telepathic ability!");
606 case 182: case 183: case 184:
607 muta_class = &(creature_ptr->muta3);
608 muta_which = MUT3_LIMBER;
609 muta_desc = _( "筋肉がしなやかになった。", "Your muscles become limber.");
612 case 185: case 186: case 187:
613 muta_class = &(creature_ptr->muta3);
614 muta_which = MUT3_ARTHRITIS;
615 muta_desc = _( "関節が突然痛み出した。", "Your joints suddenly hurt.");
619 if (creature_ptr->pseikaku == SEIKAKU_LUCKY) break;
620 muta_class = &(creature_ptr->muta3);
621 muta_which = MUT3_BAD_LUCK;
622 muta_desc = _( "悪意に満ちた黒いオーラがあなたをとりまいた...", "There is a malignant black aura surrounding you...");
626 muta_class = &(creature_ptr->muta3);
627 muta_which = MUT3_VULN_ELEM;
628 muta_desc = _( "妙に無防備になった気がする。", "You feel strangely exposed.");
631 case 190: case 191: case 192:
632 muta_class = &(creature_ptr->muta3);
633 muta_which = MUT3_MOTION;
634 muta_desc = _( "体の動作がより正確になった。", "You move with new assurance.");
638 muta_class = &(creature_ptr->muta3);
639 muta_which = MUT3_GOOD_LUCK;
640 muta_desc = _( "慈悲深い白いオーラがあなたをとりまいた...", "There is a benevolent white aura surrounding you...");
648 if (muta_class && muta_which)
650 if (!(*muta_class & muta_which))
655 if (muta_chosen == TRUE) break;
660 msg_print(_("普通になった気がする。", "You feel normal."));
664 chg_virtue(creature_ptr, V_CHANCE, 1);
667 some races are apt to gain specified mutations
668 This should be allowed only if "choose_mut" is 0.
673 if (creature_ptr->prace == RACE_VAMPIRE &&
674 !(creature_ptr->muta1 & MUT1_HYPN_GAZE) &&
677 muta_class = &(creature_ptr->muta1);
678 muta_which = MUT1_HYPN_GAZE;
679 muta_desc = _("眼が幻惑的になった...", "Your eyes look mesmerizing...");
683 else if (creature_ptr->prace == RACE_IMP &&
684 !(creature_ptr->muta2 & MUT2_HORNS) &&
687 muta_class = &(creature_ptr->muta2);
688 muta_which = MUT2_HORNS;
689 muta_desc = _("角が額から生えてきた!", "Horns pop forth into your forehead!");
693 else if (creature_ptr->prace == RACE_YEEK &&
694 !(creature_ptr->muta1 & MUT1_SHRIEK) &&
697 muta_class = &(creature_ptr->muta1);
698 muta_which = MUT1_SHRIEK;
699 muta_desc = _("声質がかなり強くなった。", "Your vocal cords get much tougher.");
703 else if (creature_ptr->prace == RACE_BEASTMAN &&
704 !(creature_ptr->muta1 & MUT1_POLYMORPH) &&
707 muta_class = &(creature_ptr->muta1);
708 muta_which = MUT1_POLYMORPH;
709 muta_desc = _("あなたの肉体は変化できるようになった、", "Your body seems mutable.");
713 else if (creature_ptr->prace == RACE_MIND_FLAYER &&
714 !(creature_ptr->muta2 & MUT2_TENTACLES) &&
717 muta_class = &(creature_ptr->muta2);
718 muta_which = MUT2_TENTACLES;
719 muta_desc = _("邪悪な触手が口の周りに生えた。", "Evil-looking tentacles sprout from your mouth.");
724 msg_print(_("突然変異した!", "You mutate!"));
726 msg_print(muta_desc);
727 *muta_class |= muta_which;
729 if (muta_class == &(creature_ptr->muta3))
731 if (muta_which == MUT3_PUNY)
733 if (creature_ptr->muta3 & MUT3_HYPER_STR)
735 msg_print(_("あなたはもう超人的に強くはない!", "You no longer feel super-strong!"));
737 creature_ptr->muta3 &= ~(MUT3_HYPER_STR);
740 else if (muta_which == MUT3_HYPER_STR)
742 if (creature_ptr->muta3 & MUT3_PUNY)
744 msg_print(_("あなたはもう虚弱ではない!", "You no longer feel puny!"));
746 creature_ptr->muta3 &= ~(MUT3_PUNY);
749 else if (muta_which == MUT3_MORONIC)
751 if (creature_ptr->muta3 & MUT3_HYPER_INT)
753 msg_print(_("あなたの脳はもう生体コンピュータではない。", "Your brain is no longer a living computer."));
755 creature_ptr->muta3 &= ~(MUT3_HYPER_INT);
758 else if (muta_which == MUT3_HYPER_INT)
760 if (creature_ptr->muta3 & MUT3_MORONIC)
762 msg_print(_("あなたはもう精神薄弱ではない。", "You are no longer moronic."));
764 creature_ptr->muta3 &= ~(MUT3_MORONIC);
767 else if (muta_which == MUT3_IRON_SKIN)
769 if (creature_ptr->muta3 & MUT3_SCALES)
771 msg_print(_("鱗がなくなった。", "You lose your scales."));
773 creature_ptr->muta3 &= ~(MUT3_SCALES);
775 if (creature_ptr->muta3 & MUT3_FLESH_ROT)
777 msg_print(_("肉体が腐乱しなくなった。", "Your flesh rots no longer."));
779 creature_ptr->muta3 &= ~(MUT3_FLESH_ROT);
781 if (creature_ptr->muta3 & MUT3_WART_SKIN)
783 msg_print(_("肌のイボイボがなくなった。", "You lose your warts."));
785 creature_ptr->muta3 &= ~(MUT3_WART_SKIN);
788 else if (muta_which == MUT3_WART_SKIN || muta_which == MUT3_SCALES
789 || muta_which == MUT3_FLESH_ROT)
791 if (creature_ptr->muta3 & MUT3_IRON_SKIN)
793 msg_print(_("あなたの肌はもう鉄ではない。", "Your skin is no longer made of steel."));
795 creature_ptr->muta3 &= ~(MUT3_IRON_SKIN);
798 else if (muta_which == MUT3_FEARLESS)
800 if (creature_ptr->muta2 & MUT2_COWARDICE)
802 msg_print(_("臆病でなくなった。", "You are no longer cowardly."));
804 creature_ptr->muta2 &= ~(MUT2_COWARDICE);
807 else if (muta_which == MUT3_FLESH_ROT)
809 if (creature_ptr->muta3 & MUT3_REGEN)
811 msg_print(_("急速に回復しなくなった。", "You stop regenerating."));
813 creature_ptr->muta3 &= ~(MUT3_REGEN);
816 else if (muta_which == MUT3_REGEN)
818 if (creature_ptr->muta3 & MUT3_FLESH_ROT)
820 msg_print(_("肉体が腐乱しなくなった。", "Your flesh stops rotting."));
822 creature_ptr->muta3 &= ~(MUT3_FLESH_ROT);
825 else if (muta_which == MUT3_LIMBER)
827 if (creature_ptr->muta3 & MUT3_ARTHRITIS)
829 msg_print(_("関節が痛くなくなった。", "Your joints stop hurting."));
831 creature_ptr->muta3 &= ~(MUT3_ARTHRITIS);
834 else if (muta_which == MUT3_ARTHRITIS)
836 if (creature_ptr->muta3 & MUT3_LIMBER)
838 msg_print(_("あなたはしなやかでなくなった。", "You no longer feel limber."));
840 creature_ptr->muta3 &= ~(MUT3_LIMBER);
844 else if (muta_class == &(creature_ptr->muta2))
846 if (muta_which == MUT2_COWARDICE)
848 if (creature_ptr->muta3 & MUT3_FEARLESS)
850 msg_print(_("恐れ知らずでなくなった。", "You no longer feel fearless."));
852 creature_ptr->muta3 &= ~(MUT3_FEARLESS);
855 if (muta_which == MUT2_BEAK)
857 if (creature_ptr->muta2 & MUT2_TRUNK)
859 msg_print(_("あなたの鼻はもう象の鼻のようではなくなった。", "Your nose is no longer elephantine."));
861 creature_ptr->muta2 &= ~(MUT2_TRUNK);
864 if (muta_which == MUT2_TRUNK)
866 if (creature_ptr->muta2 & MUT2_BEAK)
868 msg_print(_("硬いクチバシがなくなった。", "You no longer have a hard beak."));
870 creature_ptr->muta2 &= ~(MUT2_BEAK);
875 creature_ptr->mutant_regenerate_mod = calc_mutant_regenerate_mod(creature_ptr);
876 creature_ptr->update |= PU_BONUS;
877 handle_stuff(creature_ptr);
882 * @brief プレイヤーから突然変異を取り除く
883 * @param choose_mut 取り除きたい突然変異のID、0ならばランダムに消去
886 bool lose_mutation(player_type *creature_ptr, MUTATION_IDX choose_mut)
888 int attempts_left = 20;
889 concptr muta_desc = "";
890 bool muta_chosen = FALSE;
891 BIT_FLAGS muta_which = 0;
892 BIT_FLAGS *muta_class = NULL;
894 if (choose_mut) attempts_left = 1;
896 while (attempts_left--)
898 switch (choose_mut ? choose_mut : randint1(193))
900 case 1: case 2: case 3: case 4:
901 muta_class = &(creature_ptr->muta1);
902 muta_which = MUT1_SPIT_ACID;
903 muta_desc = _( "酸を吹きかける能力を失った。", "You lose the ability to spit acid.");
906 case 5: case 6: case 7:
907 muta_class = &(creature_ptr->muta1);
908 muta_which = MUT1_BR_FIRE;
909 muta_desc = _( "炎のブレスを吐く能力を失った。", "You lose the ability to breathe fire.");
913 muta_class = &(creature_ptr->muta1);
914 muta_which = MUT1_HYPN_GAZE;
915 muta_desc = _( "あなたの目はつまらない目になった。", "Your eyes look uninteresting.");
919 muta_class = &(creature_ptr->muta1);
920 muta_which = MUT1_TELEKINES;
921 muta_desc = _( "念動力で物を動かす能力を失った。", "You lose the ability to move objects telekinetically.");
924 case 12: case 13: case 14:
925 muta_class = &(creature_ptr->muta1);
926 muta_which = MUT1_VTELEPORT;
927 muta_desc = _( "自分の意思でテレポートする能力を失った。", "You lose the power of teleportation at will.");
931 muta_class = &(creature_ptr->muta1);
932 muta_which = MUT1_MIND_BLST;
933 muta_desc = _( "精神攻撃の能力を失った。", "You lose the power of Mind Blast.");
937 muta_class = &(creature_ptr->muta1);
938 muta_which = MUT1_RADIATION;
939 muta_desc = _( "あなたは放射能を発生しなくなった。", "You stop emitting hard radiation.");
943 muta_class = &(creature_ptr->muta1);
944 muta_which = MUT1_VAMPIRISM;
945 muta_desc = _( "吸血の能力を失った。", "You are no longer vampiric.");
948 case 21: case 22: case 23:
949 muta_class = &(creature_ptr->muta1);
950 muta_which = MUT1_SMELL_MET;
951 muta_desc = _( "金属の臭いを嗅げなくなった。", "You no longer smell a metallic odor.");
954 case 24: case 25: case 26: case 27:
955 muta_class = &(creature_ptr->muta1);
956 muta_which = MUT1_SMELL_MON;
957 muta_desc = _( "不潔なモンスターの臭いを嗅げなくなった。", "You no longer smell filthy monsters.");
960 case 28: case 29: case 30:
961 muta_class = &(creature_ptr->muta1);
962 muta_which = MUT1_BLINK;
963 muta_desc = _( "近距離テレポートの能力を失った。", "You lose the power of minor teleportation.");
967 muta_class = &(creature_ptr->muta1);
968 muta_which = MUT1_EAT_ROCK;
969 muta_desc = _( "壁は美味しそうに見えなくなった。", "The walls look unappetizing.");
973 muta_class = &(creature_ptr->muta1);
974 muta_which = MUT1_SWAP_POS;
975 muta_desc = _( "あなたは自分の靴に留まる感じがする。", "You feel like staying in your own shoes.");
978 case 35: case 36: case 37:
979 muta_class = &(creature_ptr->muta1);
980 muta_which = MUT1_SHRIEK;
981 muta_desc = _( "あなたの声質は弱くなった。", "Your vocal cords get much weaker.");
984 case 38: case 39: case 40:
985 muta_class = &(creature_ptr->muta1);
986 muta_which = MUT1_ILLUMINE;
987 muta_desc = _( "部屋を明るく照らすことが出来なくなった。", "You can no longer light up rooms with your presence.");
991 muta_class = &(creature_ptr->muta1);
992 muta_which = MUT1_DET_CURSE;
993 muta_desc = _( "邪悪な魔法を感じられなくなった。", "You can no longer feel evil magics.");
996 case 43: case 44: case 45:
997 muta_class = &(creature_ptr->muta1);
998 muta_which = MUT1_BERSERK;
999 muta_desc = _( "制御できる激情を感じなくなった。", "You no longer feel a controlled rage.");
1003 muta_class = &(creature_ptr->muta1);
1004 muta_which = MUT1_POLYMORPH;
1005 muta_desc = _( "あなたの体は安定したように見える。", "Your body seems stable.");
1009 muta_class = &(creature_ptr->muta1);
1010 muta_which = MUT1_MIDAS_TCH;
1011 muta_desc = _( "ミダスの手の能力を失った。", "You lose the Midas touch.");
1015 muta_class = &(creature_ptr->muta1);
1016 muta_which = MUT1_GROW_MOLD;
1017 muta_desc = _( "突然カビが嫌いになった。", "You feel a sudden dislike for mold.");
1020 case 50: case 51: case 52:
1021 muta_class = &(creature_ptr->muta1);
1022 muta_which = MUT1_RESIST;
1023 muta_desc = _( "傷つき易くなった気がする。", "You feel like you might be vulnerable.");
1026 case 53: case 54: case 55:
1027 muta_class = &(creature_ptr->muta1);
1028 muta_which = MUT1_EARTHQUAKE;
1029 muta_desc = _( "ダンジョンを壊す能力を失った。", "You lose the ability to wreck the dungeon.");
1033 muta_class = &(creature_ptr->muta1);
1034 muta_which = MUT1_EAT_MAGIC;
1035 muta_desc = _( "魔法のアイテムはもう美味しそうに見えなくなった。", "Your magic items no longer look delicious.");
1039 muta_class = &(creature_ptr->muta1);
1040 muta_which = MUT1_WEIGH_MAG;
1041 muta_desc = _( "魔力を感じられなくなった。", "You no longer sense magic.");
1045 muta_class = &(creature_ptr->muta1);
1046 muta_which = MUT1_STERILITY;
1047 muta_desc = _( "たくさんの安堵の吐息が聞こえた。", "You hear a massed sigh of relief.");
1051 muta_class = &(creature_ptr->muta1);
1052 muta_which = MUT1_HIT_AND_AWAY;
1053 muta_desc = _( "あちこちへ跳べる気分がなくなった。", "You no longer feel jumpy.");
1056 case 62: case 63: case 64:
1057 muta_class = &(creature_ptr->muta1);
1058 muta_which = MUT1_DAZZLE;
1059 muta_desc = _( "まばゆい閃光を発する能力を失った。", "You lose the ability to emit dazzling lights.");
1062 case 65: case 66: case 67:
1063 muta_class = &(creature_ptr->muta1);
1064 muta_which = MUT1_LASER_EYE;
1065 muta_desc = _( "眼が少しの間焼き付いて、痛みが和らいだ。", "Your eyes burn for a moment, then feel soothed.");
1069 muta_class = &(creature_ptr->muta1);
1070 muta_which = MUT1_RECALL;
1071 muta_desc = _( "少しの間ホームシックになった。", "You feel briefly homesick.");
1075 muta_class = &(creature_ptr->muta1);
1076 muta_which = MUT1_BANISH;
1077 muta_desc = _( "神聖な怒りの力を感じなくなった。", "You no longer feel a holy wrath.");
1081 muta_class = &(creature_ptr->muta1);
1082 muta_which = MUT1_COLD_TOUCH;
1083 muta_desc = _( "手が暖かくなった。", "Your hands warm up.");
1087 muta_class = &(creature_ptr->muta1);
1088 muta_which = MUT1_LAUNCHER;
1089 muta_desc = _( "物を投げる手が弱くなった気がする。", "Your throwing arm feels much weaker.");
1093 muta_class = &(creature_ptr->muta2);
1094 muta_which = MUT2_BERS_RAGE;
1095 muta_desc = _( "凶暴化の発作にさらされなくなった!", "You are no longer subject to fits of berserk rage!");
1099 muta_class = &(creature_ptr->muta2);
1100 muta_which = MUT2_COWARDICE;
1101 muta_desc = _( "もう信じがたいほど臆病ではなくなった!", "You are no longer an incredible coward!");
1105 muta_class = &(creature_ptr->muta2);
1106 muta_which = MUT2_RTELEPORT;
1107 muta_desc = _( "あなたの位置はより確定的になった。", "Your position seems more certain.");
1111 muta_class = &(creature_ptr->muta2);
1112 muta_which = MUT2_ALCOHOL;
1113 muta_desc = _( "あなたはアルコールを分泌しなくなった!", "Your body stops producing alcohol!");
1117 muta_class = &(creature_ptr->muta2);
1118 muta_which = MUT2_HALLU;
1119 muta_desc = _( "幻覚をひき起こす精神障害を起こさなくなった!", "You are no longer afflicted by a hallucinatory insanity!");
1123 muta_class = &(creature_ptr->muta2);
1124 muta_which = MUT2_FLATULENT;
1125 muta_desc = _( "もう強烈な屁はこかなくなった。", "You are no longer subject to uncontrollable flatulence.");
1129 muta_class = &(creature_ptr->muta2);
1130 muta_which = MUT2_SCOR_TAIL;
1131 muta_desc = _( "サソリの尻尾がなくなった!", "You lose your scorpion tail!");
1135 muta_class = &(creature_ptr->muta2);
1136 muta_which = MUT2_HORNS;
1137 muta_desc = _( "額から角が消えた!", "Your horns vanish from your forehead!");
1141 muta_class = &(creature_ptr->muta2);
1142 muta_which = MUT2_BEAK;
1143 muta_desc = _( "口が普通に戻った!", "Your mouth reverts to normal!");
1147 muta_class = &(creature_ptr->muta2);
1148 muta_which = MUT2_ATT_DEMON;
1149 muta_desc = _( "デーモンを引き寄せなくなった。", "You stop attracting demons.");
1153 muta_class = &(creature_ptr->muta2);
1154 muta_which = MUT2_PROD_MANA;
1155 muta_desc = _( "制御不能な魔法のエネルギーを発生しなくなった。", "You stop producing magical energy uncontrollably.");
1159 muta_class = &(creature_ptr->muta2);
1160 muta_which = MUT2_SPEED_FLUX;
1161 muta_desc = _( "躁鬱質でなくなった。", "You are no longer manic-depressive.");
1165 muta_class = &(creature_ptr->muta2);
1166 muta_which = MUT2_BANISH_ALL;
1167 muta_desc = _( "背後に恐ろしい力を感じなくなった。", "You no longer feel a terrifying power lurking behind you.");
1171 muta_class = &(creature_ptr->muta2);
1172 muta_which = MUT2_EAT_LIGHT;
1173 muta_desc = _( "世界が明るいと感じる。", "You feel the world's a brighter place.");
1177 muta_class = &(creature_ptr->muta2);
1178 muta_which = MUT2_TRUNK;
1179 muta_desc = _( "鼻が普通の長さに戻った。", "Your nose returns to a normal length.");
1183 muta_class = &(creature_ptr->muta2);
1184 muta_which = MUT2_ATT_ANIMAL;
1185 muta_desc = _( "動物を引き寄せなくなった。", "You stop attracting animals.");
1189 muta_class = &(creature_ptr->muta2);
1190 muta_which = MUT2_TENTACLES;
1191 muta_desc = _( "触手が消えた。", "Your tentacles vanish from your sides.");
1195 muta_class = &(creature_ptr->muta2);
1196 muta_which = MUT2_RAW_CHAOS;
1197 muta_desc = _( "周囲の空間が安定した気がする。", "You feel the universe is more stable around you.");
1200 case 100: case 101: case 102:
1201 muta_class = &(creature_ptr->muta2);
1202 muta_which = MUT2_NORMALITY;
1203 muta_desc = _( "普通に奇妙な感じがする。", "You feel normally strange.");
1207 muta_class = &(creature_ptr->muta2);
1208 muta_which = MUT2_WRAITH;
1209 muta_desc = _( "あなたは物質世界にしっかり存在している。", "You are firmly in the physical world.");
1213 muta_class = &(creature_ptr->muta2);
1214 muta_which = MUT2_POLY_WOUND;
1215 muta_desc = _( "古い傷からカオスの力が去っていった。", "You feel forces of chaos departing your old scars.");
1219 muta_class = &(creature_ptr->muta2);
1220 muta_which = MUT2_WASTING;
1221 muta_desc = _( "おぞましい衰弱病が治った!", "You are cured of the horrible wasting disease!");
1225 muta_class = &(creature_ptr->muta2);
1226 muta_which = MUT2_ATT_DRAGON;
1227 muta_desc = _( "ドラゴンを引き寄せなくなった。", "You stop attracting dragons.");
1231 muta_class = &(creature_ptr->muta2);
1232 muta_which = MUT2_WEIRD_MIND;
1233 muta_desc = _( "思考が退屈な方向に戻った。", "Your thoughts return to boring paths.");
1237 muta_class = &(creature_ptr->muta2);
1238 muta_which = MUT2_NAUSEA;
1239 muta_desc = _( "胃が痙攣しなくなった。", "Your stomach stops roiling.");
1243 muta_class = &(creature_ptr->muta2);
1244 muta_which = MUT2_CHAOS_GIFT;
1245 muta_desc = _( "混沌の神々の興味を惹かなくなった。", "You lose the attention of the chaos deities.");
1249 muta_class = &(creature_ptr->muta2);
1250 muta_which = MUT2_WALK_SHAD;
1251 muta_desc = _( "物質世界に捕らわれている気がする。", "You feel like you're trapped in reality.");
1255 muta_class = &(creature_ptr->muta2);
1256 muta_which = MUT2_WARNING;
1257 muta_desc = _( "パラノイアでなくなった。", "You no longer feel paranoid.");
1261 muta_class = &(creature_ptr->muta2);
1262 muta_which = MUT2_INVULN;
1263 muta_desc = _( "無敵状態の発作を起こさなくなった。", "You are no longer blessed with fits of invulnerability.");
1267 muta_class = &(creature_ptr->muta2);
1268 muta_which = MUT2_SP_TO_HP;
1269 muta_desc = _( "魔法の治癒の発作に襲われなくなった。", "You are no longer subject to fits of magical healing.");
1273 muta_class = &(creature_ptr->muta2);
1274 muta_which = MUT2_HP_TO_SP;
1275 muta_desc = _( "痛みを伴う精神明瞭化の発作に襲われなくなった。", "You are no longer subject to fits of painful clarity.");
1279 muta_class = &(creature_ptr->muta2);
1280 muta_which = MUT2_DISARM;
1281 muta_desc = _( "脚が元の大きさに戻った。", "Your feet shrink to their former size.");
1284 case 120: case 121: case 122:
1285 muta_class = &(creature_ptr->muta3);
1286 muta_which = MUT3_HYPER_STR;
1287 muta_desc = _( "筋肉が普通に戻った。", "Your muscles revert to normal.");
1290 case 123: case 124: case 125:
1291 muta_class = &(creature_ptr->muta3);
1292 muta_which = MUT3_PUNY;
1293 muta_desc = _( "筋肉が普通に戻った。", "Your muscles revert to normal.");
1296 case 126: case 127: case 128:
1297 muta_class = &(creature_ptr->muta3);
1298 muta_which = MUT3_HYPER_INT;
1299 muta_desc = _( "脳が普通に戻った。", "Your brain reverts to normal.");
1302 case 129: case 130: case 131:
1303 muta_class = &(creature_ptr->muta3);
1304 muta_which = MUT3_MORONIC;
1305 muta_desc = _( "脳が普通に戻った。", "Your brain reverts to normal.");
1309 muta_class = &(creature_ptr->muta3);
1310 muta_which = MUT3_RESILIENT;
1311 muta_desc = _( "普通の丈夫さに戻った。", "You become ordinarily resilient again.");
1315 muta_class = &(creature_ptr->muta3);
1316 muta_which = MUT3_XTRA_FAT;
1317 muta_desc = _( "奇跡的なダイエットに成功した!", "You benefit from a miracle diet!");
1321 muta_class = &(creature_ptr->muta3);
1322 muta_which = MUT3_ALBINO;
1323 muta_desc = _( "アルビノでなくなった!", "You are no longer an albino!");
1326 case 138: case 139: case 140:
1327 muta_class = &(creature_ptr->muta3);
1328 muta_which = MUT3_FLESH_ROT;
1329 muta_desc = _( "肉体を腐敗させる病気が治った!", "Your flesh is no longer afflicted by a rotting disease!");
1333 muta_class = &(creature_ptr->muta3);
1334 muta_which = MUT3_SILLY_VOI;
1335 muta_desc = _( "声質が普通に戻った。", "Your voice returns to normal.");
1339 muta_class = &(creature_ptr->muta3);
1340 muta_which = MUT3_BLANK_FAC;
1341 muta_desc = _( "顔に目鼻が戻った。", "Your facial features return.");
1345 muta_class = &(creature_ptr->muta3);
1346 muta_which = MUT3_ILL_NORM;
1347 muta_desc = _( "心が安らぐ幻影を映し出さなくなった。", "You stop projecting a reassuring image.");
1350 case 146: case 147: case 148:
1351 muta_class = &(creature_ptr->muta3);
1352 muta_which = MUT3_XTRA_EYES;
1353 muta_desc = _( "余分な目が消えてしまった!", "Your extra eyes vanish!");
1357 muta_class = &(creature_ptr->muta3);
1358 muta_which = MUT3_MAGIC_RES;
1359 muta_desc = _( "魔法に弱くなった。", "You become susceptible to magic again.");
1362 case 151: case 152: case 153:
1363 muta_class = &(creature_ptr->muta3);
1364 muta_which = MUT3_XTRA_NOIS;
1365 muta_desc = _( "奇妙な音を立てなくなった!", "You stop making strange noise!");
1368 case 154: case 155: case 156:
1369 muta_class = &(creature_ptr->muta3);
1370 muta_which = MUT3_INFRAVIS;
1371 muta_desc = _( "赤外線視力が落ちた。", "Your infravision is degraded.");
1375 muta_class = &(creature_ptr->muta3);
1376 muta_which = MUT3_XTRA_LEGS;
1377 muta_desc = _( "余分な脚が消えてしまった!", "Your extra legs disappear!");
1381 muta_class = &(creature_ptr->muta3);
1382 muta_which = MUT3_SHORT_LEG;
1383 muta_desc = _( "脚の長さが普通に戻った。", "Your legs lengthen to normal.");
1387 muta_class = &(creature_ptr->muta3);
1388 muta_which = MUT3_ELEC_TOUC;
1389 muta_desc = _( "体を電流が流れなくなった。", "Electricity stops running through you.");
1393 muta_class = &(creature_ptr->muta3);
1394 muta_which = MUT3_FIRE_BODY;
1395 muta_desc = _( "体が炎に包まれなくなった。", "Your body is no longer enveloped in flames.");
1398 case 165: case 166: case 167:
1399 muta_class = &(creature_ptr->muta3);
1400 muta_which = MUT3_WART_SKIN;
1401 muta_desc = _( "イボイボが消えた!", "Your warts disappear!");
1404 case 168: case 169: case 170:
1405 muta_class = &(creature_ptr->muta3);
1406 muta_which = MUT3_SCALES;
1407 muta_desc = _( "鱗が消えた!", "Your scales vanish!");
1411 muta_class = &(creature_ptr->muta3);
1412 muta_which = MUT3_IRON_SKIN;
1413 muta_desc = _( "肌が肉にもどった!", "Your skin reverts to flesh!");
1417 muta_class = &(creature_ptr->muta3);
1418 muta_which = MUT3_WINGS;
1419 muta_desc = _( "背中の羽根が取れ落ちた。", "Your wings fall off.");
1422 case 175: case 176: case 177:
1423 muta_class = &(creature_ptr->muta3);
1424 muta_which = MUT3_FEARLESS;
1425 muta_desc = _( "再び恐怖を感じるようになった。", "You begin to feel fear again.");
1429 muta_class = &(creature_ptr->muta3);
1430 muta_which = MUT3_REGEN;
1431 muta_desc = _( "急速回復しなくなった。", "You stop regenerating.");
1435 muta_class = &(creature_ptr->muta3);
1436 muta_which = MUT3_ESP;
1437 muta_desc = _( "テレパシーの能力を失った!", "You lose your telepathic ability!");
1440 case 182: case 183: case 184:
1441 muta_class = &(creature_ptr->muta3);
1442 muta_which = MUT3_LIMBER;
1443 muta_desc = _( "筋肉が硬くなった。", "Your muscles stiffen.");
1446 case 185: case 186: case 187:
1447 muta_class = &(creature_ptr->muta3);
1448 muta_which = MUT3_ARTHRITIS;
1449 muta_desc = _( "関節が痛くなくなった。", "Your joints stop hurting.");
1453 muta_class = &(creature_ptr->muta3);
1454 muta_which = MUT3_BAD_LUCK;
1455 muta_desc = _( "黒いオーラは渦巻いて消えた。", "Your black aura swirls and fades.");
1459 muta_class = &(creature_ptr->muta3);
1460 muta_which = MUT3_VULN_ELEM;
1461 muta_desc = _( "無防備な感じはなくなった。", "You feel less exposed.");
1464 case 190: case 191: case 192:
1465 muta_class = &(creature_ptr->muta3);
1466 muta_which = MUT3_MOTION;
1467 muta_desc = _( "動作の正確さがなくなった。", "You move with less assurance.");
1471 if (creature_ptr->pseikaku == SEIKAKU_LUCKY) break;
1472 muta_class = &(creature_ptr->muta3);
1473 muta_which = MUT3_GOOD_LUCK;
1474 muta_desc = _( "白いオーラは輝いて消えた。", "Your white aura shimmers and fades.");
1482 if (muta_class && muta_which)
1484 if (*(muta_class) & muta_which)
1489 if (muta_chosen == TRUE) break;
1497 msg_print(muta_desc);
1498 *(muta_class) &= ~(muta_which);
1500 creature_ptr->update |= PU_BONUS;
1501 handle_stuff(creature_ptr);
1502 creature_ptr->mutant_regenerate_mod = calc_mutant_regenerate_mod(creature_ptr);
1507 void lose_all_mutations(player_type *creature_ptr)
1509 if (creature_ptr->muta1 || creature_ptr->muta2 || creature_ptr->muta3)
1511 chg_virtue(creature_ptr, V_CHANCE, -5);
1512 msg_print(_("全ての突然変異が治った。", "You are cured of all mutations."));
1513 creature_ptr->muta1 = creature_ptr->muta2 = creature_ptr->muta3 = 0;
1514 creature_ptr->update |= PU_BONUS;
1515 handle_stuff(creature_ptr);
1516 creature_ptr->mutant_regenerate_mod = calc_mutant_regenerate_mod(creature_ptr);
1522 * @brief 現在プレイヤー得ている突然変異の数を返す。
1523 * @return 現在得ている突然変異の数
1525 static int count_mutations(player_type *creature_ptr)
1527 return (count_bits(creature_ptr->muta1) +
1528 count_bits(creature_ptr->muta2) +
1529 count_bits(creature_ptr->muta3));
1534 * @brief 突然変異による自然回復ペナルティをパーセント値で返す /
1535 * Return the modifier to the regeneration rate (in percent)
1536 * @return ペナルティ修正(%)
1538 int calc_mutant_regenerate_mod(player_type *creature_ptr)
1542 int count = count_mutations(creature_ptr);
1545 * Beastman get 10 "free" mutations and
1546 * only 5% decrease per additional mutation
1549 if (creature_ptr->pseikaku == SEIKAKU_LUCKY) count--;
1550 if (creature_ptr->prace == RACE_BEASTMAN)
1556 /* No negative modifier */
1557 if (count <= 0) return 100;
1559 regen = 100 - count * mod;
1561 /* Max. 90% decrease in regeneration speed */
1562 if (regen < 10) regen = 10;
1569 * @brief 突然変異のレイシャル効果実装
1570 * @param creature_ptr プレーヤーへの参照ポインタ
1571 * @param power 発動させる突然変異レイシャルのID
1572 * @return レイシャルを実行した場合TRUE、キャンセルした場合FALSEを返す
1574 bool exe_mutation_power(player_type *creature_ptr, int power)
1577 PLAYER_LEVEL lvl = creature_ptr->lev;
1581 case MUT1_SPIT_ACID:
1582 if (!get_aim_dir(creature_ptr, &dir)) return FALSE;
1583 stop_mouth(creature_ptr);
1584 msg_print(_("酸を吐きかけた...", "You spit acid..."));
1585 fire_ball(creature_ptr, GF_ACID, dir, lvl, 1 + (lvl / 30));
1589 if (!get_aim_dir(creature_ptr, &dir)) return FALSE;
1590 stop_mouth(creature_ptr);
1591 msg_print(_("あなたは火炎のブレスを吐いた...", "You breathe fire..."));
1592 fire_breath(creature_ptr, GF_FIRE, dir, lvl * 2, 1 + (lvl / 20));
1595 case MUT1_HYPN_GAZE:
1596 if (!get_aim_dir(creature_ptr, &dir)) return FALSE;
1597 msg_print(_("あなたの目は幻惑的になった...", "Your eyes look mesmerizing..."));
1598 (void)charm_monster(creature_ptr, dir, lvl);
1601 case MUT1_TELEKINES:
1602 if (!get_aim_dir(creature_ptr, &dir)) return FALSE;
1603 msg_print(_("集中している...", "You concentrate..."));
1604 fetch(creature_ptr, dir, lvl * 10, TRUE);
1607 case MUT1_VTELEPORT:
1608 msg_print(_("集中している...", "You concentrate..."));
1609 teleport_player(creature_ptr, 10 + 4 * lvl, TELEPORT_SPONTANEOUS);
1612 case MUT1_MIND_BLST:
1613 if (!get_aim_dir(creature_ptr, &dir)) return FALSE;
1614 msg_print(_("集中している...", "You concentrate..."));
1615 fire_bolt(creature_ptr, GF_PSI, dir, damroll(3 + ((lvl - 1) / 5), 3));
1618 case MUT1_RADIATION:
1619 msg_print(_("体から放射能が発生した!", "Radiation flows from your body!"));
1620 fire_ball(creature_ptr, GF_NUKE, 0, (lvl * 2), 3 + (lvl / 20));
1623 case MUT1_VAMPIRISM:
1624 vampirism(creature_ptr);
1627 case MUT1_SMELL_MET:
1628 stop_mouth(creature_ptr);
1629 (void)detect_treasure(creature_ptr, DETECT_RAD_DEFAULT);
1632 case MUT1_SMELL_MON:
1633 stop_mouth(creature_ptr);
1634 (void)detect_monsters_normal(creature_ptr, DETECT_RAD_DEFAULT);
1638 teleport_player(creature_ptr, 10, TELEPORT_SPONTANEOUS);
1642 return eat_rock(creature_ptr);
1646 project_length = -1;
1647 if (!get_aim_dir(creature_ptr, &dir))
1652 (void)teleport_swap(creature_ptr, dir);
1657 stop_mouth(creature_ptr);
1658 (void)fire_ball(creature_ptr, GF_SOUND, 0, 2 * lvl, 8);
1659 (void)aggravate_monsters(creature_ptr, 0);
1663 (void)lite_area(creature_ptr, damroll(2, (lvl / 2)), (lvl / 10) + 1);
1666 case MUT1_DET_CURSE:
1670 for (i = 0; i < INVEN_TOTAL; i++)
1672 object_type *o_ptr = &creature_ptr->inventory_list[i];
1674 if (!o_ptr->k_idx) continue;
1675 if (!object_is_cursed(o_ptr)) continue;
1677 o_ptr->feeling = FEEL_CURSED;
1683 (void)berserk(creature_ptr, randint1(25) + 25);
1686 case MUT1_POLYMORPH:
1687 if (!get_check(_("変身します。よろしいですか?", "You will polymorph your self. Are you sure? "))) return FALSE;
1688 do_poly_self(creature_ptr);
1691 case MUT1_MIDAS_TCH:
1692 if (!alchemy(creature_ptr)) return FALSE;
1695 /* Summon pet molds around the player */
1696 case MUT1_GROW_MOLD:
1699 for (i = 0; i < 8; i++)
1701 summon_specific(creature_ptr, -1, creature_ptr->y, creature_ptr->x, lvl, SUMMON_MOLD, PM_FORCE_PET);
1709 TIME_EFFECT dur = randint1(20) + 20;
1711 if (randint0(5) < num)
1713 (void)set_oppose_acid(creature_ptr, dur, FALSE);
1716 if (randint0(4) < num)
1718 (void)set_oppose_elec(creature_ptr, dur, FALSE);
1721 if (randint0(3) < num)
1723 (void)set_oppose_fire(creature_ptr, dur, FALSE);
1726 if (randint0(2) < num)
1728 (void)set_oppose_cold(creature_ptr, dur, FALSE);
1733 (void)set_oppose_pois(creature_ptr, dur, FALSE);
1739 case MUT1_EARTHQUAKE:
1740 (void)earthquake(creature_ptr, creature_ptr->y, creature_ptr->x, 10, 0);
1743 case MUT1_EAT_MAGIC:
1744 if (!eat_magic(creature_ptr, creature_ptr->lev * 2)) return FALSE;
1747 case MUT1_WEIGH_MAG:
1748 report_magics(creature_ptr);
1751 case MUT1_STERILITY:
1752 msg_print(_("突然頭が痛くなった!", "You suddenly have a headache!"));
1753 take_hit(creature_ptr, DAMAGE_LOSELIFE, randint1(17) + 17, _("禁欲を強いた疲労", "the strain of forcing abstinence"), -1);
1754 creature_ptr->current_floor_ptr->num_repro += MAX_REPRO;
1757 case MUT1_HIT_AND_AWAY:
1758 if(!hit_and_away(creature_ptr)) return FALSE;
1762 stun_monsters(creature_ptr, lvl * 4);
1763 confuse_monsters(creature_ptr, lvl * 4);
1764 turn_monsters(creature_ptr, lvl * 4);
1767 case MUT1_LASER_EYE:
1768 if (!get_aim_dir(creature_ptr, &dir)) return FALSE;
1769 fire_beam(creature_ptr, GF_LITE, dir, 2 * lvl);
1773 if (!recall_player(creature_ptr, randint0(21) + 15)) return FALSE;
1780 monster_type *m_ptr;
1781 monster_race *r_ptr;
1782 if (!get_direction(creature_ptr, &dir, FALSE, FALSE)) return FALSE;
1783 y = creature_ptr->y + ddy[dir];
1784 x = creature_ptr->x + ddx[dir];
1785 g_ptr = &creature_ptr->current_floor_ptr->grid_array[y][x];
1789 msg_print(_("邪悪な存在を感じとれません!", "You sense no evil there!"));
1794 m_ptr = &creature_ptr->current_floor_ptr->m_list[g_ptr->m_idx];
1795 r_ptr = &r_info[m_ptr->r_idx];
1797 if ((r_ptr->flags3 & RF3_EVIL) &&
1798 !(r_ptr->flags1 & RF1_QUESTOR) &&
1799 !(r_ptr->flags1 & RF1_UNIQUE) &&
1800 !creature_ptr->current_floor_ptr->inside_arena && !creature_ptr->current_floor_ptr->inside_quest &&
1801 (r_ptr->level < randint1(creature_ptr->lev+50)) &&
1802 !(m_ptr->mflag2 & MFLAG2_NOGENO))
1804 if (record_named_pet && is_pet(m_ptr) && m_ptr->nickname)
1806 GAME_TEXT m_name[MAX_NLEN];
1807 monster_desc(creature_ptr, m_name, m_ptr, MD_INDEF_VISIBLE);
1808 exe_write_diary(creature_ptr, DIARY_NAMED_PET, RECORD_NAMED_PET_GENOCIDE, m_name);
1810 /* Delete the monster, rather than killing it. */
1811 delete_monster_idx(creature_ptr, g_ptr->m_idx);
1812 msg_print(_("その邪悪なモンスターは硫黄臭い煙とともに消え去った!", "The evil creature vanishes in a puff of sulfurous smoke!"));
1817 msg_print(_("祈りは効果がなかった!", "Your invocation is ineffectual!"));
1818 if (one_in_(13)) m_ptr->mflag2 |= MFLAG2_NOGENO;
1823 case MUT1_COLD_TOUCH:
1827 if (!get_direction(creature_ptr, &dir, FALSE, FALSE)) return FALSE;
1828 y = creature_ptr->y + ddy[dir];
1829 x = creature_ptr->x + ddx[dir];
1830 g_ptr = &creature_ptr->current_floor_ptr->grid_array[y][x];
1833 msg_print(_("あなたは何もない場所で手を振った。", "You wave your hands in the air."));
1837 fire_bolt(creature_ptr, GF_COLD, dir, 2 * lvl);
1841 /* XXX_XXX_XXX Hack! MUT1_LAUNCHER is negative, see above */
1842 case 3: /* MUT1_LAUNCHER */
1843 /* Gives a multiplier of 2 at first, up to 3 at 40th */
1844 if (!do_cmd_throw(creature_ptr, 2 + lvl / 40, FALSE, -1)) return FALSE;
1848 free_turn(creature_ptr);
1849 msg_format(_("能力 %s は実装されていません。", "Power %s not implemented. Oops."), power);
1855 void become_living_trump(player_type *creature_ptr)
1857 MUTATION_IDX mutation;
1860 mutation = 12; /* Teleport control */
1862 mutation = 77; /* Random teleportation (uncontrolled) */
1864 /* Gain the mutation */
1865 if (gain_mutation(creature_ptr, mutation))
1867 msg_print(_("あなたは生きているカードに変わった。", "You have turned into a Living Trump."));