summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/view.cc
diff options
context:
space:
mode:
authorSteve Melenchuk <smelenchuk@gmail.com>2014-05-23 14:27:56 -0600
committerSteve Melenchuk <smelenchuk@gmail.com>2014-05-23 14:27:56 -0600
commitc8af7ebfa2ed8f3787ec77480f533eeadabf72dc (patch)
tree15a3369b1c5e047b8b4d12ddf572d6b6455f7cc7 /crawl-ref/source/view.cc
parentca111f6cd7ee74f7d7e2e7aa1f22e6005d91b1de (diff)
downloadcrawl-ref-c8af7ebfa2ed8f3787ec77480f533eeadabf72dc.tar.gz
crawl-ref-c8af7ebfa2ed8f3787ec77480f533eeadabf72dc.zip
Trigger shoutitis on seeing enemies, not randomly (dck).
This should make it more relevant.
Diffstat (limited to 'crawl-ref/source/view.cc')
-rw-r--r--crawl-ref/source/view.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/crawl-ref/source/view.cc b/crawl-ref/source/view.cc
index 48663f1f20..85e8d3be0a 100644
--- a/crawl-ref/source/view.cc
+++ b/crawl-ref/source/view.cc
@@ -26,6 +26,7 @@
#include "delay.h"
#include "dgn-overview.h"
#include "directn.h"
+#include "effects.h"
#include "env.h"
#include "exclude.h"
#include "feature.h"
@@ -296,6 +297,7 @@ void update_monsters_in_view()
unsigned int size = monsters.size();
map<monster_type, int> types;
map<monster_type, int> genera; // This is the plural for genus!
+ const monster* target = NULL;
for (unsigned int i = 0; i < size; ++i)
{
const monster_type type = monsters[i]->type;
@@ -320,6 +322,13 @@ void update_monsters_in_view()
for (unsigned int i = 0; i < size; ++i)
{
const monster* mon = monsters[i];
+ if (!target
+ && player_mutation_level(MUT_SCREAM)
+ && x_chance_in_y(3 + player_mutation_level(MUT_SCREAM) * 3,
+ 100))
+ {
+ target = mon;
+ }
if (!mon->props.exists("ash_id") && !mon->props.exists("zin_id"))
continue;
@@ -365,6 +374,9 @@ void update_monsters_in_view()
#endif
}
+ if (target)
+ yell(target);
+
if (player_under_penance(GOD_GOZAG))
{
counted_monster_list mon_count;