summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/view.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/view.cc')
-rw-r--r--crawl-ref/source/view.cc11
1 files changed, 8 insertions, 3 deletions
diff --git a/crawl-ref/source/view.cc b/crawl-ref/source/view.cc
index 91077e12df..4cbd7f586e 100644
--- a/crawl-ref/source/view.cc
+++ b/crawl-ref/source/view.cc
@@ -1214,9 +1214,11 @@ void handle_monster_shouts(monsters* monster, bool force)
}
}
- const int noise_level = get_shout_noise_level(s_type);
- if (noise_level > 0)
- noisy(noise_level, monster->pos());
+ const int noise_level = get_shout_noise_level(s_type);
+ const bool heard = noisy(noise_level, monster->pos());
+
+ if (Options.tutorial_left && (heard || you.can_see(monster)))
+ learned_something_new(TUT_MONSTER_SHOUT, monster->pos());
}
#ifdef WIZARD
@@ -1624,6 +1626,9 @@ bool noisy(int loudness, const coord_def& where, const char *msg, bool mermaid)
{
bool ret = false;
+ if (loudness <= 0)
+ return (false);
+
// If the origin is silenced there is no noise.
if (silenced(where))
return (false);