diff options
author | Charles Otto <ottochar@gmail.com> | 2009-11-13 00:51:56 -0500 |
---|---|---|
committer | Charles Otto <ottochar@gmail.com> | 2009-11-13 00:51:56 -0500 |
commit | e7d888537c4d178a98e2ef1727a84d5132655d6c (patch) | |
tree | 79fc6a8cb3a521b7c4d6a9f8fb761a12c7d6ed23 /crawl-ref/source/mon-stuff.cc | |
parent | 4a7b398e339f0b55ae3ce579a02c81c2c281216d (diff) | |
parent | 8075717d132ff61257a8836ce7854f71f1eb05f8 (diff) | |
download | crawl-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.cc | 6 |
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); |