OSDN Git Service

[Fix] 玄武の構えによるAC修正の計算を適切な位置へ移動
authortaotao54321 <taotao54321@gmail.com>
Sat, 6 Feb 2021 09:19:53 +0000 (18:19 +0900)
committertaotao54321 <taotao54321@gmail.com>
Sat, 6 Feb 2021 09:19:53 +0000 (18:19 +0900)
calc_num_blow() 内で計算されていたのを calc_to_ac() へ移動。
計算順序の関係で偶然壊れていなかったが、位置として明らかにおかしい。

src/player/player-status.c

index 199093a..6cf99f4 100644 (file)
@@ -1763,8 +1763,6 @@ static s16b calc_num_blow(player_type *creature_ptr, int i)
             num_blow /= 2;
 
         if (creature_ptr->special_defense & KAMAE_GENBU) {
-            creature_ptr->to_a += (creature_ptr->lev * creature_ptr->lev) / 50;
-            creature_ptr->dis_to_a += (creature_ptr->lev * creature_ptr->lev) / 50;
             num_blow -= 2;
             if ((creature_ptr->pclass == CLASS_MONK) && (creature_ptr->lev > 42))
                 num_blow--;
@@ -2422,7 +2420,9 @@ static ARMOUR_CLASS calc_to_ac(player_type *creature_ptr, bool is_real_value)
         }
     }
 
-    if (creature_ptr->special_defense & KAMAE_BYAKKO) {
+    if (creature_ptr->special_defense & KAMAE_GENBU) {
+        ac += (creature_ptr->lev * creature_ptr->lev) / 50;
+    } else if (creature_ptr->special_defense & KAMAE_BYAKKO) {
         ac -= 40;
     } else if (creature_ptr->special_defense & KAMAE_SEIRYU) {
         ac -= 50;