summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorzelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573>2009-01-18 08:28:53 +0000
committerzelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573>2009-01-18 08:28:53 +0000
commit772a3e14040195bc5b73f3eea56dbc366fca56d7 (patch)
tree870f693181dabe188174b3e1fb05ef02e6c70f98
parent64a3024d164749fbf9ed600cddbe4b80ddadc050 (diff)
downloadcrawl-ref-772a3e14040195bc5b73f3eea56dbc366fca56d7.tar.gz
crawl-ref-772a3e14040195bc5b73f3eea56dbc366fca56d7.zip
Always call _arena_set_foe() for arena monsters whose target is (0, 0).
Obviates the need for setting the monster's target via an ME_ALERT event in mons_place(). git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8538 c06c8d41-db1a-0410-9941-cceddc491573
-rw-r--r--crawl-ref/source/monplace.cc9
-rw-r--r--crawl-ref/source/monstuff.cc2
2 files changed, 2 insertions, 9 deletions
diff --git a/crawl-ref/source/monplace.cc b/crawl-ref/source/monplace.cc
index fde5dc14bd..81cc98817b 100644
--- a/crawl-ref/source/monplace.cc
+++ b/crawl-ref/source/monplace.cc
@@ -2203,14 +2203,7 @@ int mons_place(mgen_data mg)
player_angers_monster(creation);
if (crawl_state.arena)
- {
- if (mg.foe == MHITNOT)
- behaviour_event(creation, ME_EVAL);
- else
- // Make summoned being aware of foe's presense.
- behaviour_event(creation, ME_ALERT, mg.foe,
- menv[mg.foe].pos());
- }
+ behaviour_event(creation, ME_EVAL);
else
// Make summoned being aware of player's presence.
behaviour_event(creation, ME_ALERT, MHITYOU);
diff --git a/crawl-ref/source/monstuff.cc b/crawl-ref/source/monstuff.cc
index 6e09231b8c..831fbddc15 100644
--- a/crawl-ref/source/monstuff.cc
+++ b/crawl-ref/source/monstuff.cc
@@ -3704,7 +3704,7 @@ static void _handle_behaviour(monsters *mon)
{
if (Options.arena_force_ai)
{
- if (!mon->get_foe() || one_chance_in(3))
+ if (!mon->get_foe() || mon->target.origin() || one_chance_in(3))
mon->foe = MHITNOT;
if (mon->foe == MHITNOT || mon->foe == MHITYOU)
_arena_set_foe(mon);