From bd83b115ef4c7865d2231eb5457ee8e2e33fed05 Mon Sep 17 00:00:00 2001 From: Hourier Date: Sat, 18 Jul 2020 22:16:20 +0900 Subject: [PATCH] [Refactor] #40481 Separated cast_blue_shoot() from cast_learned_spell() --- src/blue-magic/blue-magic-caster.c | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/blue-magic/blue-magic-caster.c b/src/blue-magic/blue-magic-caster.c index 19b566066..a5fc26743 100644 --- a/src/blue-magic/blue-magic-caster.c +++ b/src/blue-magic/blue-magic-caster.c @@ -67,6 +67,17 @@ static bool cast_blue_rocket(player_type *caster_ptr, blue_magic_type *bm_ptr) return TRUE; } +static bool cast_blue_shoot(player_type *caster_ptr, blue_magic_type *bm_ptr) +{ + if (!get_aim_dir(caster_ptr, &bm_ptr->dir)) + return FALSE; + + msg_print(_("矢を放った。", "You fire an arrow.")); + bm_ptr->damage = monspell_bluemage_damage(caster_ptr, (MS_SHOOT), bm_ptr->plev, DAM_ROLL); + fire_bolt(caster_ptr, GF_ARROW, bm_ptr->dir, bm_ptr->damage); + return TRUE; +} + /*! * @brief 青魔法の発動 / * do_cmd_cast calls this function if the player's class is 'blue-mage'. @@ -98,15 +109,11 @@ bool cast_learned_spell(player_type *caster_ptr, int spell, const bool success) return FALSE; break; - case MS_SHOOT: { - if (!get_aim_dir(caster_ptr, &bm_ptr->dir)) + case MS_SHOOT: + if (!cast_blue_shoot(caster_ptr, bm_ptr)) return FALSE; - msg_print(_("矢を放った。", "You fire an arrow.")); - bm_ptr->damage = monspell_bluemage_damage(caster_ptr, (MS_SHOOT), bm_ptr->plev, DAM_ROLL); - fire_bolt(caster_ptr, GF_ARROW, bm_ptr->dir, bm_ptr->damage); break; - } case MS_BR_ACID: if (!get_aim_dir(caster_ptr, &bm_ptr->dir)) return FALSE; -- 2.11.0