summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/mon-stuff.cc
diff options
context:
space:
mode:
authorCharles Otto <ottochar@gmail.com>2009-11-13 00:51:56 -0500
committerCharles Otto <ottochar@gmail.com>2009-11-13 00:51:56 -0500
commite7d888537c4d178a98e2ef1727a84d5132655d6c (patch)
tree79fc6a8cb3a521b7c4d6a9f8fb761a12c7d6ed23 /crawl-ref/source/mon-stuff.cc
parent4a7b398e339f0b55ae3ce579a02c81c2c281216d (diff)
parent8075717d132ff61257a8836ce7854f71f1eb05f8 (diff)
downloadcrawl-ref-e7d888537c4d178a98e2ef1727a84d5132655d6c.tar.gz
crawl-ref-e7d888537c4d178a98e2ef1727a84d5132655d6c.zip
Merge spore experiments branch.
Diffstat (limited to 'crawl-ref/source/mon-stuff.cc')
-rw-r--r--crawl-ref/source/mon-stuff.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/crawl-ref/source/mon-stuff.cc b/crawl-ref/source/mon-stuff.cc
index 5cf5677528..0e8a3b436f 100644
--- a/crawl-ref/source/mon-stuff.cc
+++ b/crawl-ref/source/mon-stuff.cc
@@ -33,6 +33,7 @@
#include "kills.h"
#include "message.h"
#include "misc.h"
+#include "mon-abil.h"
#include "mon-behv.h"
#include "mon-iter.h"
#include "mon-place.h"
@@ -1093,6 +1094,7 @@ static bool _spore_goes_pop(monsters *monster, killer_type killer,
beam.thrower = crawl_state.arena ? KILL_MON
: monster->attitude == ATT_FRIENDLY ? KILL_YOU : KILL_MON;
beam.aux_source.clear();
+ beam.attitude = monster->attitude;
if (YOU_KILL(killer))
beam.aux_source = "set off by themselves";
@@ -1163,6 +1165,7 @@ static bool _spore_goes_pop(monsters *monster, killer_type killer,
// FIXME: show_more == mons_near(monster)
beam.explode();
+ activate_ballistomycetes(monster);
// Monster died in explosion, so don't re-attach it to the grid.
return (true);
}
@@ -1498,6 +1501,9 @@ int monster_die(monsters *monster, killer_type killer,
you.remove_beholder(monster);
+ if(monster->type == MONS_BALLISTOMYCETE)
+ activate_ballistomycetes(monster);
+
// Clear auto exclusion now the monster is killed -- if we know about it.
if (mons_near(monster) || wizard)
remove_auto_exclude(monster);