From 224ec7816b0099ef32c0e8213d516515c93d1c5a Mon Sep 17 00:00:00 2001 From: deskull Date: Mon, 10 Aug 2020 13:23:14 +0900 Subject: [PATCH] =?utf8?q?[Refactor]=20#40514=20have=5Fresist=5Fwater()=20?= =?utf8?q?=E3=82=92=20calc=5Fbonuses()=E3=80=80=E3=81=8B=E3=82=89=E5=88=86?= =?utf8?q?=E9=9B=A2=EF=BC=8E=20/=20Separated=20have=5Fresist=5Fwater()=20f?= =?utf8?q?rom=20calc=5Fbonuses().?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- src/player/player-race.c | 4 +--- src/player/player-status-flags.c | 10 ++++++++++ src/player/player-status-flags.h | 1 + src/player/player-status.c | 1 - 4 files changed, 12 insertions(+), 4 deletions(-) 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; -- 2.11.0