summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/delay.cc
diff options
context:
space:
mode:
authorzelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573>2007-10-13 05:58:53 +0000
committerzelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573>2007-10-13 05:58:53 +0000
commit60bb14c1852e8c3e25a23c4feb7bd9c5a277e36b (patch)
tree5e0a94205db9721aef62f5d45453524995774aff /crawl-ref/source/delay.cc
parenta3ba5a8ee29de19bb37c6718f56f5f184d58be6a (diff)
downloadcrawl-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.cc33
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)