summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/monstuff.cc
diff options
context:
space:
mode:
authorAdam Borowski <kilobyte@angband.pl>2009-10-07 00:37:00 +0200
committerAdam Borowski <kilobyte@angband.pl>2009-10-07 01:32:20 +0200
commitda8bc0fd337ef1dfa043542c2f760e017324bca5 (patch)
tree58597fca5e851474580658faae3901c0bda3686a /crawl-ref/source/monstuff.cc
parent36868a5a6d3e63816d9e7a2b0bfc15f8c358883d (diff)
downloadcrawl-ref-da8bc0fd337ef1dfa043542c2f760e017324bca5.tar.gz
crawl-ref-da8bc0fd337ef1dfa043542c2f760e017324bca5.zip
Mutagenic fog. Comes from Evaporate and fog generators. (due)
Diffstat (limited to 'crawl-ref/source/monstuff.cc')
-rw-r--r--crawl-ref/source/monstuff.cc14
1 files changed, 14 insertions, 0 deletions
diff --git a/crawl-ref/source/monstuff.cc b/crawl-ref/source/monstuff.cc
index a33935676a..bb2c797f5b 100644
--- a/crawl-ref/source/monstuff.cc
+++ b/crawl-ref/source/monstuff.cc
@@ -9404,6 +9404,20 @@ static void _mons_in_cloud(monsters *monster)
hurted += (10 * random2avg(12, 3)) / speed; // 3
break;
+ case CLOUD_MUTAGENIC:
+ simple_monster_message(monster, " is engulfed in a mutagenic fog!");
+
+ // Will only polymorph a monster if they're not magic immune, can
+ // mutate, aren't res asphyx, and pass the same check as meph cloud.
+ if (monster->can_mutate() && !mons_immune_magic(monster)
+ && 1 + random2(27) >= monster->hit_dice
+ && !mons_res_asphyx(monster))
+ {
+ if (monster->mutate())
+ wake = true;
+ }
+ break;
+
default: // 'harmless' clouds -- colored smoke, etc {dlb}.
return;
}