OSDN Git Service

[Refactor] #37353 コメント整理。 / Refactor comments.
[hengband/hengband.git] / src / cmd-zaprod.c
index b48b412..1b88d6e 100644 (file)
@@ -1,4 +1,7 @@
 #include "angband.h"
+#include "avatar.h"
+#include "spells-status.h"
+#include "player-status.h"
 
 /*!
  * @brief ロッドの効果を発動する
@@ -295,7 +298,7 @@ void do_cmd_zap_rod_aux(INVENTORY_IDX item)
        }
 
 
-       p_ptr->energy_use = 100;
+       take_turn(p_ptr, 100);;
 
        /* Extract the item level */
        lev = k_info[o_ptr->k_idx].level;
@@ -312,13 +315,7 @@ void do_cmd_zap_rod_aux(INVENTORY_IDX item)
        if (fail < USE_DEVICE) fail = USE_DEVICE;
        if (chance < USE_DEVICE) chance = USE_DEVICE;
 
-       if (world_player)
-       {
-               if (flush_failure) flush();
-               msg_print(_("止まった時の中ではうまく働かないようだ。", "Nothing happen. Maybe this rod is freezing too."));
-               sound(SOUND_FAIL);
-               return;
-       }
+       if (cmd_limit_time_walk(p_ptr)) return;
 
        if (p_ptr->pclass == CLASS_BERSERKER) success = FALSE;
        else if (chance > fail)
@@ -364,8 +361,6 @@ void do_cmd_zap_rod_aux(INVENTORY_IDX item)
 
        /* Increase the timeout by the rod kind's pval. -LM- */
        if (use_charge) o_ptr->timeout += k_ptr->pval;
-
-       /* Combine / Reorder the pack (later) */
        p_ptr->update |= (PU_COMBINE | PU_REORDER);
 
        if (!(object_is_aware(o_ptr)))
@@ -395,19 +390,14 @@ void do_cmd_zap_rod_aux(INVENTORY_IDX item)
 void do_cmd_zap_rod(void)
 {
        OBJECT_IDX item;
-       cptr q, s;
+       concptr q, s;
 
        if (p_ptr->wild_mode)
        {
                return;
        }
 
-       if (p_ptr->inside_arena)
-       {
-               msg_print(_("アリーナが魔法を吸収した!", "The arena absorbs all attempted magic!"));
-               msg_print(NULL);
-               return;
-       }
+       if (cmd_limit_arena(p_ptr)) return;
 
        if (p_ptr->special_defense & (KATA_MUSOU | KATA_KOUKIJIN))
        {