diff options
author | Charles Otto <ottochar@gmail.com> | 2009-11-13 19:44:57 -0500 |
---|---|---|
committer | Charles Otto <ottochar@gmail.com> | 2009-11-13 19:47:28 -0500 |
commit | dfc417fb139ee880cccfcbca5c8c7ec94913da63 (patch) | |
tree | 3c8134ffa1f07c5135a6069c0e58821a26c8ec06 /crawl-ref/source/monster.cc | |
parent | 693fc6950536238c4ce6155b67da539f0649e066 (diff) | |
download | crawl-ref-dfc417fb139ee880cccfcbca5c8c7ec94913da63.tar.gz crawl-ref-dfc417fb139ee880cccfcbca5c8c7ec94913da63.zip |
Change ballistomycete spawn mechanics (again)
When a spore pops or a ballistomycete is killed randomly select a
single ballisto to activate instead of activating the entire level's
worth. Along with this, only deactivate the ballisto that produced a
spore instead of deactivating the entire level.
Rationale: since inactive ballistos don't interrupt travel anymore it's
nicer from an interface perspective to keep most of the ballistos on
the level inactive.
Diffstat (limited to 'crawl-ref/source/monster.cc')
-rw-r--r-- | crawl-ref/source/monster.cc | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/crawl-ref/source/monster.cc b/crawl-ref/source/monster.cc index 7aec36106c..3b3fab4bee 100644 --- a/crawl-ref/source/monster.cc +++ b/crawl-ref/source/monster.cc @@ -5000,7 +5000,18 @@ void monsters::apply_enchantment(const mon_enchant &me) if (you.see_cell(adjacent) && you.see_cell(pos())) mpr("A ballistomycete spawns a giant spore."); - deactivate_ballistos(); + // Decrease the count and maybe become inactive + // again + if (this->number) + { + this->number--; + if (this->number == 0) + { + this->colour = MAGENTA; + this->del_ench(ENCH_SPORE_PRODUCTION); + } + } + } break; } |