diff options
Diffstat (limited to 'crawl-ref/source/spells2.cc')
-rw-r--r-- | crawl-ref/source/spells2.cc | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/crawl-ref/source/spells2.cc b/crawl-ref/source/spells2.cc index 1104282c8d..d2d621d8bc 100644 --- a/crawl-ref/source/spells2.cc +++ b/crawl-ref/source/spells2.cc @@ -1483,6 +1483,23 @@ void summon_scorpions(int pow) } } // end summon_scorpions() +void summon_ugly_thing(int pow) +{ + monster_type ugly = (one_chance_in(4)) ? MONS_VERY_UGLY_THING : + MONS_UGLY_THING; + int numsc = std::min(2 + (random2(pow) / 4), 6); + beh_type beha = (random2(pow) < 4) ? BEH_HOSTILE : BEH_FRIENDLY; + + create_monster(ugly, numsc, beha, you.x_pos, you.y_pos, you.pet_target, + MONS_PROGRAM_BUG, false, false, false, true); + + mprf("A%sugly thing appears.", (ugly == MONS_VERY_UGLY_THING) ? + " very " : "n "); + + if (beha == BEH_HOSTILE) + mpr("It doesn't look very happy."); +} // end summon_ugly_thing() + void summon_ice_beast_etc(int pow, int ibc, bool divine_gift) { int numsc = std::min(2 + (random2(pow) / 4), 6); |