summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--crawl-ref/source/mon-cast.cc3
-rw-r--r--crawl-ref/source/mon-cast.h2
-rw-r--r--crawl-ref/source/mon-ench.cc2
-rw-r--r--crawl-ref/source/spl-miscast.cc2
4 files changed, 4 insertions, 5 deletions
diff --git a/crawl-ref/source/mon-cast.cc b/crawl-ref/source/mon-cast.cc
index 826d92fb9a..6b0d5db76b 100644
--- a/crawl-ref/source/mon-cast.cc
+++ b/crawl-ref/source/mon-cast.cc
@@ -1952,10 +1952,9 @@ static bool _should_recall(monster* caller)
return false;
}
-unsigned short mons_word_of_recall(monster* mons)
+unsigned short mons_word_of_recall(monster* mons, unsigned short recall_target)
{
unsigned short num_recalled = 0;
- unsigned short recall_target = 3 + random2(5);
vector<monster* > mon_list;
// Build the list of recallable monsters and randomize
diff --git a/crawl-ref/source/mon-cast.h b/crawl-ref/source/mon-cast.h
index bbbf11c769..0fc283a78f 100644
--- a/crawl-ref/source/mon-cast.h
+++ b/crawl-ref/source/mon-cast.h
@@ -26,7 +26,7 @@ bool setup_mons_cast(monster* mons, bolt &pbolt, spell_type spell_cast,
bool check_validity = false);
void mons_cast_haunt(monster* mons);
-unsigned short mons_word_of_recall(monster* mons);
+unsigned short mons_word_of_recall(monster* mons, unsigned short recall_target);
bool actor_is_illusion_cloneable(actor *target);
void mons_cast_spectral_orcs(monster* mons);
void setup_breath_timeout(monster* mons);
diff --git a/crawl-ref/source/mon-ench.cc b/crawl-ref/source/mon-ench.cc
index 381e0f7c5e..949f3ed4d4 100644
--- a/crawl-ref/source/mon-ench.cc
+++ b/crawl-ref/source/mon-ench.cc
@@ -1750,7 +1750,7 @@ void monster::apply_enchantment(const mon_enchant &me)
}
if (decay_enchantment(me))
- mons_word_of_recall(this);
+ mons_word_of_recall(this, 3 + random2(5));
break;
case ENCH_INJURY_BOND:
diff --git a/crawl-ref/source/spl-miscast.cc b/crawl-ref/source/spl-miscast.cc
index 4ef09b5249..375ae86079 100644
--- a/crawl-ref/source/spl-miscast.cc
+++ b/crawl-ref/source/spl-miscast.cc
@@ -3089,7 +3089,7 @@ void MiscastEffect::_zot()
invalidate_agrid(true);
break;
case 14:
- if (mons_word_of_recall(NULL) == 0)
+ if (mons_word_of_recall(NULL, 2 + random2(3)) == 0)
canned_msg(MSG_NOTHING_HAPPENS);
break;
}