diff options
author | Matthew Cline <zelgadis@sourceforge.net> | 2009-11-13 17:47:22 -0800 |
---|---|---|
committer | Matthew Cline <zelgadis@sourceforge.net> | 2009-11-13 17:49:12 -0800 |
commit | 3975eefb99b5b2bc5b5b598d36cd5f635053f3fc (patch) | |
tree | 87533b7507ee005d2343368ef7dda4afcced42d6 /crawl-ref/source | |
parent | 7e99e3c55edf834ceaf523b68e6d39475b4981e9 (diff) | |
download | crawl-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.cc | 5 |
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"]; |