summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/monstuff.cc
diff options
context:
space:
mode:
authorj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-03-31 19:52:18 +0000
committerj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-03-31 19:52:18 +0000
commit6235210791fbc6a6b61d8d7975ab425a9e90e68a (patch)
tree2746db08081b793e1da0ca0b93f7f9ca6b245eb2 /crawl-ref/source/monstuff.cc
parent3846460d200480f3af4c345c4137f9bbee818b24 (diff)
downloadcrawl-ref-6235210791fbc6a6b61d8d7975ab425a9e90e68a.tar.gz
crawl-ref-6235210791fbc6a6b61d8d7975ab425a9e90e68a.zip
Ha, I knew there was a reason to cleaning up dungeon.cc - learning by
osmosis... :p Anyway, killing the royal jelly now turns all stone walls on the level into clear rock, together with a cute message. This currently only works if you actually kill it on the bottom level - other than the lua magic, which sets a marker to work no matter where you kill the jelly (I think). Still, it's better than nothing. Instead of introducing a wrapper function I probably should have made replace_area non-static, but I wasn't sure if there might be a better way to do this, and wanted to avoid having to change (and then possibly change back) all calls and their indenting. I would have changed the rune probability as well, but I wasn't entirely sure, how. If I had to guess, I'd say that changing P -> O on the branch map is the way to go. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3986 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/monstuff.cc')
-rw-r--r--crawl-ref/source/monstuff.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/crawl-ref/source/monstuff.cc b/crawl-ref/source/monstuff.cc
index 107951b5b2..53f81ca337 100644
--- a/crawl-ref/source/monstuff.cc
+++ b/crawl-ref/source/monstuff.cc
@@ -1206,6 +1206,17 @@ void monster_die(monsters *monster, killer_type killer, int i, bool silent)
dgn_event(DET_MONSTER_DIED, monster->pos(), 0,
monster_index(monster), killer));
+ // This is assuming the royal jelly is a unique monster. Is it?
+ // FIXME: Needs check for being at bottom level of the branch.
+ if (monster->type == MONS_ROYAL_JELLY
+ && player_in_branch( BRANCH_SLIME_PITS ))
+ {
+ mpr("Suddenly, all colour oozes out of the surrounding stone!",
+ MSGCH_MONSTER_ENCHANT);
+
+ replace_area_wrapper(DNGN_STONE_WALL, DNGN_CLEAR_ROCK_WALL);
+ }
+
const coord_def mwhere = monster->pos();
if (drop_items)
_monster_drop_ething(monster, YOU_KILL(killer) || pet_kill);