diff options
author | dolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-04-19 14:30:00 +0000 |
---|---|---|
committer | dolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-04-19 14:30:00 +0000 |
commit | 93b6d8b612bcf990e89d8c1065ab98b2eee0498f (patch) | |
tree | 04ca94f49d73281d01ce4112cbc1641b31778603 /crawl-ref | |
parent | 7fd3b3b64da45f5da921563e1e2177526fa97b64 (diff) | |
download | crawl-ref-93b6d8b612bcf990e89d8c1065ab98b2eee0498f.tar.gz crawl-ref-93b6d8b612bcf990e89d8c1065ab98b2eee0498f.zip |
Add a few more summoning-related cleanups.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@4371 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref')
-rw-r--r-- | crawl-ref/source/spells2.cc | 45 |
1 files changed, 29 insertions, 16 deletions
diff --git a/crawl-ref/source/spells2.cc b/crawl-ref/source/spells2.cc index cd76336772..f10e6d62de 100644 --- a/crawl-ref/source/spells2.cc +++ b/crawl-ref/source/spells2.cc @@ -1463,19 +1463,20 @@ void summon_scorpions(int pow) { if (random2(pow) <= 3) { - const int mindex = - create_monster( MONS_SCORPION, 3, BEH_HOSTILE, + if (create_monster( MONS_SCORPION, 3, BEH_HOSTILE, you.x_pos, you.y_pos, MHITYOU, - MONS_PROGRAM_BUG, false, false, false, true); - if (mindex != -1) + MONS_PROGRAM_BUG, false, false, + false, true) != -1) + { mpr("A scorpion appears. It doesn't look very happy."); + } } else { if (create_monster( MONS_SCORPION, 3, BEH_FRIENDLY, - you.x_pos, you.y_pos, - you.pet_target, MONS_PROGRAM_BUG, - false, false, false, true) != -1) + you.x_pos, you.y_pos, you.pet_target, + MONS_PROGRAM_BUG, false, false, + false, true) != -1) { mpr("A scorpion appears."); } @@ -1488,16 +1489,28 @@ void summon_ugly_thing(int pow) monster_type ugly = (one_chance_in(3)) ? 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); + const char *prefix = (ugly == MONS_VERY_UGLY_THING) ? " very " : "n "; - mprf("A%sugly thing appears.", (ugly == MONS_VERY_UGLY_THING) ? - " very " : "n "); - - if (beha == BEH_HOSTILE) - mpr("It doesn't look very happy."); + if (random2(pow) < 4) + { + if (create_monster(ugly, numsc, BEH_HOSTILE, + you.x_pos, you.y_pos, MHITYOU, + MONS_PROGRAM_BUG, false, false, + false, true) != -1) + { + mprf("A%sugly thing appears. It doesn't look very happy.", prefix); + } + } + else + { + if (create_monster(ugly, numsc, BEH_FRIENDLY, + you.x_pos, you.y_pos, you.pet_target, + MONS_PROGRAM_BUG, false, false, + false, true) != -1) + { + mprf("A%sugly thing appears.", prefix); + } + } } // end summon_ugly_thing() void summon_ice_beast_etc(int pow, int ibc, bool divine_gift) |