From f32dfe77dcdcb1e57ed1554f2fa0eab148896a70 Mon Sep 17 00:00:00 2001 From: iks Date: Tue, 17 Nov 2020 00:51:19 +0900 Subject: [PATCH] =?utf8?q?[Fix/Improve]=20#37600=20=E3=83=A2=E3=83=B3?= =?utf8?q?=E3=82=B9=E3=82=BF=E3=83=BC=E3=81=8C=E3=83=A2=E3=83=B3=E3=82=B9?= =?utf8?q?=E3=82=BF=E3=83=BC=E3=81=AB=E5=AF=BE=E3=81=97=E3=81=A6=E6=B7=B7?= =?utf8?q?=E4=B9=B1=E3=83=BB=E7=9B=B2=E7=9B=AE=E3=83=BB=E6=81=90=E6=80=96?= =?utf8?q?=E3=83=BB=E6=B8=9B=E9=80=9F=E3=81=AE=E5=91=AA=E6=96=87=E3=82=92?= =?utf8?q?=E4=BD=BF=E7=94=A8=E3=81=97=E3=81=9F=E3=81=A8=E3=81=8D=E3=81=AB?= =?utf8?q?=E3=80=81=E8=80=90=E6=80=A7=E3=81=AE=E6=9C=89=E7=84=A1=E3=81=AB?= =?utf8?q?=E9=96=A2=E4=BF=82=E3=81=AA=E3=81=8F=E5=8A=B9=E6=9E=9C=E3=81=8C?= =?utf8?q?=E3=81=82=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB=E3=81=AA=E3=81=A3?= =?utf8?q?=E3=81=A6=E3=81=84=E3=81=9F=E3=81=AE=E3=82=92=E4=BF=AE=E6=AD=A3?= =?utf8?q?=E3=80=82=20/=20Monsters=20resist=20confusion,=20blind,=20fear,?= =?utf8?q?=20slow=20spells=20from=20monsters=20when=20they=20have=20resist?= =?utf8?q?ance=20of=20them.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- src/mspell/mspell-status.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/mspell/mspell-status.c b/src/mspell/mspell-status.c index b3bb065ae..e9063e8e3 100644 --- a/src/mspell/mspell-status.c +++ b/src/mspell/mspell-status.c @@ -227,7 +227,7 @@ void spell_RF5_SCARE(MONSTER_IDX m_idx, player_type *target_ptr, MONSTER_IDX t_i if (TARGET_TYPE != MONSTER_TO_MONSTER) return; - resist = tr_ptr->flags3 & RF3_NO_FEAR; + resist = ((tr_ptr->flags3 & RF3_NO_FEAR) != 0); saving_throw = (tr_ptr->level > randint1((rlev - 10) < 1 ? 1 : (rlev - 10)) + 10); spell_badstatus_message(target_ptr, m_idx, t_idx, _("%^sが恐ろしげな幻覚を作り出した。", "%^s casts a fearful illusion in front of %s."), @@ -282,7 +282,7 @@ void spell_RF5_BLIND(MONSTER_IDX m_idx, player_type *target_ptr, MONSTER_IDX t_i msg1 = _("%sは呪文を唱えて%sの目を焼き付かせた。", "%^s casts a spell, burning %s's eyes."); } - resist = tr_ptr->flags3 & RF3_NO_CONF; + resist = ((tr_ptr->flags3 & RF3_NO_CONF) != 0); saving_throw = (tr_ptr->level > randint1((rlev - 10) < 1 ? 1 : (rlev - 10)) + 10); spell_badstatus_message(target_ptr, m_idx, t_idx, msg1, _("%^sには効果がなかった。", "%^s is unaffected."), @@ -327,7 +327,7 @@ void spell_RF5_CONF(MONSTER_IDX m_idx, player_type *target_ptr, MONSTER_IDX t_id if (TARGET_TYPE != MONSTER_TO_MONSTER) return; - resist = tr_ptr->flags3 & RF3_NO_CONF; + resist = ((tr_ptr->flags3 & RF3_NO_CONF) != 0); saving_throw = (tr_ptr->level > randint1((rlev - 10) < 1 ? 1 : (rlev - 10)) + 10); spell_badstatus_message(target_ptr, m_idx, t_idx, _("%^sが%sの前に幻惑的な幻をつくり出した。", "%^s casts a mesmerizing illusion in front of %s."), @@ -351,11 +351,10 @@ void spell_RF5_HOLD(MONSTER_IDX m_idx, player_type *target_ptr, MONSTER_IDX t_id monster_type *t_ptr = &floor_ptr->m_list[t_idx]; monster_race *tr_ptr = &r_info[t_ptr->r_idx]; DEPTH rlev = monster_level_idx(floor_ptr, m_idx); - bool saving_throw; - BIT_FLAGS resist; + bool resist, saving_throw; if (TARGET_TYPE == MONSTER_TO_PLAYER) { - resist = target_ptr->free_act; + resist = (target_ptr->free_act != 0); saving_throw = (randint0(100 + rlev / 2) < target_ptr->skill_sav); spell_badstatus_message(target_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."), _("%^sがあなたの目をじっと見つめた!", "%^s stares deep into your eyes!"), _("しかし効果がなかった!", "You are unaffected!"), @@ -373,7 +372,7 @@ void spell_RF5_HOLD(MONSTER_IDX m_idx, player_type *target_ptr, MONSTER_IDX t_id if (TARGET_TYPE != MONSTER_TO_MONSTER) return; - resist = (tr_ptr->flags1 & RF1_UNIQUE) || (tr_ptr->flags3 & RF3_NO_STUN); + resist = ((tr_ptr->flags1 & RF1_UNIQUE) != 0 || (tr_ptr->flags3 & RF3_NO_STUN) != 0); saving_throw = (tr_ptr->level > randint1((rlev - 10) < 1 ? 1 : (rlev - 10)) + 10); spell_badstatus_message(target_ptr, m_idx, t_idx, _("%^sは%sをじっと見つめた。", "%^s stares intently at %s."), @@ -455,7 +454,7 @@ void spell_RF5_SLOW(MONSTER_IDX m_idx, player_type *target_ptr, MONSTER_IDX t_id msg1 = _("%sが%sの筋肉から力を吸いとった。", "%^s drains power from %s's muscles."); } - resist = tr_ptr->flags1 & RF1_UNIQUE; + resist = ((tr_ptr->flags1 & RF1_UNIQUE) != 0); saving_throw = (tr_ptr->level > randint1((rlev - 10) < 1 ? 1 : (rlev - 10)) + 10); spell_badstatus_message(target_ptr, m_idx, t_idx, msg1, _("%^sには効果がなかった。", "%^s is unaffected."), -- 2.11.0