summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/spl-cast.cc
diff options
context:
space:
mode:
authordolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573>2008-06-07 05:59:19 +0000
committerdolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573>2008-06-07 05:59:19 +0000
commit8aa5902ba1473e7fc5fa7bb9f2d55a01258090c6 (patch)
tree469875eff8b27e5ac1cf0be787e949e7aacc837f /crawl-ref/source/spl-cast.cc
parent4280a22a63e04ff5634bdf0e356185a617351289 (diff)
downloadcrawl-ref-8aa5902ba1473e7fc5fa7bb9f2d55a01258090c6.tar.gz
crawl-ref-8aa5902ba1473e7fc5fa7bb9f2d55a01258090c6.zip
Do the same for "Summon Scorpions".
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5526 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/spl-cast.cc')
-rw-r--r--crawl-ref/source/spl-cast.cc27
1 files changed, 18 insertions, 9 deletions
diff --git a/crawl-ref/source/spl-cast.cc b/crawl-ref/source/spl-cast.cc
index f0c1d84d19..92181f942d 100644
--- a/crawl-ref/source/spl-cast.cc
+++ b/crawl-ref/source/spl-cast.cc
@@ -1498,12 +1498,15 @@ spret_type your_spells( spell_type spell, int powc, bool allow_fail )
case SPELL_SUMMON_GUARDIAN:
case SPELL_SUMMON_DAEVA:
{
- bool quiet = (spell == SPELL_SUMMON_BUTTERFLIES
+ bool quiet =
+ (spell == SPELL_SUMMON_BUTTERFLIES
|| spell == SPELL_CALL_CANINE_FAMILIAR);
monster_type mon = MONS_PROGRAM_BUG;
- int unfriendly = (spell == SPELL_SUMMON_DEMON
+ int unfriendly =
+ (spell == SPELL_SUMMON_SCORPIONS
+ || spell == SPELL_SUMMON_DEMON
|| spell == SPELL_DEMONIC_HORDE
|| spell == SPELL_CALL_CANINE_FAMILIAR
|| spell == SPELL_SUMMON_UGLY_THING) ? 3 :
@@ -1511,13 +1514,15 @@ spret_type your_spells( spell_type spell, int powc, bool allow_fail )
: -1;
int numsc =
- (spell == SPELL_SUMMON_BUTTERFLIES) ? 3
- : -1;
+ (spell == SPELL_SUMMON_BUTTERFLIES
+ || spell == SPELL_SUMMON_SCORPIONS) ? 3
+ : -1;
int how_many =
- (spell == SPELL_SUMMON_BUTTERFLIES) ? std::max(15, 4 + random2(3) + random2(powc) / 10) :
- (spell == SPELL_DEMONIC_HORDE) ? 7 + random2(5)
- : 1;
+ (spell == SPELL_SUMMON_BUTTERFLIES) ? std::max(15, 4 + random2(3) + random2(powc) / 10) :
+ (spell == SPELL_SUMMON_SCORPIONS) ? stepdown_value(1 + random2(powc) / 10 + random2(powc) / 10, 2, 2, 6, 8) :
+ (spell == SPELL_DEMONIC_HORDE) ? 7 + random2(5)
+ : 1;
for (int i = 0; i < how_many; ++i)
{
@@ -1527,6 +1532,10 @@ spret_type your_spells( spell_type spell, int powc, bool allow_fail )
mon = MONS_BUTTERFLY;
break;
+ case SPELL_SUMMON_SCORPIONS:
+ mon = MONS_SCORPION;
+ break;
+
case SPELL_CALL_IMP:
mon = (one_chance_in(3)) ? MONS_WHITE_IMP :
(one_chance_in(7)) ? MONS_SHADOW_IMP
@@ -1602,8 +1611,8 @@ spret_type your_spells( spell_type spell, int powc, bool allow_fail )
break;
}
- summon_general_creature(powc, quiet, mon, BEH_FRIENDLY, unfriendly,
- numsc, false);
+ summon_general_creature(powc, quiet, mon, BEH_FRIENDLY,
+ unfriendly, numsc, false);
}
break;
}