summaryrefslogtreecommitdiffstats
path: root/crawl-ref
diff options
context:
space:
mode:
authorDavid Lawrence Ramsey <dolorous@users.sourceforge.net>2009-10-12 08:11:24 -0500
committerDavid Lawrence Ramsey <dolorous@users.sourceforge.net>2009-10-12 08:11:24 -0500
commit48a7ef0bd95493853b8481eccfda76c169d04381 (patch)
treea4221db67c2131a74721aed0f35ae8b5f836586f /crawl-ref
parent5281b389c9dc291ee575e2d2524dd6154b178acc (diff)
parentd688e3a8a3e262d85de70a93523f144735327e57 (diff)
downloadcrawl-ref-48a7ef0bd95493853b8481eccfda76c169d04381.tar.gz
crawl-ref-48a7ef0bd95493853b8481eccfda76c169d04381.zip
Merge branch 'master' of ssh://crawl-ref.git.sourceforge.net/gitroot/crawl-ref/crawl-ref
Diffstat (limited to 'crawl-ref')
-rw-r--r--crawl-ref/source/makefile3
-rw-r--r--crawl-ref/source/monstuff.cc14
2 files changed, 12 insertions, 5 deletions
diff --git a/crawl-ref/source/makefile b/crawl-ref/source/makefile
index ac34d07073..a31bf958e3 100644
--- a/crawl-ref/source/makefile
+++ b/crawl-ref/source/makefile
@@ -336,7 +336,7 @@ endif # MacOS
endif # TILES
CFWARN_L := -Wno-parentheses -Wwrite-strings -Wshadow -pedantic
-CFOTHERS_L = $(EXTRA_FLAGS) $(DEFINES) -DCLUA_BINDINGS $(SDL_CFLAGS)
+CFOTHERS_L = $(EXTERNAL_FLAGS) $(EXTRA_FLAGS) $(DEFINES) -DCLUA_BINDINGS $(SDL_CFLAGS)
#
# Figure out the build settings for this type of build
@@ -385,6 +385,7 @@ DEFINES += -DFULLDEBUG
endif
ifeq ($(DEBUG),y)
EXTRA_FLAGS += -ggdb
+DEFINES += -DDEBUG
endif
ifeq ($(WIZARD),y)
DEFINES += -DWIZARD
diff --git a/crawl-ref/source/monstuff.cc b/crawl-ref/source/monstuff.cc
index 6ab2d72a55..8df057e503 100644
--- a/crawl-ref/source/monstuff.cc
+++ b/crawl-ref/source/monstuff.cc
@@ -1032,7 +1032,8 @@ static bool _spore_goes_pop(monsters *monster, killer_type killer,
beam.type = dchar_glyph(DCHAR_FIRED_BURST);
beam.source = monster->pos();
beam.target = monster->pos();
- beam.thrower = (monster->attitude == ATT_FRIENDLY ? KILL_YOU : KILL_MON);
+ beam.thrower = crawl_state.arena ? KILL_MON
+ : monster->attitude == ATT_FRIENDLY ? KILL_YOU : KILL_MON;
beam.aux_source.clear();
if (YOU_KILL(killer))
@@ -1270,6 +1271,8 @@ int monster_die(monsters *monster, killer_type killer,
crawl_state.inc_mon_acting(monster);
+ ASSERT(!( YOU_KILL(killer) && crawl_state.arena ));
+
mons_clear_trapping_net(monster);
// Update list of monsters beholding player.
@@ -1306,10 +1309,16 @@ int monster_die(monsters *monster, killer_type killer,
if (MON_KILL(killer) && monster_killed == killer_index)
{
if (monster->confused_by_you())
+ {
+ ASSERT(!crawl_state.arena);
killer = KILL_YOU_CONF;
+ }
}
else if (MON_KILL(killer) && monster->has_ench(ENCH_CHARM))
+ {
+ ASSERT(!crawl_state.arena);
killer = KILL_YOU_CONF; // Well, it was confused in a sense... (jpeg)
+ }
// Take note!
if (!mons_reset && !crawl_state.arena && MONST_INTERESTING(monster))
@@ -1465,9 +1474,6 @@ int monster_die(monsters *monster, killer_type killer,
mpr("That felt strangely unrewarding.");
}
- if (crawl_state.arena)
- break;
-
// Killing triggers tutorial lesson.
if (gives_xp)
_tutorial_inspect_kill();