From 3cc398df6a77bb0bbe8dccbcd6480ec2e7b0f3e9 Mon Sep 17 00:00:00 2001 From: deskull Date: Sun, 13 Sep 2020 01:17:46 +0900 Subject: [PATCH] =?utf8?q?[Refactor]=20#40514=20calc=5Fvuln=5Ffire=5Frate(?= =?utf8?q?)=20=E3=82=92=20calc=5Ffire=5Fdamage=5Frate()=20=E3=81=AB?= =?utf8?q?=E6=94=B9=E5=90=8D=E3=81=97=E3=81=A6=E8=80=90=E6=80=A7=E5=87=A6?= =?utf8?q?=E7=90=86=E5=8F=8D=E6=98=A0=EF=BC=8E=20/=20Rename=20calc=5Fvuln?= =?utf8?q?=5Ffire=5Frate()=20to=20calc=5Ffire=5Fdamage=5Frate()=20to=20ref?= =?utf8?q?lect=20resistance=20processing.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- src/effect/effect-player-resist-hurt.c | 2 +- src/object/warning.c | 7 +------ src/player/player-damage.c | 9 +-------- src/player/player-status-resist.c | 9 ++++++++- src/player/player-status-resist.h | 2 +- 5 files changed, 12 insertions(+), 17 deletions(-) diff --git a/src/effect/effect-player-resist-hurt.c b/src/effect/effect-player-resist-hurt.c index df6671016..292349a14 100644 --- a/src/effect/effect-player-resist-hurt.c +++ b/src/effect/effect-player-resist-hurt.c @@ -366,7 +366,7 @@ void effect_player_lite(player_type *target_ptr, effect_player_type *ep_ptr) (void)set_blind(target_ptr, target_ptr->blind + randint1(5) + 2); } - ep_ptr->dam = ep_ptr->dam * calc_vuln_fire_rate(target_ptr) / 100; + ep_ptr->dam = ep_ptr->dam * calc_fire_damage_rate(target_ptr) / 100; if (is_specific_player_race(target_ptr, RACE_VAMPIRE) || (target_ptr->mimic_form == MIMIC_VAMPIRE)) { if (!check_multishadow(target_ptr)) diff --git a/src/object/warning.c b/src/object/warning.c index 2996f7980..0c32e012f 100644 --- a/src/object/warning.c +++ b/src/object/warning.c @@ -133,12 +133,7 @@ static void spell_damcalc(player_type *target_ptr, monster_type *m_ptr, EFFECT_I ignore_wraith_form = TRUE; break; } - dam = dam * calc_vuln_fire_rate(target_ptr) / 100; - if (target_ptr->resist_fire) - dam = (dam + 2) / 3; - if (is_oppose_fire(target_ptr)) - dam = (dam + 2) / 3; - break; + dam = dam * calc_fire_damage_rate(target_ptr) / 100; case GF_PSY_SPEAR: ignore_wraith_form = TRUE; diff --git a/src/player/player-damage.c b/src/player/player-damage.c index a815a1d16..2ba2c1880 100644 --- a/src/player/player-damage.c +++ b/src/player/player-damage.c @@ -237,14 +237,7 @@ HIT_POINT fire_dam(player_type *creature_ptr, HIT_POINT dam, concptr kb_str, int return 0; } - /* Vulnerability (Ouch!) */ - dam = dam * calc_vuln_fire_rate(creature_ptr) / 100; - - /* Resist the damage */ - if (creature_ptr->resist_fire) - dam = (dam + 2) / 3; - if (double_resist) - dam = (dam + 2) / 3; + dam = dam * calc_fire_damage_rate(creature_ptr) / 100; if (aura || !check_multishadow(creature_ptr)) { if ((!(double_resist || creature_ptr->resist_fire)) && one_in_(HURT_CHANCE)) diff --git a/src/player/player-status-resist.c b/src/player/player-status-resist.c index fa3f1bf24..1c4a3a225 100644 --- a/src/player/player-status-resist.c +++ b/src/player/player-status-resist.c @@ -79,7 +79,7 @@ PERCENTAGE calc_elec_damage_rate(player_type *creature_ptr) return per; } -PERCENTAGE calc_vuln_fire_rate(player_type *creature_ptr) +PERCENTAGE calc_fire_damage_rate(player_type *creature_ptr) { PERCENTAGE per = 100; int i; @@ -93,6 +93,13 @@ PERCENTAGE calc_vuln_fire_rate(player_type *creature_ptr) } } } + + /* Resist the damage */ + if (creature_ptr->resist_fire) + per = (per + 2) / 3; + if (is_oppose_fire(creature_ptr)) + per = (per + 2) / 3; + return per; } diff --git a/src/player/player-status-resist.h b/src/player/player-status-resist.h index 92dfb85b8..9e74549c6 100644 --- a/src/player/player-status-resist.h +++ b/src/player/player-status-resist.h @@ -2,6 +2,6 @@ PERCENTAGE calc_acid_damage_rate(player_type *creature_ptr); PERCENTAGE calc_elec_damage_rate(player_type *creature_ptr); -PERCENTAGE calc_vuln_fire_rate(player_type *creature_ptr); +PERCENTAGE calc_fire_damage_rate(player_type *creature_ptr); PERCENTAGE calc_vuln_cold_rate(player_type *creature_ptr); PERCENTAGE calc_vuln_lite_rate(player_type *creature_ptr); -- 2.11.0