From 5124dbb7741856529ec9d392d704bc0a464ceccf Mon Sep 17 00:00:00 2001 From: iks Date: Sun, 15 Nov 2020 11:38:14 +0900 Subject: [PATCH] =?utf8?q?[Fix]=20#40962=20=E3=83=9A=E3=83=83=E3=83=88?= =?utf8?q?=E3=81=8C=E3=83=97=E3=83=AC=E3=82=A4=E3=83=A4=E3=83=BC=E3=81=AE?= =?utf8?q?=E4=BD=8D=E7=BD=AE=E3=82=92=E7=A7=BB=E5=8B=95=E5=85=88=E3=81=AB?= =?utf8?q?=E9=81=B8=E6=8A=9E=E3=81=97=E6=94=BB=E6=92=83=E3=81=97=E3=81=A6?= =?utf8?q?=E3=81=8F=E3=82=8B=E3=81=93=E3=81=A8=E3=81=8C=E3=81=82=E3=82=8B?= =?utf8?q?=E3=81=AE=E3=81=A7=E3=80=81=E6=84=9A=E3=81=8B=E3=81=A7=E3=81=AA?= =?utf8?q?=E3=81=8F=E6=B7=B7=E4=B9=B1=E3=81=84=E3=81=A6=E3=81=84=E3=81=AA?= =?utf8?q?=E3=81=84=E5=A0=B4=E5=90=88=E3=81=AF=E3=80=81=E7=A7=BB=E5=8B=95?= =?utf8?q?=E5=85=88=E3=81=AB=E3=81=97=E3=81=AA=E3=81=84=E3=82=88=E3=81=86?= =?utf8?q?=E3=81=AB=E4=BF=AE=E6=AD=A3=E3=80=82=20/=20Pets=20avoid=20to=20m?= =?utf8?q?ove=20and=20attack=20to=20player=20except=20stupid=20or=20confus?= =?utf8?q?ed=20ones.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- src/monster-floor/monster-move.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/monster-floor/monster-move.c b/src/monster-floor/monster-move.c index aa8d58f0c..6106e20dd 100644 --- a/src/monster-floor/monster-move.c +++ b/src/monster-floor/monster-move.c @@ -350,6 +350,14 @@ bool process_monster_movement(player_type *target_ptr, turn_flags *turn_flags_pt monster_race *r_ptr = &r_info[m_ptr->r_idx]; bool can_cross = monster_can_cross_terrain(target_ptr, g_ptr->feat, r_ptr, turn_flags_ptr->is_riding_mon ? CEM_RIDING : 0); + /* Non stupid, non confused pets avoid attacking player */ + if (is_pet(m_ptr) + && !(r_ptr->r_flags2 & RF2_STUPID) + && !m_ptr->mtimed[MTIMED_CONFUSED] + && player_bold(target_ptr, ny, nx)) { + continue; + } + if (!process_wall(target_ptr, turn_flags_ptr, m_ptr, ny, nx, can_cross)) { if (!process_door(target_ptr, turn_flags_ptr, m_ptr, ny, nx)) return FALSE; -- 2.11.0