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
22 #include "spells-summon.h"
24 #include "player-status.h"
25 #include "player-effects.h"
26 #include "player-personality.h"
27 #include "player-class.h"
28 #include "player-damage.h"
29 #include "spells-status.h"
30 #include "spells-floor.h"
31 #include "object-hook.h"
33 #include "cmd-basic.h"
36 #include "targeting.h"
37 #include "player-race.h"
40 * @brief プレイヤーに突然変異を与える
41 * @param choose_mut 与えたい突然変異のID、0ならばランダムに選択
44 bool gain_mutation(player_type *creature_ptr, MUTATION_IDX choose_mut)
46 int attempts_left = 20;
47 concptr muta_desc = "";
48 bool muta_chosen = FALSE;
49 BIT_FLAGS muta_which = 0;
50 BIT_FLAGS *muta_class = NULL;
52 if (choose_mut) attempts_left = 1;
54 while (attempts_left--)
56 switch (choose_mut ? choose_mut : (creature_ptr->pclass == CLASS_BERSERKER ? 74+randint1(119) : randint1(193)))
58 case 1: case 2: case 3: case 4:
59 muta_class = &(creature_ptr->muta1);
60 muta_which = MUT1_SPIT_ACID;
61 muta_desc = _("酸を吐く能力を得た。", "You gain the ability to spit acid.");
64 case 5: case 6: case 7:
65 muta_class = &(creature_ptr->muta1);
66 muta_which = MUT1_BR_FIRE;
67 muta_desc = _("火を吐く能力を得た。", "You gain the ability to breathe fire.");
71 muta_class = &(creature_ptr->muta1);
72 muta_which = MUT1_HYPN_GAZE;
73 muta_desc = _("催眠眼の能力を得た。", "Your eyes look mesmerizing...");
77 muta_class = &(creature_ptr->muta1);
78 muta_which = MUT1_TELEKINES;
79 muta_desc = _("物体を念動力で動かす能力を得た。", "You gain the ability to move objects telekinetically.");
82 case 12: case 13: case 14:
83 muta_class = &(creature_ptr->muta1);
84 muta_which = MUT1_VTELEPORT;
85 muta_desc = _("自分の意思でテレポートする能力を得た。", "You gain the power of teleportation at will.");
89 muta_class = &(creature_ptr->muta1);
90 muta_which = MUT1_MIND_BLST;
91 muta_desc = _("精神攻撃の能力を得た。", "You gain the power of Mind Blast.");
95 muta_class = &(creature_ptr->muta1);
96 muta_which = MUT1_RADIATION;
97 muta_desc = _("あなたは強い放射線を発生し始めた。", "You start emitting hard radiation.");
101 muta_class = &(creature_ptr->muta1);
102 muta_which = MUT1_VAMPIRISM;
103 muta_desc = _("生命力を吸収できるようになった。", "You become vampiric.");
106 case 21: case 22: case 23:
107 muta_class = &(creature_ptr->muta1);
108 muta_which = MUT1_SMELL_MET;
109 muta_desc = _("金属の匂いを嗅ぎ分けられるようになった。", "You smell a metallic odor.");
112 case 24: case 25: case 26: case 27:
113 muta_class = &(creature_ptr->muta1);
114 muta_which = MUT1_SMELL_MON;
115 muta_desc = _("モンスターの臭いを嗅ぎ分けられるようになった。", "You smell filthy monsters.");
118 case 28: case 29: case 30:
119 muta_class = &(creature_ptr->muta1);
120 muta_which = MUT1_BLINK;
121 muta_desc = _("近距離テレポートの能力を得た。", "You gain the power of minor teleportation.");
125 muta_class = &(creature_ptr->muta1);
126 muta_which = MUT1_EAT_ROCK;
127 muta_desc = _("壁が美味しそうに見える。", "The walls look delicious.");
131 muta_class = &(creature_ptr->muta1);
132 muta_which = MUT1_SWAP_POS;
133 muta_desc = _("他人の靴で一マイル歩くような気分がする。", "You feel like walking a mile in someone else's shoes.");
136 case 35: case 36: case 37:
137 muta_class = &(creature_ptr->muta1);
138 muta_which = MUT1_SHRIEK;
139 muta_desc = _("あなたの声は相当強くなった。", "Your vocal cords get much tougher.");
142 case 38: case 39: case 40:
143 muta_class = &(creature_ptr->muta1);
144 muta_which = MUT1_ILLUMINE;
145 muta_desc = _("あなたは光り輝いて部屋を明るくするようになった。", "You can light up rooms with your presence.");
149 muta_class = &(creature_ptr->muta1);
150 muta_which = MUT1_DET_CURSE;
151 muta_desc = _("邪悪な魔法を感知できるようになった。", "You can feel evil magics.");
154 case 43: case 44: case 45:
155 muta_class = &(creature_ptr->muta1);
156 muta_which = MUT1_BERSERK;
157 muta_desc = _("制御できる激情を感じる。", "You feel a controlled rage.");
161 muta_class = &(creature_ptr->muta1);
162 muta_which = MUT1_POLYMORPH;
163 muta_desc = _("体が変異しやすくなった。", "Your body seems mutable.");
167 muta_class = &(creature_ptr->muta1);
168 muta_which = MUT1_MIDAS_TCH;
169 muta_desc = _("「ミダス王の手」の能力を得た。", "You gain the Midas touch.");/*トゥームレイダースにありましたね。 */
173 muta_class = &(creature_ptr->muta1);
174 muta_which = MUT1_GROW_MOLD;
175 muta_desc = _("突然カビに親しみを覚えた。", "You feel a sudden affinity for mold.");
178 case 50: case 51: case 52:
179 muta_class = &(creature_ptr->muta1);
180 muta_which = MUT1_RESIST;
181 muta_desc = _("あなたは自分自身を守れる気がする。", "You feel like you can protect yourself.");
184 case 53: case 54: case 55:
185 muta_class = &(creature_ptr->muta1);
186 muta_which = MUT1_EARTHQUAKE;
187 muta_desc = _("ダンジョンを破壊する能力を得た。", "You gain the ability to wreck the dungeon.");
191 muta_class = &(creature_ptr->muta1);
192 muta_which = MUT1_EAT_MAGIC;
193 muta_desc = _("魔法のアイテムが美味そうに見える。", "Your magic items look delicious.");
197 muta_class = &(creature_ptr->muta1);
198 muta_which = MUT1_WEIGH_MAG;
199 muta_desc = _("あなたは周囲にある魔法をより良く理解できる気がする。", "You feel you can better understand the magic around you.");
203 muta_class = &(creature_ptr->muta1);
204 muta_which = MUT1_STERILITY;
205 muta_desc = _("周りの全ての者に頭痛を起こすことができる。", "You can give everything around you a headache.");
208 muta_class = &(creature_ptr->muta1);
209 muta_which = MUT1_HIT_AND_AWAY;
210 muta_desc = _("突然、泥棒の気分が分かるようになった。", "You suddenly understand how thieves feel.");
213 case 62: case 63: case 64:
214 muta_class = &(creature_ptr->muta1);
215 muta_which = MUT1_DAZZLE;
216 muta_desc = _("眩い閃光を発する能力を得た。", "You gain the ability to emit dazzling lights.");
219 case 65: case 66: case 67:
220 muta_class = &(creature_ptr->muta1);
221 muta_which = MUT1_LASER_EYE;
222 muta_desc = _("あなたの目は一瞬焼け付いた。", "Your eyes burn for a moment.");
226 muta_class = &(creature_ptr->muta1);
227 muta_which = MUT1_RECALL;
228 muta_desc = _("少しだけホームシックになったが、すぐ直った。", "You feel briefly homesick, but it passes.");
232 muta_class = &(creature_ptr->muta1);
233 muta_which = MUT1_BANISH;
234 muta_desc = _("神聖な怒りの力に満たされた。", "You feel a holy wrath fill you.");
238 muta_class = &(creature_ptr->muta1);
239 muta_which = MUT1_COLD_TOUCH;
240 muta_desc = _("あなたの両手はとても冷たくなった。", "Your hands get very cold.");
244 muta_class = &(creature_ptr->muta1);
245 muta_which = MUT1_LAUNCHER;
246 muta_desc = _("あなたの物を投げる手はかなり強くなった気がする。", "Your throwing arm feels much stronger.");
250 muta_class = &(creature_ptr->muta2);
251 muta_which = MUT2_BERS_RAGE;
252 muta_desc = _("あなたは狂暴化の発作を起こすようになった!", "You become subject to fits of berserk rage!");
256 muta_class = &(creature_ptr->muta2);
257 muta_which = MUT2_COWARDICE;
258 muta_desc = _("信じられないくらい臆病になった!", "You become an incredible coward!");
262 muta_class = &(creature_ptr->muta2);
263 muta_which = MUT2_RTELEPORT;
264 muta_desc = _("あなたの位置は非常に不確定になった。", "Your position seems very uncertain...");
268 muta_class = &(creature_ptr->muta2);
269 muta_which = MUT2_ALCOHOL;
270 muta_desc = _("あなたはアルコールを分泌するようになった。", "Your body starts producing alcohol!");
274 muta_class = &(creature_ptr->muta2);
275 muta_which = MUT2_HALLU;
276 muta_desc = _("あなたは幻覚を引き起こす精神錯乱に侵された。", "You are afflicted by a hallucinatory insanity!");
280 muta_class = &(creature_ptr->muta2);
281 muta_which = MUT2_FLATULENT;
282 muta_desc = _( "あなたは制御不能な強烈な屁をこくようになった。", "You become subject to uncontrollable flatulence.");
286 muta_class = &(creature_ptr->muta2);
287 muta_which = MUT2_SCOR_TAIL;
288 muta_desc = _( "サソリの尻尾が生えてきた!", "You grow a scorpion tail!");
292 muta_class = &(creature_ptr->muta2);
293 muta_which = MUT2_HORNS;
294 muta_desc = _( "額に角が生えた!", "Horns pop forth into your forehead!");
298 muta_class = &(creature_ptr->muta2);
299 muta_which = MUT2_BEAK;
300 muta_desc = _( "口が鋭く強いクチバシに変化した!", "Your mouth turns into a sharp, powerful beak!");
304 muta_class = &(creature_ptr->muta2);
305 muta_which = MUT2_ATT_DEMON;
306 muta_desc = _( "悪魔を引き付けるようになった。", "You start attracting demons.");
310 muta_class = &(creature_ptr->muta2);
311 muta_which = MUT2_PROD_MANA;
312 muta_desc = _( "あなたは制御不能な魔法のエネルギーを発生するようになった。", "You start producing magical energy uncontrollably.");
316 muta_class = &(creature_ptr->muta2);
317 muta_which = MUT2_SPEED_FLUX;
318 muta_desc = _( "あなたは躁鬱質になった。", "You become manic-depressive.");
322 muta_class = &(creature_ptr->muta2);
323 muta_which = MUT2_BANISH_ALL;
324 muta_desc = _( "恐ろしい力があなたの背後に潜んでいる気がする。", "You feel a terrifying power lurking behind you.");
328 muta_class = &(creature_ptr->muta2);
329 muta_which = MUT2_EAT_LIGHT;
330 muta_desc = _( "あなたはウンゴリアントに奇妙な親しみを覚えるようになった。", "You feel a strange kinship with Ungoliant.");
334 muta_class = &(creature_ptr->muta2);
335 muta_which = MUT2_TRUNK;
336 muta_desc = _( "あなたの鼻は伸びて象の鼻のようになった。", "Your nose grows into an elephant-like trunk.");
340 muta_class = &(creature_ptr->muta2);
341 muta_which = MUT2_ATT_ANIMAL;
342 muta_desc = _( "動物を引き付けるようになった。", "You start attracting animals.");
346 muta_class = &(creature_ptr->muta2);
347 muta_which = MUT2_TENTACLES;
348 muta_desc = _( "邪悪な触手が体の両側に生えてきた。", "Evil-looking tentacles sprout from your sides.");
352 muta_class = &(creature_ptr->muta2);
353 muta_which = MUT2_RAW_CHAOS;
354 muta_desc = _( "周囲の空間が不安定になった気がする。", "You feel the universe is less stable around you.");
357 case 100: case 101: case 102:
358 muta_class = &(creature_ptr->muta2);
359 muta_which = MUT2_NORMALITY;
360 muta_desc = _( "あなたは奇妙なほど普通になった気がする。", "You feel strangely normal.");
364 muta_class = &(creature_ptr->muta2);
365 muta_which = MUT2_WRAITH;
366 muta_desc = _( "あなたは幽体化したり実体化したりするようになった。", "You start to fade in and out of the physical world.");
370 muta_class = &(creature_ptr->muta2);
371 muta_which = MUT2_POLY_WOUND;
372 muta_desc = _( "あなたはカオスの力が古い傷に入り込んでくるのを感じた。", "You feel forces of chaos entering your old scars.");
376 muta_class = &(creature_ptr->muta2);
377 muta_which = MUT2_WASTING;
378 muta_desc = _( "あなたは突然おぞましい衰弱病にかかった。", "You suddenly contract a horrible wasting disease.");
382 muta_class = &(creature_ptr->muta2);
383 muta_which = MUT2_ATT_DRAGON;
384 muta_desc = _( "あなたはドラゴンを引きつけるようになった。", "You start attracting dragons.");
388 muta_class = &(creature_ptr->muta2);
389 muta_which = MUT2_WEIRD_MIND;
390 muta_desc = _( "あなたの思考は突然おかしな方向に向き始めた。", "Your thoughts suddenly take off in strange directions.");
394 muta_class = &(creature_ptr->muta2);
395 muta_which = MUT2_NAUSEA;
396 muta_desc = _( "胃袋がピクピクしはじめた。", "Your stomach starts to roil nauseously.");
400 /* Chaos warriors already have a chaos deity */
401 if (creature_ptr->pclass != CLASS_CHAOS_WARRIOR)
403 muta_class = &(creature_ptr->muta2);
404 muta_which = MUT2_CHAOS_GIFT;
405 muta_desc = _( "あなたはカオスの守護悪魔の注意を惹くようになった。", "You attract the notice of a chaos deity!");
410 muta_class = &(creature_ptr->muta2);
411 muta_which = MUT2_WALK_SHAD;
412 muta_desc = _( "あなたは現実が紙のように薄いと感じるようになった。", "You feel like reality is as thin as paper.");
416 muta_class = &(creature_ptr->muta2);
417 muta_which = MUT2_WARNING;
418 muta_desc = _( "あなたは突然パラノイアになった気がする。", "You suddenly feel paranoid.");
422 muta_class = &(creature_ptr->muta2);
423 muta_which = MUT2_INVULN;
424 muta_desc = _( "あなたは祝福され、無敵状態になる発作を起こすようになった。", "You are blessed with fits of invulnerability.");
428 muta_class = &(creature_ptr->muta2);
429 muta_which = MUT2_SP_TO_HP;
430 muta_desc = _( "魔法の治癒の発作を起こすようになった。", "You are subject to fits of magical healing.");
434 muta_class = &(creature_ptr->muta2);
435 muta_which = MUT2_HP_TO_SP;
436 muta_desc = _( "痛みを伴う精神明瞭化の発作を起こすようになった。", "You are subject to fits of painful clarity.");
440 muta_class = &(creature_ptr->muta2);
441 muta_which = MUT2_DISARM;
442 muta_desc = _( "あなたの脚は長さが四倍になった。", "Your feet grow to four times their former size.");
445 case 120: case 121: case 122:
446 muta_class = &(creature_ptr->muta3);
447 muta_which = MUT3_HYPER_STR;
448 muta_desc = _( "超人的に強くなった!", "You current_world_ptr->game_turn into a superhuman he-man!");
451 case 123: case 124: case 125:
452 muta_class = &(creature_ptr->muta3);
453 muta_which = MUT3_PUNY;
454 muta_desc = _( "筋肉が弱ってしまった...", "Your muscles wither away...");
457 case 126: case 127: case 128:
458 muta_class = &(creature_ptr->muta3);
459 muta_which = MUT3_HYPER_INT;
460 muta_desc = _( "あなたの脳は生体コンピュータに進化した!", "Your brain evolves into a living computer!");
463 case 129: case 130: case 131:
464 muta_class = &(creature_ptr->muta3);
465 muta_which = MUT3_MORONIC;
466 muta_desc = _( "脳が萎縮してしまった...", "Your brain withers away...");
470 muta_class = &(creature_ptr->muta3);
471 muta_which = MUT3_RESILIENT;
472 muta_desc = _( "並外れてタフになった。", "You become extraordinarily resilient.");
476 muta_class = &(creature_ptr->muta3);
477 muta_which = MUT3_XTRA_FAT;
478 muta_desc = _( "あなたは気持ち悪いくらい太った!", "You become sickeningly fat!");
482 muta_class = &(creature_ptr->muta3);
483 muta_which = MUT3_ALBINO;
484 muta_desc = _( "アルビノになった!弱くなった気がする...", "You current_world_ptr->game_turn into an albino! You feel frail...");
487 case 138: case 139: case 140:
488 muta_class = &(creature_ptr->muta3);
489 muta_which = MUT3_FLESH_ROT;
490 muta_desc = _( "あなたの肉体は腐敗する病気に侵された!", "Your flesh is afflicted by a rotting disease!");
494 muta_class = &(creature_ptr->muta3);
495 muta_which = MUT3_SILLY_VOI;
496 muta_desc = _( "声が間抜けなキーキー声になった!", "Your voice turns into a ridiculous squeak!");
500 muta_class = &(creature_ptr->muta3);
501 muta_which = MUT3_BLANK_FAC;
502 muta_desc = _( "のっぺらぼうになった!", "Your face becomes completely featureless!");
506 muta_class = &(creature_ptr->muta3);
507 muta_which = MUT3_ILL_NORM;
508 muta_desc = _( "心の安らぐ幻影を映し出すようになった。", "You start projecting a reassuring image.");
511 case 146: case 147: case 148:
512 muta_class = &(creature_ptr->muta3);
513 muta_which = MUT3_XTRA_EYES;
514 muta_desc = _( "新たに二つの目が出来た!", "You grow an extra pair of eyes!");
518 muta_class = &(creature_ptr->muta3);
519 muta_which = MUT3_MAGIC_RES;
520 muta_desc = _( "魔法への耐性がついた。", "You become resistant to magic.");
523 case 151: case 152: case 153:
524 muta_class = &(creature_ptr->muta3);
525 muta_which = MUT3_XTRA_NOIS;
526 muta_desc = _( "あなたは奇妙な音を立て始めた!", "You start making strange noise!");
529 case 154: case 155: case 156:
530 muta_class = &(creature_ptr->muta3);
531 muta_which = MUT3_INFRAVIS;
532 muta_desc = _( "赤外線視力が増した。", "Your infravision is improved.");
536 muta_class = &(creature_ptr->muta3);
537 muta_which = MUT3_XTRA_LEGS;
538 muta_desc = _( "新たに二本の足が生えてきた!", "You grow an extra pair of legs!");
542 muta_class = &(creature_ptr->muta3);
543 muta_which = MUT3_SHORT_LEG;
544 muta_desc = _( "足が短い突起になってしまった!", "Your legs current_world_ptr->game_turn into short stubs!");
548 muta_class = &(creature_ptr->muta3);
549 muta_which = MUT3_ELEC_TOUC;
550 muta_desc = _( "血管を電流が流れ始めた!", "Electricity starts running through you!");
554 muta_class = &(creature_ptr->muta3);
555 muta_which = MUT3_FIRE_BODY;
556 muta_desc = _( "あなたの体は炎につつまれている。", "Your body is enveloped in flames!");
559 case 165: case 166: case 167:
560 muta_class = &(creature_ptr->muta3);
561 muta_which = MUT3_WART_SKIN;
562 muta_desc = _( "気持ち悪いイボイボが体中にできた!", "Disgusting warts appear everywhere on you!");
565 case 168: case 169: case 170:
566 muta_class = &(creature_ptr->muta3);
567 muta_which = MUT3_SCALES;
568 muta_desc = _( "肌が黒い鱗に変わった!", "Your skin turns into black scales!");
572 muta_class = &(creature_ptr->muta3);
573 muta_which = MUT3_IRON_SKIN;
574 muta_desc = _( "あなたの肌は鉄になった!", "Your skin turns to steel!");
578 muta_class = &(creature_ptr->muta3);
579 muta_which = MUT3_WINGS;
580 muta_desc = _( "背中に羽が生えた。", "You grow a pair of wings.");
583 case 175: case 176: case 177:
584 muta_class = &(creature_ptr->muta3);
585 muta_which = MUT3_FEARLESS;
586 muta_desc = _( "完全に怖れ知らずになった。", "You become completely fearless.");
590 muta_class = &(creature_ptr->muta3);
591 muta_which = MUT3_REGEN;
592 muta_desc = _( "急速に回復し始めた。", "You start regenerating.");
596 muta_class = &(creature_ptr->muta3);
597 muta_which = MUT3_ESP;
598 muta_desc = _( "テレパシーの能力を得た!", "You develop a telepathic ability!");
601 case 182: case 183: case 184:
602 muta_class = &(creature_ptr->muta3);
603 muta_which = MUT3_LIMBER;
604 muta_desc = _( "筋肉がしなやかになった。", "Your muscles become limber.");
607 case 185: case 186: case 187:
608 muta_class = &(creature_ptr->muta3);
609 muta_which = MUT3_ARTHRITIS;
610 muta_desc = _( "関節が突然痛み出した。", "Your joints suddenly hurt.");
614 if (creature_ptr->pseikaku == SEIKAKU_LUCKY) break;
615 muta_class = &(creature_ptr->muta3);
616 muta_which = MUT3_BAD_LUCK;
617 muta_desc = _( "悪意に満ちた黒いオーラがあなたをとりまいた...", "There is a malignant black aura surrounding you...");
621 muta_class = &(creature_ptr->muta3);
622 muta_which = MUT3_VULN_ELEM;
623 muta_desc = _( "妙に無防備になった気がする。", "You feel strangely exposed.");
626 case 190: case 191: case 192:
627 muta_class = &(creature_ptr->muta3);
628 muta_which = MUT3_MOTION;
629 muta_desc = _( "体の動作がより正確になった。", "You move with new assurance.");
633 muta_class = &(creature_ptr->muta3);
634 muta_which = MUT3_GOOD_LUCK;
635 muta_desc = _( "慈悲深い白いオーラがあなたをとりまいた...", "There is a benevolent white aura surrounding you...");
643 if (muta_class && muta_which)
645 if (!(*muta_class & muta_which))
650 if (muta_chosen == TRUE) break;
655 msg_print(_("普通になった気がする。", "You feel normal."));
659 chg_virtue(creature_ptr, V_CHANCE, 1);
662 some races are apt to gain specified mutations
663 This should be allowed only if "choose_mut" is 0.
668 if (creature_ptr->prace == RACE_VAMPIRE &&
669 !(creature_ptr->muta1 & MUT1_HYPN_GAZE) &&
672 muta_class = &(creature_ptr->muta1);
673 muta_which = MUT1_HYPN_GAZE;
674 muta_desc = _("眼が幻惑的になった...", "Your eyes look mesmerizing...");
678 else if (creature_ptr->prace == RACE_IMP &&
679 !(creature_ptr->muta2 & MUT2_HORNS) &&
682 muta_class = &(creature_ptr->muta2);
683 muta_which = MUT2_HORNS;
684 muta_desc = _("角が額から生えてきた!", "Horns pop forth into your forehead!");
688 else if (creature_ptr->prace == RACE_YEEK &&
689 !(creature_ptr->muta1 & MUT1_SHRIEK) &&
692 muta_class = &(creature_ptr->muta1);
693 muta_which = MUT1_SHRIEK;
694 muta_desc = _("声質がかなり強くなった。", "Your vocal cords get much tougher.");
698 else if (creature_ptr->prace == RACE_BEASTMAN &&
699 !(creature_ptr->muta1 & MUT1_POLYMORPH) &&
702 muta_class = &(creature_ptr->muta1);
703 muta_which = MUT1_POLYMORPH;
704 muta_desc = _("あなたの肉体は変化できるようになった、", "Your body seems mutable.");
708 else if (creature_ptr->prace == RACE_MIND_FLAYER &&
709 !(creature_ptr->muta2 & MUT2_TENTACLES) &&
712 muta_class = &(creature_ptr->muta2);
713 muta_which = MUT2_TENTACLES;
714 muta_desc = _("邪悪な触手が口の周りに生えた。", "Evil-looking tentacles sprout from your mouth.");
719 msg_print(_("突然変異した!", "You mutate!"));
721 msg_print(muta_desc);
722 *muta_class |= muta_which;
724 if (muta_class == &(creature_ptr->muta3))
726 if (muta_which == MUT3_PUNY)
728 if (creature_ptr->muta3 & MUT3_HYPER_STR)
730 msg_print(_("あなたはもう超人的に強くはない!", "You no longer feel super-strong!"));
732 creature_ptr->muta3 &= ~(MUT3_HYPER_STR);
735 else if (muta_which == MUT3_HYPER_STR)
737 if (creature_ptr->muta3 & MUT3_PUNY)
739 msg_print(_("あなたはもう虚弱ではない!", "You no longer feel puny!"));
741 creature_ptr->muta3 &= ~(MUT3_PUNY);
744 else if (muta_which == MUT3_MORONIC)
746 if (creature_ptr->muta3 & MUT3_HYPER_INT)
748 msg_print(_("あなたの脳はもう生体コンピュータではない。", "Your brain is no longer a living computer."));
750 creature_ptr->muta3 &= ~(MUT3_HYPER_INT);
753 else if (muta_which == MUT3_HYPER_INT)
755 if (creature_ptr->muta3 & MUT3_MORONIC)
757 msg_print(_("あなたはもう精神薄弱ではない。", "You are no longer moronic."));
759 creature_ptr->muta3 &= ~(MUT3_MORONIC);
762 else if (muta_which == MUT3_IRON_SKIN)
764 if (creature_ptr->muta3 & MUT3_SCALES)
766 msg_print(_("鱗がなくなった。", "You lose your scales."));
768 creature_ptr->muta3 &= ~(MUT3_SCALES);
770 if (creature_ptr->muta3 & MUT3_FLESH_ROT)
772 msg_print(_("肉体が腐乱しなくなった。", "Your flesh rots no longer."));
774 creature_ptr->muta3 &= ~(MUT3_FLESH_ROT);
776 if (creature_ptr->muta3 & MUT3_WART_SKIN)
778 msg_print(_("肌のイボイボがなくなった。", "You lose your warts."));
780 creature_ptr->muta3 &= ~(MUT3_WART_SKIN);
783 else if (muta_which == MUT3_WART_SKIN || muta_which == MUT3_SCALES
784 || muta_which == MUT3_FLESH_ROT)
786 if (creature_ptr->muta3 & MUT3_IRON_SKIN)
788 msg_print(_("あなたの肌はもう鉄ではない。", "Your skin is no longer made of steel."));
790 creature_ptr->muta3 &= ~(MUT3_IRON_SKIN);
793 else if (muta_which == MUT3_FEARLESS)
795 if (creature_ptr->muta2 & MUT2_COWARDICE)
797 msg_print(_("臆病でなくなった。", "You are no longer cowardly."));
799 creature_ptr->muta2 &= ~(MUT2_COWARDICE);
802 else if (muta_which == MUT3_FLESH_ROT)
804 if (creature_ptr->muta3 & MUT3_REGEN)
806 msg_print(_("急速に回復しなくなった。", "You stop regenerating."));
808 creature_ptr->muta3 &= ~(MUT3_REGEN);
811 else if (muta_which == MUT3_REGEN)
813 if (creature_ptr->muta3 & MUT3_FLESH_ROT)
815 msg_print(_("肉体が腐乱しなくなった。", "Your flesh stops rotting."));
817 creature_ptr->muta3 &= ~(MUT3_FLESH_ROT);
820 else if (muta_which == MUT3_LIMBER)
822 if (creature_ptr->muta3 & MUT3_ARTHRITIS)
824 msg_print(_("関節が痛くなくなった。", "Your joints stop hurting."));
826 creature_ptr->muta3 &= ~(MUT3_ARTHRITIS);
829 else if (muta_which == MUT3_ARTHRITIS)
831 if (creature_ptr->muta3 & MUT3_LIMBER)
833 msg_print(_("あなたはしなやかでなくなった。", "You no longer feel limber."));
835 creature_ptr->muta3 &= ~(MUT3_LIMBER);
839 else if (muta_class == &(creature_ptr->muta2))
841 if (muta_which == MUT2_COWARDICE)
843 if (creature_ptr->muta3 & MUT3_FEARLESS)
845 msg_print(_("恐れ知らずでなくなった。", "You no longer feel fearless."));
847 creature_ptr->muta3 &= ~(MUT3_FEARLESS);
850 if (muta_which == MUT2_BEAK)
852 if (creature_ptr->muta2 & MUT2_TRUNK)
854 msg_print(_("あなたの鼻はもう象の鼻のようではなくなった。", "Your nose is no longer elephantine."));
856 creature_ptr->muta2 &= ~(MUT2_TRUNK);
859 if (muta_which == MUT2_TRUNK)
861 if (creature_ptr->muta2 & MUT2_BEAK)
863 msg_print(_("硬いクチバシがなくなった。", "You no longer have a hard beak."));
865 creature_ptr->muta2 &= ~(MUT2_BEAK);
870 creature_ptr->mutant_regenerate_mod = calc_mutant_regenerate_mod(creature_ptr);
871 creature_ptr->update |= PU_BONUS;
872 handle_stuff(creature_ptr);
877 * @brief プレイヤーから突然変異を取り除く
878 * @param choose_mut 取り除きたい突然変異のID、0ならばランダムに消去
881 bool lose_mutation(player_type *creature_ptr, MUTATION_IDX choose_mut)
883 int attempts_left = 20;
884 concptr muta_desc = "";
885 bool muta_chosen = FALSE;
886 BIT_FLAGS muta_which = 0;
887 BIT_FLAGS *muta_class = NULL;
889 if (choose_mut) attempts_left = 1;
891 while (attempts_left--)
893 switch (choose_mut ? choose_mut : randint1(193))
895 case 1: case 2: case 3: case 4:
896 muta_class = &(creature_ptr->muta1);
897 muta_which = MUT1_SPIT_ACID;
898 muta_desc = _( "酸を吹きかける能力を失った。", "You lose the ability to spit acid.");
901 case 5: case 6: case 7:
902 muta_class = &(creature_ptr->muta1);
903 muta_which = MUT1_BR_FIRE;
904 muta_desc = _( "炎のブレスを吐く能力を失った。", "You lose the ability to breathe fire.");
908 muta_class = &(creature_ptr->muta1);
909 muta_which = MUT1_HYPN_GAZE;
910 muta_desc = _( "あなたの目はつまらない目になった。", "Your eyes look uninteresting.");
914 muta_class = &(creature_ptr->muta1);
915 muta_which = MUT1_TELEKINES;
916 muta_desc = _( "念動力で物を動かす能力を失った。", "You lose the ability to move objects telekinetically.");
919 case 12: case 13: case 14:
920 muta_class = &(creature_ptr->muta1);
921 muta_which = MUT1_VTELEPORT;
922 muta_desc = _( "自分の意思でテレポートする能力を失った。", "You lose the power of teleportation at will.");
926 muta_class = &(creature_ptr->muta1);
927 muta_which = MUT1_MIND_BLST;
928 muta_desc = _( "精神攻撃の能力を失った。", "You lose the power of Mind Blast.");
932 muta_class = &(creature_ptr->muta1);
933 muta_which = MUT1_RADIATION;
934 muta_desc = _( "あなたは放射能を発生しなくなった。", "You stop emitting hard radiation.");
938 muta_class = &(creature_ptr->muta1);
939 muta_which = MUT1_VAMPIRISM;
940 muta_desc = _( "吸血の能力を失った。", "You are no longer vampiric.");
943 case 21: case 22: case 23:
944 muta_class = &(creature_ptr->muta1);
945 muta_which = MUT1_SMELL_MET;
946 muta_desc = _( "金属の臭いを嗅げなくなった。", "You no longer smell a metallic odor.");
949 case 24: case 25: case 26: case 27:
950 muta_class = &(creature_ptr->muta1);
951 muta_which = MUT1_SMELL_MON;
952 muta_desc = _( "不潔なモンスターの臭いを嗅げなくなった。", "You no longer smell filthy monsters.");
955 case 28: case 29: case 30:
956 muta_class = &(creature_ptr->muta1);
957 muta_which = MUT1_BLINK;
958 muta_desc = _( "近距離テレポートの能力を失った。", "You lose the power of minor teleportation.");
962 muta_class = &(creature_ptr->muta1);
963 muta_which = MUT1_EAT_ROCK;
964 muta_desc = _( "壁は美味しそうに見えなくなった。", "The walls look unappetizing.");
968 muta_class = &(creature_ptr->muta1);
969 muta_which = MUT1_SWAP_POS;
970 muta_desc = _( "あなたは自分の靴に留まる感じがする。", "You feel like staying in your own shoes.");
973 case 35: case 36: case 37:
974 muta_class = &(creature_ptr->muta1);
975 muta_which = MUT1_SHRIEK;
976 muta_desc = _( "あなたの声質は弱くなった。", "Your vocal cords get much weaker.");
979 case 38: case 39: case 40:
980 muta_class = &(creature_ptr->muta1);
981 muta_which = MUT1_ILLUMINE;
982 muta_desc = _( "部屋を明るく照らすことが出来なくなった。", "You can no longer light up rooms with your presence.");
986 muta_class = &(creature_ptr->muta1);
987 muta_which = MUT1_DET_CURSE;
988 muta_desc = _( "邪悪な魔法を感じられなくなった。", "You can no longer feel evil magics.");
991 case 43: case 44: case 45:
992 muta_class = &(creature_ptr->muta1);
993 muta_which = MUT1_BERSERK;
994 muta_desc = _( "制御できる激情を感じなくなった。", "You no longer feel a controlled rage.");
998 muta_class = &(creature_ptr->muta1);
999 muta_which = MUT1_POLYMORPH;
1000 muta_desc = _( "あなたの体は安定したように見える。", "Your body seems stable.");
1004 muta_class = &(creature_ptr->muta1);
1005 muta_which = MUT1_MIDAS_TCH;
1006 muta_desc = _( "ミダスの手の能力を失った。", "You lose the Midas touch.");
1010 muta_class = &(creature_ptr->muta1);
1011 muta_which = MUT1_GROW_MOLD;
1012 muta_desc = _( "突然カビが嫌いになった。", "You feel a sudden dislike for mold.");
1015 case 50: case 51: case 52:
1016 muta_class = &(creature_ptr->muta1);
1017 muta_which = MUT1_RESIST;
1018 muta_desc = _( "傷つき易くなった気がする。", "You feel like you might be vulnerable.");
1021 case 53: case 54: case 55:
1022 muta_class = &(creature_ptr->muta1);
1023 muta_which = MUT1_EARTHQUAKE;
1024 muta_desc = _( "ダンジョンを壊す能力を失った。", "You lose the ability to wreck the dungeon.");
1028 muta_class = &(creature_ptr->muta1);
1029 muta_which = MUT1_EAT_MAGIC;
1030 muta_desc = _( "魔法のアイテムはもう美味しそうに見えなくなった。", "Your magic items no longer look delicious.");
1034 muta_class = &(creature_ptr->muta1);
1035 muta_which = MUT1_WEIGH_MAG;
1036 muta_desc = _( "魔力を感じられなくなった。", "You no longer sense magic.");
1040 muta_class = &(creature_ptr->muta1);
1041 muta_which = MUT1_STERILITY;
1042 muta_desc = _( "たくさんの安堵の吐息が聞こえた。", "You hear a massed sigh of relief.");
1046 muta_class = &(creature_ptr->muta1);
1047 muta_which = MUT1_HIT_AND_AWAY;
1048 muta_desc = _( "あちこちへ跳べる気分がなくなった。", "You no longer feel jumpy.");
1051 case 62: case 63: case 64:
1052 muta_class = &(creature_ptr->muta1);
1053 muta_which = MUT1_DAZZLE;
1054 muta_desc = _( "まばゆい閃光を発する能力を失った。", "You lose the ability to emit dazzling lights.");
1057 case 65: case 66: case 67:
1058 muta_class = &(creature_ptr->muta1);
1059 muta_which = MUT1_LASER_EYE;
1060 muta_desc = _( "眼が少しの間焼き付いて、痛みが和らいだ。", "Your eyes burn for a moment, then feel soothed.");
1064 muta_class = &(creature_ptr->muta1);
1065 muta_which = MUT1_RECALL;
1066 muta_desc = _( "少しの間ホームシックになった。", "You feel briefly homesick.");
1070 muta_class = &(creature_ptr->muta1);
1071 muta_which = MUT1_BANISH;
1072 muta_desc = _( "神聖な怒りの力を感じなくなった。", "You no longer feel a holy wrath.");
1076 muta_class = &(creature_ptr->muta1);
1077 muta_which = MUT1_COLD_TOUCH;
1078 muta_desc = _( "手が暖かくなった。", "Your hands warm up.");
1082 muta_class = &(creature_ptr->muta1);
1083 muta_which = MUT1_LAUNCHER;
1084 muta_desc = _( "物を投げる手が弱くなった気がする。", "Your throwing arm feels much weaker.");
1088 muta_class = &(creature_ptr->muta2);
1089 muta_which = MUT2_BERS_RAGE;
1090 muta_desc = _( "凶暴化の発作にさらされなくなった!", "You are no longer subject to fits of berserk rage!");
1094 muta_class = &(creature_ptr->muta2);
1095 muta_which = MUT2_COWARDICE;
1096 muta_desc = _( "もう信じがたいほど臆病ではなくなった!", "You are no longer an incredible coward!");
1100 muta_class = &(creature_ptr->muta2);
1101 muta_which = MUT2_RTELEPORT;
1102 muta_desc = _( "あなたの位置はより確定的になった。", "Your position seems more certain.");
1106 muta_class = &(creature_ptr->muta2);
1107 muta_which = MUT2_ALCOHOL;
1108 muta_desc = _( "あなたはアルコールを分泌しなくなった!", "Your body stops producing alcohol!");
1112 muta_class = &(creature_ptr->muta2);
1113 muta_which = MUT2_HALLU;
1114 muta_desc = _( "幻覚をひき起こす精神障害を起こさなくなった!", "You are no longer afflicted by a hallucinatory insanity!");
1118 muta_class = &(creature_ptr->muta2);
1119 muta_which = MUT2_FLATULENT;
1120 muta_desc = _( "もう強烈な屁はこかなくなった。", "You are no longer subject to uncontrollable flatulence.");
1124 muta_class = &(creature_ptr->muta2);
1125 muta_which = MUT2_SCOR_TAIL;
1126 muta_desc = _( "サソリの尻尾がなくなった!", "You lose your scorpion tail!");
1130 muta_class = &(creature_ptr->muta2);
1131 muta_which = MUT2_HORNS;
1132 muta_desc = _( "額から角が消えた!", "Your horns vanish from your forehead!");
1136 muta_class = &(creature_ptr->muta2);
1137 muta_which = MUT2_BEAK;
1138 muta_desc = _( "口が普通に戻った!", "Your mouth reverts to normal!");
1142 muta_class = &(creature_ptr->muta2);
1143 muta_which = MUT2_ATT_DEMON;
1144 muta_desc = _( "デーモンを引き寄せなくなった。", "You stop attracting demons.");
1148 muta_class = &(creature_ptr->muta2);
1149 muta_which = MUT2_PROD_MANA;
1150 muta_desc = _( "制御不能な魔法のエネルギーを発生しなくなった。", "You stop producing magical energy uncontrollably.");
1154 muta_class = &(creature_ptr->muta2);
1155 muta_which = MUT2_SPEED_FLUX;
1156 muta_desc = _( "躁鬱質でなくなった。", "You are no longer manic-depressive.");
1160 muta_class = &(creature_ptr->muta2);
1161 muta_which = MUT2_BANISH_ALL;
1162 muta_desc = _( "背後に恐ろしい力を感じなくなった。", "You no longer feel a terrifying power lurking behind you.");
1166 muta_class = &(creature_ptr->muta2);
1167 muta_which = MUT2_EAT_LIGHT;
1168 muta_desc = _( "世界が明るいと感じる。", "You feel the world's a brighter place.");
1172 muta_class = &(creature_ptr->muta2);
1173 muta_which = MUT2_TRUNK;
1174 muta_desc = _( "鼻が普通の長さに戻った。", "Your nose returns to a normal length.");
1178 muta_class = &(creature_ptr->muta2);
1179 muta_which = MUT2_ATT_ANIMAL;
1180 muta_desc = _( "動物を引き寄せなくなった。", "You stop attracting animals.");
1184 muta_class = &(creature_ptr->muta2);
1185 muta_which = MUT2_TENTACLES;
1186 muta_desc = _( "触手が消えた。", "Your tentacles vanish from your sides.");
1190 muta_class = &(creature_ptr->muta2);
1191 muta_which = MUT2_RAW_CHAOS;
1192 muta_desc = _( "周囲の空間が安定した気がする。", "You feel the universe is more stable around you.");
1195 case 100: case 101: case 102:
1196 muta_class = &(creature_ptr->muta2);
1197 muta_which = MUT2_NORMALITY;
1198 muta_desc = _( "普通に奇妙な感じがする。", "You feel normally strange.");
1202 muta_class = &(creature_ptr->muta2);
1203 muta_which = MUT2_WRAITH;
1204 muta_desc = _( "あなたは物質世界にしっかり存在している。", "You are firmly in the physical world.");
1208 muta_class = &(creature_ptr->muta2);
1209 muta_which = MUT2_POLY_WOUND;
1210 muta_desc = _( "古い傷からカオスの力が去っていった。", "You feel forces of chaos departing your old scars.");
1214 muta_class = &(creature_ptr->muta2);
1215 muta_which = MUT2_WASTING;
1216 muta_desc = _( "おぞましい衰弱病が治った!", "You are cured of the horrible wasting disease!");
1220 muta_class = &(creature_ptr->muta2);
1221 muta_which = MUT2_ATT_DRAGON;
1222 muta_desc = _( "ドラゴンを引き寄せなくなった。", "You stop attracting dragons.");
1226 muta_class = &(creature_ptr->muta2);
1227 muta_which = MUT2_WEIRD_MIND;
1228 muta_desc = _( "思考が退屈な方向に戻った。", "Your thoughts return to boring paths.");
1232 muta_class = &(creature_ptr->muta2);
1233 muta_which = MUT2_NAUSEA;
1234 muta_desc = _( "胃が痙攣しなくなった。", "Your stomach stops roiling.");
1238 muta_class = &(creature_ptr->muta2);
1239 muta_which = MUT2_CHAOS_GIFT;
1240 muta_desc = _( "混沌の神々の興味を惹かなくなった。", "You lose the attention of the chaos deities.");
1244 muta_class = &(creature_ptr->muta2);
1245 muta_which = MUT2_WALK_SHAD;
1246 muta_desc = _( "物質世界に捕らわれている気がする。", "You feel like you're trapped in reality.");
1250 muta_class = &(creature_ptr->muta2);
1251 muta_which = MUT2_WARNING;
1252 muta_desc = _( "パラノイアでなくなった。", "You no longer feel paranoid.");
1256 muta_class = &(creature_ptr->muta2);
1257 muta_which = MUT2_INVULN;
1258 muta_desc = _( "無敵状態の発作を起こさなくなった。", "You are no longer blessed with fits of invulnerability.");
1262 muta_class = &(creature_ptr->muta2);
1263 muta_which = MUT2_SP_TO_HP;
1264 muta_desc = _( "魔法の治癒の発作に襲われなくなった。", "You are no longer subject to fits of magical healing.");
1268 muta_class = &(creature_ptr->muta2);
1269 muta_which = MUT2_HP_TO_SP;
1270 muta_desc = _( "痛みを伴う精神明瞭化の発作に襲われなくなった。", "You are no longer subject to fits of painful clarity.");
1274 muta_class = &(creature_ptr->muta2);
1275 muta_which = MUT2_DISARM;
1276 muta_desc = _( "脚が元の大きさに戻った。", "Your feet shrink to their former size.");
1279 case 120: case 121: case 122:
1280 muta_class = &(creature_ptr->muta3);
1281 muta_which = MUT3_HYPER_STR;
1282 muta_desc = _( "筋肉が普通に戻った。", "Your muscles revert to normal.");
1285 case 123: case 124: case 125:
1286 muta_class = &(creature_ptr->muta3);
1287 muta_which = MUT3_PUNY;
1288 muta_desc = _( "筋肉が普通に戻った。", "Your muscles revert to normal.");
1291 case 126: case 127: case 128:
1292 muta_class = &(creature_ptr->muta3);
1293 muta_which = MUT3_HYPER_INT;
1294 muta_desc = _( "脳が普通に戻った。", "Your brain reverts to normal.");
1297 case 129: case 130: case 131:
1298 muta_class = &(creature_ptr->muta3);
1299 muta_which = MUT3_MORONIC;
1300 muta_desc = _( "脳が普通に戻った。", "Your brain reverts to normal.");
1304 muta_class = &(creature_ptr->muta3);
1305 muta_which = MUT3_RESILIENT;
1306 muta_desc = _( "普通の丈夫さに戻った。", "You become ordinarily resilient again.");
1310 muta_class = &(creature_ptr->muta3);
1311 muta_which = MUT3_XTRA_FAT;
1312 muta_desc = _( "奇跡的なダイエットに成功した!", "You benefit from a miracle diet!");
1316 muta_class = &(creature_ptr->muta3);
1317 muta_which = MUT3_ALBINO;
1318 muta_desc = _( "アルビノでなくなった!", "You are no longer an albino!");
1321 case 138: case 139: case 140:
1322 muta_class = &(creature_ptr->muta3);
1323 muta_which = MUT3_FLESH_ROT;
1324 muta_desc = _( "肉体を腐敗させる病気が治った!", "Your flesh is no longer afflicted by a rotting disease!");
1328 muta_class = &(creature_ptr->muta3);
1329 muta_which = MUT3_SILLY_VOI;
1330 muta_desc = _( "声質が普通に戻った。", "Your voice returns to normal.");
1334 muta_class = &(creature_ptr->muta3);
1335 muta_which = MUT3_BLANK_FAC;
1336 muta_desc = _( "顔に目鼻が戻った。", "Your facial features return.");
1340 muta_class = &(creature_ptr->muta3);
1341 muta_which = MUT3_ILL_NORM;
1342 muta_desc = _( "心が安らぐ幻影を映し出さなくなった。", "You stop projecting a reassuring image.");
1345 case 146: case 147: case 148:
1346 muta_class = &(creature_ptr->muta3);
1347 muta_which = MUT3_XTRA_EYES;
1348 muta_desc = _( "余分な目が消えてしまった!", "Your extra eyes vanish!");
1352 muta_class = &(creature_ptr->muta3);
1353 muta_which = MUT3_MAGIC_RES;
1354 muta_desc = _( "魔法に弱くなった。", "You become susceptible to magic again.");
1357 case 151: case 152: case 153:
1358 muta_class = &(creature_ptr->muta3);
1359 muta_which = MUT3_XTRA_NOIS;
1360 muta_desc = _( "奇妙な音を立てなくなった!", "You stop making strange noise!");
1363 case 154: case 155: case 156:
1364 muta_class = &(creature_ptr->muta3);
1365 muta_which = MUT3_INFRAVIS;
1366 muta_desc = _( "赤外線視力が落ちた。", "Your infravision is degraded.");
1370 muta_class = &(creature_ptr->muta3);
1371 muta_which = MUT3_XTRA_LEGS;
1372 muta_desc = _( "余分な脚が消えてしまった!", "Your extra legs disappear!");
1376 muta_class = &(creature_ptr->muta3);
1377 muta_which = MUT3_SHORT_LEG;
1378 muta_desc = _( "脚の長さが普通に戻った。", "Your legs lengthen to normal.");
1382 muta_class = &(creature_ptr->muta3);
1383 muta_which = MUT3_ELEC_TOUC;
1384 muta_desc = _( "体を電流が流れなくなった。", "Electricity stops running through you.");
1388 muta_class = &(creature_ptr->muta3);
1389 muta_which = MUT3_FIRE_BODY;
1390 muta_desc = _( "体が炎に包まれなくなった。", "Your body is no longer enveloped in flames.");
1393 case 165: case 166: case 167:
1394 muta_class = &(creature_ptr->muta3);
1395 muta_which = MUT3_WART_SKIN;
1396 muta_desc = _( "イボイボが消えた!", "Your warts disappear!");
1399 case 168: case 169: case 170:
1400 muta_class = &(creature_ptr->muta3);
1401 muta_which = MUT3_SCALES;
1402 muta_desc = _( "鱗が消えた!", "Your scales vanish!");
1406 muta_class = &(creature_ptr->muta3);
1407 muta_which = MUT3_IRON_SKIN;
1408 muta_desc = _( "肌が肉にもどった!", "Your skin reverts to flesh!");
1412 muta_class = &(creature_ptr->muta3);
1413 muta_which = MUT3_WINGS;
1414 muta_desc = _( "背中の羽根が取れ落ちた。", "Your wings fall off.");
1417 case 175: case 176: case 177:
1418 muta_class = &(creature_ptr->muta3);
1419 muta_which = MUT3_FEARLESS;
1420 muta_desc = _( "再び恐怖を感じるようになった。", "You begin to feel fear again.");
1424 muta_class = &(creature_ptr->muta3);
1425 muta_which = MUT3_REGEN;
1426 muta_desc = _( "急速回復しなくなった。", "You stop regenerating.");
1430 muta_class = &(creature_ptr->muta3);
1431 muta_which = MUT3_ESP;
1432 muta_desc = _( "テレパシーの能力を失った!", "You lose your telepathic ability!");
1435 case 182: case 183: case 184:
1436 muta_class = &(creature_ptr->muta3);
1437 muta_which = MUT3_LIMBER;
1438 muta_desc = _( "筋肉が硬くなった。", "Your muscles stiffen.");
1441 case 185: case 186: case 187:
1442 muta_class = &(creature_ptr->muta3);
1443 muta_which = MUT3_ARTHRITIS;
1444 muta_desc = _( "関節が痛くなくなった。", "Your joints stop hurting.");
1448 muta_class = &(creature_ptr->muta3);
1449 muta_which = MUT3_BAD_LUCK;
1450 muta_desc = _( "黒いオーラは渦巻いて消えた。", "Your black aura swirls and fades.");
1454 muta_class = &(creature_ptr->muta3);
1455 muta_which = MUT3_VULN_ELEM;
1456 muta_desc = _( "無防備な感じはなくなった。", "You feel less exposed.");
1459 case 190: case 191: case 192:
1460 muta_class = &(creature_ptr->muta3);
1461 muta_which = MUT3_MOTION;
1462 muta_desc = _( "動作の正確さがなくなった。", "You move with less assurance.");
1466 if (creature_ptr->pseikaku == SEIKAKU_LUCKY) break;
1467 muta_class = &(creature_ptr->muta3);
1468 muta_which = MUT3_GOOD_LUCK;
1469 muta_desc = _( "白いオーラは輝いて消えた。", "Your white aura shimmers and fades.");
1477 if (muta_class && muta_which)
1479 if (*(muta_class) & muta_which)
1484 if (muta_chosen == TRUE) break;
1492 msg_print(muta_desc);
1493 *(muta_class) &= ~(muta_which);
1495 creature_ptr->update |= PU_BONUS;
1496 handle_stuff(creature_ptr);
1497 creature_ptr->mutant_regenerate_mod = calc_mutant_regenerate_mod(creature_ptr);
1502 void lose_all_mutations(player_type *creature_ptr)
1504 if (creature_ptr->muta1 || creature_ptr->muta2 || creature_ptr->muta3)
1506 chg_virtue(creature_ptr, V_CHANCE, -5);
1507 msg_print(_("全ての突然変異が治った。", "You are cured of all mutations."));
1508 creature_ptr->muta1 = creature_ptr->muta2 = creature_ptr->muta3 = 0;
1509 creature_ptr->update |= PU_BONUS;
1510 handle_stuff(creature_ptr);
1511 creature_ptr->mutant_regenerate_mod = calc_mutant_regenerate_mod(creature_ptr);
1517 * @brief ファイルポインタを通じて突然変異の一覧を出力する
1518 * @param OutFile 出力先ファイルポインタ
1521 void dump_mutations(player_type *creature_ptr, FILE *OutFile)
1523 if (!OutFile) return;
1525 if (creature_ptr->muta1)
1527 if (creature_ptr->muta1 & MUT1_SPIT_ACID)
1529 fprintf(OutFile, _(" あなたは酸を吹きかけることができる。(ダメージ レベルX1)\n", " You can spit acid (dam lvl).\n"));
1532 if (creature_ptr->muta1 & MUT1_BR_FIRE)
1534 fprintf(OutFile, _(" あなたは炎のブレスを吐くことができる。(ダメージ レベルX2)\n", " You can breathe fire (dam lvl * 2).\n"));
1537 if (creature_ptr->muta1 & MUT1_HYPN_GAZE)
1539 fprintf(OutFile, _(" あなたの睨みは催眠効果をもつ。\n", " Your gaze is hypnotic.\n"));
1542 if (creature_ptr->muta1 & MUT1_TELEKINES)
1544 fprintf(OutFile, _(" あなたは念動力をもっている。\n", " You are telekinetic.\n"));
1547 if (creature_ptr->muta1 & MUT1_VTELEPORT)
1549 fprintf(OutFile, _(" あなたは自分の意思でテレポートできる。\n", " You can teleport at will.\n"));
1552 if (creature_ptr->muta1 & MUT1_MIND_BLST)
1554 fprintf(OutFile, _(" あなたは敵を精神攻撃できる。\n", " You can Mind Blast your enemies.\n"));
1557 if (creature_ptr->muta1 & MUT1_RADIATION)
1559 fprintf(OutFile, _(" あなたは自分の意思で放射能を発生することができる。\n", " You can emit hard radiation at will.\n"));
1562 if (creature_ptr->muta1 & MUT1_VAMPIRISM)
1564 fprintf(OutFile, _(" あなたは吸血鬼のように敵から生命力を吸収することができる。\n", " You can drain life from a foe like a vampire.\n"));
1567 if (creature_ptr->muta1 & MUT1_SMELL_MET)
1569 fprintf(OutFile, _(" あなたは近くにある貴金属をかぎ分けることができる。\n", " You can smell nearby precious metal.\n"));
1572 if (creature_ptr->muta1 & MUT1_SMELL_MON)
1574 fprintf(OutFile, _(" あなたは近くのモンスターの存在をかぎ分けることができる。\n", " You can smell nearby monsters.\n"));
1577 if (creature_ptr->muta1 & MUT1_BLINK)
1579 fprintf(OutFile, _(" あなたは短い距離をテレポートできる。\n", " You can teleport yourself short distances.\n"));
1582 if (creature_ptr->muta1 & MUT1_EAT_ROCK)
1584 fprintf(OutFile, _(" あなたは硬い岩を食べることができる。\n", " You can consume solid rock.\n"));
1587 if (creature_ptr->muta1 & MUT1_SWAP_POS)
1589 fprintf(OutFile, _(" あなたは他の者と場所を入れ替わることができる。\n", " You can switch locations with another being.\n"));
1592 if (creature_ptr->muta1 & MUT1_SHRIEK)
1594 fprintf(OutFile, _(" あなたは身の毛もよだつ叫び声を発することができる。\n", " You can emit a horrible shriek.\n"));
1597 if (creature_ptr->muta1 & MUT1_ILLUMINE)
1599 fprintf(OutFile, _(" あなたは明るい光を放つことができる。\n", " You can emit bright light.\n"));
1602 if (creature_ptr->muta1 & MUT1_DET_CURSE)
1604 fprintf(OutFile, _(" あなたは邪悪な魔法の危険を感じとることができる。\n", " You can feel the danger of evil magic.\n"));
1607 if (creature_ptr->muta1 & MUT1_BERSERK)
1609 fprintf(OutFile, _(" あなたは自分の意思で狂乱戦闘状態になることができる。\n", " You can drive yourself into a berserk frenzy.\n"));
1612 if (creature_ptr->muta1 & MUT1_POLYMORPH)
1614 fprintf(OutFile, _(" あなたは自分の意志で変化できる。\n", " You can polymorph yourself at will.\n"));
1617 if (creature_ptr->muta1 & MUT1_MIDAS_TCH)
1619 fprintf(OutFile, _(" あなたは通常アイテムを金に変えることができる。\n", " You can current_world_ptr->game_turn ordinary items to gold.\n"));
1622 if (creature_ptr->muta1 & MUT1_GROW_MOLD)
1624 fprintf(OutFile, _(" あなたは周囲にキノコを生やすことができる。\n", " You can cause mold to grow near you.\n"));
1627 if (creature_ptr->muta1 & MUT1_RESIST)
1629 fprintf(OutFile, _(" あなたは元素の攻撃に対して身を硬くすることができる。\n", " You can harden yourself to the ravages of the elements.\n"));
1632 if (creature_ptr->muta1 & MUT1_EARTHQUAKE)
1634 fprintf(OutFile, _(" あなたは周囲のダンジョンを崩壊させることができる。\n", " You can bring down the dungeon around your ears.\n"));
1637 if (creature_ptr->muta1 & MUT1_EAT_MAGIC)
1639 fprintf(OutFile, _(" あなたは魔法のエネルギーを自分の物として使用できる。\n", " You can consume magic energy for your own use.\n"));
1642 if (creature_ptr->muta1 & MUT1_WEIGH_MAG)
1644 fprintf(OutFile, _(" あなたは自分に影響を与える魔法の力を感じることができる。\n", " You can feel the strength of the magics affecting you.\n"));
1647 if (creature_ptr->muta1 & MUT1_STERILITY)
1649 fprintf(OutFile, _(" あなたは集団的生殖不能を起こすことができる。\n", " You can cause mass impotence.\n"));
1652 if (creature_ptr->muta1 & MUT1_HIT_AND_AWAY)
1654 fprintf(OutFile, _(" あなたは攻撃した後身を守るため逃げることができる。\n", " You can run for your life after hitting something.\n"));
1657 if (creature_ptr->muta1 & MUT1_DAZZLE)
1659 fprintf(OutFile, _(" あなたは混乱と盲目を引き起こす放射能を発生することができる。 \n", " You can emit confusing, blinding radiation.\n"));
1662 if (creature_ptr->muta1 & MUT1_LASER_EYE)
1664 fprintf(OutFile, _(" あなたは目からレーザー光線を発射することができる。\n", " Your eyes can fire laser beams.\n"));
1667 if (creature_ptr->muta1 & MUT1_RECALL)
1669 fprintf(OutFile, _(" あなたは街とダンジョンの間を行き来することができる。\n", " You can travel between town and the depths.\n"));
1672 if (creature_ptr->muta1 & MUT1_BANISH)
1674 fprintf(OutFile, _(" あなたは邪悪なモンスターを地獄に落とすことができる。\n", " You can send evil creatures directly to Hell.\n"));
1677 if (creature_ptr->muta1 & MUT1_COLD_TOUCH)
1679 fprintf(OutFile, _(" あなたは物を触って凍らせることができる。\n", " You can freeze things with a touch.\n"));
1682 if (creature_ptr->muta1 & MUT1_LAUNCHER)
1684 fprintf(OutFile, _(" あなたはアイテムを力強く投げることができる。\n", " You can hurl objects with great force.\n"));
1689 if (creature_ptr->muta2)
1691 if (creature_ptr->muta2 & MUT2_BERS_RAGE)
1693 fprintf(OutFile, _(" あなたは狂戦士化の発作を起こす。\n", " You are subject to berserker fits.\n"));
1696 if (creature_ptr->muta2 & MUT2_COWARDICE)
1698 fprintf(OutFile, _(" あなたは時々臆病になる。\n", " You are subject to cowardice.\n"));
1701 if (creature_ptr->muta2 & MUT2_RTELEPORT)
1703 fprintf(OutFile, _(" あなたはランダムにテレポートする。\n", " You are teleporting randomly.\n"));
1706 if (creature_ptr->muta2 & MUT2_ALCOHOL)
1708 fprintf(OutFile, _(" あなたの体はアルコールを分泌する。\n", " Your body produces alcohol.\n"));
1711 if (creature_ptr->muta2 & MUT2_HALLU)
1713 fprintf(OutFile, _(" あなたは幻覚を引き起こす精神錯乱に侵されている。\n", " You have a hallucinatory insanity.\n"));
1716 if (creature_ptr->muta2 & MUT2_FLATULENT)
1718 fprintf(OutFile, _(" あなたは制御できない強烈な屁をこく。\n", " You are subject to uncontrollable flatulence.\n"));
1721 if (creature_ptr->muta2 & MUT2_PROD_MANA)
1723 fprintf(OutFile, _(" あなたは制御不能な魔法のエネルギーを発している。\n", " You are producing magical energy uncontrollably.\n"));
1726 if (creature_ptr->muta2 & MUT2_ATT_DEMON)
1728 fprintf(OutFile, _(" あなたはデーモンを引きつける。\n", " You attract demons.\n"));
1731 if (creature_ptr->muta2 & MUT2_SCOR_TAIL)
1733 fprintf(OutFile, _(" あなたはサソリの尻尾が生えている。(毒、ダメージ 3d7)\n", " You have a scorpion tail (poison, 3d7).\n"));
1736 if (creature_ptr->muta2 & MUT2_HORNS)
1738 fprintf(OutFile, _(" あなたは角が生えている。(ダメージ 2d6)\n", " You have horns (dam. 2d6).\n"));
1741 if (creature_ptr->muta2 & MUT2_BEAK)
1743 fprintf(OutFile, _(" あなたはクチバシが生えている。(ダメージ 2d4)\n", " You have a beak (dam. 2d4).\n"));
1746 if (creature_ptr->muta2 & MUT2_SPEED_FLUX)
1748 fprintf(OutFile, _(" あなたはランダムに早く動いたり遅く動いたりする。\n", " You move faster or slower randomly.\n"));
1751 if (creature_ptr->muta2 & MUT2_BANISH_ALL)
1753 fprintf(OutFile, _(" あなたは時々近くのモンスターを消滅させる。\n", " You sometimes cause nearby creatures to vanish.\n"));
1756 if (creature_ptr->muta2 & MUT2_EAT_LIGHT)
1758 fprintf(OutFile, _(" あなたは時々周囲の光を吸収して栄養にする。\n", " You sometimes feed off of the light around you.\n"));
1761 if (creature_ptr->muta2 & MUT2_TRUNK)
1763 fprintf(OutFile, _(" あなたは象のような鼻を持っている。(ダメージ 1d4)\n", " You have an elephantine trunk (dam 1d4).\n"));
1766 if (creature_ptr->muta2 & MUT2_ATT_ANIMAL)
1768 fprintf(OutFile, _(" あなたは動物を引きつける。\n", " You attract animals.\n"));
1771 if (creature_ptr->muta2 & MUT2_TENTACLES)
1773 fprintf(OutFile, _(" あなたは邪悪な触手を持っている。(ダメージ 2d5)\n", " You have evil looking tentacles (dam 2d5).\n"));
1776 if (creature_ptr->muta2 & MUT2_RAW_CHAOS)
1778 fprintf(OutFile, _(" あなたはしばしば純カオスに包まれる。\n", " You occasionally are surrounded with raw chaos.\n"));
1781 if (creature_ptr->muta2 & MUT2_NORMALITY)
1783 fprintf(OutFile, _(" あなたは変異していたが、回復してきている。\n", " You may be mutated, but you're recovering.\n"));
1786 if (creature_ptr->muta2 & MUT2_WRAITH)
1788 fprintf(OutFile, _(" あなたの肉体は幽体化したり実体化したりする。\n", " You fade in and out of physical reality.\n"));
1791 if (creature_ptr->muta2 & MUT2_POLY_WOUND)
1793 fprintf(OutFile, _(" あなたの健康はカオスの力に影響を受ける。\n", " Your health is subject to chaotic forces.\n"));
1796 if (creature_ptr->muta2 & MUT2_WASTING)
1798 fprintf(OutFile, _(" あなたは衰弱する恐ろしい病気にかかっている。\n", " You have a horrible wasting disease.\n"));
1801 if (creature_ptr->muta2 & MUT2_ATT_DRAGON)
1803 fprintf(OutFile, _(" あなたはドラゴンを引きつける。\n", " You attract dragons.\n"));
1806 if (creature_ptr->muta2 & MUT2_WEIRD_MIND)
1808 fprintf(OutFile, _(" あなたの精神はランダムに拡大したり縮小したりしている。\n", " Your mind randomly expands and contracts.\n"));
1811 if (creature_ptr->muta2 & MUT2_NAUSEA)
1813 fprintf(OutFile, _(" あなたの胃は非常に落ち着きがない。\n", " You have a seriously upset stomach.\n"));
1816 if (creature_ptr->muta2 & MUT2_CHAOS_GIFT)
1818 fprintf(OutFile, _(" あなたはカオスの守護悪魔から褒美をうけとる。\n", " Chaos deities give you gifts.\n"));
1821 if (creature_ptr->muta2 & MUT2_WALK_SHAD)
1823 fprintf(OutFile, _(" あなたはしばしば他の「影」に迷い込む。\n", " You occasionally stumble into other shadows.\n"));
1826 if (creature_ptr->muta2 & MUT2_WARNING)
1828 fprintf(OutFile, _(" あなたは敵に関する警告を感じる。\n", " You receive warnings about your foes.\n"));
1831 if (creature_ptr->muta2 & MUT2_INVULN)
1833 fprintf(OutFile, _(" あなたは時々負け知らずな気分になる。\n", " You occasionally feel invincible.\n"));
1836 if (creature_ptr->muta2 & MUT2_SP_TO_HP)
1838 fprintf(OutFile, _(" あなたは時々血が筋肉にどっと流れる。\n", " Your blood sometimes rushes to your muscles.\n"));
1841 if (creature_ptr->muta2 & MUT2_HP_TO_SP)
1843 fprintf(OutFile, _(" あなたは時々頭に血がどっと流れる。\n", " Your blood sometimes rushes to your head.\n"));
1846 if (creature_ptr->muta2 & MUT2_DISARM)
1848 fprintf(OutFile, _(" あなたはよくつまづいて物を落とす。\n", " You occasionally stumble and drop things.\n"));
1853 if (creature_ptr->muta3)
1855 if (creature_ptr->muta3 & MUT3_HYPER_STR)
1857 fprintf(OutFile, _(" あなたは超人的に強い。(腕力+4)\n", " You are superhumanly strong (+4 STR).\n"));
1860 if (creature_ptr->muta3 & MUT3_PUNY)
1862 fprintf(OutFile, _(" あなたは虚弱だ。(腕力-4)\n", " You are puny (-4 STR).\n"));
1865 if (creature_ptr->muta3 & MUT3_HYPER_INT)
1867 fprintf(OutFile, _(" あなたの脳は生体コンピュータだ。(知能&賢さ+4)\n", " Your brain is a living computer (+4 INT/WIS).\n"));
1870 if (creature_ptr->muta3 & MUT3_MORONIC)
1872 fprintf(OutFile, _(" あなたは精神薄弱だ。(知能&賢さ-4)\n", " You are moronic (-4 INT/WIS).\n"));
1875 if (creature_ptr->muta3 & MUT3_RESILIENT)
1877 fprintf(OutFile, _(" あなたの体は弾力性に富んでいる。(耐久+4)\n", " You are very resilient (+4 CON).\n"));
1880 if (creature_ptr->muta3 & MUT3_XTRA_FAT)
1882 fprintf(OutFile, _(" あなたは極端に太っている。(耐久+2,スピード-2)\n", " You are extremely fat (+2 CON, -2 speed).\n"));
1885 if (creature_ptr->muta3 & MUT3_ALBINO)
1887 fprintf(OutFile, _(" あなたはアルビノだ。(耐久-4)\n", " You are albino (-4 CON).\n"));
1890 if (creature_ptr->muta3 & MUT3_FLESH_ROT)
1892 fprintf(OutFile, _(" あなたの肉体は腐敗している。(耐久-2,魅力-1)\n", " Your flesh is rotting (-2 CON, -1 CHR).\n"));
1895 if (creature_ptr->muta3 & MUT3_SILLY_VOI)
1897 fprintf(OutFile, _(" あなたの声は間抜けなキーキー声だ。(魅力-4)\n", " Your voice is a silly squeak (-4 CHR).\n"));
1900 if (creature_ptr->muta3 & MUT3_BLANK_FAC)
1902 fprintf(OutFile, _(" あなたはのっぺらぼうだ。(魅力-1)\n", " Your face is featureless (-1 CHR).\n"));
1905 if (creature_ptr->muta3 & MUT3_ILL_NORM)
1907 fprintf(OutFile, _(" あなたは幻影に覆われている。\n", " Your appearance is masked with illusion.\n"));
1910 if (creature_ptr->muta3 & MUT3_XTRA_EYES)
1912 fprintf(OutFile, _(" あなたは余分に二つの目を持っている。(探索+15)\n", " You have an extra pair of eyes (+15 search).\n"));
1915 if (creature_ptr->muta3 & MUT3_MAGIC_RES)
1917 fprintf(OutFile, _(" あなたは魔法への耐性をもっている。\n", " You are resistant to magic.\n"));
1920 if (creature_ptr->muta3 & MUT3_XTRA_NOIS)
1922 fprintf(OutFile, _(" あなたは変な音を発している。(隠密-3)\n", " You make a lot of strange noise (-3 stealth).\n"));
1925 if (creature_ptr->muta3 & MUT3_INFRAVIS)
1927 fprintf(OutFile, _(" あなたは素晴らしい赤外線視力を持っている。(+3)\n", " You have remarkable infravision (+3).\n"));
1930 if (creature_ptr->muta3 & MUT3_XTRA_LEGS)
1932 fprintf(OutFile, _(" あなたは余分に二本の足が生えている。(加速+3)\n", " You have an extra pair of legs (+3 speed).\n"));
1935 if (creature_ptr->muta3 & MUT3_SHORT_LEG)
1937 fprintf(OutFile, _(" あなたの足は短い突起だ。(加速-3)\n", " Your legs are short stubs (-3 speed).\n"));
1940 if (creature_ptr->muta3 & MUT3_ELEC_TOUC)
1942 fprintf(OutFile, _(" あなたの血管には電流が流れている。\n", " Electricity is running through your veins.\n"));
1945 if (creature_ptr->muta3 & MUT3_FIRE_BODY)
1947 fprintf(OutFile, _(" あなたの体は炎につつまれている。\n", " Your body is enveloped in flames.\n"));
1950 if (creature_ptr->muta3 & MUT3_WART_SKIN)
1952 fprintf(OutFile, _(" あなたの肌はイボに被われている。(魅力-2, AC+5)\n", " Your skin is covered with warts (-2 CHR, +5 AC).\n"));
1955 if (creature_ptr->muta3 & MUT3_SCALES)
1957 fprintf(OutFile, _(" あなたの肌は鱗になっている。(魅力-1, AC+10)\n", " Your skin has turned into scales (-1 CHR, +10 AC).\n"));
1960 if (creature_ptr->muta3 & MUT3_IRON_SKIN)
1962 fprintf(OutFile, _(" あなたの肌は鉄でできている。(器用-1, AC+25)\n", " Your skin is made of steel (-1 DEX, +25 AC).\n"));
1965 if (creature_ptr->muta3 & MUT3_WINGS)
1967 fprintf(OutFile, _(" あなたは羽を持っている。\n", " You have wings.\n"));
1970 if (creature_ptr->muta3 & MUT3_FEARLESS)
1972 fprintf(OutFile, _(" あなたは全く恐怖を感じない。\n", " You are completely fearless.\n"));
1975 if (creature_ptr->muta3 & MUT3_REGEN)
1977 fprintf(OutFile, _(" あなたは急速に回復する。\n", " You are regenerating.\n"));
1980 if (creature_ptr->muta3 & MUT3_ESP)
1982 fprintf(OutFile, _(" あなたはテレパシーを持っている。\n", " You are telepathic.\n"));
1985 if (creature_ptr->muta3 & MUT3_LIMBER)
1987 fprintf(OutFile, _(" あなたの体は非常にしなやかだ。(器用+3)\n", " Your body is very limber (+3 DEX).\n"));
1990 if (creature_ptr->muta3 & MUT3_ARTHRITIS)
1992 fprintf(OutFile, _(" あなたはいつも関節に痛みを感じている。(器用-3)\n", " Your joints ache constantly (-3 DEX).\n"));
1995 if (creature_ptr->muta3 & MUT3_VULN_ELEM)
1997 fprintf(OutFile, _(" あなたは元素の攻撃に弱い。\n", " You are susceptible to damage from the elements.\n"));
2000 if (creature_ptr->muta3 & MUT3_MOTION)
2002 fprintf(OutFile, _(" あなたの動作は正確で力強い。(隠密+1)\n", " Your movements are precise and forceful (+1 STL).\n"));
2005 if (creature_ptr->muta3 & MUT3_GOOD_LUCK)
2007 fprintf(OutFile, _(" あなたは白いオーラにつつまれている。\n", " There is a white aura surrounding you.\n"));
2010 if (creature_ptr->muta3 & MUT3_BAD_LUCK)
2012 fprintf(OutFile, _(" あなたは黒いオーラにつつまれている。\n", " There is a black aura surrounding you.\n"));
2019 * @brief 突然変異表示コマンドの実装 / List mutations we have...
2022 void do_cmd_knowledge_mutations(player_type *creature_ptr)
2025 GAME_TEXT file_name[1024];
2027 fff = my_fopen_temp(file_name, 1024);
2028 if (fff) dump_mutations(creature_ptr, fff);
2031 show_file(creature_ptr, TRUE, file_name, _("突然変異", "Mutations"), 0, 0);
2037 * @brief 現在プレイヤー得ている突然変異の数を返す。
2038 * @return 現在得ている突然変異の数
2040 static int count_mutations(player_type *creature_ptr)
2042 return (count_bits(creature_ptr->muta1) +
2043 count_bits(creature_ptr->muta2) +
2044 count_bits(creature_ptr->muta3));
2049 * @brief 突然変異による自然回復ペナルティをパーセント値で返す /
2050 * Return the modifier to the regeneration rate (in percent)
2051 * @return ペナルティ修正(%)
2053 int calc_mutant_regenerate_mod(player_type *creature_ptr)
2057 int count = count_mutations(creature_ptr);
2060 * Beastman get 10 "free" mutations and
2061 * only 5% decrease per additional mutation
2064 if (creature_ptr->pseikaku == SEIKAKU_LUCKY) count--;
2065 if (creature_ptr->prace == RACE_BEASTMAN)
2071 /* No negative modifier */
2072 if (count <= 0) return 100;
2074 regen = 100 - count * mod;
2076 /* Max. 90% decrease in regeneration speed */
2077 if (regen < 10) regen = 10;
2084 * @brief 突然変異のレイシャル効果実装
2085 * @param creature_ptr プレーヤーへの参照ポインタ
2086 * @param power 発動させる突然変異レイシャルのID
2087 * @return レイシャルを実行した場合TRUE、キャンセルした場合FALSEを返す
2089 bool exe_mutation_power(player_type *creature_ptr, int power)
2092 PLAYER_LEVEL lvl = creature_ptr->lev;
2096 case MUT1_SPIT_ACID:
2097 if (!get_aim_dir(creature_ptr, &dir)) return FALSE;
2098 stop_mouth(creature_ptr);
2099 msg_print(_("酸を吐きかけた...", "You spit acid..."));
2100 fire_ball(creature_ptr, GF_ACID, dir, lvl, 1 + (lvl / 30));
2104 if (!get_aim_dir(creature_ptr, &dir)) return FALSE;
2105 stop_mouth(creature_ptr);
2106 msg_print(_("あなたは火炎のブレスを吐いた...", "You breathe fire..."));
2107 fire_breath(creature_ptr, GF_FIRE, dir, lvl * 2, 1 + (lvl / 20));
2110 case MUT1_HYPN_GAZE:
2111 if (!get_aim_dir(creature_ptr, &dir)) return FALSE;
2112 msg_print(_("あなたの目は幻惑的になった...", "Your eyes look mesmerizing..."));
2113 (void)charm_monster(creature_ptr, dir, lvl);
2116 case MUT1_TELEKINES:
2117 if (!get_aim_dir(creature_ptr, &dir)) return FALSE;
2118 msg_print(_("集中している...", "You concentrate..."));
2119 fetch(creature_ptr, dir, lvl * 10, TRUE);
2122 case MUT1_VTELEPORT:
2123 msg_print(_("集中している...", "You concentrate..."));
2124 teleport_player(creature_ptr, 10 + 4 * lvl, 0L);
2127 case MUT1_MIND_BLST:
2128 if (!get_aim_dir(creature_ptr, &dir)) return FALSE;
2129 msg_print(_("集中している...", "You concentrate..."));
2130 fire_bolt(creature_ptr, GF_PSI, dir, damroll(3 + ((lvl - 1) / 5), 3));
2133 case MUT1_RADIATION:
2134 msg_print(_("体から放射能が発生した!", "Radiation flows from your body!"));
2135 fire_ball(creature_ptr, GF_NUKE, 0, (lvl * 2), 3 + (lvl / 20));
2138 case MUT1_VAMPIRISM:
2139 vampirism(creature_ptr);
2142 case MUT1_SMELL_MET:
2143 stop_mouth(creature_ptr);
2144 (void)detect_treasure(creature_ptr, DETECT_RAD_DEFAULT);
2147 case MUT1_SMELL_MON:
2148 stop_mouth(creature_ptr);
2149 (void)detect_monsters_normal(creature_ptr, DETECT_RAD_DEFAULT);
2153 teleport_player(creature_ptr, 10, 0L);
2157 return eat_rock(creature_ptr);
2161 project_length = -1;
2162 if (!get_aim_dir(creature_ptr, &dir))
2167 (void)teleport_swap(creature_ptr, dir);
2172 stop_mouth(creature_ptr);
2173 (void)fire_ball(creature_ptr, GF_SOUND, 0, 2 * lvl, 8);
2174 (void)aggravate_monsters(creature_ptr, 0);
2178 (void)lite_area(creature_ptr, damroll(2, (lvl / 2)), (lvl / 10) + 1);
2181 case MUT1_DET_CURSE:
2185 for (i = 0; i < INVEN_TOTAL; i++)
2187 object_type *o_ptr = &creature_ptr->inventory_list[i];
2189 if (!o_ptr->k_idx) continue;
2190 if (!object_is_cursed(o_ptr)) continue;
2192 o_ptr->feeling = FEEL_CURSED;
2198 (void)berserk(creature_ptr, randint1(25) + 25);
2201 case MUT1_POLYMORPH:
2202 if (!get_check(_("変身します。よろしいですか?", "You will polymorph your self. Are you sure? "))) return FALSE;
2203 do_poly_self(creature_ptr);
2206 case MUT1_MIDAS_TCH:
2207 if (!alchemy(creature_ptr)) return FALSE;
2210 /* Summon pet molds around the player */
2211 case MUT1_GROW_MOLD:
2214 for (i = 0; i < 8; i++)
2216 summon_specific(creature_ptr, -1, creature_ptr->y, creature_ptr->x, lvl, SUMMON_MOLD, PM_FORCE_PET);
2224 TIME_EFFECT dur = randint1(20) + 20;
2226 if (randint0(5) < num)
2228 (void)set_oppose_acid(creature_ptr, dur, FALSE);
2231 if (randint0(4) < num)
2233 (void)set_oppose_elec(creature_ptr, dur, FALSE);
2236 if (randint0(3) < num)
2238 (void)set_oppose_fire(creature_ptr, dur, FALSE);
2241 if (randint0(2) < num)
2243 (void)set_oppose_cold(creature_ptr, dur, FALSE);
2248 (void)set_oppose_pois(creature_ptr, dur, FALSE);
2254 case MUT1_EARTHQUAKE:
2255 (void)earthquake(creature_ptr, creature_ptr->y, creature_ptr->x, 10, 0);
2258 case MUT1_EAT_MAGIC:
2259 if (!eat_magic(creature_ptr, creature_ptr->lev * 2)) return FALSE;
2262 case MUT1_WEIGH_MAG:
2263 report_magics(creature_ptr);
2266 case MUT1_STERILITY:
2267 msg_print(_("突然頭が痛くなった!", "You suddenly have a headache!"));
2268 take_hit(creature_ptr, DAMAGE_LOSELIFE, randint1(17) + 17, _("禁欲を強いた疲労", "the strain of forcing abstinence"), -1);
2269 creature_ptr->current_floor_ptr->num_repro += MAX_REPRO;
2272 case MUT1_HIT_AND_AWAY:
2273 if(!hit_and_away(creature_ptr)) return FALSE;
2277 stun_monsters(creature_ptr, lvl * 4);
2278 confuse_monsters(creature_ptr, lvl * 4);
2279 turn_monsters(creature_ptr, lvl * 4);
2282 case MUT1_LASER_EYE:
2283 if (!get_aim_dir(creature_ptr, &dir)) return FALSE;
2284 fire_beam(creature_ptr, GF_LITE, dir, 2 * lvl);
2288 if (!recall_player(creature_ptr, randint0(21) + 15)) return FALSE;
2295 monster_type *m_ptr;
2296 monster_race *r_ptr;
2297 if (!get_direction(creature_ptr, &dir, FALSE, FALSE)) return FALSE;
2298 y = creature_ptr->y + ddy[dir];
2299 x = creature_ptr->x + ddx[dir];
2300 g_ptr = &creature_ptr->current_floor_ptr->grid_array[y][x];
2304 msg_print(_("邪悪な存在を感じとれません!", "You sense no evil there!"));
2309 m_ptr = &creature_ptr->current_floor_ptr->m_list[g_ptr->m_idx];
2310 r_ptr = &r_info[m_ptr->r_idx];
2312 if ((r_ptr->flags3 & RF3_EVIL) &&
2313 !(r_ptr->flags1 & RF1_QUESTOR) &&
2314 !(r_ptr->flags1 & RF1_UNIQUE) &&
2315 !creature_ptr->current_floor_ptr->inside_arena && !creature_ptr->current_floor_ptr->inside_quest &&
2316 (r_ptr->level < randint1(creature_ptr->lev+50)) &&
2317 !(m_ptr->mflag2 & MFLAG2_NOGENO))
2319 if (record_named_pet && is_pet(m_ptr) && m_ptr->nickname)
2321 GAME_TEXT m_name[MAX_NLEN];
2322 monster_desc(creature_ptr, m_name, m_ptr, MD_INDEF_VISIBLE);
2323 exe_write_diary(creature_ptr, DIARY_NAMED_PET, RECORD_NAMED_PET_GENOCIDE, m_name);
2325 /* Delete the monster, rather than killing it. */
2326 delete_monster_idx(creature_ptr, g_ptr->m_idx);
2327 msg_print(_("その邪悪なモンスターは硫黄臭い煙とともに消え去った!", "The evil creature vanishes in a puff of sulfurous smoke!"));
2332 msg_print(_("祈りは効果がなかった!", "Your invocation is ineffectual!"));
2333 if (one_in_(13)) m_ptr->mflag2 |= MFLAG2_NOGENO;
2338 case MUT1_COLD_TOUCH:
2342 if (!get_direction(creature_ptr, &dir, FALSE, FALSE)) return FALSE;
2343 y = creature_ptr->y + ddy[dir];
2344 x = creature_ptr->x + ddx[dir];
2345 g_ptr = &creature_ptr->current_floor_ptr->grid_array[y][x];
2348 msg_print(_("あなたは何もない場所で手を振った。", "You wave your hands in the air."));
2352 fire_bolt(creature_ptr, GF_COLD, dir, 2 * lvl);
2356 /* XXX_XXX_XXX Hack! MUT1_LAUNCHER is negative, see above */
2357 case 3: /* MUT1_LAUNCHER */
2358 /* Gives a multiplier of 2 at first, up to 3 at 40th */
2359 if (!do_cmd_throw(creature_ptr, 2 + lvl / 40, FALSE, -1)) return FALSE;
2363 free_turn(creature_ptr);
2364 msg_format(_("能力 %s は実装されていません。", "Power %s not implemented. Oops."), power);
2370 void become_living_trump(player_type *creature_ptr)
2372 MUTATION_IDX mutation;
2375 mutation = 12; /* Teleport control */
2377 mutation = 77; /* Random teleportation (uncontrolled) */
2379 /* Gain the mutation */
2380 if (gain_mutation(creature_ptr, mutation))
2382 msg_print(_("あなたは生きているカードに変わった。", "You have turned into a Living Trump."));