From: habu Date: Tue, 5 Jan 2010 11:39:22 +0000 (+0000) Subject: snipe_concentrate および reset_concentration 関数で PU_BONUS フラグを立てていなかったため、集中が途切れた後も一時テレパシ... X-Git-Tag: v2.1.2~273 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=fc60c6296a387bd50fe334edafb543cb3f425217;p=hengbandforosx%2Fhengbandosx.git snipe_concentrate および reset_concentration 関数で PU_BONUS フラグを立てていなかったため、集中が途切れた後も一時テレパシーが残る事があった。 PU_BONUS フラグを立てる事によりボーナスの更新を行ない、集中が切れた時に伊地知テレパシーも消えるよう修正。 また、ボーナス計算後の p_ptr->telepathy のみにより一時テレパシー状態を判断できるので、monster2.cでの集中度によるテレパシーの判定を削除。 --- diff --git a/src/monster2.c b/src/monster2.c index 53866ef87..35dfd533a 100644 --- a/src/monster2.c +++ b/src/monster2.c @@ -2392,7 +2392,7 @@ void update_mon(int m_idx, bool full) /* Basic telepathy */ /* Snipers get telepathy when they concentrate deeper */ - else if ((p_ptr->telepathy) || (p_ptr->concent >= CONCENT_TELE_THRESHOLD)) + else if (p_ptr->telepathy) { /* Empty mind, no telepathy */ if (r_ptr->flags2 & (RF2_EMPTY_MIND)) diff --git a/src/snipe.c b/src/snipe.c index 8ee7b88c4..271330f6b 100644 --- a/src/snipe.c +++ b/src/snipe.c @@ -102,6 +102,9 @@ static bool snipe_concentrate(void) reset_concent = FALSE; + /* Recalculate bonuses */ + p_ptr->update |= (PU_BONUS); + p_ptr->redraw |= (PR_STATUS); /* Update the monsters */ @@ -124,6 +127,9 @@ void reset_concentration(bool msg) p_ptr->concent = 0; reset_concent = FALSE; + /* Recalculate bonuses */ + p_ptr->update |= (PU_BONUS); + p_ptr->redraw |= (PR_STATUS); /* Update the monsters */