From dfc417fb139ee880cccfcbca5c8c7ec94913da63 Mon Sep 17 00:00:00 2001 From: Charles Otto Date: Fri, 13 Nov 2009 19:44:57 -0500 Subject: 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. --- crawl-ref/source/monster.cc | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'crawl-ref/source/monster.cc') 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; } -- cgit v1.2.3-54-g00ecf