summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source
diff options
context:
space:
mode:
authorMatthew Cline <zelgadis@sourceforge.net>2009-11-13 17:47:22 -0800
committerMatthew Cline <zelgadis@sourceforge.net>2009-11-13 17:49:12 -0800
commit3975eefb99b5b2bc5b5b598d36cd5f635053f3fc (patch)
tree87533b7507ee005d2343368ef7dda4afcced42d6 /crawl-ref/source
parent7e99e3c55edf834ceaf523b68e6d39475b4981e9 (diff)
downloadcrawl-ref-3975eefb99b5b2bc5b5b598d36cd5f635053f3fc.tar.gz
crawl-ref-3975eefb99b5b2bc5b5b598d36cd5f635053f3fc.zip
mon-place.cc: don't blame if summoner is dead
The Fire Storm spell could kill the summoner before the fire vortexes could be placed, in which case trying to do blame annotation would cause assertions.
Diffstat (limited to 'crawl-ref/source')
-rw-r--r--crawl-ref/source/mon-place.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/crawl-ref/source/mon-place.cc b/crawl-ref/source/mon-place.cc
index c3d437b147..d428474e49 100644
--- a/crawl-ref/source/mon-place.cc
+++ b/crawl-ref/source/mon-place.cc
@@ -1308,7 +1308,10 @@ static int _place_monster_aux(const mgen_data &mg,
blame.new_vector(SV_STR, SFLAG_CONST_TYPE);
blame.get_vector().push_back(blame_prefix + mg.non_actor_summoner);
}
- else if (mg.summoner != NULL)
+ // NOTE: The summoner might be dead if the summoned is placed by a
+ // beam which killed the summoner first (like fire vortexes placed
+ // by the Fire Storm spell).
+ else if (mg.summoner != NULL && mg.summoner->alive())
{
CrawlStoreValue& blame = mon->props["blame"];