OSDN Git Service

[Refactor] #40514 have_resist_water() を calc_bonuses() から分離. / Separated have_resist_...
authordeskull <deskull@users.sourceforge.jp>
Mon, 10 Aug 2020 04:23:14 +0000 (13:23 +0900)
committerdeskull <deskull@users.sourceforge.jp>
Mon, 10 Aug 2020 04:23:14 +0000 (13:23 +0900)
src/player/player-race.c
src/player/player-status-flags.c
src/player/player-status-flags.h
src/player/player-status.c

index 7aa6ac1..bf6801f 100644 (file)
@@ -168,9 +168,7 @@ void calc_race_status(player_type *creature_ptr)
                 creature_ptr->redraw |= PR_STATUS;
             }
             break;
-        case RACE_MERFOLK:
-            creature_ptr->resist_water = TRUE;
-            break;
+
         default:
             break;
         }
index 17e83d7..c09f898 100644 (file)
@@ -1895,3 +1895,13 @@ void have_resist_time(player_type *creature_ptr)
             creature_ptr->resist_time = TRUE;
     }
 }
+
+void have_resist_water(player_type *creature_ptr)
+{
+    object_type *o_ptr;
+    BIT_FLAGS flgs[TR_FLAG_SIZE];
+    creature_ptr->resist_water = FALSE;
+
+    if (!creature_ptr->mimic_form && creature_ptr->prace == RACE_MERFOLK)
+               creature_ptr->resist_water = TRUE;
+}
index d25a464..5f826ed 100644 (file)
@@ -65,5 +65,6 @@ void have_resist_nexus(player_type *creature_ptr);
 void have_resist_blind(player_type *creature_ptr);
 void have_resist_neth(player_type *creature_ptr);
 void have_resist_time(player_type *creature_ptr);
+void have_resist_water(player_type *creature_ptr);
 
 
index 0c38272..6181312 100644 (file)
@@ -560,7 +560,6 @@ static void delayed_visual_update(player_type *player_ptr)
  */
 static void clear_creature_bonuses(player_type *creature_ptr)
 {
-    creature_ptr->resist_water = FALSE;
     creature_ptr->resist_fear = FALSE;
     creature_ptr->immune_acid = FALSE;
     creature_ptr->immune_elec = FALSE;