OSDN Git Service

[Refactor] #38997 empty_hands() に player_type * 引数を追加.
authordeskull <deskull@users.sourceforge.jp>
Wed, 10 Jul 2019 03:28:00 +0000 (12:28 +0900)
committerdeskull <deskull@users.sourceforge.jp>
Wed, 10 Jul 2019 03:28:00 +0000 (12:28 +0900)
src/cmd-item.c
src/cmd-pet.c
src/files.c
src/melee1.c
src/player-status.c
src/player-status.h
src/racial.c
src/realm-hex.c

index 044d1fa..c21e908 100644 (file)
@@ -406,14 +406,14 @@ void do_cmd_wield(void)
        switch (slot)
        {
        case INVEN_RARM:
-               if (object_allow_two_hands_wielding(o_ptr) && (empty_hands(FALSE) == EMPTY_HAND_LARM) && CAN_TWO_HANDS_WIELDING())
+               if (object_allow_two_hands_wielding(o_ptr) && (empty_hands(p_ptr, FALSE) == EMPTY_HAND_LARM) && CAN_TWO_HANDS_WIELDING())
                        act = STR_WIELD_ARMS;
                else
                        act = (left_hander ? STR_WIELD_LARM : STR_WIELD_RARM);
                break;
 
        case INVEN_LARM:
-               if (object_allow_two_hands_wielding(o_ptr) && (empty_hands(FALSE) == EMPTY_HAND_RARM) && CAN_TWO_HANDS_WIELDING())
+               if (object_allow_two_hands_wielding(o_ptr) && (empty_hands(p_ptr, FALSE) == EMPTY_HAND_RARM) && CAN_TWO_HANDS_WIELDING())
                        act = STR_WIELD_ARMS;
                else
                        act = (left_hander ? STR_WIELD_RARM : STR_WIELD_LARM);
@@ -506,7 +506,7 @@ void kamaenaoshi(INVENTORY_IDX item)
                        if (object_allow_two_hands_wielding(o_ptr) && CAN_TWO_HANDS_WIELDING())
                                msg_format(_("%sを両手で構えた。", "You are wielding %s with both hands."), o_name);
                }
-               else if (!(empty_hands(FALSE) & EMPTY_HAND_RARM) && !object_is_cursed(o_ptr))
+               else if (!(empty_hands(p_ptr, FALSE) & EMPTY_HAND_RARM) && !object_is_cursed(o_ptr))
                {
                        new_o_ptr = &p_ptr->inventory_list[INVEN_LARM];
                        object_copy(new_o_ptr, o_ptr);
index 542dbb5..5616d7f 100644 (file)
@@ -602,9 +602,9 @@ void do_cmd_pet(void)
 
        if (p_ptr->riding)
        {
-               if ((p_ptr->migite && (empty_hands(FALSE) == EMPTY_HAND_LARM) &&
+               if ((p_ptr->migite && (empty_hands(p_ptr, FALSE) == EMPTY_HAND_LARM) &&
                        object_allow_two_hands_wielding(&p_ptr->inventory_list[INVEN_RARM])) ||
-                       (p_ptr->hidarite && (empty_hands(FALSE) == EMPTY_HAND_RARM) &&
+                       (p_ptr->hidarite && (empty_hands(p_ptr, FALSE) == EMPTY_HAND_RARM) &&
                                object_allow_two_hands_wielding(&p_ptr->inventory_list[INVEN_LARM])))
                {
                        if (p_ptr->pet_extra_flags & PF_RYOUTE)
@@ -625,7 +625,7 @@ void do_cmd_pet(void)
                        case CLASS_MONK:
                        case CLASS_FORCETRAINER:
                        case CLASS_BERSERKER:
-                               if (empty_hands(FALSE) == (EMPTY_HAND_RARM | EMPTY_HAND_LARM))
+                               if (empty_hands(p_ptr, FALSE) == (EMPTY_HAND_RARM | EMPTY_HAND_LARM))
                                {
                                        if (p_ptr->pet_extra_flags & PF_RYOUTE)
                                        {
@@ -638,7 +638,7 @@ void do_cmd_pet(void)
 
                                        powers[num++] = PET_RYOUTE;
                                }
-                               else if ((empty_hands(FALSE) != EMPTY_HAND_NONE) && !has_melee_weapon(INVEN_RARM) && !has_melee_weapon(INVEN_LARM))
+                               else if ((empty_hands(p_ptr, FALSE) != EMPTY_HAND_NONE) && !has_melee_weapon(INVEN_RARM) && !has_melee_weapon(INVEN_LARM))
                                {
                                        if (p_ptr->pet_extra_flags & PF_RYOUTE)
                                        {
index 75e59bb..b0f0413 100644 (file)
@@ -1789,7 +1789,7 @@ static void display_player_middle(void)
        {
                display_player_melee_bonus(1, left_hander ? ENTRY_RIGHT_HAND2: ENTRY_LEFT_HAND2);
        }
-       else if ((p_ptr->pclass == CLASS_MONK) && (empty_hands(TRUE) & EMPTY_HAND_RARM))
+       else if ((p_ptr->pclass == CLASS_MONK) && (empty_hands(p_ptr, TRUE) & EMPTY_HAND_RARM))
        {
                int i;
                if (p_ptr->special_defense & KAMAE_MASK)
@@ -2135,7 +2135,7 @@ static void display_player_various(void)
        for(i = 0; i < 2; i++)
        {
                damage[i] = p_ptr->dis_to_d[i] * 100;
-               if (((p_ptr->pclass == CLASS_MONK) || (p_ptr->pclass == CLASS_FORCETRAINER)) && (empty_hands(TRUE) & EMPTY_HAND_RARM))
+               if (((p_ptr->pclass == CLASS_MONK) || (p_ptr->pclass == CLASS_FORCETRAINER)) && (empty_hands(p_ptr, TRUE) & EMPTY_HAND_RARM))
                {
                        PLAYER_LEVEL level = p_ptr->lev;
                        if (i)
index fc36b6c..62a8696 100644 (file)
@@ -1342,7 +1342,7 @@ static void py_attack_aux(POSITION y, POSITION x, bool *fear, bool *mdeath, s16b
        case CLASS_MONK:
        case CLASS_FORCETRAINER:
        case CLASS_BERSERKER:
-               if ((empty_hands(TRUE) & EMPTY_HAND_RARM) && !p_ptr->riding) monk_attack = TRUE;
+               if ((empty_hands(p_ptr, TRUE) & EMPTY_HAND_RARM) && !p_ptr->riding) monk_attack = TRUE;
                break;
        }
 
@@ -2186,7 +2186,7 @@ bool py_attack(POSITION y, POSITION x, COMBAT_OPTION_IDX mode)
                !(p_ptr->muta2 & (MUT2_HORNS | MUT2_BEAK | MUT2_SCOR_TAIL | MUT2_TRUNK | MUT2_TENTACLES)))
        {
                msg_format(_("%s攻撃できない。", "You cannot do attacking."),
-                       (empty_hands(FALSE) == EMPTY_HAND_NONE) ? _("両手がふさがって", "") : "");
+                       (empty_hands(p_ptr, FALSE) == EMPTY_HAND_NONE) ? _("両手がふさがって", "") : "");
                return FALSE;
        }
 
index fd9fb9b..ca5a7a5 100644 (file)
@@ -1369,7 +1369,7 @@ void calc_bonuses(void)
        int i, j, hold;
        int new_speed;
        int default_hand = 0;
-       int empty_hands_status = empty_hands(TRUE);
+       int empty_hands_status = empty_hands(p_ptr, TRUE);
        int extra_blows[2];
        object_type *o_ptr;
        BIT_FLAGS flgs[TR_FLAG_SIZE];
@@ -1574,12 +1574,12 @@ void calc_bonuses(void)
 
        if (CAN_TWO_HANDS_WIELDING())
        {
-               if (p_ptr->migite && (empty_hands(FALSE) == EMPTY_HAND_LARM) &&
+               if (p_ptr->migite && (empty_hands(p_ptr, FALSE) == EMPTY_HAND_LARM) &&
                        object_allow_two_hands_wielding(&p_ptr->inventory_list[INVEN_RARM]))
                {
                        p_ptr->ryoute = TRUE;
                }
-               else if (p_ptr->hidarite && (empty_hands(FALSE) == EMPTY_HAND_RARM) &&
+               else if (p_ptr->hidarite && (empty_hands(p_ptr, FALSE) == EMPTY_HAND_RARM) &&
                        object_allow_two_hands_wielding(&p_ptr->inventory_list[INVEN_LARM]))
                {
                        p_ptr->ryoute = TRUE;
@@ -1591,7 +1591,7 @@ void calc_bonuses(void)
                        case CLASS_MONK:
                        case CLASS_FORCETRAINER:
                        case CLASS_BERSERKER:
-                               if (empty_hands(FALSE) == (EMPTY_HAND_RARM | EMPTY_HAND_LARM))
+                               if (empty_hands(p_ptr, FALSE) == (EMPTY_HAND_RARM | EMPTY_HAND_LARM))
                                {
                                        p_ptr->migite = TRUE;
                                        p_ptr->ryoute = TRUE;
@@ -3457,7 +3457,7 @@ void calc_bonuses(void)
 
                p_ptr->riding_ryoute = FALSE;
 
-               if (p_ptr->ryoute || (empty_hands(FALSE) == EMPTY_HAND_NONE)) p_ptr->riding_ryoute = TRUE;
+               if (p_ptr->ryoute || (empty_hands(p_ptr, FALSE) == EMPTY_HAND_NONE)) p_ptr->riding_ryoute = TRUE;
                else if (p_ptr->pet_extra_flags & PF_RYOUTE)
                {
                        switch (p_ptr->pclass)
@@ -3465,7 +3465,7 @@ void calc_bonuses(void)
                        case CLASS_MONK:
                        case CLASS_FORCETRAINER:
                        case CLASS_BERSERKER:
-                               if ((empty_hands(FALSE) != EMPTY_HAND_NONE) && !has_melee_weapon(INVEN_RARM) && !has_melee_weapon(INVEN_LARM))
+                               if ((empty_hands(p_ptr, FALSE) != EMPTY_HAND_NONE) && !has_melee_weapon(INVEN_RARM) && !has_melee_weapon(INVEN_LARM))
                                        p_ptr->riding_ryoute = TRUE;
                                break;
                        }
@@ -3655,7 +3655,7 @@ void calc_bonuses(void)
                p_ptr->dis_to_d[default_hand] += MAX(bonus_to_d, 1);
        }
 
-       if (((p_ptr->pclass == CLASS_MONK) || (p_ptr->pclass == CLASS_FORCETRAINER) || (p_ptr->pclass == CLASS_BERSERKER)) && (empty_hands(FALSE) == (EMPTY_HAND_RARM | EMPTY_HAND_LARM))) p_ptr->ryoute = FALSE;
+       if (((p_ptr->pclass == CLASS_MONK) || (p_ptr->pclass == CLASS_FORCETRAINER) || (p_ptr->pclass == CLASS_BERSERKER)) && (empty_hands(p_ptr, FALSE) == (EMPTY_HAND_RARM | EMPTY_HAND_LARM))) p_ptr->ryoute = FALSE;
 
        /* Affect Skill -- stealth (bonus one) */
        p_ptr->skill_stl += 1;
@@ -3829,7 +3829,7 @@ void calc_bonuses(void)
                if (p_ptr->riding_ryoute)
                {
 #ifdef JP
-                       msg_format("%s馬を操れない。", (empty_hands(FALSE) == EMPTY_HAND_NONE) ? "両手がふさがっていて" : "");
+                       msg_format("%s馬を操れない。", (empty_hands(p_ptr, FALSE) == EMPTY_HAND_NONE) ? "両手がふさがっていて" : "");
 #else
                        msg_print("You are using both hand for fighting, and you can't control a riding pet.");
 #endif
@@ -3837,7 +3837,7 @@ void calc_bonuses(void)
                else
                {
 #ifdef JP
-                       msg_format("%s馬を操れるようになった。", (empty_hands(FALSE) == EMPTY_HAND_NONE) ? "手が空いて" : "");
+                       msg_format("%s馬を操れるようになった。", (empty_hands(p_ptr, FALSE) == EMPTY_HAND_NONE) ? "手が空いて" : "");
 #else
                        msg_print("You began to control riding pet with one hand.");
 #endif
@@ -4937,14 +4937,14 @@ bool has_melee_weapon(int i)
  * @param riding_control 乗馬中により片手を必要としている状態ならばTRUEを返す。
  * @return 開いている手のビットフラグ
  */
-BIT_FLAGS16 empty_hands(bool riding_control)
+BIT_FLAGS16 empty_hands(player_type *creature_ptr, bool riding_control)
 {
        BIT_FLAGS16 status = EMPTY_HAND_NONE;
 
-       if (!p_ptr->inventory_list[INVEN_RARM].k_idx) status |= EMPTY_HAND_RARM;
-       if (!p_ptr->inventory_list[INVEN_LARM].k_idx) status |= EMPTY_HAND_LARM;
+       if (!creature_ptr->inventory_list[INVEN_RARM].k_idx) status |= EMPTY_HAND_RARM;
+       if (!creature_ptr->inventory_list[INVEN_LARM].k_idx) status |= EMPTY_HAND_LARM;
 
-       if (riding_control && (status != EMPTY_HAND_NONE) && p_ptr->riding && !(p_ptr->pet_extra_flags & PF_RYOUTE))
+       if (riding_control && (status != EMPTY_HAND_NONE) && creature_ptr->riding && !(creature_ptr->pet_extra_flags & PF_RYOUTE))
        {
                if (status & EMPTY_HAND_LARM) status &= ~(EMPTY_HAND_LARM);
                else if (status & EMPTY_HAND_RARM) status &= ~(EMPTY_HAND_RARM);
index d7b0ee6..a8d7cf6 100644 (file)
@@ -738,7 +738,7 @@ extern bool is_heavy_shoot(object_type *o_ptr);
 
 extern bool heavy_armor(player_type *creature_ptr);
 extern void update_creature(player_type *creature_ptr);
-extern BIT_FLAGS16 empty_hands(bool riding_control);
+extern BIT_FLAGS16 empty_hands(player_type *creature_ptr, bool riding_control);
 extern bool player_has_no_spellbooks(player_type *creature_ptr);
 
 extern void take_turn(player_type *creature_ptr, PERCENTAGE need_cost);
index 4965919..21e7585 100644 (file)
@@ -463,7 +463,7 @@ static bool cmd_racial_power_aux(s32b command)
                }
                case CLASS_MONK:
                {
-                       if (!(empty_hands(TRUE) & EMPTY_HAND_RARM))
+                       if (!(empty_hands(p_ptr, TRUE) & EMPTY_HAND_RARM))
                        {
                                msg_print(_("素手じゃないとできません。", "You need to be bare hand."));
                                return FALSE;
index d221ccd..b240dfa 100644 (file)
@@ -613,7 +613,7 @@ concptr do_hex_spell(SPELL_IDX spell, BIT_FLAGS mode)
 #ifdef JP
                        msg_print("あなたの武器が黒く輝いた。");
 #else
-                       if (!empty_hands(FALSE))
+                       if (!empty_hands(p_ptr, FALSE))
                                msg_print("Your weapons glow bright black.");
                        else
                                msg_print("Your weapon glows bright black.");
@@ -624,7 +624,7 @@ concptr do_hex_spell(SPELL_IDX spell, BIT_FLAGS mode)
 #ifdef JP
                        msg_print("武器の輝きが消え去った。");
 #else
-                       msg_format("Brightness of weapon%s disappeared.", (empty_hands(FALSE)) ? "" : "s");
+                       msg_format("Brightness of weapon%s disappeared.", (empty_hands(p_ptr, FALSE)) ? "" : "s");
 #endif
                }
                break;
@@ -974,7 +974,7 @@ concptr do_hex_spell(SPELL_IDX spell, BIT_FLAGS mode)
 #ifdef JP
                        msg_print("あなたの武器が血を欲している。");
 #else
-                       if (!empty_hands(FALSE))
+                       if (!empty_hands(p_ptr, FALSE))
                                msg_print("Your weapons want more blood now.");
                        else
                                msg_print("Your weapon wants more blood now.");
@@ -985,7 +985,7 @@ concptr do_hex_spell(SPELL_IDX spell, BIT_FLAGS mode)
 #ifdef JP
                        msg_print("武器の渇望が消え去った。");
 #else
-                       msg_format("Thirsty of weapon%s disappeared.", (empty_hands(FALSE)) ? "" : "s");
+                       msg_format("Thirsty of weapon%s disappeared.", (empty_hands(p_ptr, FALSE)) ? "" : "s");
 #endif
                }
                break;