OSDN Git Service

[Refactor] #38997 exe_quaff_potion() に player_type * 引数を追加.
authordeskull <deskull@users.sourceforge.jp>
Wed, 7 Aug 2019 14:25:00 +0000 (23:25 +0900)
committerdeskull <deskull@users.sourceforge.jp>
Wed, 7 Aug 2019 14:25:00 +0000 (23:25 +0900)
src/cmd-item.c
src/cmd-quaff.c
src/cmd-quaff.h

index 875d0a5..d8874c8 100644 (file)
@@ -1535,7 +1535,7 @@ void do_cmd_use(void)
                        break;
 
                case TV_POTION:
-                       exe_quaff_potion(item);
+                       exe_quaff_potion(p_ptr, item);
                        break;
 
                case TV_SCROLL:
index 145fc40..9e83558 100644 (file)
@@ -36,7 +36,7 @@
  * @param item 飲む薬オブジェクトの所持品ID
  * @return なし
  */
-void exe_quaff_potion(INVENTORY_IDX item)
+void exe_quaff_potion(player_type *creature_ptr, INVENTORY_IDX item)
 {
        bool ident;
        DEPTH lev;
@@ -44,9 +44,9 @@ void exe_quaff_potion(INVENTORY_IDX item)
        object_type forge;
        object_type *q_ptr;
 
-       take_turn(p_ptr, 100);
+       take_turn(creature_ptr, 100);
 
-       if (p_ptr->timewalk)
+       if (creature_ptr->timewalk)
        {
                if (flush_failure) flush();
                msg_print(_("瓶から水が流れ出てこない!", "The potion doesn't flow out from a bottle."));
@@ -55,20 +55,20 @@ void exe_quaff_potion(INVENTORY_IDX item)
                return;
        }
 
-       if (music_singing_any(p_ptr)) stop_singing(p_ptr);
-       if (hex_spelling_any(p_ptr))
+       if (music_singing_any(creature_ptr)) stop_singing(creature_ptr);
+       if (hex_spelling_any(creature_ptr))
        {
                if (!hex_spelling(HEX_INHAIL)) stop_hex_spell_all();
        }
 
-       o_ptr = REF_ITEM(p_ptr, current_floor_ptr, item);
+       o_ptr = REF_ITEM(creature_ptr, current_floor_ptr, item);
        q_ptr = &forge;
        object_copy(q_ptr, o_ptr);
 
        /* Single object */
        q_ptr->number = 1;
 
-       /* Reduce and describe p_ptr->inventory_list */
+       /* Reduce and describe creature_ptr->inventory_list */
        if (item >= 0)
        {
                inven_item_increase(item, -1);
@@ -118,32 +118,32 @@ void exe_quaff_potion(INVENTORY_IDX item)
                        break;
 
                case SV_POTION_SLOWNESS:
-                       if (set_slow(p_ptr, randint1(25) + 15, FALSE)) ident = TRUE;
+                       if (set_slow(creature_ptr, randint1(25) + 15, FALSE)) ident = TRUE;
                        break;
 
                case SV_POTION_SALT_WATER:
                        msg_print(_("うぇ!思わず吐いてしまった。", "The potion makes you vomit!"));
 
-                       if (!(PRACE_IS_(p_ptr, RACE_GOLEM) ||
-                             PRACE_IS_(p_ptr, RACE_ZOMBIE) ||
-                             PRACE_IS_(p_ptr, RACE_DEMON) ||
-                             PRACE_IS_(p_ptr, RACE_ANDROID) ||
-                             PRACE_IS_(p_ptr, RACE_SPECTRE) ||
-                             (mimic_info[p_ptr->mimic_form].MIMIC_FLAGS & MIMIC_IS_NONLIVING)))
+                       if (!(PRACE_IS_(creature_ptr, RACE_GOLEM) ||
+                             PRACE_IS_(creature_ptr, RACE_ZOMBIE) ||
+                             PRACE_IS_(creature_ptr, RACE_DEMON) ||
+                             PRACE_IS_(creature_ptr, RACE_ANDROID) ||
+                             PRACE_IS_(creature_ptr, RACE_SPECTRE) ||
+                             (mimic_info[creature_ptr->mimic_form].MIMIC_FLAGS & MIMIC_IS_NONLIVING)))
                        {
                                /* Only living creatures get thirsty */
-                               (void)set_food(p_ptr, PY_FOOD_STARVE - 1);
+                               (void)set_food(creature_ptr, PY_FOOD_STARVE - 1);
                        }
 
-                       (void)set_poisoned(p_ptr, 0);
-                       (void)set_paralyzed(p_ptr, p_ptr->paralyzed + 4);
+                       (void)set_poisoned(creature_ptr, 0);
+                       (void)set_paralyzed(creature_ptr, creature_ptr->paralyzed + 4);
                        ident = TRUE;
                        break;
 
                case SV_POTION_POISON:
-                       if (!(p_ptr->resist_pois || IS_OPPOSE_POIS()))
+                       if (!(creature_ptr->resist_pois || IS_OPPOSE_POIS()))
                        {
-                               if (set_poisoned(p_ptr, p_ptr->poisoned + randint0(15) + 10))
+                               if (set_poisoned(creature_ptr, creature_ptr->poisoned + randint0(15) + 10))
                                {
                                        ident = TRUE;
                                }
@@ -151,9 +151,9 @@ void exe_quaff_potion(INVENTORY_IDX item)
                        break;
 
                case SV_POTION_BLINDNESS:
-                       if (!p_ptr->resist_blind)
+                       if (!creature_ptr->resist_blind)
                        {
-                               if (set_blind(p_ptr, p_ptr->blind + randint0(100) + 100))
+                               if (set_blind(creature_ptr, creature_ptr->blind + randint0(100) + 100))
                                {
                                        ident = TRUE;
                                }
@@ -161,11 +161,11 @@ void exe_quaff_potion(INVENTORY_IDX item)
                        break;
 
                case SV_POTION_BOOZE:
-                       ident = booze(p_ptr);
+                       ident = booze(creature_ptr);
                        break;
 
                case SV_POTION_SLEEP:
-                       if (!p_ptr->free_act)
+                       if (!creature_ptr->free_act)
                        {
                                msg_print(_("あなたは眠ってしまった。", "You fall asleep."));
 
@@ -174,9 +174,9 @@ void exe_quaff_potion(INVENTORY_IDX item)
                                        msg_print(_("恐ろしい光景が頭に浮かんできた。", "A horrible vision enters your mind."));
 
                                        /* Have some nightmares */
-                                       sanity_blast(p_ptr, NULL, FALSE);
+                                       sanity_blast(creature_ptr, NULL, FALSE);
                                }
-                               if (set_paralyzed(p_ptr, p_ptr->paralyzed + randint0(4) + 4))
+                               if (set_paralyzed(creature_ptr, creature_ptr->paralyzed + randint0(4) + 4))
                                {
                                        ident = TRUE;
                                }
@@ -184,111 +184,111 @@ void exe_quaff_potion(INVENTORY_IDX item)
                        break;
 
                case SV_POTION_LOSE_MEMORIES:
-                       if (!p_ptr->hold_exp && (p_ptr->exp > 0))
+                       if (!creature_ptr->hold_exp && (creature_ptr->exp > 0))
                        {
                                msg_print(_("過去の記憶が薄れていく気がする。", "You feel your memories fade."));
-                               chg_virtue(p_ptr, V_KNOWLEDGE, -5);
+                               chg_virtue(creature_ptr, V_KNOWLEDGE, -5);
 
-                               lose_exp(p_ptr, p_ptr->exp / 4);
+                               lose_exp(creature_ptr, creature_ptr->exp / 4);
                                ident = TRUE;
                        }
                        break;
 
                case SV_POTION_RUINATION:
                        msg_print(_("身も心も弱ってきて、精気が抜けていくようだ。", "Your nerves and muscles feel weak and lifeless!"));
-                       take_hit(p_ptr, DAMAGE_LOSELIFE, damroll(10, 10), _("破滅の薬", "a potion of Ruination"), -1);
-
-                       (void)dec_stat(p_ptr, A_DEX, 25, TRUE);
-                       (void)dec_stat(p_ptr, A_WIS, 25, TRUE);
-                       (void)dec_stat(p_ptr, A_CON, 25, TRUE);
-                       (void)dec_stat(p_ptr, A_STR, 25, TRUE);
-                       (void)dec_stat(p_ptr, A_CHR, 25, TRUE);
-                       (void)dec_stat(p_ptr, A_INT, 25, TRUE);
+                       take_hit(creature_ptr, DAMAGE_LOSELIFE, damroll(10, 10), _("破滅の薬", "a potion of Ruination"), -1);
+
+                       (void)dec_stat(creature_ptr, A_DEX, 25, TRUE);
+                       (void)dec_stat(creature_ptr, A_WIS, 25, TRUE);
+                       (void)dec_stat(creature_ptr, A_CON, 25, TRUE);
+                       (void)dec_stat(creature_ptr, A_STR, 25, TRUE);
+                       (void)dec_stat(creature_ptr, A_CHR, 25, TRUE);
+                       (void)dec_stat(creature_ptr, A_INT, 25, TRUE);
                        ident = TRUE;
                        break;
 
                case SV_POTION_DEC_STR:
-                       if (do_dec_stat(p_ptr, A_STR)) ident = TRUE;
+                       if (do_dec_stat(creature_ptr, A_STR)) ident = TRUE;
                        break;
 
                case SV_POTION_DEC_INT:
-                       if (do_dec_stat(p_ptr, A_INT)) ident = TRUE;
+                       if (do_dec_stat(creature_ptr, A_INT)) ident = TRUE;
                        break;
 
                case SV_POTION_DEC_WIS:
-                       if (do_dec_stat(p_ptr, A_WIS)) ident = TRUE;
+                       if (do_dec_stat(creature_ptr, A_WIS)) ident = TRUE;
                        break;
 
                case SV_POTION_DEC_DEX:
-                       if (do_dec_stat(p_ptr, A_DEX)) ident = TRUE;
+                       if (do_dec_stat(creature_ptr, A_DEX)) ident = TRUE;
                        break;
 
                case SV_POTION_DEC_CON:
-                       if (do_dec_stat(p_ptr, A_CON)) ident = TRUE;
+                       if (do_dec_stat(creature_ptr, A_CON)) ident = TRUE;
                        break;
 
                case SV_POTION_DEC_CHR:
-                       if (do_dec_stat(p_ptr, A_CHR)) ident = TRUE;
+                       if (do_dec_stat(creature_ptr, A_CHR)) ident = TRUE;
                        break;
 
                case SV_POTION_DETONATIONS:
-                       ident = detonation(p_ptr);
+                       ident = detonation(creature_ptr);
                        break;
 
                case SV_POTION_DEATH:
-                       chg_virtue(p_ptr, V_VITALITY, -1);
-                       chg_virtue(p_ptr, V_UNLIFE, 5);
+                       chg_virtue(creature_ptr, V_VITALITY, -1);
+                       chg_virtue(creature_ptr, V_UNLIFE, 5);
                        msg_print(_("死の予感が体中を駆けめぐった。", "A feeling of Death flows through your body."));
-                       take_hit(p_ptr, DAMAGE_LOSELIFE, 5000, _("死の薬", "a potion of Death"), -1);
+                       take_hit(creature_ptr, DAMAGE_LOSELIFE, 5000, _("死の薬", "a potion of Death"), -1);
                        ident = TRUE;
                        break;
 
                case SV_POTION_INFRAVISION:
-                       if (set_tim_infra(p_ptr, p_ptr->tim_infra + 100 + randint1(100), FALSE))
+                       if (set_tim_infra(creature_ptr, creature_ptr->tim_infra + 100 + randint1(100), FALSE))
                        {
                                ident = TRUE;
                        }
                        break;
 
                case SV_POTION_DETECT_INVIS:
-                       if (set_tim_invis(p_ptr, p_ptr->tim_invis + 12 + randint1(12), FALSE))
+                       if (set_tim_invis(creature_ptr, creature_ptr->tim_invis + 12 + randint1(12), FALSE))
                        {
                                ident = TRUE;
                        }
                        break;
 
                case SV_POTION_SLOW_POISON:
-                       if (set_poisoned(p_ptr, p_ptr->poisoned / 2)) ident = TRUE;
+                       if (set_poisoned(creature_ptr, creature_ptr->poisoned / 2)) ident = TRUE;
                        break;
 
                case SV_POTION_CURE_POISON:
-                       if (set_poisoned(p_ptr, 0)) ident = TRUE;
+                       if (set_poisoned(creature_ptr, 0)) ident = TRUE;
                        break;
 
                case SV_POTION_BOLDNESS:
-                       if (set_afraid(p_ptr, 0)) ident = TRUE;
+                       if (set_afraid(creature_ptr, 0)) ident = TRUE;
                        break;
 
                case SV_POTION_SPEED:
-                       if (!p_ptr->fast)
+                       if (!creature_ptr->fast)
                        {
-                               if (set_fast(p_ptr, randint1(25) + 15, FALSE)) ident = TRUE;
+                               if (set_fast(creature_ptr, randint1(25) + 15, FALSE)) ident = TRUE;
                        }
                        else
                        {
-                               (void)set_fast(p_ptr, p_ptr->fast + 5, FALSE);
+                               (void)set_fast(creature_ptr, creature_ptr->fast + 5, FALSE);
                        }
                        break;
 
                case SV_POTION_RESIST_HEAT:
-                       if (set_oppose_fire(p_ptr, p_ptr->oppose_fire + randint1(10) + 10, FALSE))
+                       if (set_oppose_fire(creature_ptr, creature_ptr->oppose_fire + randint1(10) + 10, FALSE))
                        {
                                ident = TRUE;
                        }
                        break;
 
                case SV_POTION_RESIST_COLD:
-                       if (set_oppose_cold(p_ptr, p_ptr->oppose_cold + randint1(10) + 10, FALSE))
+                       if (set_oppose_cold(creature_ptr, creature_ptr->oppose_cold + randint1(10) + 10, FALSE))
                        {
                                ident = TRUE;
                        }
@@ -331,82 +331,82 @@ void exe_quaff_potion(INVENTORY_IDX item)
                        break;
 
                case SV_POTION_RESTORE_EXP:
-                       if (restore_level(p_ptr)) ident = TRUE;
+                       if (restore_level(creature_ptr)) ident = TRUE;
                        break;
 
                case SV_POTION_RES_STR:
-                       if (do_res_stat(p_ptr, A_STR)) ident = TRUE;
+                       if (do_res_stat(creature_ptr, A_STR)) ident = TRUE;
                        break;
 
                case SV_POTION_RES_INT:
-                       if (do_res_stat(p_ptr, A_INT)) ident = TRUE;
+                       if (do_res_stat(creature_ptr, A_INT)) ident = TRUE;
                        break;
 
                case SV_POTION_RES_WIS:
-                       if (do_res_stat(p_ptr, A_WIS)) ident = TRUE;
+                       if (do_res_stat(creature_ptr, A_WIS)) ident = TRUE;
                        break;
 
                case SV_POTION_RES_DEX:
-                       if (do_res_stat(p_ptr, A_DEX)) ident = TRUE;
+                       if (do_res_stat(creature_ptr, A_DEX)) ident = TRUE;
                        break;
 
                case SV_POTION_RES_CON:
-                       if (do_res_stat(p_ptr, A_CON)) ident = TRUE;
+                       if (do_res_stat(creature_ptr, A_CON)) ident = TRUE;
                        break;
 
                case SV_POTION_RES_CHR:
-                       if (do_res_stat(p_ptr, A_CHR)) ident = TRUE;
+                       if (do_res_stat(creature_ptr, A_CHR)) ident = TRUE;
                        break;
 
                case SV_POTION_INC_STR:
-                       if (do_inc_stat(p_ptr, A_STR)) ident = TRUE;
+                       if (do_inc_stat(creature_ptr, A_STR)) ident = TRUE;
                        break;
 
                case SV_POTION_INC_INT:
-                       if (do_inc_stat(p_ptr, A_INT)) ident = TRUE;
+                       if (do_inc_stat(creature_ptr, A_INT)) ident = TRUE;
                        break;
 
                case SV_POTION_INC_WIS:
-                       if (do_inc_stat(p_ptr, A_WIS)) ident = TRUE;
+                       if (do_inc_stat(creature_ptr, A_WIS)) ident = TRUE;
                        break;
 
                case SV_POTION_INC_DEX:
-                       if (do_inc_stat(p_ptr, A_DEX)) ident = TRUE;
+                       if (do_inc_stat(creature_ptr, A_DEX)) ident = TRUE;
                        break;
 
                case SV_POTION_INC_CON:
-                       if (do_inc_stat(p_ptr, A_CON)) ident = TRUE;
+                       if (do_inc_stat(creature_ptr, A_CON)) ident = TRUE;
                        break;
 
                case SV_POTION_INC_CHR:
-                       if (do_inc_stat(p_ptr, A_CHR)) ident = TRUE;
+                       if (do_inc_stat(creature_ptr, A_CHR)) ident = TRUE;
                        break;
 
                case SV_POTION_AUGMENTATION:
-                       if (do_inc_stat(p_ptr, A_STR)) ident = TRUE;
-                       if (do_inc_stat(p_ptr, A_INT)) ident = TRUE;
-                       if (do_inc_stat(p_ptr, A_WIS)) ident = TRUE;
-                       if (do_inc_stat(p_ptr, A_DEX)) ident = TRUE;
-                       if (do_inc_stat(p_ptr, A_CON)) ident = TRUE;
-                       if (do_inc_stat(p_ptr, A_CHR)) ident = TRUE;
+                       if (do_inc_stat(creature_ptr, A_STR)) ident = TRUE;
+                       if (do_inc_stat(creature_ptr, A_INT)) ident = TRUE;
+                       if (do_inc_stat(creature_ptr, A_WIS)) ident = TRUE;
+                       if (do_inc_stat(creature_ptr, A_DEX)) ident = TRUE;
+                       if (do_inc_stat(creature_ptr, A_CON)) ident = TRUE;
+                       if (do_inc_stat(creature_ptr, A_CHR)) ident = TRUE;
                        break;
 
                case SV_POTION_ENLIGHTENMENT:
                        msg_print(_("自分の置かれている状況が脳裏に浮かんできた...", "An image of your surroundings forms in your mind..."));
-                       chg_virtue(p_ptr, V_KNOWLEDGE, 1);
-                       chg_virtue(p_ptr, V_ENLIGHTEN, 1);
+                       chg_virtue(creature_ptr, V_KNOWLEDGE, 1);
+                       chg_virtue(creature_ptr, V_ENLIGHTEN, 1);
                        wiz_lite(FALSE);
                        ident = TRUE;
                        break;
 
                case SV_POTION_STAR_ENLIGHTENMENT:
                        msg_print(_("更なる啓蒙を感じた...", "You begin to feel more enlightened..."));
-                       chg_virtue(p_ptr, V_KNOWLEDGE, 1);
-                       chg_virtue(p_ptr, V_ENLIGHTEN, 2);
+                       chg_virtue(creature_ptr, V_KNOWLEDGE, 1);
+                       chg_virtue(creature_ptr, V_ENLIGHTEN, 2);
                        msg_print(NULL);
                        wiz_lite(FALSE);
-                       (void)do_inc_stat(p_ptr, A_INT);
-                       (void)do_inc_stat(p_ptr, A_WIS);
+                       (void)do_inc_stat(creature_ptr, A_INT);
+                       (void)do_inc_stat(creature_ptr, A_WIS);
                        (void)detect_traps(DETECT_RAD_DEFAULT, TRUE);
                        (void)detect_doors(DETECT_RAD_DEFAULT);
                        (void)detect_stairs(DETECT_RAD_DEFAULT);
@@ -426,24 +426,24 @@ void exe_quaff_potion(INVENTORY_IDX item)
                        break;
 
                case SV_POTION_EXPERIENCE:
-                       if (p_ptr->prace == RACE_ANDROID) break;
-                       chg_virtue(p_ptr, V_ENLIGHTEN, 1);
-                       if (p_ptr->exp < PY_MAX_EXP)
+                       if (creature_ptr->prace == RACE_ANDROID) break;
+                       chg_virtue(creature_ptr, V_ENLIGHTEN, 1);
+                       if (creature_ptr->exp < PY_MAX_EXP)
                        {
-                               EXP ee = (p_ptr->exp / 2) + 10;
+                               EXP ee = (creature_ptr->exp / 2) + 10;
                                if (ee > 100000L) ee = 100000L;
                                msg_print(_("更に経験を積んだような気がする。", "You feel more experienced."));
-                               gain_exp(p_ptr, ee);
+                               gain_exp(creature_ptr, ee);
                                ident = TRUE;
                        }
                        break;
 
                case SV_POTION_RESISTANCE:
-                       (void)set_oppose_acid(p_ptr, p_ptr->oppose_acid + randint1(20) + 20, FALSE);
-                       (void)set_oppose_elec(p_ptr, p_ptr->oppose_elec + randint1(20) + 20, FALSE);
-                       (void)set_oppose_fire(p_ptr, p_ptr->oppose_fire + randint1(20) + 20, FALSE);
-                       (void)set_oppose_cold(p_ptr, p_ptr->oppose_cold + randint1(20) + 20, FALSE);
-                       (void)set_oppose_pois(p_ptr, p_ptr->oppose_pois + randint1(20) + 20, FALSE);
+                       (void)set_oppose_acid(creature_ptr, creature_ptr->oppose_acid + randint1(20) + 20, FALSE);
+                       (void)set_oppose_elec(creature_ptr, creature_ptr->oppose_elec + randint1(20) + 20, FALSE);
+                       (void)set_oppose_fire(creature_ptr, creature_ptr->oppose_fire + randint1(20) + 20, FALSE);
+                       (void)set_oppose_cold(creature_ptr, creature_ptr->oppose_cold + randint1(20) + 20, FALSE);
+                       (void)set_oppose_pois(creature_ptr, creature_ptr->oppose_pois + randint1(20) + 20, FALSE);
                        ident = TRUE;
                        break;
 
@@ -452,40 +452,40 @@ void exe_quaff_potion(INVENTORY_IDX item)
                        break;
 
                case SV_POTION_INVULNERABILITY:
-                       (void)set_invuln(p_ptr, p_ptr->invuln + randint1(4) + 4, FALSE);
+                       (void)set_invuln(creature_ptr, creature_ptr->invuln + randint1(4) + 4, FALSE);
                        ident = TRUE;
                        break;
 
                case SV_POTION_NEW_LIFE:
-                       roll_hitdice(p_ptr, 0L);
-                       get_max_stats(p_ptr);
-                       p_ptr->update |= PU_BONUS;
-                       lose_all_mutations(p_ptr);
+                       roll_hitdice(creature_ptr, 0L);
+                       get_max_stats(creature_ptr);
+                       creature_ptr->update |= PU_BONUS;
+                       lose_all_mutations(creature_ptr);
                        ident = TRUE;
                        break;
 
                case SV_POTION_NEO_TSUYOSHI:
-                       (void)set_image(p_ptr, 0);
-                       (void)set_tsuyoshi(p_ptr, p_ptr->tsuyoshi + randint1(100) + 100, FALSE);
+                       (void)set_image(creature_ptr, 0);
+                       (void)set_tsuyoshi(creature_ptr, creature_ptr->tsuyoshi + randint1(100) + 100, FALSE);
                        ident = TRUE;
                        break;
 
                case SV_POTION_TSUYOSHI:
                        msg_print(_("「オクレ兄さん!」", "Brother OKURE!"));
                        msg_print(NULL);
-                       p_ptr->tsuyoshi = 1;
-                       (void)set_tsuyoshi(p_ptr, 0, TRUE);
-                       if (!p_ptr->resist_chaos)
+                       creature_ptr->tsuyoshi = 1;
+                       (void)set_tsuyoshi(creature_ptr, 0, TRUE);
+                       if (!creature_ptr->resist_chaos)
                        {
-                               (void)set_image(p_ptr, 50 + randint1(50));
+                               (void)set_image(creature_ptr, 50 + randint1(50));
                        }
                        ident = TRUE;
                        break;
                
                case SV_POTION_POLYMORPH:
-                       if ((p_ptr->muta1 || p_ptr->muta2 || p_ptr->muta3) && one_in_(23))
+                       if ((creature_ptr->muta1 || creature_ptr->muta2 || creature_ptr->muta3) && one_in_(23))
                        {
-                               lose_all_mutations(p_ptr);
+                               lose_all_mutations(creature_ptr);
                        }
                        else
                        {
@@ -493,27 +493,27 @@ void exe_quaff_potion(INVENTORY_IDX item)
                                {
                                        if (one_in_(2))
                                        {
-                                               if(gain_mutation(p_ptr, 0)) ident = TRUE;
+                                               if(gain_mutation(creature_ptr, 0)) ident = TRUE;
                                        }
-                                       else if (lose_mutation(p_ptr, 0)) ident = TRUE;
+                                       else if (lose_mutation(creature_ptr, 0)) ident = TRUE;
                                } while(!ident || one_in_(2));
                        }
                        break;
                }
        }
 
-       if (PRACE_IS_(p_ptr, RACE_SKELETON))
+       if (PRACE_IS_(creature_ptr, RACE_SKELETON))
        {
                msg_print(_("液体の一部はあなたのアゴを素通りして落ちた!", "Some of the fluid falls through your jaws!"));
-               (void)potion_smash_effect(0, p_ptr->y, p_ptr->x, q_ptr->k_idx);
+               (void)potion_smash_effect(0, creature_ptr->y, creature_ptr->x, q_ptr->k_idx);
        }
-       p_ptr->update |= (PU_COMBINE | PU_REORDER);
+       creature_ptr->update |= (PU_COMBINE | PU_REORDER);
 
        if (!(object_is_aware(q_ptr)))
        {
-               chg_virtue(p_ptr, V_PATIENCE, -1);
-               chg_virtue(p_ptr, V_CHANCE, 1);
-               chg_virtue(p_ptr, V_KNOWLEDGE, -1);
+               chg_virtue(creature_ptr, V_PATIENCE, -1);
+               chg_virtue(creature_ptr, V_CHANCE, 1);
+               chg_virtue(creature_ptr, V_KNOWLEDGE, -1);
        }
 
        /* The item has been tried */
@@ -523,19 +523,19 @@ void exe_quaff_potion(INVENTORY_IDX item)
        if (ident && !object_is_aware(q_ptr))
        {
                object_aware(q_ptr);
-               gain_exp(p_ptr, (lev + (p_ptr->lev >> 1)) / p_ptr->lev);
+               gain_exp(creature_ptr, (lev + (creature_ptr->lev >> 1)) / creature_ptr->lev);
        }
 
-       p_ptr->window |= (PW_INVEN | PW_EQUIP | PW_PLAYER);
+       creature_ptr->window |= (PW_INVEN | PW_EQUIP | PW_PLAYER);
 
        /* Potions can feed the player */
-       switch (p_ptr->mimic_form)
+       switch (creature_ptr->mimic_form)
        {
        case MIMIC_NONE:
-               switch (p_ptr->prace)
+               switch (creature_ptr->prace)
                {
                        case RACE_VAMPIRE:
-                               (void)set_food(p_ptr, p_ptr->food + (q_ptr->pval / 10));
+                               (void)set_food(creature_ptr, creature_ptr->food + (q_ptr->pval / 10));
                                break;
                        case RACE_SKELETON:
                                /* Do nothing */
@@ -544,37 +544,37 @@ void exe_quaff_potion(INVENTORY_IDX item)
                        case RACE_ZOMBIE:
                        case RACE_DEMON:
                        case RACE_SPECTRE:
-                               set_food(p_ptr, p_ptr->food + ((q_ptr->pval) / 20));
+                               set_food(creature_ptr, creature_ptr->food + ((q_ptr->pval) / 20));
                                break;
                        case RACE_ANDROID:
                                if (q_ptr->tval == TV_FLASK)
                                {
                                        msg_print(_("オイルを補給した。", "You replenish yourself with the oil."));
-                                       set_food(p_ptr, p_ptr->food + 5000);
+                                       set_food(creature_ptr, creature_ptr->food + 5000);
                                }
                                else
                                {
-                                       set_food(p_ptr, p_ptr->food + ((q_ptr->pval) / 20));
+                                       set_food(creature_ptr, creature_ptr->food + ((q_ptr->pval) / 20));
                                }
                                break;
                        case RACE_ENT:
                                msg_print(_("水分を取り込んだ。", "You are moistened."));
-                               set_food(p_ptr, MIN(p_ptr->food + q_ptr->pval + MAX(0, q_ptr->pval * 10) + 2000, PY_FOOD_MAX - 1));
+                               set_food(creature_ptr, MIN(creature_ptr->food + q_ptr->pval + MAX(0, q_ptr->pval * 10) + 2000, PY_FOOD_MAX - 1));
                                break;
                        default:
-                               (void)set_food(p_ptr, p_ptr->food + q_ptr->pval);
+                               (void)set_food(creature_ptr, creature_ptr->food + q_ptr->pval);
                                break;
                }
                break;
        case MIMIC_DEMON:
        case MIMIC_DEMON_LORD:
-               set_food(p_ptr, p_ptr->food + ((q_ptr->pval) / 20));
+               set_food(creature_ptr, creature_ptr->food + ((q_ptr->pval) / 20));
                break;
        case MIMIC_VAMPIRE:
-               (void)set_food(p_ptr, p_ptr->food + (q_ptr->pval / 10));
+               (void)set_food(creature_ptr, creature_ptr->food + (q_ptr->pval / 10));
                break;
        default:
-               (void)set_food(p_ptr, p_ptr->food + q_ptr->pval);
+               (void)set_food(creature_ptr, creature_ptr->food + q_ptr->pval);
                break;
        }
 }
@@ -612,5 +612,5 @@ void do_cmd_quaff_potion(void)
        if (!choose_object(&item, q, s, (USE_INVEN | USE_FLOOR), 0)) return;
 
        /* Quaff the potion */
-       exe_quaff_potion(item);
+       exe_quaff_potion(p_ptr, item);
 }
index 9f3b77c..47459ab 100644 (file)
@@ -1,4 +1,4 @@
 
 extern void do_cmd_quaff_potion(void);
-extern void exe_quaff_potion(INVENTORY_IDX item);
+extern void exe_quaff_potion(player_type *creature_ptr, INVENTORY_IDX item);