OSDN Git Service

[Refactor] #38997 do_cmd_browse() に player_type * 引数を追加. / Add player_type * argument...
authordeskull <deskull@users.sourceforge.jp>
Sun, 1 Sep 2019 12:46:57 +0000 (21:46 +0900)
committerdeskull <deskull@users.sourceforge.jp>
Sun, 1 Sep 2019 12:46:57 +0000 (21:46 +0900)
src/cmd/cmd-spell.c
src/cmd/cmd-spell.h
src/core.c
src/store.c

index 3729cb6..6d3e511 100644 (file)
@@ -624,7 +624,7 @@ static void confirm_use_force(bool browse_only)
  * and in the dark, primarily to allow browsing in stores.
  * </pre>
  */
-void do_cmd_browse(void)
+void do_cmd_browse(player_type *caster_ptr)
 {
        OBJECT_IDX item;
        OBJECT_SUBTYPE_VALUE sval;
@@ -641,20 +641,20 @@ void do_cmd_browse(void)
        concptr q, s;
 
        /* Warriors are illiterate */
-       if (!(p_ptr->realm1 || p_ptr->realm2) && (p_ptr->pclass != CLASS_SORCERER) && (p_ptr->pclass != CLASS_RED_MAGE))
+       if (!(caster_ptr->realm1 || caster_ptr->realm2) && (caster_ptr->pclass != CLASS_SORCERER) && (caster_ptr->pclass != CLASS_RED_MAGE))
        {
                msg_print(_("本を読むことができない!", "You cannot read books!"));
                return;
        }
 
-       if (p_ptr->special_defense & KATA_MUSOU)
+       if (caster_ptr->special_defense & KATA_MUSOU)
        {
-               set_action(p_ptr, ACTION_NONE);
+               set_action(caster_ptr, ACTION_NONE);
        }
 
-       if (p_ptr->pclass == CLASS_FORCETRAINER)
+       if (caster_ptr->pclass == CLASS_FORCETRAINER)
        {
-               if (player_has_no_spellbooks(p_ptr))
+               if (player_has_no_spellbooks(caster_ptr))
                {
                        confirm_use_force(TRUE);
                        return;
@@ -662,13 +662,13 @@ void do_cmd_browse(void)
        }
 
        /* Restrict choices to "useful" books */
-       if (p_ptr->realm2 == REALM_NONE) item_tester_tval = mp_ptr->spell_book;
+       if (caster_ptr->realm2 == REALM_NONE) item_tester_tval = mp_ptr->spell_book;
        else item_tester_hook = item_tester_learn_spell;
 
        q = _("どの本を読みますか? ", "Browse which book? ");
        s = _("読める本がない。", "You have no books that you can read.");
 
-       o_ptr = choose_object(p_ptr, &item, q, s, (USE_INVEN | USE_FLOOR | (p_ptr->pclass == CLASS_FORCETRAINER ? USE_FORCE : 0)), item_tester_tval);
+       o_ptr = choose_object(caster_ptr, &item, q, s, (USE_INVEN | USE_FLOOR | (caster_ptr->pclass == CLASS_FORCETRAINER ? USE_FORCE : 0)), item_tester_tval);
        if (!o_ptr)
        {
                if (item == INVEN_FORCE) /* the_force */
@@ -706,7 +706,7 @@ void do_cmd_browse(void)
        while (TRUE)
        {
                /* Ask for a spell, allow cancel */
-               if (!get_spell(p_ptr, &spell, _("読む", "browse"), o_ptr->sval, TRUE, use_realm))
+               if (!get_spell(caster_ptr, &spell, _("読む", "browse"), o_ptr->sval, TRUE, use_realm))
                {
                        /* If cancelled, leave immediately. */
                        if (spell == -1) break;
@@ -732,7 +732,7 @@ void do_cmd_browse(void)
                Term_erase(14, 12, 255);
                Term_erase(14, 11, 255);
 
-               roff_to_buf(exe_spell(p_ptr, use_realm, spell, SPELL_DESC), 62, temp, sizeof(temp));
+               roff_to_buf(exe_spell(caster_ptr, use_realm, spell, SPELL_DESC), 62, temp, sizeof(temp));
 
                for (j = 0, line = 11; temp[j]; j += 1 + strlen(&temp[j]))
                {
index 6a8af25..80a39af 100644 (file)
@@ -33,6 +33,6 @@ extern concptr info_radius(POSITION rad);
 extern concptr info_weight(WEIGHT weight);
 
 /* cmd5.c */
-extern void do_cmd_browse(void);
+extern void do_cmd_browse(player_type *caster_ptr);
 extern void do_cmd_study(player_type *caster_ptr);
 extern void do_cmd_cast(player_type *caster_ptr);
index 0295cdd..d3a119b 100644 (file)
@@ -3842,7 +3842,7 @@ static void process_command(void)
                                do_cmd_magic_eater(p_ptr, TRUE, FALSE);
                        else if (p_ptr->pclass == CLASS_SNIPER)
                                do_cmd_snipe_browse(p_ptr);
-                       else do_cmd_browse();
+                       else do_cmd_browse(p_ptr);
                        break;
                }
 
index 8aa0671..78d9dd6 100644 (file)
@@ -5505,7 +5505,7 @@ static void store_process_command(void)
                                do_cmd_magic_eater(p_ptr, TRUE, FALSE);
                        else if (p_ptr->pclass == CLASS_SNIPER)
                                do_cmd_snipe_browse(p_ptr);
-                       else do_cmd_browse();
+                       else do_cmd_browse(p_ptr);
                        break;
                }