return (regen);
}
-/*!
- * @brief 突然変異レイシャル上で口を使うよりを行った際に歌や呪術を停止する /
- * @return なし
- */
-static void mutation_stop_mouth(void)
-{
- if (music_singing_any()) stop_singing();
- if (hex_spelling_any()) stop_hex_spell_all();
-}
-
/*!
* @brief 突然変異のレイシャル効果実装
{
case MUT1_SPIT_ACID:
if (!get_aim_dir(&dir)) return FALSE;
- mutation_stop_mouth();
+ stop_mouth();
msg_print(_("酸を吐きかけた...", "You spit acid..."));
fire_ball(GF_ACID, dir, lvl, 1 + (lvl / 30));
case MUT1_BR_FIRE:
if (!get_aim_dir(&dir)) return FALSE;
- mutation_stop_mouth();
+ stop_mouth();
msg_print(_("あなたは火炎のブレスを吐いた...", "You breathe fire..."));
fire_breath(GF_FIRE, dir, lvl * 2, 1 + (lvl / 20));
x = p_ptr->x + ddx[dir];
c_ptr = &cave[y][x];
- mutation_stop_mouth();
+ stop_mouth();
if (!(c_ptr->m_idx))
{
break;
case MUT1_SMELL_MET:
- mutation_stop_mouth();
+ stop_mouth();
(void)detect_treasure(DETECT_RAD_DEFAULT);
break;
case MUT1_SMELL_MON:
- mutation_stop_mouth();
+ stop_mouth();
(void)detect_monsters_normal(DETECT_RAD_DEFAULT);
break;
f_ptr = &f_info[c_ptr->feat];
mimic_f_ptr = &f_info[get_feat_mimic(c_ptr)];
- mutation_stop_mouth();
+ stop_mouth();
if (!have_flag(mimic_f_ptr->flags, FF_HURT_ROCK))
{
break;
case MUT1_SHRIEK:
- mutation_stop_mouth();
+ stop_mouth();
(void)fire_ball(GF_SOUND, 0, 2 * lvl, 8);
(void)aggravate_monsters(0);
break;
break;
case MUT1_STERILITY:
- /* Fake a population explosion. */
-#ifdef JP
- msg_print("突然頭が痛くなった!");
- take_hit(DAMAGE_LOSELIFE, randint1(17) + 17, "禁欲を強いた疲労", -1);
-#else
- msg_print("You suddenly have a headache!");
- take_hit(DAMAGE_LOSELIFE, randint1(17) + 17, "the strain of forcing abstinence", -1);
-#endif
-
+ msg_print(_("突然頭が痛くなった!", "You suddenly have a headache!"));
+ take_hit(DAMAGE_LOSELIFE, randint1(17) + 17, _("禁欲を強いた疲労", "the strain of forcing abstinence"), -1);
num_repro += MAX_REPRO;
break;
else
{
msg_print(_("その方向にはモンスターはいません。", "You don't see any monster in this direction"));
-
msg_print(NULL);
}
}
else
{
msg_print(_("祈りは効果がなかった!", "Your invocation is ineffectual!"));
-
if (one_in_(13)) m_ptr->mflag2 |= MFLAG2_NOGENO;
}
}
return -1;
}
-/*!
- * @brief レイシャル・パワー発動時に口を使う継続的な詠唱処理を中断する
- * @return なし
- */
-void ratial_stop_mouth(void)
-{
- if (music_singing_any()) stop_singing();
- if (hex_spelling_any()) stop_hex_spell_all();
-}
/*!
* @brief レイシャル・パワー発動処理
{
int type = (one_in_(2) ? GF_NETHER : GF_FIRE);
if (!get_aim_dir(&dir)) return FALSE;
- ratial_stop_mouth();
+ stop_mouth();
#ifdef JP
msg_format("あなたは%sのブレスを吐いた。",((type == GF_NETHER) ? "地獄" : "火炎"));
#else
x = p_ptr->x + ddx[dir];
c_ptr = &cave[y][x];
- ratial_stop_mouth();
+ stop_mouth();
if (!c_ptr->m_idx)
{
case RACE_YEEK:
if (!get_aim_dir(&dir)) return FALSE;
- ratial_stop_mouth();
+ stop_mouth();
msg_print(_("身の毛もよだつ叫び声を上げた!", "You make a horrible scream!"));
(void)fear_monster(dir, plev);
break;
case RACE_KLACKON:
if (!get_aim_dir(&dir)) return FALSE;
- ratial_stop_mouth();
+ stop_mouth();
msg_print(_("酸を吐いた。", "You spit acid."));
if (plev < 25) fire_bolt(GF_ACID, dir, plev);
else fire_ball(GF_ACID, dir, plev, 2);
}
}
- ratial_stop_mouth();
+ stop_mouth();
msg_format(_("あなたは%sのブレスを吐いた。", "You breathe %s."), Type_desc);
fire_breath(Type, dir, plev * 2, (plev / 15) + 1);
x = p_ptr->x + ddx[dir];
c_ptr = &cave[y][x];
- ratial_stop_mouth();
+ stop_mouth();
if (!c_ptr->m_idx)
{
case RACE_SPECTRE:
if (!get_aim_dir(&dir)) return FALSE;
- ratial_stop_mouth();
+ stop_mouth();
msg_print(_("あなたはおどろおどろしい叫び声をあげた!", "You emit an eldritch howl!"));
(void)fear_monster(dir, plev);
break;
{
int type = (one_in_(2) ? GF_NETHER : GF_FIRE);
if (!get_aim_dir(&dir)) return FALSE;
- ratial_stop_mouth();
+ stop_mouth();
#ifdef JP
msg_format("あなたは%sのブレスを吐いた。",((type == GF_NETHER) ? "地獄" : "火炎"));
#else