diff options
author | dolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573> | 2009-01-16 23:36:57 +0000 |
---|---|---|
committer | dolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573> | 2009-01-16 23:36:57 +0000 |
commit | f7eccbd85fee385e7787ee181180b65333538a05 (patch) | |
tree | c6a24ce08328e791c221bdf37f22ad9beffa1043 /crawl-ref/source | |
parent | 7e3641ff78ff274fbb50365955cac80c6826d63b (diff) | |
download | crawl-ref-f7eccbd85fee385e7787ee181180b65333538a05.tar.gz crawl-ref-f7eccbd85fee385e7787ee181180b65333538a05.zip |
Fix [2498711]: In arena mode, mark monsters duplicated by chaos as
having entered the arena.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8475 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source')
-rw-r--r-- | crawl-ref/source/arena.cc | 4 | ||||
-rw-r--r-- | crawl-ref/source/arena.h | 3 | ||||
-rw-r--r-- | crawl-ref/source/monplace.cc | 2 | ||||
-rw-r--r-- | crawl-ref/source/mstuff2.cc | 4 |
4 files changed, 7 insertions, 6 deletions
diff --git a/crawl-ref/source/arena.cc b/crawl-ref/source/arena.cc index f9b568184d..e295a0ea77 100644 --- a/crawl-ref/source/arena.cc +++ b/crawl-ref/source/arena.cc @@ -1016,9 +1016,7 @@ bool arena_veto_place_monster(const mgen_data &mg, bool first_band_member, || arena::banned_glyphs[mons_char(mg.cls)]); } - -void arena_placed_monster(monsters *monster, const mgen_data &mg, - bool first_band_member) +void arena_placed_monster(monsters *monster) { if (monster->attitude == ATT_FRIENDLY) arena::faction_a.active_members++; diff --git a/crawl-ref/source/arena.h b/crawl-ref/source/arena.h index c00b893299..16a4b41f5c 100644 --- a/crawl-ref/source/arena.h +++ b/crawl-ref/source/arena.h @@ -27,8 +27,7 @@ bool arena_veto_random_monster(monster_type type); bool arena_veto_place_monster(const mgen_data &mg, bool first_band_member, const coord_def& pos); -void arena_placed_monster(monsters *monster, const mgen_data &mg, - bool first_band_member); +void arena_placed_monster(monsters *monster); void arena_monster_died(monsters *monster, killer_type killer, int killer_index, bool silent, int corpse); diff --git a/crawl-ref/source/monplace.cc b/crawl-ref/source/monplace.cc index 4fd5585a5c..b822dd6601 100644 --- a/crawl-ref/source/monplace.cc +++ b/crawl-ref/source/monplace.cc @@ -1172,7 +1172,7 @@ static int _place_monster_aux(const mgen_data &mg, seen_monster(&menv[id]); if (crawl_state.arena) - arena_placed_monster(&menv[id], mg, first_band_member); + arena_placed_monster(&menv[id]); return (id); } diff --git a/crawl-ref/source/mstuff2.cc b/crawl-ref/source/mstuff2.cc index dcddf6286c..340afb71e3 100644 --- a/crawl-ref/source/mstuff2.cc +++ b/crawl-ref/source/mstuff2.cc @@ -18,6 +18,7 @@ REVISION("$Rev$"); #include "externs.h" +#include "arena.h" #include "beam.h" #include "database.h" #include "debug.h" @@ -2629,6 +2630,9 @@ int clone_mons(const monsters* orig, bool quiet, bool* obvious, viewwindow(true, false); } + if (crawl_state.arena) + arena_placed_monster(&mon); + return (midx); } |