From: deskull Date: Thu, 2 Jan 2020 10:11:26 +0000 (+0900) Subject: [Refactor] #38997 kawarimi() に player_type * 引数を追加. / Add player_type * argument... X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=24b7190f56c6cf2f43e35304c837708ac0da37ae;p=hengband%2Fhengband.git [Refactor] #38997 kawarimi() に player_type * 引数を追加. / Add player_type * argument to kawarimi(). --- diff --git a/src/combat/melee1.c b/src/combat/melee1.c index 884a667bc..834b20f65 100644 --- a/src/combat/melee1.c +++ b/src/combat/melee1.c @@ -2405,7 +2405,7 @@ bool make_attack_normal(player_type *target_ptr, MONSTER_IDX m_idx) if ((target_ptr->special_defense & NINJA_KAWARIMI) && (randint0(55) < (target_ptr->lev*3/5+20))) { - if (kawarimi(TRUE)) return TRUE; + if (kawarimi(target_ptr, TRUE)) return TRUE; } /* Assume no blink */ @@ -4042,7 +4042,7 @@ bool make_attack_normal(player_type *target_ptr, MONSTER_IDX m_idx) if (target_ptr->special_defense & NINJA_KAWARIMI) { - if (kawarimi(FALSE)) return TRUE; + if (kawarimi(target_ptr, FALSE)) return TRUE; } } diff --git a/src/spells.h b/src/spells.h index a8afaa1ba..47fe1d4ad 100644 --- a/src/spells.h +++ b/src/spells.h @@ -245,7 +245,7 @@ extern bool project_hook(player_type *caster_ptr, EFFECT_ID typ, DIRECTION dir, extern bool project_all_los(player_type *caster_ptr, EFFECT_ID typ, HIT_POINT dam); extern bool eat_magic(player_type *caster_ptr, int power); extern void discharge_minion(player_type *caster_ptr); -extern bool kawarimi(bool success); +extern bool kawarimi(player_type *caster_ptr, bool success); extern bool rush_attack(player_type *attacker_ptr, bool *mdeath); extern void remove_all_mirrors(player_type *caster_ptr, bool explode); extern void ring_of_power(player_type *caster_ptr, DIRECTION dir); diff --git a/src/spells1.c b/src/spells1.c index fd632eb7e..067510dbd 100644 --- a/src/spells1.c +++ b/src/spells1.c @@ -4028,7 +4028,7 @@ static bool project_p(MONSTER_IDX who, player_type *target_ptr, concptr who_name if ((target_ptr->special_defense & NINJA_KAWARIMI) && dam && (randint0(55) < (target_ptr->lev * 3 / 5 + 20)) && who && (who != target_ptr->riding)) { - if (kawarimi(TRUE)) return FALSE; + if (kawarimi(target_ptr, TRUE)) return FALSE; } /* Player cannot hurt himself */ @@ -5078,7 +5078,7 @@ static bool project_p(MONSTER_IDX who, player_type *target_ptr, concptr who_name if ((target_ptr->special_defense & NINJA_KAWARIMI) && dam && who && (who != target_ptr->riding)) { - (void)kawarimi(FALSE); + (void)kawarimi(target_ptr, FALSE); } /* Return "Anything seen?" */ diff --git a/src/spells2.c b/src/spells2.c index 09104ec3c..4fcae3782 100644 --- a/src/spells2.c +++ b/src/spells2.c @@ -2949,28 +2949,28 @@ bool charm_animal(DIRECTION dir, PLAYER_LEVEL plev) * @param success 判定成功上の処理ならばTRUE * @return 作用が実際にあった場合TRUEを返す */ -bool kawarimi(bool success) +bool kawarimi(player_type *caster_ptr, bool success) { object_type forge; object_type *q_ptr = &forge; POSITION y, x; - if (p_ptr->is_dead) return FALSE; - if (p_ptr->confused || p_ptr->blind || p_ptr->paralyzed || p_ptr->image) return FALSE; - if (randint0(200) < p_ptr->stun) return FALSE; + if (caster_ptr->is_dead) return FALSE; + if (caster_ptr->confused || caster_ptr->blind || caster_ptr->paralyzed || caster_ptr->image) return FALSE; + if (randint0(200) < caster_ptr->stun) return FALSE; if (!success && one_in_(3)) { msg_print(_("失敗!逃げられなかった。", "Failed! You couldn't run away.")); - p_ptr->special_defense &= ~(NINJA_KAWARIMI); - p_ptr->redraw |= (PR_STATUS); + caster_ptr->special_defense &= ~(NINJA_KAWARIMI); + caster_ptr->redraw |= (PR_STATUS); return FALSE; } - y = p_ptr->y; - x = p_ptr->x; + y = caster_ptr->y; + x = caster_ptr->x; - teleport_player(p_ptr, 10 + randint1(90), 0L); + teleport_player(caster_ptr, 10 + randint1(90), 0L); object_wipe(q_ptr); object_prep(q_ptr, lookup_kind(TV_STATUE, SV_WOODEN_STATUE)); @@ -2980,8 +2980,8 @@ bool kawarimi(bool success) if (success) msg_print(_("攻撃を受ける前に素早く身をひるがえした。", "You have turned around just before the attack hit you.")); else msg_print(_("失敗!攻撃を受けてしまった。", "Failed! You are hit by the attack.")); - p_ptr->special_defense &= ~(NINJA_KAWARIMI); - p_ptr->redraw |= (PR_STATUS); + caster_ptr->special_defense &= ~(NINJA_KAWARIMI); + caster_ptr->redraw |= (PR_STATUS); /* Teleported */ return TRUE;