diff options
Diffstat (limited to 'crawl-ref/source/mon-place.cc')
-rw-r--r-- | crawl-ref/source/mon-place.cc | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/crawl-ref/source/mon-place.cc b/crawl-ref/source/mon-place.cc index 6629b8acf1..a4273c6a7c 100644 --- a/crawl-ref/source/mon-place.cc +++ b/crawl-ref/source/mon-place.cc @@ -1116,6 +1116,17 @@ static int _place_monster_aux(const mgen_data &mg, int id = mon->mindex(); env.mgrid(fpos) = id; + if (mons_is_mimic(mg.cls)) + { + // Mimics who mimic thin air get the axe. + if (!give_mimic_item(mon)) + { + mon->reset(); + mgrd(fpos) = NON_MONSTER; + return (-1); + } + } + // Generate a brand shiny new monster, or zombie. if (mons_class_is_zombified(mg.cls)) _define_zombie(id, mg.base_type, mg.cls, mg.power, fpos); |