From: deskull Date: Mon, 10 Aug 2020 04:23:14 +0000 (+0900) Subject: [Refactor] #40514 have_resist_water() を calc_bonuses() から分離. / Separated have_resist_... X-Git-Tag: vmacos3.0.0-alpha52~705 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=224ec7816b0099ef32c0e8213d516515c93d1c5a;p=hengbandforosx%2Fhengbandosx.git [Refactor] #40514 have_resist_water() を calc_bonuses() から分離. / Separated have_resist_water() from calc_bonuses(). --- diff --git a/src/player/player-race.c b/src/player/player-race.c index 7aa6ac160..bf6801f32 100644 --- a/src/player/player-race.c +++ b/src/player/player-race.c @@ -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; } diff --git a/src/player/player-status-flags.c b/src/player/player-status-flags.c index 17e83d7cd..c09f898c3 100644 --- a/src/player/player-status-flags.c +++ b/src/player/player-status-flags.c @@ -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; +} diff --git a/src/player/player-status-flags.h b/src/player/player-status-flags.h index d25a464d1..5f826ed40 100644 --- a/src/player/player-status-flags.h +++ b/src/player/player-status-flags.h @@ -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); diff --git a/src/player/player-status.c b/src/player/player-status.c index 0c382720d..6181312f9 100644 --- a/src/player/player-status.c +++ b/src/player/player-status.c @@ -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;