From 5c1c6c7a961685b5caf95b98cf307e55c6612c96 Mon Sep 17 00:00:00 2001 From: mogami Date: Wed, 8 Oct 2003 21:54:11 +0000 Subject: [PATCH] =?utf8?q?=E6=99=82=E6=AD=A2=E3=82=81=E3=82=92=E4=BD=BF?= =?utf8?q?=E3=81=86=E3=83=A2=E3=83=B3=E3=82=B9=E3=82=BF=E3=83=BC=E3=81=8C?= =?utf8?q?=E3=83=97=E3=83=AC=E3=82=A4=E3=83=A4=E3=83=BC=E3=81=AE=E3=82=AA?= =?utf8?q?=E3=83=BC=E3=83=A9=E3=81=A7=E6=AD=BB=E3=82=93=E3=81=A0=E6=99=82?= =?utf8?q?=E3=81=AB=E6=99=82=E6=AD=A2=E3=82=81=E3=82=92=E3=82=AD=E3=83=A3?= =?utf8?q?=E3=83=B3=E3=82=BB=20=E3=83=AB=E3=81=99=E3=82=8B=E3=82=B3?= =?utf8?q?=E3=83=BC=E3=83=89=E3=81=8C=E3=81=84=E3=81=84=E3=81=8B=E3=81=92?= =?utf8?q?=E3=82=93=E3=81=A0=E3=81=A3=E3=81=9F=E7=82=BA=E3=80=81=E5=85=89?= =?utf8?q?=E3=81=AE=E5=89=A3=E7=AD=89=E3=81=A7=E9=96=A2=E4=BF=82=E7=84=A1?= =?utf8?q?=E3=81=84=E3=83=A2=E3=83=B3=E3=82=B9=E3=82=BF=E3=83=BC=E3=81=8C?= =?utf8?q?=E6=AD=BB=E3=82=93=E3=81=A0=20=E6=99=82=E3=81=AB=E3=82=82?= =?utf8?q?=E6=99=82=E6=AD=A2=E3=82=81=E3=81=8C=E3=82=AD=E3=83=A3=E3=83=B3?= =?utf8?q?=E3=82=BB=E3=83=AB=E3=81=95=E3=82=8C=E3=81=A6=E3=81=84=E3=81=9F?= =?utf8?q?=E3=83=90=E3=82=B0=E4=BF=AE=E6=AD=A3=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- src/externs.h | 2 +- src/melee2.c | 7 ++++--- src/variable.c | 2 +- src/xtra2.c | 4 ++-- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/externs.h b/src/externs.h index 22dfaabd0..c092dd3ff 100644 --- a/src/externs.h +++ b/src/externs.h @@ -487,7 +487,7 @@ extern bool preserve_mode; extern bool autoroller; extern bool autochara; extern bool can_save; -extern bool world_monster; +extern s16b world_monster; extern bool world_player; extern int cap_mon; extern int cap_mspeed; diff --git a/src/melee2.c b/src/melee2.c index c56fd9e06..a55ed56c2 100644 --- a/src/melee2.c +++ b/src/melee2.c @@ -3901,14 +3901,15 @@ bool process_the_world(int num, int who, bool vs_player) msg_print(NULL); } - world_monster = TRUE; + /* This monster cast spells */ + world_monster = hack_m_idx; if (vs_player) do_cmd_redraw(); while(num--) { if(!m_ptr->r_idx) break; - process_monster(hack_m_idx); + process_monster(world_monster); reset_target(m_ptr); @@ -3937,7 +3938,7 @@ bool process_the_world(int num, int who, bool vs_player) /* Window stuff */ p_ptr->window |= (PW_OVERHEAD | PW_DUNGEON); - world_monster = FALSE; + world_monster = 0; if (vs_player || los(py, px, m_ptr->fy, m_ptr->fx)) { #ifdef JP diff --git a/src/variable.c b/src/variable.c index 5011be787..bb9683f75 100644 --- a/src/variable.c +++ b/src/variable.c @@ -1118,7 +1118,7 @@ bool autochara; bool can_save = FALSE; /* Game can be saved */ -bool world_monster; +s16b world_monster; bool world_player; int cap_mon; diff --git a/src/xtra2.c b/src/xtra2.c index 1f69c15d5..6d0dc4ef7 100644 --- a/src/xtra2.c +++ b/src/xtra2.c @@ -691,8 +691,8 @@ void monster_death(int m_idx, bool drop_item) bool drop_chosen_item = drop_item && !cloned && !p_ptr->inside_arena && !p_ptr->inside_battle && !is_pet(m_ptr); - - if (world_monster) world_monster = FALSE; + /* The caster is dead? */ + if (world_monster && world_monster == m_idx) world_monster = 0; /* Notice changes in view */ if (r_ptr->flags7 & (RF7_LITE_MASK | RF7_DARK_MASK)) -- 2.11.0