From: Deskull Date: Fri, 18 Jan 2019 12:41:42 +0000 (+0900) Subject: [Refactor] #37353 魔力の嵐の杖の効果を unleash_mana_storm() に分離。 / Separate implementation... X-Git-Url: http://git.osdn.net/view?p=hengband%2Fhengband.git;a=commitdiff_plain;h=f178196957c974aae1798d33c5168f818d4a572c [Refactor] #37353 魔力の嵐の杖の効果を unleash_mana_storm() に分離。 / Separate implementation of 'staff of mana storm' to unleash_mana_storm(). --- diff --git a/src/cmd-usestaff.c b/src/cmd-usestaff.c index a97a724f2..44e3ce4e5 100644 --- a/src/cmd-usestaff.c +++ b/src/cmd-usestaff.c @@ -265,15 +265,7 @@ int staff_effect(OBJECT_SUBTYPE_VALUE sval, bool *use_charge, bool powerful, boo case SV_STAFF_MSTORM: { - msg_print(_("強力な魔力が敵を引き裂いた!", "Mighty magics rend your enemies!")); - project(0, (powerful ? 7 : 5), p_ptr->y, p_ptr->x, - (randint1(200) + (powerful ? 500 : 300)) * 2, GF_MANA, PROJECT_KILL | PROJECT_ITEM | PROJECT_GRID, -1); - if ((p_ptr->pclass != CLASS_MAGE) && (p_ptr->pclass != CLASS_HIGH_MAGE) && (p_ptr->pclass != CLASS_SORCERER) && (p_ptr->pclass != CLASS_MAGIC_EATER) && (p_ptr->pclass != CLASS_BLUE_MAGE)) - { - (void)take_hit(DAMAGE_NOESCAPE, 50, _("コントロールし難い強力な魔力の解放", "unleashing magics too mighty to control"), -1); - } - ident = TRUE; - + ident = unleash_mana_storm(p_ptr, powerful); break; } diff --git a/src/externs.h b/src/externs.h index 84b2a99bd..437e03375 100644 --- a/src/externs.h +++ b/src/externs.h @@ -909,6 +909,7 @@ extern bool dispel_monsters(HIT_POINT dam); extern bool dispel_living(HIT_POINT dam); extern bool dispel_demons(HIT_POINT dam); extern bool cleansing_nova(player_type *creature_ptr, bool magic, bool powerful); +extern bool unleash_mana_storm(player_type *creature_ptr, bool powerful); extern bool crusade(void); extern bool turn_undead(void); extern bool destroy_area(POSITION y1, POSITION x1, POSITION r, bool in_generate); diff --git a/src/spells2.c b/src/spells2.c index a88ffaa6e..1ec518c08 100644 --- a/src/spells2.c +++ b/src/spells2.c @@ -920,6 +920,18 @@ bool cleansing_nova(player_type *creature_ptr, bool magic, bool powerful) return ident; } +bool unleash_mana_storm(player_type *creature_ptr, bool powerful) +{ + msg_print(_("強力な魔力が敵を引き裂いた!", "Mighty magics rend your enemies!")); + project(0, (powerful ? 7 : 5), p_ptr->y, p_ptr->x, + (randint1(200) + (powerful ? 500 : 300)) * 2, GF_MANA, PROJECT_KILL | PROJECT_ITEM | PROJECT_GRID, -1); + if ((p_ptr->pclass != CLASS_MAGE) && (p_ptr->pclass != CLASS_HIGH_MAGE) && (p_ptr->pclass != CLASS_SORCERER) && (p_ptr->pclass != CLASS_MAGIC_EATER) && (p_ptr->pclass != CLASS_BLUE_MAGE)) + { + (void)take_hit(DAMAGE_NOESCAPE, 50, _("コントロールし難い強力な魔力の解放", "unleashing magics too mighty to control"), -1); + } + return TRUE; +} + /*! * @brief 視界内の生命のあるモンスターにダメージを与える処理 / Dispel 'living' monsters * @return 効力があった場合TRUEを返す