OSDN Git Service

[Fix]両手がふさがっていてもふらつかないバグを修正
authorrurero <108442898+rurero2@users.noreply.github.com>
Fri, 5 Jan 2024 01:52:23 +0000 (10:52 +0900)
committerGitHub <noreply@github.com>
Fri, 5 Jan 2024 01:52:23 +0000 (10:52 +0900)
src/player/player-status.cpp

index a7fcdec..c60a1d8 100644 (file)
@@ -1968,7 +1968,7 @@ int16_t calc_double_weapon_penalty(PlayerType *player_ptr, INVENTORY_IDX slot)
 
 static bool is_riding_two_hands(PlayerType *player_ptr)
 {
-    if (!player_ptr->riding || none_bits(player_ptr->pet_extra_flags, PF_TWO_HANDS)) {
+    if (!player_ptr->riding) {
         return false;
     }
 
@@ -1976,14 +1976,18 @@ static bool is_riding_two_hands(PlayerType *player_ptr)
         return true;
     }
 
-    switch (player_ptr->pclass) {
-    case PlayerClassType::MONK:
-    case PlayerClassType::FORCETRAINER:
-    case PlayerClassType::BERSERKER:
-        return (empty_hands(player_ptr, false) != EMPTY_HAND_NONE) && !has_melee_weapon(player_ptr, INVEN_MAIN_HAND) && !has_melee_weapon(player_ptr, INVEN_SUB_HAND);
-    default:
-        return false;
+    if (any_bits(player_ptr->pet_extra_flags, PF_TWO_HANDS)) {
+        switch (player_ptr->pclass) {
+        case PlayerClassType::MONK:
+        case PlayerClassType::FORCETRAINER:
+        case PlayerClassType::BERSERKER:
+            return (empty_hands(player_ptr, false) != EMPTY_HAND_NONE) && !has_melee_weapon(player_ptr, INVEN_MAIN_HAND) && !has_melee_weapon(player_ptr, INVEN_SUB_HAND);
+        default:
+            break;
+        }
     }
+
+    return false;
 }
 
 static int16_t calc_riding_bow_penalty(PlayerType *player_ptr)