extern bool double_attack(player_type *creature_ptr);
extern bool comvert_hp_to_mp(player_type *creature_ptr);
extern bool comvert_mp_to_hp(player_type *creature_ptr);
+extern bool demonic_breath(player_type *creature_ptr);
/* spells3.c */
extern bool teleport_away(MONSTER_IDX m_idx, POSITION dis, BIT_FLAGS mode);
case MIMIC_DEMON:
case MIMIC_DEMON_LORD:
{
- int type = (one_in_(2) ? GF_NETHER : GF_FIRE);
- if (!get_aim_dir(&dir)) return FALSE;
- stop_mouth();
- msg_format(_("あなたは%sのブレスを吐いた。", "You breathe %s."),((type == GF_NETHER) ? _("地獄", "nether") : _("火炎", "fire")));
- fire_breath(type, dir, plev * 3, (plev / 15) + 1);
- break;
+ return demonic_breath(p_ptr);
}
case MIMIC_VAMPIRE:
vampirism();
break;
case RACE_DEMON:
- {
- int type = (one_in_(2) ? GF_NETHER : GF_FIRE);
- if (!get_aim_dir(&dir)) return FALSE;
- stop_mouth();
- msg_format(_("あなたは%sのブレスを吐いた。", "You breathe %s."),((type == GF_NETHER) ? _("地獄", "nether") : _("火炎", "fire")));
- fire_breath(type, dir, plev * 3, (plev / 15) + 1);
- }
+ return demonic_breath(p_ptr);
break;
case RACE_KUTAR:
/* Redraw mana and hp */
creature_ptr->redraw |= (PR_HP | PR_MANA);
return TRUE;
-}
\ No newline at end of file
+}
+
+bool demonic_breath(player_type *creature_ptr)
+{
+ DIRECTION dir;
+ int type = (one_in_(2) ? GF_NETHER : GF_FIRE);
+ if (!get_aim_dir(&dir)) return FALSE;
+ stop_mouth();
+ msg_format(_("あなたは%sのブレスを吐いた。", "You breathe %s."), ((type == GF_NETHER) ? _("地獄", "nether") : _("火炎", "fire")));
+ fire_breath(type, dir, creature_ptr->lev * 3, (creature_ptr->lev / 15) + 1);
+ return TRUE;
+}
+