diff options
author | zelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573> | 2007-10-13 05:58:53 +0000 |
---|---|---|
committer | zelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573> | 2007-10-13 05:58:53 +0000 |
commit | 60bb14c1852e8c3e25a23c4feb7bd9c5a277e36b (patch) | |
tree | 5e0a94205db9721aef62f5d45453524995774aff /crawl-ref/source/delay.cc | |
parent | a3ba5a8ee29de19bb37c6718f56f5f184d58be6a (diff) | |
download | crawl-ref-60bb14c1852e8c3e25a23c4feb7bd9c5a277e36b.tar.gz crawl-ref-60bb14c1852e8c3e25a23c4feb7bd9c5a277e36b.zip |
Fix giving an interruption message when a monster ignored with the
runrest_ignore_monster option gets too close. Also give a more
informative interruption message when an air elemental quits being
"submerged" in the air, and give a new message when it first
"submerges" itself into the air.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2451 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/delay.cc')
-rw-r--r-- | crawl-ref/source/delay.cc | 33 |
1 files changed, 22 insertions, 11 deletions
diff --git a/crawl-ref/source/delay.cc b/crawl-ref/source/delay.cc index 55cfa4931e..bfbfd9d747 100644 --- a/crawl-ref/source/delay.cc +++ b/crawl-ref/source/delay.cc @@ -1071,7 +1071,7 @@ inline static void monster_warning(activity_interrupt_type ai, if (!mon->visible()) return; #ifndef DEBUG_DIAGNOSTICS - if (at.context == "newly seen") + if (at.context == "already seen") { // Only say "comes into view" if the monster wasn't in view // during the previous turn. @@ -1099,18 +1099,29 @@ inline static void monster_warning(activity_interrupt_type ai, break; } } - else + } + else + { + const std::string mweap = + get_monster_desc(mon, false, DESC_NONE); + std::string text = mon->name(DESC_CAP_A); + + if (at.context == "thin air") { - const std::string mweap = - get_monster_desc(mon, false, DESC_NONE); - std::string text = mon->name(DESC_CAP_A) + " comes into view."; - if (!mweap.empty()) - text += " " + mon->pronoun(PRONOUN_CAP) - + " is" + mweap + "."; - print_formatted_paragraph(text, - get_number_of_cols(), - MSGCH_WARN); + if (mon->type == MONS_AIR_ELEMENTAL) + text += " forms itself from the air."; + else + text += " appears from thin air."; } + else + text += " comes into view."; + + if (!mweap.empty()) + text += " " + mon->pronoun(PRONOUN_CAP) + + " is" + mweap + "."; + print_formatted_paragraph(text, + get_number_of_cols(), + MSGCH_WARN); } if (Options.tutorial_left) |